------- Additional Comments From dave at hiauly1 dot hia dot nrc dot ca 2005-09-21 23:02 ------- Subject: Re: collect2: ld terminated with signal 10 [Bus error] linking libstdc++.sl.6
> The Ada bug number in the previous comment should be PR 23957, not 2397. The enclosed patch fixes the linker segmentation fault for both PRs. However, I'm not sure the call to assemble_external_libcall is in the right place. output_function_exception_table is called at the end of the output for each function. I think we should do this after all functions have been output. However, this probably doesn't matter for the PA. I started trying to look at the eh errors. They are now about the same for 32 and 64-bit hpux. Dave -- J. David Anglin [EMAIL PROTECTED] National Research Council of Canada (613) 990-0752 (FAX: 952-6602) Index: except.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/except.c,v retrieving revision 1.317 diff -u -3 -p -r1.317 except.c --- except.c 17 Sep 2005 20:58:14 -0000 1.317 +++ except.c 21 Sep 2005 22:52:15 -0000 @@ -3516,13 +3516,15 @@ output_function_exception_table (void) int have_tt_data; int tt_format_size = 0; + if (eh_personality_libfunc) + assemble_external_libcall (eh_personality_libfunc); + /* Not all functions need anything. */ if (! cfun->uses_eh_lsda) return; #ifdef TARGET_UNWIND_INFO /* TODO: Move this into target file. */ - assemble_external_libcall (eh_personality_libfunc); fputs ("\t.personality\t", asm_out_file); output_addr_const (asm_out_file, eh_personality_libfunc); fputs ("\n\t.handlerdata\n", asm_out_file); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23958