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: PR ld/11133: Static linking with gc-sections deletes sections with __start/__stop reference


On Tue, Jan 5, 2010 at 10:18 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Tue, Jan 5, 2010 at 9:44 AM, Daniel Jacobowitz <dan@codesourcery.com> wrote:
>> On Tue, Jan 05, 2010 at 09:32:21AM -0800, H.J. Lu wrote:
>>> Hi,
>>>
>>>
>>> __start_XXX and __stop_XXX symbols may reference the start address and
>>> end address of the orphaned section. ?We need to search all input files
>>> for section XXX. ?OK to install?
>>
>> I don't think this patch does what you want it to. ?It's just going to
>> keep the first entry.
>
> Here is the updated patch, which keeps all XXX sections. I also
> noticed that --gc-sections removed:
>
> ?[ 1] .note.ABI-tag ? ? NOTE ? ? ? ? ? ? 0000000000400158 ?00000158
> ? ? ? 0000000000000020 ?0000000000000000 ? A ? ? ? 0 ? ? 0 ? ? 4
>
> We shouldn't gc SHT_NOTE sections.
>
>> Can you start by saying what effect you think the __start and __stob
>> symbols should have?
>>
>
> They should keep all XXX sections.
>
> Thanks.
>
> --
> H.J.
> ---
> bfd/
>
> 2010-01-05 ?H.J. Lu ?<hongjiu.lu@intel.com>
>
> ? ? ? ?PR ld/11133
> ? ? ? ?* elflink.c (_bfd_elf_gc_mark_hook): Check section XXX for
> ? ? ? ?undefined __start_XXX/__stop_XXX in all input files and set
> ? ? ? ?its gc_mark to 1.
> ? ? ? ?(elf_gc_sweep): Keep SHT_NOTE section.
>
> ld/testsuite/
>
> 2010-01-05 ?H.J. Lu ?<hongjiu.lu@intel.com>
>
> ? ? ? ?PR ld/11133
> ? ? ? ?* ld-gc/gc.exp: Run start.
>
> ? ? ? ?* ld-gc/start.d: New.
> ? ? ? ?* ld-gc/start.s: Likewise.
>

Oops. Wrong patch.  Here is the correct one.


-- 
H.J.

Attachment: binutils-pr11133-2.patch
Description: Text document


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