Port-arm archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: thumb libc SIGILL from __libc_mutex_unlock (Re: thumb compilation)
On Thu, May 22, 2008 at 11:19:15AM +0300, Mikko Rapeli wrote:
> When I run a statically and -mthumb compiled /bin/cat (including libc) I get
> get s SIGILL, which I presume is the same one I get when whole userspace
> is compiled with -mthumb (with a few -mthumb-interwork exceptions,
> though) and /sbin/init dies with SIGSEG:
This is the more interesting bit:
(gdb) bt
#0 0x0001b330 in __libc_mutex_unlock ()
#1 0x00011358 in __cxa_atexit ()
#2 0x000113c6 in atexit ()
#3 0x000081dc in ___start ()
#4 0x000080f8 in _init ()
#5 0x000080f8 in _init ()
(gdb) disassemble 0x0001b330
Dump of assembler code for function __libc_mutex_unlock:
0x0001b328 <__libc_mutex_unlock+0>: blmi 0x1c8730
0x0001b32c <__libc_mutex_unlock+4>: blcs 0x353a0
0x0001b330 <__libc_mutex_unlock+8>: undefined instruction 0xf7ffd004
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0x0001b334 <__libc_mutex_unlock+12>: strcsb pc, [r6, -r3]
0x0001b338 <__libc_mutex_unlock+16>: blx 0xfff5734a
0x0001b33c <__libc_mutex_unlock+20>: stclt 0, cr2, [r2], {0}
0x0001b340 <__libc_mutex_unlock+24>: andeq r4, r0, r8, lsl #14
0x0001b344 <__libc_mutex_unlock+28>: andeq lr, r2, r0, lsr #12
End of assembler dump.
(gdb) info registers
r0 0x2d8fc 186620
r1 0x0 0
r2 0x0 0
r3 0x28 40
r4 0x2d8fc 186620
r5 0x0 0
r6 0x1dbc8 121800
r7 0x0 0
r8 0x0 0
r9 0x0 0
r10 0x2951c 169244
r11 0x7fffee14 2147479060
r12 0x113bd 70589
sp 0x7fffedd4 2147478996
lr 0x11359 70489
pc 0x1b330 111408
fps 0x0 0
cpsr 0x40000010 1073741840
Home |
Main Index |
Thread Index |
Old Index