Hello,
I have been attempting to compile a cross-toolchain, to use over Cygwin,
for a PowerPC target.
So far i have been able to compile and run a multi-threaded program on
board.
The trouble is, i haven't been able to debug threads with GDB:
1. when i dont set breakpoints in the thread - the gdb breaks on
_pthread_sigsuspend upon the pthread_create call, and the program
continues to completion
when i say "c".
2. when i set a breakpoint in the thread, upon pthread_create the
program exits (with exit value 0), and the gdb reports "program exited
normally".
Luckily, i do have a fine installation of montavista, so i did a little
test: i compiled the same basic program on the montavista, ran it on the
board
and attempted debugging it with my cygwin gdb. THIS ONE WORKED! my gdb
reported threads and agreed to break upon thread breakpoints.
therefor, my problem is not in the GDB itself.
i also took my Cygwin-compiled program, ran it on the board and tried
debugging it from the montavista gdb - this one failed in pretty much
the same way
i described above.
i suspect either my toolchain configuration is bad, or my Cygwin
installation is missing something.
the toolchain configuration i used is:
TARGET=powerpc-603e-linux-gnu
TARGET_CFLAGS="-O -mcpu=603e"
GCC_EXTRA_CONFIG="--with-cpu=603e --enable-cxx-flags=-mcpu=603e"
BINUTILS_DIR=binutils-2.16.1
GCC_CORE_DIR=gcc-3.3.6
GCC_DIR=gcc-4.1.0
GLIBC_DIR=glibc-2.3.6
LINUX_DIR=linux-2.6.15.4
LINUX_SANITIZED_HEADER_DIR=linux-libc-headers-2.6.12.0
GLIBCTHREADS_FILENAME=glibc-linuxthreads-2.3.6
GDB_DIR=gdb-6.5
any ideas or help would be much appreciated.
Lidar