This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: PATCH: PR ld/12851: --gc-sections doesn't work on note sections
On Thu, Jun 09, 2011 at 09:22:26AM +0930, Alan Modra wrote:
> On Wed, Jun 08, 2011 at 01:10:14PM -0700, H.J. Lu wrote:
> > SHT_NOTE sections are special. We check it in elf_gc_sweep. But
> > we missed it in bfd_elf_gc_sections.
>
> I think your patch is going in the wrong directions. If we missed
> anything in bfd_elf_gc_sections, it's that we keep note sections in
> files for which all other sections are discarded.
Actually, I think that
else if ((o->flags & (SEC_DEBUGGING | SEC_LINKER_CREATED)) != 0
|| (o->flags & (SEC_ALLOC | SEC_LOAD | SEC_RELOC)) == 0
|| elf_section_data (o)->this_hdr.sh_type == SHT_NOTE)
{
/* Keep debug, special and SHT_NOTE sections. */
o->gc_mark = 1;
}
doesn't belong in elf_gc_sweep at all. It would be better to put code
marking these sections in a default gc_mark_extra_sections.
--
Alan Modra
Australia Development Lab, IBM