diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 9 | ||||
-rw-r--r-- | bfd/elf.c | 4 | ||||
-rw-r--r-- | bfd/elf32-hppa.c | 6 | ||||
-rw-r--r-- | bfd/elf32-i370.c | 2 | ||||
-rw-r--r-- | bfd/elf64-hppa.c | 6 |
5 files changed, 18 insertions, 9 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0263f14..c4aa50d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,12 @@ +2011-07-03 Samuel Thibault <samuel.thibault@gnu.org> + Thomas Schwinge <thomas@schwinge.name> + + * elf.c (_bfd_elf_set_osabi): Use ELFOSABI_GNU name instead of + ELFOSABI_LINUX alias. + * elf32-hppa.c: Likewise. + * elf32-i370.c: Likewise. + * elf64-hppa.c: Likewise. + 2011-07-01 Ian Lance Taylor <iant@google.com> * elf32-i386.c (elf_i386_eh_frame_plt): Correct expression: change @@ -9610,11 +9610,11 @@ _bfd_elf_set_osabi (bfd * abfd, i_ehdrp->e_ident[EI_OSABI] = get_elf_backend_data (abfd)->elf_osabi; /* To make things simpler for the loader on Linux systems we set the - osabi field to ELFOSABI_LINUX if the binary contains symbols of + osabi field to ELFOSABI_GNU if the binary contains symbols of the STT_GNU_IFUNC type or STB_GNU_UNIQUE binding. */ if (i_ehdrp->e_ident[EI_OSABI] == ELFOSABI_NONE && elf_tdata (abfd)->has_gnu_symbols) - i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_LINUX; + i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_GNU; } diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 0e33f47..7f0f2cb 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -950,9 +950,9 @@ elf32_hppa_object_p (bfd *abfd) i_ehdrp = elf_elfheader (abfd); if (strcmp (bfd_get_target (abfd), "elf32-hppa-linux") == 0) { - /* GCC on hppa-linux produces binaries with OSABI=Linux, + /* GCC on hppa-linux produces binaries with OSABI=GNU, but the kernel produces corefiles with OSABI=SysV. */ - if (i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_LINUX && + if (i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_GNU && i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_NONE) /* aka SYSV */ return FALSE; } @@ -4678,7 +4678,7 @@ elf32_hppa_elf_get_symbol_type (Elf_Internal_Sym *elf_sym, int type) #undef TARGET_BIG_NAME #define TARGET_BIG_NAME "elf32-hppa-linux" #undef ELF_OSABI -#define ELF_OSABI ELFOSABI_LINUX +#define ELF_OSABI ELFOSABI_GNU #undef elf32_bed #define elf32_bed elf32_hppa_linux_bed diff --git a/bfd/elf32-i370.c b/bfd/elf32-i370.c index c9f4333..8082927 100644 --- a/bfd/elf32-i370.c +++ b/bfd/elf32-i370.c @@ -1368,7 +1368,7 @@ i370_elf_relocate_section (bfd *output_bfd, #define ELF_MACHINE_ALT1 EM_I370_OLD #endif #define ELF_MAXPAGESIZE 0x1000 -#define ELF_OSABI ELFOSABI_LINUX +#define ELF_OSABI ELFOSABI_GNU #define elf_info_to_howto i370_elf_info_to_howto diff --git a/bfd/elf64-hppa.c b/bfd/elf64-hppa.c index d78225b..92adf78 100644 --- a/bfd/elf64-hppa.c +++ b/bfd/elf64-hppa.c @@ -329,9 +329,9 @@ elf64_hppa_object_p (bfd *abfd) i_ehdrp = elf_elfheader (abfd); if (strcmp (bfd_get_target (abfd), "elf64-hppa-linux") == 0) { - /* GCC on hppa-linux produces binaries with OSABI=Linux, + /* GCC on hppa-linux produces binaries with OSABI=GNU, but the kernel produces corefiles with OSABI=SysV. */ - if (i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_LINUX + if (i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_GNU && i_ehdrp->e_ident[EI_OSABI] != ELFOSABI_NONE) /* aka SYSV */ return FALSE; } @@ -4097,7 +4097,7 @@ const struct elf_size_info hppa64_elf_size_info = #undef TARGET_BIG_NAME #define TARGET_BIG_NAME "elf64-hppa-linux" #undef ELF_OSABI -#define ELF_OSABI ELFOSABI_LINUX +#define ELF_OSABI ELFOSABI_GNU #undef elf_backend_post_process_headers #define elf_backend_post_process_headers _bfd_elf_set_osabi #undef elf64_bed |