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

Daniel Jacobowitz
2003-04-08T12:52:55Z

On Mon, Apr 07, 2003 at 11:15:51PM -0700, Dan Kegel wrote:
> 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?

That suggests that something is wrong with your dynamic linker on the
target; is that stripped too?

It doesn't matter if the copies on the target are stripped; also, it
shouldn't matter if libthread_db.so is stripped; but libpthread.so and
ld.so on the host should be unstripped.

> 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.

A more recent snapsot won't help you. I've been too busy with other
projects to pursue the change to the remote protocol needed to fix the
SIGTRAPs. Sorry.

--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer