This is the mail archive of the
mailing list for the Archer project.
Re: PR 2488 status and some unwinder questions
Paul Pluzhnikov wrote:
On Fri, Nov 21, 2008 at 3:39 AM, Phil Muldoon <email@example.com> wrote:
Unfortunately I found that I cannot place a breakpoint in
uw_install_context() as it is not exported. I cannot find it via:
It doesn't need to be "exported" (as in: present in the dynamic
symbol table). It does need to be present at least in the 'regular'
symbol table, which it already is (so long as libgcc_s.so is not
$ nm /usr/lib64/libgcc_s.so | grep uw_install
00000000000087b0 t uw_install_context_1
Sorry for the delay in replying. Moving house and all that.
Yep agreed, it is on my particular distro (I'm guessing it is just
going to be pretty random where it is, and where it is not). Anyway ....
readelf --syms /usr/lib64/libstdc++.so.6.
I think you are looking for it in the "wrong" library.
As Jan pointed out on Fedora (my particular distro) it is stripped:
nm /lib/libgcc_s.so.1 | grep uw_install
nm: /lib/libgcc_s.so.1: no symbols
However requiring GCC debug-info to be installed for correct operation
of C++ debugging in GDB is a bit of a non-starter.
So bit disappointed
there. I could ask for uw_install_context(_1) to be exported.
I think you need to clarify exactly what you mean by "exported".
If you mean "visible to GDB via symbol table", then it already is.
If you mean "visible to GDB via symbol table even when libgcc_s is
stripped (by 'exporting it' via dynamic symbol table)", then I
don't know if that's feasible. GDB on Linux already requires
libpthread.so to not be stripped, or thread debugging doesn't work.
Yeah, I mean the latter there. I suspect/speculate the push to leave
libgcc unstripped would have quite a bit of resistance, and quite a lot
of work to find a consensus among all the distributions. (And not a road
I particularly want to travel).
Thanks for the pointers.