xscale uclibc softfloat & gdb : SIGILL

John Bowler jbowler at acm.org
Tue Sep 27 16:55:35 UTC 2005


From: Eric BENARD / Free
>But when using 0.9.28 (or snapshot) I always get SIGILL when trying to
debug
>the program (which runs perfectly as a standalone progam on the target)
>through gdbserver. I tested with gdb/gdbserver 6.11, 6.2 and 6.3 : same
>results.

Curious, I get the same problem with 0.9.28/gdb 6.3 plus my thumb patches...
I had been assuming it was down to my thumb patches.

When I debugged my case it seemed to occur as a result of the breakpoint gdb
puts on _dl_debug_state.  When that function was thumb I got SIGILL, when it
was arm I got SIGSEGV.  I think the address on the second instruction in
start is bogus - I think that's just because gdb can't work out what is
going on.

I also noticed that if I hack the breakpoint instruction GDB uses from the
official undefined instruction (this is thumb) to an unofficial SWI the
behavior changed (SIGILL->SIGSEGV), but as you can probably deduce I don't
really know what I am doing here...

My environment is gdb 6.3, gcc 3.4.4, binutils 2.16 and uclibc 0.9.28 all
with some local patches (in fact the patches currently checked in to the
OpenEmbedded monotone database).

John Bowler <jbowler at acm.org>




More information about the uClibc mailing list