Re: Remote debugging using gdbserver with threads on ARM linux: No backtrace

philippe.vivarelli
2004-10-12T15:56:48Z

Hi,

Thank you for this first quick answer.

As suggested I removed the solid-search-path and the hand SIG32 nostop
lines from my .gdbinit file.
But it does the same (except I need to to enter "c" several time to
continue on signal 32).

The librairies in /usr/local/arm-tools/arm-linux/lib/ are comming with the
arm-linux toolchain for ARM (cross compiler arm-linux-gcc 3.3.1)
The librairies on the target are comming from the Debian distribution for
ARM (gcc 3.3.4).

What do you recommend ?
Make a copy of the libraries comming from the Debian distribution onto the
host, and set the solib-absolute-prefix to the path of the copy ?

Thanks

Philippe Vivarelli

|---------+---------------------------->
| | Daniel Jacobowitz|
| | <drow@false.org> |
| | |
| | 12/10/2004 15:42 |
| | |
|---------+---------------------------->
>------------------------------------------------------------------------------------------------------------------------------|
| |
| To: philippe.vivarelli@mindspeed.com |
| cc: gdb@sources.redhat.com |
| Subject: Re: Remote debugging using gdbserver with threads on ARM linux: No backtrace |
>------------------------------------------------------------------------------------------------------------------------------|

On Tue, Oct 12, 2004 at 09:34:10AM +0200, philippe.vivarelli@mindspeed.com
wrote:
> The .gdbinit file configured as follow:
> hand SIG32 nostop
> set complaints 1
> set confirm 1
> set solib-absolute-prefix /dev/null
> set solib-search-path /usr/local/arm-tools/arm-linux/lib/

No, that's wrong. Remove the "hand SIG32 nostop". Remove the
solib-search-path. Set solib-absolute-prefix to
/usr/local/arm-tools/arm-linux. See if that works better.
Are you sure the libraries in that directory are both unstripped and
otherwise exactly the same as the ones on your target?

If you don't use solib-absolute-prefix, we may not find the dynamic
linker, so thread breakpoints will not be set properly.