This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [PATCH] -z relro + .dynsym STT_SECTION
> This is not what current ld uses.
> The current layout is:
> ${OTHER_READONLY_SECTIONS}
> .eh_frame_hdr : { *(.eh_frame_hdr) }
> .eh_frame ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
> .gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table) }
> END OF RO SEGMENT
> START OF RW SEGMENT
> /* Exception handling */
> .eh_frame ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) }
> .gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { *(.gcc_except_table) }
>
> /* Thread Local Storage sections */
> .tdata ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.*
> .gnu.linkonce.td.*}) } .tbss ${RELOCATING-0} : {
> *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+
> *(.tcommon)} } ...
>
> Can you reproduce it even with current linker?
Yes. The KEEP and the .gcc_except_table.* were killed by your patch and we
need both.
> Do you have a particular testcase in mind?
I do, but since the compiler patch has been stuck in the review process for a
while, it won't help you much.
If you can restore both for each .gcc_except_table line, I'll be happy.
--
Eric Botcazou