Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Stuart Hughes <seh@zee2.com>
To: Linda Wang <linda.wang@intransa.com>,
	Linux-MIPS <linux-mips@linux-mips.org>
Subject: Re: FW: cannot debug multi-threaded programs with gdb/gdbserver
Date: Fri, 20 Sep 2002 10:38:12 +0100	[thread overview]
Message-ID: <3D8AEC84.ADA8CE0A@zee2.com> (raw)
In-Reply-To: EA23924D8B48774F889C7733226B28E8B7E51C@exalane.intransa.com

Hi Linda,

I followed the advice from Daniel/Steve and upgraded my toolchain
(binutils-2.13/gcc-2.3/glibc-2.2.5/).  Now I can do some thread aware
gdb/gdbserver debug.  

It seems to work fine on simple programs, but on some other large
applications some behaviour is not predictable (this may well be the
application, as it issues SIGSTOP/SIGCONT to control threads, and I
think this causes gdb to get confused).

One thing that is not obvious is that you need to set (either at the
command line or in a .gdbinit file):

set heuristic-fence-post 20		// not sure if this is actually needed
set solib-absolute-prefix /dev/null
set solib-search-path
<path_to_cross_compiled_standard_libs>:<path_to_your_shared_libs>

In my case:
<path_to_cross_compiled_standard_libs> is /usr/local/mipsel-linux

NOTE: no lib component (this is passed back from the location on the
target ???).

<path_to_your_shared_libs>	This is only needed if you have your own
shared libs.

NOTE: The path on the host must contain the basename component, but this
must not be given in the <path_to_your_shared_libs>

For instance, if I build on the host and the library ends up in
/home/seh/project/test/lib, but the library ends up on the target in
/apps/custom/mylibs

You would need to:
- make a symlink on the homst from lib -> mylibs
- set <path_to_your_shared_libs> to /home/seh/project/test

Regards, Stuart



Linda Wang wrote:
> 
> Hi Stuart,
> 
> Have you manage to get gdb to work with 5.3 version, with pthread
> without seeing the Warning problems?
> 
> We are encountered the same problem on our system as well, but
> we have different mips processor.
> 
> any further info would be greatly appreciated.
> thanks,
> -linda
> 
> -----Original Message-----
> From: Stuart Hughes [mailto:seh@zee2.com]
> Sent: Tuesday, September 17, 2002 10:03 AM
> Subject: cannot debug multi-threaded programs with gdb/gdbserver
> 
> Hi,
> 
> I managed to get gdb to do multi-threaded debug using a gdb on the
> target, after Daniel J helped with a patch to sys/procfs.h
> 
> I am now trying to do host target with gdb/gdbserver.  The program on
> the target uses pthreads.
> 
> I can connect, but as soon as you try to continue (to a breakpoint) I
> get:
> 
> Program received signal SIG32, Real-time event 32.
> warning: Warning: GDB can't find the start of the function at
> 0x2abee684.
> ....
> 
> I know that SIG32 is used for the thread control on the target, but I'm
> not sure if the host gdb is supposed to receive this.  I tried "set
> handle SIG32 pass noprint nostop"
> and variations, but this didn't help.
> 
> Does anyone know whether there is some special setup needed on
> gdb/gdbserver to use the multi-threaded gdbserver ??
> 
> My environment is as follows:
> 
> CPU:            NEC VR5432
> kernel:         linux-2.4.18 + patches
> glibc:          2.2.3 + patches
> gdb:            5.2/3 from CVS
> gcc:            3.1
> binutils:       Version 2.11.90.0.25
> 
> cross-gdb configured using:
> 
> configure --prefix=/usr --target=mipsel-linux --disable-sim
> --disable-tcl --enable-threads --enable-shared
> 
> gdbserver configured using:
> 
> configure --prefix=/usr --host=mipsel-linux --target=mipsel-linux
> --enable-threads --enable-shared
> 
> Regards, Stuart

       reply	other threads:[~2002-09-20  9:39 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <EA23924D8B48774F889C7733226B28E8B7E51C@exalane.intransa.com>
2002-09-20  9:38 ` Stuart Hughes [this message]
2002-09-20 16:24   ` FW: cannot debug multi-threaded programs with gdb/gdbserver Daniel Jacobowitz
2002-09-20 16:46     ` Stuart Hughes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3D8AEC84.ADA8CE0A@zee2.com \
    --to=seh@zee2.com \
    --cc=linda.wang@intransa.com \
    --cc=linux-mips@linux-mips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox