Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Feb 1999 10:44:38 -0800
From:      Thomas Stephens <tas@stephens.org>
To:        freebsd-hackers@FreeBSD.ORG
Cc:        Thomas Stephens <tas@stephens.org>
Subject:   ELF, System V and multiple ABIs
Message-ID:  <199902171844.SAA24903@stephens.ml.org>

next in thread | raw e-mail | index | archive | help
I recently noticed a potential ELF issue, and didn't find any references
to it in the FreeBSD list archives, so am bringing it up here.

I was looking over the latest System V ABI draft, and noticed there is
an update (dated April 1998) which includes modifications to the ELF
format.  Significantly, the usage of the e_ident array in the ElfXX_Ehdr
structure has changed slightly, in order to allow for multiple ABIs on
each hardware platform.

While the ELF format defined in the previous draft only used the first
seven bytes of e_ident, with byte eight (EI_PAD) representing the start
of padding, the current one adds two new values to support an OS/ABI
identifier number followed by a version.  As a side-effect, EI_PAD has
been redefined:

	EI_OSABI	7 (OS/ABI identifier)
	EI_ABIVERSION	8 (OS/ABI version)
	EI_PAD		9

This new version of ELF currently defines EI_OSABI values for System V,
HP-UX and stand-alone (embedded) applications, but it seems to me it
would make things much easier if all ELF-compatible systems were to
adopt it.  The URL for the System V spec update is:

	http://www.sco.com/developer/gabi/contents.html

One way or the other, this change means SCO binaries will be
incompatible with FreeBSD's branding scheme.  Assuming a move to IA-64,
it would also affect potential compatibility with HP and IBM binaries.

I'd be interested in any comments with regard to adopting this change in
FreeBSD, as well as an idea the likelihood of Linux, NetBSD, etc.
adopting it.

Thomas Stephens
tas@stephens.org


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




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