Re: ELF and EROS Ben Laurie (ben@algroup.co.uk)
Sat, 26 Dec 1998 10:45:51 +0000

shapj@us.ibm.com wrote:
>
> In response to some of Ben's reports, I went and looked at the whole ELF
> issue again.
>
> The upshot of it is that ELF has some kinds of flexibility that a.out just
> does not have. There are portions of the present EROS system that rely on
> ELF that could be switched to a.out with a certain amount of work, but
> there are some pending things that cannot be switched.
>
> The particular issue is that ELF's multiple section handling allows certain
> kinds of things to be done by the linker. Of these, the most noteworthy is
> a key multiplexing library that I had in mind to build. ELF allows keys to
> be declared in a bunch of object files and gathered into a single link
> section that is page aligned. These objects are *not* data objects, and so
> must not appear in code, data, or bss sections. There is no way a.out is
> going to do this. As a result, I made an early decision that EROS
> compilation would be based on the ELF object file format. This is why the
> current release notes say that you need a Linux system to build EROS.
>
> This isn't a current issue -- there is vestigial support in the crt0.S file
> for domain code, but nothing is really using it. In the future, however,
> support for a.out will become impossible as the key library goes into
> place.
>
> Bottom line: the best solution for a.out systems is going to be to build a
> cross toolchain. The good news is that this shouldn't be very hard to do.

I believe I (and anyone else) can have ELF by installing egcs - I'm going to give it a try anyway, since it's certain to be easier than installing Linux!

Cheers,

Ben.

-- 
Ben Laurie            |Phone: +44 (181) 735 0686| Apache Group member
Freelance Consultant  |Fax:   +44 (181) 735 0689|http://www.apache.org/
and Technical Director|Email: ben@algroup.co.uk |
A.L. Digital Ltd,     |Apache-SSL author     http://www.apache-ssl.org/
London, England.      |"Apache: TDG" http://www.ora.com/catalog/apache/