This is the mail archive of the binutils@sources.redhat.com 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: gc sections and .eh_frame


Alan Modra wrote:
On Wed, Jun 29, 2005 at 10:54:01AM +0930, Alan Modra wrote:

I think we can do without it by marking sections
referenced from .eh_frame specially, and keeping them iff the associated
.text section is marked.


Committing mainline.

bfd/
	* elflink.c (_bfd_elf_gc_mark): Mark sections referenced by
	.eh_frame specially..
	(bfd_elf_gc_sections): ..rather than totally ignoring .eh_frame.
	Don't recheck sections we have already marked.
	(elf_gc_sweep): Keep non-code sections referenced from .eh_frame.
	* section.c (struct bfd_section): Add gc_mark_from_eh.
	(STD_SECTION): Adjust.
	* ecoff.c (bfd_debug_section): Adjust.
	* bfd-in2.h: Regenerate.

ld/
	* scripttempl/elf.sc (.gcc_except_table): Don't KEEP.

I updated my sources to current binutils CVS and rebuuilt my powerpc-eabi-ld. Unfortunately I now get the following when linking an application that uses C++ exceptions:
`DW.ref._ZTISt9exception' referenced in section `.rodata' of /local/builds/toolchains/powerpc-eabi/tools/lib/gcc/powerpc-eabi/3.4.4/../../../../powerpc-eabi/lib/nof/libsupc++.a(vterminate.o): defined in discarded section `.gnu.linkonce.s.DW.ref._ZTISt9exception' of /local/builds/toolchains/powerpc-eabi/tools/lib/gcc/powerpc-eabi/3.4.4/../../../../powerpc-eabi/lib/nof/libsupc++.a(vterminate.o)collect2: ld returned 1 exit status


I'll have a closer look tomorrow, although my hunch is that it's something to do with being a .gnu.linkonce section specifically - possibly there are multiple instances of that section name, and only one is marked to be kept, but when duplicate .gnu.linkonce sections are removed, it is the other instance that is kept, and later when GC happens, even that one is removed.

Jifl
--
eCosCentric    http://www.eCosCentric.com/    The eCos and RedBoot experts
--["No sense being pessimistic, it wouldn't work anyway"]-- Opinions==mine


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