xscale uclibc softfloat & gdb : SIGILL
Mike Frysinger
vapier at gentoo.org
Wed Sep 28 23:37:54 UTC 2005
On Tuesday 27 September 2005 12:55 pm, John Bowler wrote:
> 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.
uClibc looks like this:
_start:
/* Clear the frame pointer and link register since this is the
* outermost frame. */
mov fp, #0
mov lr, #0
/* Pop argc off the stack and save a pointer to argv */
ldr a2, [sp], #4
mov a3, sp
glibc looks like this:
_start:
/* Fetch address of fini */
ldr ip, =__libc_csu_fini
/* Clear the frame pointer since this is the outermost frame. */
mov fp, #0
/* Pop argc off the stack and save a pointer to argv */
ldr a2, [sp], #4
mov a3, sp
i'm not arm expert, so can someone comment on the 2nd line which John points
out ? the 'mov lr, #0'
-mike
More information about the uClibc
mailing list