Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Feb 2001 00:16:35 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        marcel@cup.hp.com (Marcel Moolenaar)
Cc:        jhb@FreeBSD.ORG (John Baldwin), arch@FreeBSD.ORG
Subject:   Re: ELF, OS and ABI [was: Re: sysctl kern.fallback_elf_brand]
Message-ID:  <200102240016.RAA02409@usr05.primenet.com>
In-Reply-To: <3A96F984.7233C733@cup.hp.com> from "Marcel Moolenaar" at Feb 23, 2001 04:00:04 PM

next in thread | previous in thread | raw e-mail | index | archive | help
> I'm not sure that's a valid view, because ELF was originally defined as
> *part* of an ABI. Consequently, it does not *define* an ABI. With the
> adoption of ELF by different ABI providers, the lack of ABI information
> in ELF was apparent. It seems to me that the addition of EI_OSABI is to
> address this shortcoming in the ELF specification and further allows ABI
> specific flags to be used in the ELF file. The ELF
> modification/extension architects which fields and which bits in fields
> you can use for OS or machine specific information.

ELF is an object file format.  Adding sections is permitted, even
under a strict interpretation, but the sections you add are not
part of the ELF standard.

Technically, ELF would let you have binaries for multiple
processor platforms and architectures in the same file, as
long as those platforms could agree on who owns what section,
by way of some common metadata.  There was a NeXTStep ELF
that never panned out that could do bother 68k and x86 in
the same binary.  I can't provide sources on this, sorry.


> Do any of you have pointers to ELF specifications that document the ABI
> section.
> 
> The ELF specifications I use can be found:
> 
> http://developer.intel.com/vtune/tis.htm
> http://developer.intel.com/design/ia-64/downloads/245370.htm

The Microsoft Portable Executable format is ELF; it defines
many additional section attributes, including paging control,
initialize-and-discard (driver probe/attach, etc.), and so on.

See also:

http://msdn.microsoft.com/library/specs/msdn_pecoff.htm

Note that this covers both PE files and COFF files, so it's
minorly confusing.  There used to be an NT 3.x PE format
document that covered only the ELF stuff, but I'm unable to
locate it.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102240016.RAA02409>