Subject: Help needed WRT GDB and multithreaded programs.

From: David Daney <[email-masked]>
Date: Tue, 28 Oct 2003 15:46:39 -0800

A question about debugging user space programs on a mips/linux system:

I'm fairly sure that this problem has been encountered before and hope 
someone can help me solve it.

I am running linux 2.4.18 on a MIPS 4Kc core with all tools configured 
as mipsel-linux, with glibc-2.2.4 and the corresponding version of pthreads.

When using GDB 5.3 I get strange errors and am basically not able to 
debug multi-threaded programs.  For example any java program compiled 
with GCC/GCJ runs in multiple threads and does something like this:

# gdb PR218
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain 
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "mipsel-linux"...
(gdb) b main
Breakpoint 1 at 0x400dec: file /tmp/ccr0H72i.i, line 10.
(gdb) c
The program is not being run.
(gdb) run
Starting program: /junk/PR218
[New Thread 1024 (LWP 103)]

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 1024 (LWP 103)]
0x00000000 in ?? ()
(gdb)

At this point no further debugging is possible.

If I attach to a particular thread after the program is started I can do 
some debugging, but that is inferior to having it work properly.

Q:  Has anyone else seen this type of behavior from GDB?

Q:  What is the solution?

Thanks in advance
David Daney.

---

From: David Daney <[email-masked]>
Date: Tue, 28 Oct 2003 18:03:53 -0800

> with GCC/GCJ runs in multiple threads and does something like this:

I just tried it with GDB 6.0 with the same results.

Still looking for answers...

David Daney.

---

From: Atsushi Nemoto <[email-masked]>
Date: Wed, 29 Oct 2003 11:37:46 +0900 (JST)

>>>>> On Tue, 28 Oct 2003 15:46:39 -0800, David Daney <[email-masked]> said:
ddaney> When using GDB 5.3 I get strange errors and am basically not
ddaney> able to debug multi-threaded programs.  For example any java
ddaney> program compiled with GCC/GCJ runs in multiple threads and
ddaney> does something like this:

Maybe these will help you:

http://www.linux-mips.org/archives/linux-mips/2002-09/msg00127.html
http://lists.debian.org/debian-mips/2003/debian-mips-200303/msg00116.html

---
Atsushi Nemoto

---

From: David Daney <[email-masked]>
Date: Tue, 28 Oct 2003 18:56:14 -0800

>http://lists.debian.org/debian-mips/2003/debian-mips-200303/msg00116.html
Hey, thanks a lot!

That was the problem.

David Daney.