public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* ABI  ????
@ 2001-08-22 20:51 Myunghui
  2001-08-23  0:13 ` Nick Clifton
  0 siblings, 1 reply; 2+ messages in thread
From: Myunghui @ 2001-08-22 20:51 UTC (permalink / raw)
  To: Binutils

Dear Binutils

I was checked my cross-compiler. That use a ELFOSABI_ARM options.

But, my old-tool is not EI_OSABI option. 

Please, explain to me about OS ABI.

Best regards.

Myunghui Ryu

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: ABI  ????
  2001-08-22 20:51 ABI ???? Myunghui
@ 2001-08-23  0:13 ` Nick Clifton
  0 siblings, 0 replies; 2+ messages in thread
From: Nick Clifton @ 2001-08-23  0:13 UTC (permalink / raw)
  To: mega74; +Cc: Binutils

Hi Myunghui,

> I was checked my cross-compiler. That use a ELFOSABI_ARM options.
> 
> But, my old-tool is not EI_OSABI option. 
> 
> Please, explain to me about OS ABI.

The ELF spec defines the EI_OSABI value as follows:

    Byte e_ident[EI_OSABI] identifies the OS- or ABI-specific ELF
    extensions used by this file. Some fields in other ELF
    structures have flags and values that have operating system
    and/or ABI specific meanings; the interpretation of those
    fields is determined by the value of this byte. If the object
    file does not use any extensions, it is recommended that this
    byte be set to 0. If the value for this byte is 64 through 255,
    its meaning depends on the value of the e_machine header member.
    The ABI processor supplement for an architecture can define its
    own associated set of values for this byte in this range. If
    the processor supplement does not specify a set of values, one
    of the following values shall be used, where 0 can also be
    taken to mean unspecified. 

    Name             Value  Meaning
    ELFOSABI_NONE      0     No extensions or unspecified
    ELFOSABI_HPUX      1     Hewlett-Packard HP-UX
    ELFOSABI_NETBSD    2     NetBSD
    ELFOSABI_LINUX     3     Linux
    ELFOSABI_SOLARIS   6     Sun Solaris
    ELFOSABI_AIX       7     AIX
    ELFOSABI_IRIX      8     IRIX
    ELFOSABI_FREEBSD   9     FreeBSD
    ELFOSABI_TRU64    10     Compaq TRU64 UNIX
    ELFOSABI_MODESTO  11     Novell Modesto
    ELFOSABI_OPENBSD  12     Open BSD
                     64-255  Architecture-specific value range

The value of ELFOSABI_ARM is 97, which places it in the architecture
specific range.  This value is in fact specific to the binutils
toolsuite, as ARM's own tools do not use it.  (ARM's ELF spec does not
mention the field, so it defaults to 0).  Binutils uses this value to
distinguish between the "old" implementation of ARM's ABI and the
"new" implementation.  The terms "old" and "new" here are misnomers.
The "old" implementation was actually a broken implementation of the
ABI and the "new" implementation was the bug-fixed version.
Unfortunately these two implementations are incompatible at a binary
level, hence the need of a distinct value to distinguish between the
two.

Cheers
        Nick



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2001-08-23  0:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-22 20:51 ABI ???? Myunghui
2001-08-23  0:13 ` Nick Clifton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).