[PATCH] elf: Also check linked-to section for SHT_NOTE section

H.J. Lu hjl.tools@gmail.com
Wed Sep 30 13:43:03 GMT 2020


On Wed, Sep 30, 2020 at 3:56 AM Nick Clifton <nickc@redhat.com> wrote:
>
> Hi Fangrui, Hi H.J.,
>
> > If the section group intention of .annobin.text is so that .annobin.text
> > can be discarded if the associated .text is discarded (--gc-sections),
> > an alternative is SHF_LINK_ORDER
>
>   Sorry to bother you with this, but I am having some troubles
>   getting to grip with using SHF_LINK_ORDER to eliminate unused
>   sections.  I create a small test file to compare using groups
>   and link_orders but it does not work as I would expect:
>
>   % cat eliminate.s
>         .text
>         .nop
>
>         .section .unused1, "ax", %progbits
>         .nop
>
>         .section .unused2, "axG", %progbits, unused_group
>         .nop
>
>         .section .gnu.note.text, "", %note
>         .word 1
>
>         .section .gnu.note1, "o", %note, .unused1
>         .word 2
>
>         .section .gnu.note2, "G", %note, unused_group
>         .word 3
>
>   % as eliminate.s -o elminate.o
>   % ld -e0 --gc-sections --print-gc-sections elminate.o
>   ld: removing unused section '.group' in file 'eliminate.o'
>   ld: removing unused section '.text' in file 'eliminate.o'
>   ld: removing unused section '.unused1' in file 'eliminate.o'
>   ld: removing unused section '.unused2[unused_group]' in file 'eliminate.o'
>   ld: removing unused section '.gnu.note2[unused_group]' in file 'eliminate.o'
>   ld: a.out: sh_link of section `.gnu.note1' points to discarded section `.unused1' of `eliminate.o'
>   ld/: final link failed: bad value
>
>   I thought that the sh_link from .gnu.note1 to .unused1 would mean that it
>   should be discarded when .unused1 is discarded.  But instead I get an
>   error.
>
>   I am probably doing something silly, but please could you point me in the
>   right direction ?
>

Please try this patch.

-- 
H.J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-elf-Also-check-linked-to-section-for-SHT_NOTE-sectio.patch
Type: application/x-patch
Size: 2576 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20200930/39f04c7b/attachment.bin>


More information about the Binutils mailing list