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] Gold: Add mapping for ARM special sections.


I am just following what the existing link script does (from top of
trunk configured for arm-eabi)

 PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata         : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
.rodata1        : { *(.rodata1) }
  .ARM.extab   : { *(.ARM.extab* .gnu.linkonce.armextab.*) }
   __exidx_start = .;
  .ARM.exidx   : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }
   __exidx_end = .;
  .eh_frame_hdr : { *(.eh_frame_hdr) }

If removing the linkonce sections are the right thing to do,  I am
more than happy to do it.

-Doug

2009/6/4 Richard Earnshaw <Richard.Earnshaw@buzzard.freeserve.co.uk>:
> On Thu, 2009-06-04 at 13:13 -0700, Doug Kwan (Ãö®¶¼w) wrote:
>> Hi,
>>
>>     This patch adds mapping to ARM special sections .ARM.exidx and
>> .ARM.extab.  Okay to check in?
>>
>> -Doug
>> ----------------------------------------------------------------
>> 2009-06-04  Doug Kwan  <dougkwan@google.com>
>>
>>         * layout.cc (Layout::section_name_mapping): Add mapping for
>>         special ARM sections.
>>
>> Index: gold/layout.cc
>> ===================================================================
>> RCS file: /cvs/src/src/gold/layout.cc,v
>> retrieving revision 1.124
>> diff -u -u -p -r1.124 layout.cc
>> --- gold/layout.cc    4 Jun 2009 00:43:11 -0000       1.124
>> +++ gold/layout.cc    4 Jun 2009 20:01:11 -0000
>> @@ -2887,6 +2887,10 @@ const Layout::Section_name_mapping Layou
>>    MAPPING_INIT(".gnu.linkonce.lr.", ".lrodata"),
>>    MAPPING_INIT(".gnu.linkonce.l.", ".ldata"),
>>    MAPPING_INIT(".gnu.linkonce.lb.", ".lbss"),
>> +  MAPPING_INIT(".ARM.extab.", ".ARM.extab"),
>> +  MAPPING_INIT(".gnu.linkonce.armextab.", ".ARM.extab"),
>> +  MAPPING_INIT(".ARM.exidx.", ".ARM.exidx"),
>> +  MAPPING_INIT(".gnu.linkonce.armexidx.", ".ARM.exidx"),
>>  };
>>  #undef MAPPING_INIT
>>
>
> Why do we want .gnu.linkonce versions of .ARM.extab and .ARM.exidx?
> Only ABI conforming toolchains should be producing those sections and
> such toolchains never need to use the old .gnu.linkonce methodology.
>
> R.
>
>
>


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