This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]