bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/12913] Should rename ELFOSABI_LINUX into ELFOSABI_GNU, an


From: tschwinge at sourceware dot org
Subject: [Bug binutils/12913] Should rename ELFOSABI_LINUX into ELFOSABI_GNU, and drop ELFOSABI_HURD
Date: Sun, 08 Apr 2012 22:05:50 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=12913

--- Comment #7 from Thomas Schwinge <tschwinge at sourceware dot org> 
2012-04-08 22:05:50 UTC ---
Robert Millan:
> This looks very wrong. elf_osabi identifies the kernel, not userland.

<http://www.sco.com/developers/gabi/latest/ch4.eheader.html#elfid>:

| 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.

> As you can see in the definition of those targets (in bfd/elf64-x86-64.c),
> elf_osabi field is reset to ELFOSABI_FREEBSD. This is because the kernel of
> FreeBSD uses osabi to identify the syscall ABI in loaded executables.

How would this have worked before?  The value 0 (ELFOSABI_NONE) is used
for nearly all ELF files on GNU systems (GNU/Linux, GNU/Hurd) that don't
need any special handling.

> The way you
> just redefined it to imply userland rather than kernel leaves GNU/kFreeBSD out
> in the cold.

In my reading of the ELF standard, using ELFOSABI_GNU for an
»ABI-specific ELF extension« is fine.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]