http://sourceware.org/bugzilla/show_bug.cgi?id=14675
Bug #: 14675 Summary: No eh_frame info registered in exception_static_test Product: binutils Version: 2.24 (HEAD) Status: NEW Severity: normal Priority: P2 Component: gold AssignedTo: i...@airs.com ReportedBy: amo...@gmail.com CC: ccout...@google.com Classification: Unclassified exception_static_test fails for powerpc64 due to this layout: .eh_frame 0x00000000100a4290 0xba14 ** eh_frame 0x00000000100a4290 0xba10 .eh_frame 0x00000000100afca0 0x0 /usr/lib/gcc/ppc64-redhat-linux/4.7.0/crtbeginT.o .eh_frame 0x00000000100afca0 0x4 /usr/lib/gcc/ppc64-redhat-linux/4.7.0/crtend.o crtbeginT.o defines __EH_FRAME_BEGIN__, which is passed to __register_frame_info. As you can guess this doesn't work very well with all of the actual eh_frame info preceding this location. The reason for the failure is that on my freshly updated fedora17 box, glibc-devel-2.15-51.fc17.ppc64 provided crt1.o has an .eh_frame section. crt1.o is linked *before* crtbeginT.o so we run foul of the following in layout.cc // We found a .eh_frame section we are going to optimize, so now // we can add the set of optimized sections to the output // section. We need to postpone adding this until we've found a // section we can optimize so that the .eh_frame section in // crtbegin.o winds up at the start of the output section. if (!this->added_eh_frame_data_) Now .eh_frame in crt1.o is a decidedly useless thing to have, but bfd ld manages to link and run exception_static_test OK. What happens with bfd ld is that the crt1.o .eh_frame is linked before __EH_FRAME_BEGIN__ (effectively discarded as far as the unwinder is concerned) but the bulk of .eh_frame from all other files is properly placed after this location. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils