This is the mail archive of the binutils@sourceware.org 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]
Other format: [Raw text]

Re: PATCH: Default elf_backend_post_process_headers to set OSABI


On Tue, Dec 17, 2013 at 2:12 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Tue, Dec 17, 2013 at 1:42 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Fri, Dec 13, 2013 at 7:39 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>> On Fri, Dec 13, 2013 at 7:15 AM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>>>> "H.J. Lu" <hjl.tools@gmail.com> writes:
>>>>
>>>>> On Thu, Dec 12, 2013 at 7:29 PM, Hans-Peter Nilsson
>>>>> <hans-peter.nilsson@axis.com> wrote:
>>>>>>> From: "H.J. Lu" <hongjiu.lu@intel.com>
>>>>>>> Date: Fri, 13 Dec 2013 00:06:33 +0100
>>>>>>
>>>>>>> On Thu, Dec 12, 2013 at 02:44:36PM -0800, H.J. Lu wrote:
>>>>>>> Here is a patch to call _bfd_elf_copy_private_bfd_data.  But
>>>>>>> there are 5 failures:
>>>>>>>
>>>>>>> build-alpha-linux/binutils/binutils.log:FAIL: strip on STB_GNU_UNIQUE
>>>>>>> build-crisv32-linux/binutils/binutils.log:FAIL: strip on STB_GNU_UNIQUE
>>>>>>> build-frv-linux/binutils/binutils.log:FAIL: strip on STB_GNU_UNIQUE
>>>>>>> build-ia64-linux/binutils/binutils.log:FAIL: strip on STB_GNU_UNIQUE
>>>>>>> build-m68k-linux/binutils/binutils.log:FAIL: strip on STB_GNU_UNIQUE
>>>>>>
>>>>>> My autotester sees failures for mipsisa32r2el-unknown-linux-gnu,
>>>>>> cris-axis-linux-gnu, cris-axis-elf.  While the last two would
>>>>>> see the same as your "build-crisv32-linux" the first one seems
>>>>>> missing from your list.
>>>>>>
>>>>>>> since those targets don't use _bfd_elf_set_osabi.  Shouldn't
>>>>>>> elf_backend_post_process_headers be set to _bfd_elf_set_osabi by
>>>>>>> default?
>>>>>>
>>>>>> I'd guess yes?
>>>>>>
>>>>>> brgds, H-P
>>>>>
>>>>> Here is a patch to do that.  OK to install?
>>>>
>>>> That's not enough, you also need to set has_gnu_symbols appropriately.
>>>>
>>>
>>> Sure.  One piece at a time.  I can work on them after
>>> this patch is checked in.
>>>
>>
>> I checked it in.  Now I got
>>
>> build-arm-linuxeabi/binutils/binutils.log:FAIL: strip on STB_GNU_UNIQUE
>> build-arm-netbsdelf/binutils/binutils.log:FAIL: strip on STB_GNU_UNIQUE
>
> Those 2 are caused by elf32_arm_post_process_headers
> which sets i_ehdrp->e_ident[EI_OSABI]. ARM maintainers
> should take a look to decide what to do.
>

I checked in this patch to fix arm targets.

-- 
H.J.
--
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 4b46b09..5630be5 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,10 @@
 2013-12-17  H.J. Lu  <hongjiu.lu@intel.com>

+    * elf32-arm.c (elf32_arm_post_process_headers): Call
+    _bfd_elf_post_process_headers.
+
+2013-12-17  H.J. Lu  <hongjiu.lu@intel.com>
+
     * elf32-spu.c (spu_elf_post_process_headers): Call
     _bfd_elf_post_process_headers.
     * elfxx-mips.c (_bfd_mips_post_process_headers): Likewise.
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index b023499..6a9e60f 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -14506,7 +14506,7 @@ elf32_arm_post_process_headers (bfd * abfd,
struct bfd_link_info * link_info ATT
   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;
+    _bfd_elf_post_process_headers (abfd, link_info);
   i_ehdrp->e_ident[EI_ABIVERSION] = ARM_ELF_ABI_VERSION;

   if (link_info)


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