Re: Building SID

"Michael Ambrus" <[email protected]> Mon, 5 Mar 2007 23:09:09 +0100
Newsgroups gmane.comp.emulators.sid.devel
Message-ID <[email protected]>
> (For popular usage though it's usually better to join a more
> established similar project.)

That would depend on your personal interests I'd say. I've given it a
lot of thought (several years actually) and I came to the conclusion
that there isn't any similar project. Ive done a few deeply embedded
applications with Linux, enough to know that addressing targets
smaller than 4MB RAM + 2M Flash is just not worth the trouble .  As
far as I know there isn't any kernel that can do what TinKer does -
the one that comes closest is RTEMS.  But what would be the fun in
joining a humongous project? TinKer is my third kernel (I wrote the
first one in -89) but I still enjoy very much each time I bring a new
target to life.

> The ELF reader in sid assumes a loadable program image, and uses the
> various segment headers to populate the simulated memory.  It does not
> perform relocations in the object-file/linkage sense, and it also does
> not include support for runtime linkage like ld.so in linux.  What
> kind of relocation particularly do you need?
>

TinKer is growing from a kernel to an OS (I never thought it would,
but it's within grasp so I figured why not). I.e. code needs to be
either loaded to virtual memory regions or relocated into a new memory
offset at load time (both techniques have existed for decades). I
spent some time today playing around with ELF and various linking
options and it turns out that I can relocate certain output formats
rather easily, especially PIC formats normally used for dynamic
libraries since given certain limitations, it can be used for
executables as well (PIE).

Reading various ELF specs is tremendously boring (especially those
written by Sun or Motorola), but I found the works of this great
author that is both fun reading and a great inspiration. If you enjoy
good reading and a few laughs: http://www.iecc.com/linker/

Cheers
/Michael

P.S. I still can't get -tksm to work. I've tried rebuilding without
--prefix and installing as root, patching the tclConfig.sh and
tkConfig.sh - nothing helps. I can't figure this one out... P.S.