[uClibc] SIGILL on __JCR_LIST__ with uClibc 0.9.26
Wen Yang
weny at promise.com
Fri Jun 18 23:23:21 UTC 2004
Hello,
I just figured it out it was because the SSL tried to use a functional
pointer to call some static functions, which were defined in another .c
file. I removed the "static" from those functions, and then it worked.
Somehow the uClibc 0.9.26 toolchain is stricter than before, therefore
the problem did not emerge before.
I will report a bug to the OpenSSL.
Wen
-----Original Message-----
From: uclibc-bounces at uclibc.org [mailto:uclibc-bounces at uclibc.org] On
Behalf Of Wen Yang
Sent: Friday, June 18, 2004 12:01 PM
To: uclibc at uclibc.org
Subject: [uClibc] SIGILL on __JCR_LIST__ with uClibc 0.9.26
Hi,
I recently used uClibc 0.9.26 based toolchain to compile OpenSSL for arm
and I kept getting a SIGILL at some __JCR_LIST__. The SSL used to work
with the uClibc 0.9.20 based toolchain.
I am stuck :-(( Can anyone help? Thanks!
Here is what I got from the gdb:
Program received signal SIGILL, Illegal instruction.
0x40191ea0 in __JCR_LIST__ () from /wen/openssl-libs/libcrypto.so.0.9.7
(gdb) bt
#0 0x40191ea0 in __JCR_LIST__ () from
/wen/openssl-libs/libcrypto.so.0.9.7
(gdb) disassemble 0x40191ea0
Dump of assembler code for function __JCR_LIST__:
0x401919a4 <__JCR_LIST__>: andeq r0, r0, r0
0x401919a8 <__JCR_LIST__+4>: andeqs r10, r0, r12, lsr #17
0x401919ac <__JCR_LIST__+8>: ldrmid r5, [r0], -r0
0x401919b0 <__JCR_LIST__+12>: andmi r0, r0, r0, lsr r12
0x401919b4 <__JCR_LIST__+16>: andmi r4, r11, r12, asr #20
0x401919b8 <__JCR_LIST__+20>: andmi r4, r11, r12, asr #20
0x401919bc <__JCR_LIST__+24>: andmi r4, r11, r12, asr #20
0x401919c0 <__JCR_LIST__+28>: andmi r4, r11, r12, asr #20
0x401919c4 <__JCR_LIST__+32>: andmi r4, r11, r12, asr #20
.....
0x40191e94 <__JCR_LIST__+1264>: andeq r0, r0, r0
0x40191e98 <__JCR_LIST__+1268>: mulmis r9, r8, r1
0x40191e9c <__JCR_LIST__+1272>: andmis r5, r6, r8, lsr #7
0x40191ea0 <__JCR_LIST__+1276>: ldreqd sp, [r1], -r0 <<<---
0x40191ea4 <__JCR_LIST__+1280>: strmih r11, [lr], -r0
0x40191ea8 <__JCR_LIST__+1284>: andmis lr, r8, r12, asr #20
0x40191eac <__JCR_LIST__+1288>: andmis r12, r1, r0, lsl #3
0x40191eb0 <__JCR_LIST__+1292>: andmis pc, r8, r12, asr r2
0x40191eb4 <__JCR_LIST__+1296>: andmis sp, r8, r8, lsl r2
End of assembler dump.
Thanks a lot!
Wen
More information about the uClibc
mailing list