[Armadillo:03332] Re: Armadillo240でJAVA

上野 英雄 email@hidden
2008年 8月 27日 (水) 16:50:53 JST


上野です。

お世話になります。

gdbserverを使ってgdbを動作させることができましたので、disassembleを送ら
せて頂きます。
backtraceの情報も合わせて記載いたします。

よろしくお願い致します。

Program received signal SIGILL, Illegal instruction.
0x40376118 in CVMfdlibmCopysign ()
   from /home/www-data/storage/ej2re1.4.2_16/lib/arm/client/libjvm.so

(gdb) backtrace
#0  0x40376118 in CVMfdlibmCopysign ()   from /home/www-data/storage/
ej2re1.4.2_16/lib/arm/client/libjvm.so
#1  0x402e6dc8 in CVMjitInit ()   from /home/www-data/storage/ej2re1.4.
2_16/lib/arm/client/libjvm.so
#2  0x4031477c in CVMinitVMGlobalState ()   from /home/www-data/storage/
ej2re1.4.2_16/lib/arm/client/libjvm.so
#3  0x4031e240 in JNI_CreateJavaVM ()   from /home/www-data/storage/
ej2re1.4.2_16/lib/arm/client/libjvm.so
#4  0x0000b0e8 in strcpy ()

(gdb) disassemble 0x40376118
Dump of assembler code for function CVMfdlibmCopysign:
0x4037602c <CVMfdlibmCopysign>: bic     r3, r0, #-2147483648    ; 
0x80000000
0x40376030 <CVMfdlibmCopysign+4>:    and r2, r2, #-2147483648    ; 
0x80000000
0x40376034 <CVMfdlibmCopysign+8>:       orr     r0, r3, r2
0x40376038 <CVMfdlibmCopysign+12>:      bx      lr
0x4037603c <CVMfdlibmCopysign+16>:      subs    r2, r1, #1      ; 0x1
0x40376040 <CVMfdlibmCopysign+20>:      bxeq    lr
0x40376044 <CVMfdlibmCopysign+24>:    bcc 0x403760d8 <CVMfdlibmCopysign+
172>
0x40376048 <CVMfdlibmCopysign+28>:      cmp     r0, r1
0x4037604c <CVMfdlibmCopysign+32>:    bls 0x403760bc <CVMfdlibmCopysign+
144>
0x40376050 <CVMfdlibmCopysign+36>:      tst     r1, r2
0x40376054 <CVMfdlibmCopysign+40>:    beq 0x403760c8 <CVMfdlibmCopysign+
156>
0x40376058 <CVMfdlibmCopysign+44>:      clz     r3, r1
0x4037605c <CVMfdlibmCopysign+48>:      clz     r2, r0
0x40376060 <CVMfdlibmCopysign+52>:      sub     r2, r3, r2
0x40376064 <CVMfdlibmCopysign+56>:      mov     r3, #1  ; 0x1
0x40376068 <CVMfdlibmCopysign+60>:      mov     r1, r1, lsl r2
0x4037606c <CVMfdlibmCopysign+64>:      mov     r3, r3, lsl r2
0x40376070 <CVMfdlibmCopysign+68>:      mov     r2, #0  ; 0x0
0x40376074 <CVMfdlibmCopysign+72>:      cmp     r0, r1
0x40376078 <CVMfdlibmCopysign+76>:      subcs   r0, r0, r1
0x4037607c <CVMfdlibmCopysign+80>:      orrcs   r2, r2, r3
0x40376080 <CVMfdlibmCopysign+84>:      cmp     r0, r1, lsr #1
0x40376084 <CVMfdlibmCopysign+88>:      subcs   r0, r0, r1, lsr #1
0x40376088 <CVMfdlibmCopysign+92>:      orrcs   r2, r2, r3, lsr #1
0x4037608c <CVMfdlibmCopysign+96>:      cmp     r0, r1, lsr #2
0x40376090 <CVMfdlibmCopysign+100>:     subcs   r0, r0, r1, lsr #2
0x40376094 <CVMfdlibmCopysign+104>:     orrcs   r2, r2, r3, lsr #2
0x40376098 <CVMfdlibmCopysign+108>:     cmp     r0, r1, lsr #3
0x4037609c <CVMfdlibmCopysign+112>:     subcs   r0, r0, r1, lsr #3
0x403760a0 <CVMfdlibmCopysign+116>:     orrcs   r2, r2, r3, lsr #3
0x403760a4 <CVMfdlibmCopysign+120>:     cmp     r0, #0  ; 0x0
0x403760a8 <CVMfdlibmCopysign+124>:     movnes  r3, r3, lsr #4
0x403760ac <CVMfdlibmCopysign+128>:     movne   r1, r1, lsr #4
0x403760b0 <CVMfdlibmCopysign+132>:    bne 0x40376074 <CVMfdlibmCopysign
+72>
0x403760b4 <CVMfdlibmCopysign+136>:     mov     r0, r2
0x403760b8 <CVMfdlibmCopysign+140>:     bx      lr
0x403760bc <CVMfdlibmCopysign+144>:     moveq   r0, #1  ; 0x1
0x403760c0 <CVMfdlibmCopysign+148>:     movne   r0, #0  ; 0x0
0x403760c4 <CVMfdlibmCopysign+152>:     bx      lr
0x403760c8 <CVMfdlibmCopysign+156>:     clz     r2, r1
0x403760cc <CVMfdlibmCopysign+160>:     rsb     r2, r2, #31     ; 0x1f
0x403760d0 <CVMfdlibmCopysign+164>:     mov     r0, r0, lsr r2
0x403760d4 <CVMfdlibmCopysign+168>:     bx      lr
0x403760d8 <CVMfdlibmCopysign+172>:     str     lr, [sp, -#4]!
0x403760dc <CVMfdlibmCopysign+176>:    bl  0x4037633c <CVMfdlibmCopysign
+784>
0x403760e0 <CVMfdlibmCopysign+180>:     mov     r0, #0  ; 0x0
0x403760e4 <CVMfdlibmCopysign+184>:     ldr     pc, [sp], #4
0x403760e8 <CVMfdlibmCopysign+188>:     cmp     r1, #0  ; 0x0
0x403760ec <CVMfdlibmCopysign+192>:     eor     r12, r0, r1
0x403760f0 <CVMfdlibmCopysign+196>:    beq 0x403761b4 <CVMfdlibmCopysign
+392>
0x403760f4 <CVMfdlibmCopysign+200>:     rsbmi   r1, r1, #0      ; 0x0
0x403760f8 <CVMfdlibmCopysign+204>:     subs    r2, r1, #1      ; 0x1
0x403760fc <CVMfdlibmCopysign+208>:    beq 0x40376180 <CVMfdlibmCopysign
+340>
0x40376100 <CVMfdlibmCopysign+212>:     movs    r3, r0
0x40376104 <CVMfdlibmCopysign+216>:     rsbmi   r3, r0, #0      ; 0x0
0x40376108 <CVMfdlibmCopysign+220>:     cmp     r3, r1
0x4037610c <CVMfdlibmCopysign+224>:    bls 0x4037618c <CVMfdlibmCopysign
+352>
0x40376110 <CVMfdlibmCopysign+228>:     tst     r1, r2
0x40376114 <CVMfdlibmCopysign+232>:    beq 0x4037619c <CVMfdlibmCopysign
+368>
0x40376118 <CVMfdlibmCopysign+236>:     clz     r2, r1
0x4037611c <CVMfdlibmCopysign+240>:     clz     r0, r3
0x40376120 <CVMfdlibmCopysign+244>:     sub     r0, r2, r0
0x40376124 <CVMfdlibmCopysign+248>:     mov     r2, #1  ; 0x1
0x40376128 <CVMfdlibmCopysign+252>:     mov     r1, r1, lsl r0
0x4037612c <CVMfdlibmCopysign+256>:     mov     r2, r2, lsl r0
0x40376130 <CVMfdlibmCopysign+260>:     mov     r0, #0  ; 0x0
0x40376134 <CVMfdlibmCopysign+264>:     cmp     r3, r1
0x40376138 <CVMfdlibmCopysign+268>:     subcs   r3, r3, r1
0x4037613c <CVMfdlibmCopysign+272>:     orrcs   r0, r0, r2
0x40376140 <CVMfdlibmCopysign+276>:     cmp     r3, r1, lsr #1
0x40376144 <CVMfdlibmCopysign+280>:     subcs   r3, r3, r1, lsr #1
0x40376148 <CVMfdlibmCopysign+284>:     orrcs   r0, r0, r2, lsr #1
0x4037614c <CVMfdlibmCopysign+288>:     cmp     r3, r1, lsr #2
0x40376150 <CVMfdlibmCopysign+292>:     subcs   r3, r3, r1, lsr #2
0x40376154 <CVMfdlibmCopysign+296>:     orrcs   r0, r0, r2, lsr #2
0x40376158 <CVMfdlibmCopysign+300>:     cmp     r3, r1, lsr #3
0x4037615c <CVMfdlibmCopysign+304>:     subcs   r3, r3, r1, lsr #3
0x40376160 <CVMfdlibmCopysign+308>:     orrcs   r0, r0, r2, lsr #3
0x40376164 <CVMfdlibmCopysign+312>:     cmp     r3, #0  ; 0x0
0x40376168 <CVMfdlibmCopysign+316>:     movnes  r2, r2, lsr #4
0x4037616c <CVMfdlibmCopysign+320>:     movne   r1, r1, lsr #4
0x40376170 <CVMfdlibmCopysign+324>:    bne 0x40376134 <CVMfdlibmCopysign
+264>
0x40376174 <CVMfdlibmCopysign+328>:     cmp     r12, #0 ; 0x0
0x40376178 <CVMfdlibmCopysign+332>:     rsbmi   r0, r0, #0      ; 0x0
0x4037617c <CVMfdlibmCopysign+336>:     bx      lr
0x40376180 <CVMfdlibmCopysign+340>:     teq     r12, r0
0x40376184 <CVMfdlibmCopysign+344>:     rsbmi   r0, r0, #0      ; 0x0
0x40376188 <CVMfdlibmCopysign+348>:     bx      lr
0x4037618c <CVMfdlibmCopysign+352>:     movcc   r0, #0  ; 0x0
0x40376190 <CVMfdlibmCopysign+356>:     moveq   r0, r12, asr #31
0x40376194 <CVMfdlibmCopysign+360>:     orreq   r0, r0, #1      ; 0x1
0x40376198 <CVMfdlibmCopysign+364>:     bx      lr
0x4037619c <CVMfdlibmCopysign+368>:     clz     r2, r1
0x403761a0 <CVMfdlibmCopysign+372>:     rsb     r2, r2, #31     ; 0x1f
0x403761a4 <CVMfdlibmCopysign+376>:     cmp     r12, #0 ; 0x0
0x403761a8 <CVMfdlibmCopysign+380>:     mov     r0, r3, lsr r2
0x403761ac <CVMfdlibmCopysign+384>:     rsbmi   r0, r0, #0      ; 0x0
0x403761b0 <CVMfdlibmCopysign+388>:     bx      lr
0x403761b4 <CVMfdlibmCopysign+392>:     str     lr, [sp, -#4]!
0x403761b8 <CVMfdlibmCopysign+396>:    bl  0x4037633c <CVMfdlibmCopysign
+784>
0x403761bc <CVMfdlibmCopysign+400>:     mov     r0, #0  ; 0x0
0x403761c0 <CVMfdlibmCopysign+404>:     ldr     pc, [sp], #4
0x403761c4 <CVMfdlibmCopysign+408>:     subs    r2, r1, #1      ; 0x1
0x403761c8 <CVMfdlibmCopysign+412>:    bcc 0x40376264 <CVMfdlibmCopysign
+568>
0x403761cc <CVMfdlibmCopysign+416>:     cmpne   r0, r1
0x403761d0 <CVMfdlibmCopysign+420>:     moveq   r0, #0  ; 0x0
0x403761d4 <CVMfdlibmCopysign+424>:     tsthi   r1, r2
0x403761d8 <CVMfdlibmCopysign+428>:     andeq   r0, r0, r2
0x403761dc <CVMfdlibmCopysign+432>:     bxls    lr
0x403761e0 <CVMfdlibmCopysign+436>:     clz     r2, r1
0x403761e4 <CVMfdlibmCopysign+440>:     clz     r3, r0
0x403761e8 <CVMfdlibmCopysign+444>:     sub     r2, r2, r3
0x403761ec <CVMfdlibmCopysign+448>:     mov     r1, r1, lsl r2
0x403761f0 <CVMfdlibmCopysign+452>:     subs    r2, r2, #3      ; 0x3
0x403761f4 <CVMfdlibmCopysign+456>:    blt 0x40376234 <CVMfdlibmCopysign
+520>
0x403761f8 <CVMfdlibmCopysign+460>:     cmp     r0, r1
0x403761fc <CVMfdlibmCopysign+464>:     subcs   r0, r0, r1
0x40376200 <CVMfdlibmCopysign+468>:     cmp     r0, r1, lsr #1
0x40376204 <CVMfdlibmCopysign+472>:     subcs   r0, r0, r1, lsr #1
0x40376208 <CVMfdlibmCopysign+476>:     cmp     r0, r1, lsr #2
0x4037620c <CVMfdlibmCopysign+480>:     subcs   r0, r0, r1, lsr #2
0x40376210 <CVMfdlibmCopysign+484>:     cmp     r0, r1, lsr #3
0x40376214 <CVMfdlibmCopysign+488>:     subcs   r0, r0, r1, lsr #3
0x40376218 <CVMfdlibmCopysign+492>:     cmp     r0, #1  ; 0x1
0x4037621c <CVMfdlibmCopysign+496>:     mov     r1, r1, lsr #4
0x40376220 <CVMfdlibmCopysign+500>:     subges  r2, r2, #4      ; 0x4
0x40376224 <CVMfdlibmCopysign+504>:    bge 0x403761f8 <CVMfdlibmCopysign
+460>
0x40376228 <CVMfdlibmCopysign+508>:     tst     r2, #3  ; 0x3
0x4037622c <CVMfdlibmCopysign+512>:     teqne   r0, #0  ; 0x0
0x40376230 <CVMfdlibmCopysign+516>:    beq 0x40376260 <CVMfdlibmCopysign
+564>
0x40376234 <CVMfdlibmCopysign+520>:     cmn     r2, #2  ; 0x2
0x40376238 <CVMfdlibmCopysign+524>:    blt 0x40376258 <CVMfdlibmCopysign
+556>
0x4037623c <CVMfdlibmCopysign+528>:    beq 0x4037624c <CVMfdlibmCopysign
+544>
0x40376240 <CVMfdlibmCopysign+532>:     cmp     r0, r1
0x40376244 <CVMfdlibmCopysign+536>:     subcs   r0, r0, r1
0x40376248 <CVMfdlibmCopysign+540>:     mov     r1, r1, lsr #1
0x4037624c <CVMfdlibmCopysign+544>:     cmp     r0, r1
0x40376250 <CVMfdlibmCopysign+548>:     subcs   r0, r0, r1
0x40376254 <CVMfdlibmCopysign+552>:     mov     r1, r1, lsr #1
0x40376258 <CVMfdlibmCopysign+556>:     cmp     r0, r1
0x4037625c <CVMfdlibmCopysign+560>:     subcs   r0, r0, r1
0x40376260 <CVMfdlibmCopysign+564>:     bx      lr
0x40376264 <CVMfdlibmCopysign+568>:     str     lr, [sp, -#4]!
0x40376268 <CVMfdlibmCopysign+572>:    bl  0x4037633c <CVMfdlibmCopysign
+784>
0x4037626c <CVMfdlibmCopysign+576>:     mov     r0, #0  ; 0x0
0x40376270 <CVMfdlibmCopysign+580>:     ldr     pc, [sp], #4
0x40376274 <CVMfdlibmCopysign+584>:     cmp     r1, #0  ; 0x0
0x40376278 <CVMfdlibmCopysign+588>:    beq 0x4037632c <CVMfdlibmCopysign
+768>
0x4037627c <CVMfdlibmCopysign+592>:     rsbmi   r1, r1, #0      ; 0x0
0x40376280 <CVMfdlibmCopysign+596>:     movs    r12, r0
0x40376284 <CVMfdlibmCopysign+600>:     rsbmi   r0, r0, #0      ; 0x0
0x40376288 <CVMfdlibmCopysign+604>:     subs    r2, r1, #1      ; 0x1
0x4037628c <CVMfdlibmCopysign+608>:     cmpne   r0, r1
0x40376290 <CVMfdlibmCopysign+612>:     moveq   r0, #0  ; 0x0
0x40376294 <CVMfdlibmCopysign+616>:     tsthi   r1, r2
0x40376298 <CVMfdlibmCopysign+620>:     andeq   r0, r0, r2
0x4037629c <CVMfdlibmCopysign+624>:    bls 0x40376320 <CVMfdlibmCopysign
+756>
0x403762a0 <CVMfdlibmCopysign+628>:     clz     r2, r1
0x403762a4 <CVMfdlibmCopysign+632>:     clz     r3, r0
0x403762a8 <CVMfdlibmCopysign+636>:     sub     r2, r2, r3
0x403762ac <CVMfdlibmCopysign+640>:     mov     r1, r1, lsl r2
0x403762b0 <CVMfdlibmCopysign+644>:     subs    r2, r2, #3      ; 0x3



>At Tue, 26 Aug 2008 17:29:04 +0900,
>上野 英雄 wrote:
>> 
>> Armadillo240にてJAVA環境を構築したいと考えております。
>> javaコマンドを実行したところ以下のようなエラーが出力されます。
>> 
>> [email@hidden (ttyAM0) /mnt/usb1/ej2re1.4.2_16/bin]# ./java
>> java (954): undefined instruction: pc=40376118
>> Code: e1530001 9a00001e e1110002 0a000020 (e16f2f11)
>
>上のインストラクションは、普通っぽいですね。
>
>指定されている PCのまわりの disassembleを見せてもらえますか?
>-- 
>          yashi
>_______________________________________________
>armadillo mailing list
>email@hidden
>http://lists.atmark-techno.com/mailman/listinfo/armadillo




armadillo メーリングリストの案内