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