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
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.
The program is not being 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 ?? ()
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