This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: A symbol version patch for glibc 2.x compatibility
On Sat, Nov 11, 2000 at 03:59:16PM -0800, Ulrich Drepper wrote:
> "David O'Brien" <obrien@FreeBSD.org> writes:
>
> > Would it be possible for the Linux Binutils to set the OS/ABI field
> > properly?
>
> It is set properly. The field must have a value != 0 only if the file
> contains some ABI incompatible extensions which are OS-specific.
To what point do you mean "ABI incompatible extensions"?
According to www.sco.com/developer/gabi/ch4.eheader.html (System V
Application Binary Interface Edition 4.1), "EI_OSABI" is for "Operating
system/ABI identification". It later does on to say:
Byte e_ident[EI_OSABI] identifies the operating system and ABI to
which the object is targeted. Some fields in other ELF structures
have flags and values that have platform specific meanings; the
interpretation of those fields is determined by the value of this
byte.
At www.sco.com/developer/gabi/ch5.dynamic.html#interpreter, it says:
[Warning!] The locations of the system provided dynamic linkers are
processor specific.
[A document I have calling itself "Executable and Linkable Format (ELF)
Portable Formats Specifications, Version 1.1 Tool Interface Standards
(TIS) says the same]
So we look to the i386 ABI spec.
The March 19, 1997 draft of the SYSTEM V APPLICATION BINARY INTERFACE,
Intel386(tm) Architecture Processor Supplement Fourth Edition (anyone
know of a newer version??) says in 5-10 that "There is one valid program
interpreter for programs conforming to the Intel386 ABI:
/usr/lib/libc.so.1.
By these definition identifying a Linux binary as a System V one is
wrong.
Also Linux does not adhere to the Dynamic Linker/PT_INTERP/.interp
specification.
On FreeBSD/i386 I certainly cannot run a Linux/x86 binary under our SVR4
compatibility mode, it only runs under the Linux compatibility mode.
With the ambiguity as to what it means to be "System V ABI compliant",
why the resistance to setting EI_OSABI to Linux(3)? What else could the
value of 3 (for Linux) for?
--
-- David (obrien@FreeBSD.org)