On Sat, Aug 16, 2003 at 09:44:55AM +1000, Jim Watson wrote: > On Sat, 16 Aug 2003 03:59, Matthias Klose wrote: > > ld is not stripped, so you could get a stacktrace. > > sorry but i will need someone to tell me how to do this. > I can change the makefiles and I know how i can copy this command line from > the log into a shell file and make it run, > > but i do not know how to pass all this complex gcc command line into gdb, > then > how gcc calls ld?
I managed to get a backtrace: Program received signal SIGSEGV, Segmentation fault. #0 0x7006157c in bfd_elf64_archive_write_armap () from /usr/lib/libbfd-2.14.90.0.5.so #1 0x7006c9b4 in bfd_elf32_bfd_final_link () from /usr/lib/libbfd-2.14.90.0.5.so #2 0x7004e384 in bfd_hash_traverse () from /usr/lib/libbfd-2.14.90.0.5.so Jim: I did this by attaching gdb to the running process by running dmake and pressing Ctrl-Z to freeze it when ld had been started, then found its pid using 'ps', then used gdb --pid=<pid-of-ld-process> /usr/bin/ld Chris