multithreaded gdbserver again. Should I use gdb5.3, or a snapshot?

Dan Kegel
2003-04-08T06:05:36Z

Hi all,
I had the multithreaded gdbserver from gdb-5.3 working, but
never tried really debugging anything with it. I recently
brought it back up, and tried it out a bit. I ran into the usual
set of newbie problems, namely:

* I didn't have solib-absolute-prefix set properly;
this was made clear with the commands
break main
cont
info shared
which showed the wrong path. I gave the command
set solib-absolute-prefix /opt/cegl-1.5/hardhat/devkit/sh/sh4_le/target
and that helped gdb find the shared libraries

* The libthread_db.so on the target was stripped, which seems to have
caused SIG32 messages. I made sure both gdb and gdbserver had
the same unstripped libthread_db.so. I think that got rid of
the SIG32's, but...

Oddly, gdb doesn't seem to automatically load the shared libraries,
even though auto-solib-add is on. I have to give the command
shared
after hitting the breakpoint at main for the libraries to load,
else I get that SIG32 message.

Maybe I don't understand how shared libraries get loaded into
gdb. I didn't think I should have to give the 'shared' command
normally. Any idea what's up there?

And even then, I seem to get the SIGTRAP message referred to in
http://sources.redhat.com/ml/gdb/2003-03/msg00227.html
when I step a bit after hitting a breakpoint in a thread.
I tried applying the PREPARE_TO_PROCEED patch Daniel mentioned in
http://sources.redhat.com/ml/gdb/2003-03/msg00228.html,
and the original patch
http://sources.redhat.com/ml/gdb-patches/2002-08/msg01056.html
but neither of them seemed to apply cleanly against gdb-5.3.
Each had at least one reject. I fixed up the rejects,
but the resulting debugger didn't work too well.

I'm sure my difficulties are because I'm sleepy, but perhaps
it's worth asking: should I stick with gdb5.3, or is a more
recent snapshot a better bet? I'm running gdb on x86 linux,
and I'm running gdbserver on ppc405, ppc750, and sh4 linux.

Thanks,
Dan

--
Dan Kegel