From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kevin Buettner To: Mike Krogh Cc: "H . J . Lu" , gdb@sourceware.cygnus.com Subject: Re: debugging a dynamically loaded library Date: Tue, 18 Sep 2001 14:54:00 -0000 Message-id: <1010918215307.ZM12639@ocotillo.lan> References: <1010903225850.ZM1797@ocotillo.lan> <15271.47182.999180.228024@gomer.ceintl.com> X-SW-Source: 2001-09/msg00152.html On Sep 18, 5:10pm, Mike Krogh wrote: > Can you tell me if any more progress has been made with this problem? > Do you have any ETA on when a resolution might be available? A patch has been checked into the GDB development sources which "fixes" the problem noted by H.J. The reason that I put "fixes" in quotes is that there is also a bug in the linker (or possibly some other part of the toolchain) which causes a weak defined symbol to be changed to a weak undefined symbol under some circumstances. The stabs entries for this (now undefined) symbol are still retained however. Thus, under these conditions, it may still be possible for GDB to produce unexpected behavior, but I don't think this is unreasonable since GDB's sources of debugging information are inconsistent with each other. I.e, one source says that the symbol is undefined while the other, in essence, is saying that the symbol is defined by providing line number information for the function. In any event, the patch in question does allow me to successfully debug your example program on a Red Hat Linux 7.1 system. I don't think that there were any issues with debugging your example program on a Red Hat Linux 6.2 system. (These were the two platforms that you were testing on, right?) > Anything I might be able to do? Yes! Fetch a copy of the development sources and test GDB against your test case as well the application that caused you to report this problem in the first place. BTW, the ChangeLog entry for the patch in question is as follows: 2001-09-06 Kevin Buettner * dbxread.c (process_one_symbol): Don't use error result from find_stab_function_addr(). * partial-stab.h (case 'F'): Likewise. * partial-stab.h (case 'f'): Make SOFUN_ADDRESS_MAYBE_MISSING code match that used for case 'F'. This fixes the divergence that was introduced by my 1999-09-14 changes to partial-stab.h. Thanks, Kevin