Re: cannot debug multi-threaded programs with gdb

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Daniel,

Thanks for your help.  I also just found a posting by you from January
explaining this. I tried it out, and it works like a dream.  FWIW I've
attached a patch I applied to glibc.

Regards, Stuart


Daniel Jacobowitz wrote:
> 
> On Fri, Sep 13, 2002 at 11:07:15AM +0100, Stuart Hughes wrote:
> > Hi,
> >
> > I've been trying to debug a simple multi-threaded test program using
> > gdb, and it always fails as follows:
> >
> > [New Thread 1024 (LWP
> > 39)]
> >
> > Program received signal SIGTRAP, Trace/breakpoint
> > trap.
> > [Switching to Thread 1024 (LWP
> > 39)]
> > warning: Warning: GDB can't find the start of the function at
> > 0xffffffff.
> >
> > I've tried various different compilers, gdb, glibc version but the
> > problem is the same.  Note that I can debug non-threaded c/c++ programs
> > without any problem.  My environment is as follows:
> >
> > CPU:          NEC VR5432
> > kernel:       linux-2.4.10 + patches
> > glibc:                2.2.3 + patches
> 
> Not enough patches I'd bet.  Glibc 2.2.3 had an incorrect size listed
> for elf_gregset_t, and it was fixed in 2.2.5.  That would cause this
> problem.
> 
> > gdb:          5.2/3 from CVS
> > gcc:          3.1 (also tried 3.0.1)
> > binutils:     Version 2.11.90.0.25
> >
> > Does anyone have any idea what is wrong and how to fix it.
> >
> > Regards, Stuart
> >
> >
> 
> --
> Daniel Jacobowitz
> MontaVista Software                         Debian GNU/Linux Developer
--- glibc-2.2.3/sysdeps/unix/sysv/linux/mips/sys/procfs.h.orig	Fri Sep 13 14:26:42 2002
+++ glibc-2.2.3/sysdeps/unix/sysv/linux/mips/sys/procfs.h	Fri Sep 13 14:26:54 2002
@@ -101,8 +101,8 @@
 typedef void *psaddr_t;
 
 /* Register sets.  Linux has different names.  */
-typedef gregset_t prgregset_t;
-typedef fpregset_t prfpregset_t;
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
 
 /* We don't have any differences between processes and threads,
    therefore habe only ine PID type.  */

[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux