From 94a3258fc5a462a13091e7d77bc6e930c39ee890 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Thu, 2 Dec 2004 15:05:34 +0000 Subject: [PATCH] 2004-12-01 Paul Brook * elf32-arm.c (elf32_arm_copy_private_bfd_data): Set EI_OSABI. (elf32_arm_post_process_headers): Set EI_OSABI depending on ABI version. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-arm.c | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index dc0d93308df..699732418c8 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2004-12-01 Paul Brook + + * elf32-arm.c (elf32_arm_copy_private_bfd_data): Set EI_OSABI. + (elf32_arm_post_process_headers): Set EI_OSABI depending on ABI + version. + 2004-12-01 Paul Brook * elflink.c (elf_link_add_object_symbols): Make symbols from discarded diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 0b031e0a08b..325d2e86251 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -3428,6 +3428,10 @@ elf32_arm_copy_private_bfd_data (bfd *ibfd, bfd *obfd) elf_elfheader (obfd)->e_flags = in_flags; elf_flags_init (obfd) = TRUE; + /* Also copy the EI_OSABI field. */ + elf_elfheader (obfd)->e_ident[EI_OSABI] = + elf_elfheader (ibfd)->e_ident[EI_OSABI]; + return TRUE; } @@ -5352,7 +5356,10 @@ elf32_arm_post_process_headers (bfd * abfd, struct bfd_link_info * link_info ATT i_ehdrp = elf_elfheader (abfd); - i_ehdrp->e_ident[EI_OSABI] = ARM_ELF_OS_ABI_VERSION; + if (EF_ARM_EABI_VERSION (i_ehdrp->e_flags) == EF_ARM_EABI_UNKNOWN) + i_ehdrp->e_ident[EI_OSABI] = ELFOSABI_ARM; + else + i_ehdrp->e_ident[EI_OSABI] = 0; i_ehdrp->e_ident[EI_ABIVERSION] = ARM_ELF_ABI_VERSION; if (link_info) -- 2.30.2