|
[Original]
[Print]
[Top]
|
按照http://kegel.com/crosstool里面的介绍,以及http://kegel.com/crosstool/crosstool-0.43/buildlogs/这个里面列表的结果,我用crosstool编译了arm-linux-gcc 3,4,5 用的软件包有binutils-2.15, gcc-3.3.6, glibc-2.3.6, glibc-linuxthreads-2.3.6 and linux-2.6.9,linux-libc-herders-2.6.12.0。
因为我用的CPU是xscale的,所以在编译的时候加上了--with-cpu=iwmmxt --enable-cxx-flags=-mcpu=iwmmxt--with-float=soft(这样脚本编译的时候会自动把对,软浮点,iwmmxt指令集编进gcc),编译很顺利,浮点运行程序性能也有提高(与没有加浮点的arm-linux-gcc比较)。但是我编译程序的时候发现了一个问题:调用的函数如果其参数中含有指针、结构体以及double类型参数(第一个参数是指针)时就会出错。例子如下:
#include <stdlib.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
typedef struct _DhPoint
{
int x;
int y;
}DhPoint;
typedef struct _DhSize
{
int width;
int height;
}DhSize;
void Err_Func(void *img, DhPoint center, DhSize axes, double dvalue, int value )
{
printf("Err_Func:center.x=%d,y=%d,w=%d,h=%d, dvalue=%f, value=%d
",
center.x,center.y, axes.width,axes.height,dvalue, value);
}
void Ok_Func1(double dvalue, void *img, DhPoint center, DhSize axes,int value )
{
printf("Ok_Func1:center.x=%d,y=%d,w=%d,h=%d, dvalue=%f, value=%d
",
center.x,center.y, axes.width,axes.height, dvalue, value);
}
void Ok_Func1(int value, void *img, DhPoint center, DhSize axes, double dvalue)
{
printf("Ok_Func2:center.x=%d,y=%d,w=%d,h=%d, dvalue=%f, value=%d
",
center.x,center.y, axes.width,axes.height, dvalue, value);
}
int main( )
{
DhSize size;
DhPoint center;
size.width = 500;
size.height = 500;
center.x=200;
center.y=300;
Err_Func(NULL, center, size, 33.5, 8);
Ok_Func1(33.5, NULL, center, size, 8);
Ok_Func(8, NULL, center, size, 33.5);
return 0;
}
/*Compiler: arm-linux-gcc -static test.c -o test */
Run result:
Err_Func:center.x=200,y=300,w=500,h=500, dvalue=0.000000, value=1077985280
Ok_Func1:center.x=200,y=300,w=500,h=500, dvalue=33.500000, value=8
Ok_Func2:center.x=200,y=300,w=500,h=500, dvalue=33.500000, value=8
更奇怪的就是Err_Func中参数两个结构体和指针用其它的参数分开,运行的结果也是对的!
还有我在编译arm-gcc的时候如果不把--with-cpu=iwmmxt --enable-cxx-flags=-mcpu=iwmmxt指令集加上,编译运行同样的程序就没有问题!!
实在是不知道什么原因?
我按照buildlogs列表里的成功的软件包组合的情况编译其它的gcc版本,只要加上iwmmxt指令集,就会出现上面的错误。
大家帮忙分析一下什么原因??
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
分别编译上面的代码生成执行文件分别为test_filt_xscale, test_filt_iwmmxt
然后分别用arm-linux-objdump -d 得到汇编xscale.txt iwmmxt.txt
/****** xscale.txt *******/
test_filt_iwmmxt: file format elf32-littlearm
Disassembly of section .interp:
000080f4 <.interp>:
80f4: 62696c2f rsbvs r6, r9, #12032 ; 0x2f00
80f8: 2d646c2f stccsl 12, cr6, [r4, #-188]!
80fc: 756e696c strvcb r6, [lr, #-2412]!
8100: 6f732e78 swivs 0x00732e78
8104: Address 0x8104 is out of bounds.
Disassembly of section .note.ABI-tag:
00008108 <.note.ABI-tag>:
8108: 00000004 andeq r0, r0, r4
810c: 00000010 andeq r0, r0, r0, lsl r0
8110: 00000001 andeq r0, r0, r1
8114: 00554e47 subeqs r4, r5, r7, asr #28
8118: 00000000 andeq r0, r0, r0
811c: 00000002 andeq r0, r0, r2
8120: 00000004 andeq r0, r0, r4
8124: 00000012 andeq r0, r0, r2, lsl r0
Disassembly of section .hash:
00008128 <.hash>:
8128: 00000003 andeq r0, r0, r3
812c: 0000000b andeq r0, r0, fp
8130: 00000004 andeq r0, r0, r4
8134: 0000000a andeq r0, r0, sl
8138: 00000009 andeq r0, r0, r9
...
8144: 00000001 andeq r0, r0, r1
8148: 00000000 andeq r0, r0, r0
814c: 00000003 andeq r0, r0, r3
8150: 00000000 andeq r0, r0, r0
8154: 00000002 andeq r0, r0, r2
8158: 00000006 andeq r0, r0, r6
815c: 00000007 andeq r0, r0, r7
8160: 00000008 andeq r0, r0, r8
8164: 00000005 andeq r0, r0, r5
Disassembly of section .dynsym:
00008168 <.dynsym>:
...
8178: 0000004f andeq r0, r0, pc, asr #32
817c: 0000836c andeq r8, r0, ip, ror #6
8180: 00000210 andeq r0, r0, r0, lsl r2
8184: 00000012 andeq r0, r0, r2, lsl r0
8188: 0000005c andeq r0, r0, ip, asr r0
818c: 00010848 andeq r0, r1, r8, asr #16
8190: 00000000 andeq r0, r0, r0
8194: fff10010 swinv 0x00f10010
8198: 00000001 andeq r0, r0, r1
...
81a4: 00000020 andeq r0, r0, r0, lsr #32
81a8: 00000010 andeq r0, r0, r0, lsl r0
...
81b4: 00000020 andeq r0, r0, r0, lsr #32
81b8: 0000003d andeq r0, r0, sp, lsr r0
81bc: 00008384 andeq r8, r0, r4, lsl #7
81c0: 00000114 andeq r0, r0, r4, lsl r1
81c4: 00000012 andeq r0, r0, r2, lsl r0
81c8: 0000002e andeq r0, r0, lr, lsr #32
81cc: 000087c0 andeq r8, r0, r0, asr #15
81d0: 00000004 andeq r0, r0, r4
81d4: 000e0011 andeq r0, lr, r1, lsl r0
81d8: 00000055 andeq r0, r0, r5, asr r0
81dc: 00008390 muleq r0, r0, r3
81e0: 0000003c andeq r0, r0, ip, lsr r0
81e4: 00000012 andeq r0, r0, r2, lsl r0
81e8: 0000006d andeq r0, r0, sp, rrx
81ec: 00010848 andeq r0, r1, r8, asr #16
81f0: 00000000 andeq r0, r0, r0
81f4: fff10010 swinv 0x00f10010
81f8: 00000080 andeq r0, r0, r0, lsl #1
81fc: 00010848 andeq r0, r1, r8, asr #16
8200: 00000000 andeq r0, r0, r0
8204: fff10010 swinv 0x00f10010
8208: 00000091 muleq r0, r1, r0
820c: 00010848 andeq r0, r1, r8, asr #16
8210: 00000000 andeq r0, r0, r0
8214: fff10010 swinv 0x00f10010
Disassembly of section .dynstr:
00008218 <.dynstr>:
8218: 675f5f00 ldrvsb r5, [pc, -r0, lsl #30]
821c: 5f6e6f6d swipl 0x006e6f6d
8220: 72617473 rsbvc r7, r1, #1929379840 ; 0x73000000
8224: 005f5f74 subeqs r5, pc, r4, ror pc
8228: 5f764a5f swipl 0x00764a5f
822c: 69676552 stmvsdb r7!, {r1, r4, r6, r8, sl, sp, lr}^
8230: 72657473 rsbvc r7, r5, #1929379840 ; 0x73000000
8234: 73616c43 cmnvc r1, #17152 ; 0x4300
8238: 00736573 rsbeqs r6, r3, r3, ror r5
823c: 6362696c cmnvs r2, #1769472 ; 0x1b0000
8240: 2e6f732e cdpcs 3, 6, cr7, cr15, cr14, {1}
8244: 495f0036 ldmmidb pc, {r1, r2, r4, r5}^
8248: 74735f4f ldrvcbt r5, [r3], #-3919
824c: 5f6e6964 swipl 0x006e6964
8250: 64657375 strvsbt r7, [r5], #-885
8254: 6c5f5f00 mrrcvs 15, 0, r5, pc, cr0
8258: 5f636269 swipl 0x00636269
825c: 72617473 rsbvc r7, r1, #1929379840 ; 0x73000000
8260: 616d5f74 cmnvs sp, r4, ror pc
8264: 61006e69 tstvs r0, r9, ror #28
8268: 74726f62 ldrvcbt r6, [r2], #-3938
826c: 69727000 ldmvsdb r2!, {ip, sp, lr}^
8270: 0066746e rsbeq r7, r6, lr, ror #8
8274: 69665f5f stmvsdb r6!, {r0, r1, r2, r3, r4, r6, r8, r9, sl, fp, ip, lr}^
8278: 615f696e cmpvs pc, lr, ror #18
827c: 79617272 stmvcdb r1!, {r1, r4, r5, r6, r9, ip, sp, lr}^
8280: 646e655f strvsbt r6, [lr], #-1375
8284: 665f5f00 ldrvsb r5, [pc], -r0, lsl #30
8288: 5f696e69 swipl 0x00696e69
828c: 61727261 cmnvs r2, r1, ror #4
8290: 74735f79 ldrvcbt r5, [r3], #-3961
8294: 00747261 rsbeqs r7, r4, r1, ror #4
8298: 6e695f5f mcrvs 15, 3, r5, cr9, cr15, {2}
829c: 615f7469 cmpvs pc, r9, ror #8
82a0: 79617272 stmvcdb r1!, {r1, r4, r5, r6, r9, ip, sp, lr}^
82a4: 646e655f strvsbt r6, [lr], #-1375
82a8: 695f5f00 ldmvsdb pc, {r8, r9, sl, fp, ip, lr}^
82ac: 5f74696e swipl 0x0074696e
82b0: 61727261 cmnvs r2, r1, ror #4
82b4: 74735f79 ldrvcbt r5, [r3], #-3961
82b8: 00747261 rsbeqs r7, r4, r1, ror #4
82bc: 42494c47 submi r4, r9, #18176 ; 0x4700
82c0: 2e325f43 cdpcs 15, 3, cr5, cr2, cr3, {2}
82c4: Address 0x82c4 is out of bounds.
Disassembly of section .gnu.version:
000082c6 <.gnu.version>:
82c6: 00020000 andeq r0, r2, r0
82ca: 00000001 andeq r0, r0, r1
82ce: 00020000 andeq r0, r2, r0
82d2: 00020001 andeq r0, r2, r1
82d6: 00010001 andeq r0, r1, r1
82da: Address 0x82da is out of bounds.
Disassembly of section .gnu.version_r:
000082dc <.gnu.version_r>:
82dc: 00010001 andeq r0, r1, r1
82e0: 00000024 andeq r0, r0, r4, lsr #32
82e4: 00000010 andeq r0, r0, r0, lsl r0
82e8: 00000000 andeq r0, r0, r0
82ec: 0d696910 stceql 9, cr6, [r9, #-64]!
82f0: 00020000 andeq r0, r2, r0
82f4: 000000a4 andeq r0, r0, r4, lsr #1
82f8: 00000000 andeq r0, r0, r0
Disassembly of section .rel.dyn:
000082fc <.rel.dyn>:
82fc: 00010950 andeq r0, r1, r0, asr r9
8300: 00000215 andeq r0, r0, r5, lsl r2
8304: 00010954 andeq r0, r1, r4, asr r9
8308: 00000315 andeq r0, r0, r5, lsl r3
830c: 00010958 andeq r0, r1, r8, asr r9
8310: 00000815 andeq r0, r0, r5, lsl r8
8314: 0001095c andeq r0, r1, ip, asr r9
8318: 00000915 andeq r0, r0, r5, lsl r9
831c: 00010960 andeq r0, r1, r0, ror #18
8320: 00000a15 andeq r0, r0, r5, lsl sl
Disassembly of section .rel.plt:
00008324 <.rel.plt>:
8324: 00010940 andeq r0, r1, r0, asr #18
8328: 00000116 andeq r0, r0, r6, lsl r1
832c: 00010944 andeq r0, r1, r4, asr #18
8330: 00000416 andeq r0, r0, r6, lsl r4
8334: 00010948 andeq r0, r1, r8, asr #18
8338: 00000516 andeq r0, r0, r6, lsl r5
833c: 0001094c andeq r0, r1, ip, asr #18
8340: 00000716 andeq r0, r0, r6, lsl r7
Disassembly of section .init:
00008344 <_init>:
8344: e92d4010 stmdb sp!, {r4, lr}
8348: eb000022 bl 83d8 <call_gmon_start>
834c: eb000043 bl 8460 <frame_dummy>
8350: eb000107 bl 8774 <__do_global_ctors_aux>
8354: e8bd8010 ldmia sp!, {r4, pc}
Disassembly of section .plt:
00008358 <.plt>:
8358: e52de004 str lr, [sp, #-4]!
835c: e59fe004 ldr lr, [pc, #4] ; 8368 <.plt+0x10>
8360: e08fe00e add lr, pc, lr
8364: e5bef008 ldr pc, [lr, #8]!
8368: 000085cc andeq r8, r0, ip, asr #11
836c: e28fc600 add ip, pc, #0 ; 0x0
8370: e28cca08 add ip, ip, #32768 ; 0x8000
8374: e5bcf5cc ldr pc, [ip, #1484]!
8378: e28fc600 add ip, pc, #0 ; 0x0
837c: e28cca08 add ip, ip, #32768 ; 0x8000
8380: e5bcf5c4 ldr pc, [ip, #1476]!
8384: e28fc600 add ip, pc, #0 ; 0x0
8388: e28cca08 add ip, ip, #32768 ; 0x8000
838c: e5bcf5bc ldr pc, [ip, #1468]!
8390: e28fc600 add ip, pc, #0 ; 0x0
8394: e28cca08 add ip, ip, #32768 ; 0x8000
8398: e5bcf5b4 ldr pc, [ip, #1460]!
Disassembly of section .text:
000083a0 <_start>:
83a0: e59fc024 ldr ip, [pc, #36] ; 83cc <.text+0x2c>
83a4: e3a0b000 mov fp, #0 ; 0x0
83a8: e49d1004 ldr r1, [sp], #4
83ac: e1a0200d mov r2, sp
83b0: e52d2004 str r2, [sp, #-4]!
83b4: e52d0004 str r0, [sp, #-4]!
83b8: e59f0010 ldr r0, [pc, #16] ; 83d0 <.text+0x30>
83bc: e59f3010 ldr r3, [pc, #16] ; 83d4 <.text+0x34>
83c0: e52dc004 str ip, [sp, #-4]!
83c4: ebffffee bl 8384 <.text-0x1c>
83c8: ebffffe7 bl 836c <.text-0x34>
83cc: 00008714 andeq r8, r0, r4, lsl r7
83d0: 000085c0 andeq r8, r0, r0, asr #11
83d4: 000086b0 streqh r8, [r0], -r0
000083d8 <call_gmon_start>:
83d8: e92d4400 stmdb sp!, {sl, lr}
83dc: e59fa018 ldr sl, [pc, #24] ; 83fc <.text+0x5c>
83e0: e08fa00a add sl, pc, sl
83e4: e59f3014 ldr r3, [pc, #20] ; 8400 <.text+0x60>
83e8: e79a3003 ldr r3, [sl, r3]
83ec: e3530000 cmp r3, #0 ; 0x0
83f0: 11a0e00f movne lr, pc
83f4: 11a0f003 movne pc, r3
83f8: e8bd8400 ldmia sp!, {sl, pc}
83fc: 0000854c andeq r8, r0, ip, asr #10
8400: 00000020 andeq r0, r0, r0, lsr #32
00008404 <__do_global_dtors_aux>:
8404: e92d4070 stmdb sp!, {r4, r5, r6, lr}
8408: e59f5040 ldr r5, [pc, #64] ; 8450 <.text+0xb0>
840c: e5d53000 ldrb r3, [r5]
8410: e3530000 cmp r3, #0 ; 0x0
8414: 1a00000c bne 844c <__do_global_dtors_aux+0x48>
8418: e59f4034 ldr r4, [pc, #52] ; 8454 <.text+0xb4>
841c: ea000004 b 8434 <__do_global_dtors_aux+0x30>
8420: e5943000 ldr r3, [r4]
8424: e2833004 add r3, r3, #4 ; 0x4
8428: e5843000 str r3, [r4]
842c: e1a0e00f mov lr, pc
8430: e1a0f002 mov pc, r2
8434: e5943000 ldr r3, [r4]
8438: e5932000 ldr r2, [r3]
843c: e3520000 cmp r2, #0 ; 0x0
8440: 1afffff6 bne 8420 <__do_global_dtors_aux+0x1c>
8444: e3a03001 mov r3, #1 ; 0x1
8448: e5c53000 strb r3, [r5]
844c: e8bd8070 ldmia sp!, {r4, r5, r6, pc}
8450: 00010964 andeq r0, r1, r4, ror #18
8454: 00010850 andeq r0, r1, r0, asr r8
00008458 <call___do_global_dtors_aux>:
8458: e92d4010 stmdb sp!, {r4, lr}
845c: e8bd8010 ldmia sp!, {r4, pc}
00008460 <frame_dummy>:
8460: e59f0018 ldr r0, [pc, #24] ; 8480 <.text+0xe0>
8464: e5903000 ldr r3, [r0]
8468: e3530000 cmp r3, #0 ; 0x0
846c: 012fff1e bxeq lr
8470: e59f300c ldr r3, [pc, #12] ; 8484 <.text+0xe4>
8474: e3530000 cmp r3, #0 ; 0x0
8478: 012fff1e bxeq lr
847c: eaffffbd b 8378 <.text-0x28>
8480: 00010930 andeq r0, r1, r0, lsr r9
8484: 00000000 andeq r0, r0, r0
00008488 <call_frame_dummy>:
8488: e92d4010 stmdb sp!, {r4, lr}
848c: e8bd8010 ldmia sp!, {r4, pc}
00008490 <Err_Func>:
8490: e1a0c00d mov ip, sp
8494: e24dd004 sub sp, sp, #4 ; 0x4
8498: e92dd810 stmdb sp!, {r4, fp, ip, lr, pc}
849c: e24cb008 sub fp, ip, #8 ; 0x8
84a0: e24dd028 sub sp, sp, #40 ; 0x28
84a4: e50b0014 str r0, [fp, #-20]
84a8: e24b0020 sub r0, fp, #32 ; 0x20
84ac: e5801000 str r1, [r0]
84b0: e5802004 str r2, [r0, #4]
84b4: e58b3004 str r3, [fp, #4]
84b8: e59b3008 ldr r3, [fp, #8]
84bc: e58d3000 str r3, [sp]
84c0: e28b300c add r3, fp, #12 ; 0xc
84c4: e8930018 ldmia r3, {r3, r4}
84c8: e58d3008 str r3, [sp, #8]
84cc: e58d400c str r4, [sp, #12]
84d0: e59b3014 ldr r3, [fp, #20]
84d4: e58d3010 str r3, [sp, #16]
84d8: e59f0014 ldr r0, [pc, #20] ; 84f4 <.text+0x154>
84dc: e51b1020 ldr r1, [fp, #-32]
84e0: e51b201c ldr r2, [fp, #-28]
84e4: e59b3004 ldr r3, [fp, #4]
84e8: ebffffa8 bl 8390 <.text-0x10>
84ec: e24bd010 sub sp, fp, #16 ; 0x10
84f0: e89da810 ldmia sp, {r4, fp, sp, pc}
84f4: 000087c8 andeq r8, r0, r8, asr #15
000084f8 <Ok_Func1>:
84f8: e1a0c00d mov ip, sp
84fc: e24dd004 sub sp, sp, #4 ; 0x4
8500: e92dd810 stmdb sp!, {r4, fp, ip, lr, pc}
8504: e24cb008 sub fp, ip, #8 ; 0x8
8508: e24dd028 sub sp, sp, #40 ; 0x28
850c: e50b0018 str r0, [fp, #-24]
8510: e50b1014 str r1, [fp, #-20]
8514: e50b201c str r2, [fp, #-28]
8518: e58b3004 str r3, [fp, #4]
851c: e59b3010 ldr r3, [fp, #16]
8520: e58d3000 str r3, [sp]
8524: e24b3018 sub r3, fp, #24 ; 0x18
8528: e8930018 ldmia r3, {r3, r4}
852c: e58d3008 str r3, [sp, #8]
8530: e58d400c str r4, [sp, #12]
8534: e59b3014 ldr r3, [fp, #20]
8538: e58d3010 str r3, [sp, #16]
853c: e59f0014 ldr r0, [pc, #20] ; 8558 <.text+0x1b8>
8540: e59b1004 ldr r1, [fp, #4]
8544: e59b2008 ldr r2, [fp, #8]
8548: e59b300c ldr r3, [fp, #12]
854c: ebffff8f bl 8390 <.text-0x10>
8550: e24bd010 sub sp, fp, #16 ; 0x10
8554: e89da810 ldmia sp, {r4, fp, sp, pc}
8558: 00008808 andeq r8, r0, r8, lsl #16
0000855c <Ok_Func2>:
855c: e1a0c00d mov ip, sp
8560: e92dd830 stmdb sp!, {r4, r5, fp, ip, lr, pc}
8564: e24cb004 sub fp, ip, #4 ; 0x4
8568: e24dd028 sub sp, sp, #40 ; 0x28
856c: e50b0018 str r0, [fp, #-24]
8570: e50b101c str r1, [fp, #-28]
8574: e24b1024 sub r1, fp, #36 ; 0x24
8578: e5812000 str r2, [r1]
857c: e5813004 str r3, [r1, #4]
8580: e59b3008 ldr r3, [fp, #8]
8584: e58d3000 str r3, [sp]
8588: e28b300c add r3, fp, #12 ; 0xc
858c: e8930018 ldmia r3, {r3, r4}
8590: e58d3008 str r3, [sp, #8]
8594: e58d400c str r4, [sp, #12]
8598: e51b3018 ldr r3, [fp, #-24]
859c: e58d3010 str r3, [sp, #16]
85a0: e59f0014 ldr r0, [pc, #20] ; 85bc <.text+0x21c>
85a4: e51b1024 ldr r1, [fp, #-36]
85a8: e51b2020 ldr r2, [fp, #-32]
85ac: e59b3004 ldr r3, [fp, #4]
85b0: ebffff76 bl 8390 <.text-0x10>
85b4: e24bd014 sub sp, fp, #20 ; 0x14
85b8: e89da830 ldmia sp, {r4, r5, fp, sp, pc}
85bc: 00008808 andeq r8, r0, r8, lsl #16
000085c0 <main>:
85c0: e1a0c00d mov ip, sp
85c4: e92dd830 stmdb sp!, {r4, r5, fp, ip, lr, pc}
85c8: e24cb004 sub fp, ip, #4 ; 0x4
85cc: e24dd028 sub sp, sp, #40 ; 0x28
85d0: e3a03f7d mov r3, #500 ; 0x1f4
85d4: e50b301c str r3, [fp, #-28]
85d8: e3a03f7d mov r3, #500 ; 0x1f4
85dc: e50b3018 str r3, [fp, #-24]
85e0: e3a030c8 mov r3, #200 ; 0xc8
85e4: e50b3024 str r3, [fp, #-36]
85e8: e3a03f4b mov r3, #300 ; 0x12c
85ec: e50b3020 str r3, [fp, #-32]
85f0: e28f30b0 add r3, pc, #176 ; 0xb0
85f4: e8930018 ldmia r3, {r3, r4}
85f8: e58d3008 str r3, [sp, #8]
85fc: e58d400c str r4, [sp, #12]
8600: e3a03008 mov r3, #8 ; 0x8
8604: e58d3010 str r3, [sp, #16]
8608: e51b3018 ldr r3, [fp, #-24]
860c: e58d3000 str r3, [sp]
8610: e51b301c ldr r3, [fp, #-28]
8614: e3a00000 mov r0, #0 ; 0x0
8618: e24b2024 sub r2, fp, #36 ; 0x24
861c: e5921000 ldr r1, [r2]
8620: e5922004 ldr r2, [r2, #4]
8624: ebffff99 bl 8490 <Err_Func>
8628: e51b301c ldr r3, [fp, #-28]
862c: e58d3004 str r3, [sp, #4]
8630: e51b3018 ldr r3, [fp, #-24]
8634: e58d3008 str r3, [sp, #8]
8638: e3a03008 mov r3, #8 ; 0x8
863c: e58d300c str r3, [sp, #12]
8640: e51b3020 ldr r3, [fp, #-32]
8644: e58d3000 str r3, [sp]
8648: e51b3024 ldr r3, [fp, #-36]
864c: e28f0054 add r0, pc, #84 ; 0x54
8650: e8900003 ldmia r0, {r0, r1}
8654: e3a02000 mov r2, #0 ; 0x0
8658: ebffffa6 bl 84f8 <Ok_Func1>
865c: e51b301c ldr r3, [fp, #-28]
8660: e58d3000 str r3, [sp]
8664: e51b3018 ldr r3, [fp, #-24]
8668: e58d3004 str r3, [sp, #4]
866c: e28f3034 add r3, pc, #52 ; 0x34
8670: e8930018 ldmia r3, {r3, r4}
8674: e58d3008 str r3, [sp, #8]
8678: e58d400c str r4, [sp, #12]
867c: e3a00008 mov r0, #8 ; 0x8
8680: e3a01000 mov r1, #0 ; 0x0
8684: e24b3024 sub r3, fp, #36 ; 0x24
8688: e5932000 ldr r2, [r3]
868c: e5933004 ldr r3, [r3, #4]
8690: ebffffb1 bl 855c <Ok_Func2>
8694: e3a03000 mov r3, #0 ; 0x0
8698: e1a00003 mov r0, r3
869c: e24bd014 sub sp, fp, #20 ; 0x14
86a0: e89da830 ldmia sp, {r4, r5, fp, sp, pc}
86a4: 00000000 andeq r0, r0, r0
86a8: 4040c000 submi ip, r0, r0
86ac: 00000000 andeq r0, r0, r0
000086b0 <__libc_csu_init>:
86b0: e92d44f0 stmdb sp!, {r4, r5, r6, r7, sl, lr}
86b4: e59fa04c ldr sl, [pc, #76] ; 8708 <.text+0x368>
86b8: e08fa00a add sl, pc, sl
86bc: ebffff20 bl 8344 <_init>
86c0: e3a04000 mov r4, #0 ; 0x0
86c4: e59f3040 ldr r3, [pc, #64] ; 870c <.text+0x36c>
86c8: e79a3003 ldr r3, [sl, r3]
86cc: e59f203c ldr r2, [pc, #60] ; 8710 <.text+0x370>
86d0: e79a2002 ldr r2, [sl, r2]
86d4: e0623003 rsb r3, r2, r3
86d8: e1540143 cmp r4, r3, asr #2
86dc: 2a000008 bcs 8704 <__libc_csu_init+0x54>
86e0: e1a06002 mov r6, r2
86e4: e59f3020 ldr r3, [pc, #32] ; 870c <.text+0x36c>
86e8: e79a3003 ldr r3, [sl, r3]
86ec: e0625003 rsb r5, r2, r3
86f0: e1a0e00f mov lr, pc
86f4: e796f104 ldr pc, [r6, r4, lsl #2]
86f8: e2844001 add r4, r4, #1 ; 0x1
86fc: e1540145 cmp r4, r5, asr #2
8700: 3afffffa bcc 86f0 <__libc_csu_init+0x40>
8704: e8bd84f0 ldmia sp!, {r4, r5, r6, r7, sl, pc}
8708: 00008274 andeq r8, r0, r4, ror r2
870c: 00000028 andeq r0, r0, r8, lsr #32
8710: 0000002c andeq r0, r0, ip, lsr #32
00008714 <__libc_csu_fini>:
8714: e92d4430 stmdb sp!, {r4, r5, sl, lr}
8718: e59fa048 ldr sl, [pc, #72] ; 8768 <.text+0x3c8>
871c: e08fa00a add sl, pc, sl
8720: e59f3044 ldr r3, [pc, #68] ; 876c <.text+0x3cc>
8724: e79a2003 ldr r2, [sl, r3]
8728: e59f3040 ldr r3, [pc, #64] ; 8770 <.text+0x3d0>
872c: e79a3003 ldr r3, [sl, r3]
8730: e0634002 rsb r4, r3, r2
8734: e1a04144 mov r4, r4, asr #2
8738: e2444001 sub r4, r4, #1 ; 0x1
873c: e3740001 cmn r4, #1 ; 0x1
8740: 0a000006 beq 8760 <__libc_csu_fini+0x4c>
8744: e59f3024 ldr r3, [pc, #36] ; 8770 <.text+0x3d0>
8748: e79a5003 ldr r5, [sl, r3]
874c: e1a0e00f mov lr, pc
8750: e795f104 ldr pc, [r5, r4, lsl #2]
8754: e2444001 sub r4, r4, #1 ; 0x1
8758: e3740001 cmn r4, #1 ; 0x1
875c: 1afffffa bne 874c <__libc_csu_fini+0x38>
8760: eb000013 bl 87b4 <_fini>
8764: e8bd8430 ldmia sp!, {r4, r5, sl, pc}
8768: 00008210 andeq r8, r0, r0, lsl r2
876c: 0000001c andeq r0, r0, ip, lsl r0
8770: 00000024 andeq r0, r0, r4, lsr #32
00008774 <__do_global_ctors_aux>:
8774: e92d4010 stmdb sp!, {r4, lr}
8778: e59f3028 ldr r3, [pc, #40] ; 87a8 <.text+0x408>
877c: e5132004 ldr r2, [r3, #-4]
8780: e2434004 sub r4, r3, #4 ; 0x4
8784: e3720001 cmn r2, #1 ; 0x1
8788: 0a000005 beq 87a4 <__do_global_ctors_aux+0x30>
878c: e1a03002 mov r3, r2
8790: e1a0e00f mov lr, pc
8794: e1a0f003 mov pc, r3
8798: e5343004 ldr r3, [r4, #-4]!
879c: e3730001 cmn r3, #1 ; 0x1
87a0: 1afffffa bne 8790 <__do_global_ctors_aux+0x1c>
87a4: e8bd8010 ldmia sp!, {r4, pc}
87a8: 00010924 andeq r0, r1, r4, lsr #18
000087ac <call___do_global_ctors_aux>:
87ac: e92d4010 stmdb sp!, {r4, lr}
87b0: e8bd8010 ldmia sp!, {r4, pc}
Disassembly of section .fini:
000087b4 <_fini>:
87b4: e92d4010 stmdb sp!, {r4, lr}
87b8: ebffff11 bl 8404 <__do_global_dtors_aux>
87bc: e8bd8010 ldmia sp!, {r4, pc}
Disassembly of section .rodata:
000087c0 <_IO_stdin_used>:
87c0: 00020001 andeq r0, r2, r1
87c4: 00000000 andeq r0, r0, r0
87c8: 5f727245 swipl 0x00727245
87cc: 636e7546 cmnvs lr, #293601280 ; 0x11800000
87d0: 6e65633a mcrvs 3, 3, r6, cr5, cr10, {1}
87d4: 2e726574 mrccs 5, 3, r6, cr2, cr4, {3}
87d8: 64253d78 strvst r3, [r5], #-3448
87dc: 253d792c ldrcs r7, [sp, #-2348]!
87e0: 3d772c64 ldcccl 12, cr2, [r7, #-400]!
87e4: 682c6425 stmvsda ip!, {r0, r2, r5, sl, sp, lr}
87e8: 2c64253d cfstr64cs mvdx2, [r4], #-244
87ec: 61766420 cmnvs r6, r0, lsr #8
87f0: 3d65756c cfstr64cc mvdx7, [r5, #-432]!
87f4: 202c6625 eorcs r6, ip, r5, lsr #12
87f8: 756c6176 strvcb r6, [ip, #-374]!
87fc: 64253d65 strvst r3, [r5], #-3429
8800: 00000a0a andeq r0, r0, sl, lsl #20
8804: 00000000 andeq r0, r0, r0
8808: 465f6b4f ldrmib r6, [pc], -pc, asr #22
880c: 3a636e75 bcc 18e41e8 <__bss_end__+0x18d3880>
8810: 746e6563 strvcbt r6, [lr], #-1379
8814: 782e7265 stmvcda lr!, {r0, r2, r5, r6, r9, ip, sp, lr}
8818: 2c64253d cfstr64cs mvdx2, [r4], #-244
881c: 64253d79 strvst r3, [r5], #-3449
8820: 253d772c ldrcs r7, [sp, #-1836]!
8824: 3d682c64 stcccl 12, cr2, [r8, #-400]!
8828: 202c6425 eorcs r6, ip, r5, lsr #8
882c: 6c617664 stcvsl 6, cr7, [r1], #-400
8830: 253d6575 ldrcs r6, [sp, #-1397]!
8834: 76202c66 strvct r2, [r0], -r6, ror #24
8838: 65756c61 ldrvsb r6, [r5, #-3169]!
883c: 0a64253d beq 1911d38 <__bss_end__+0x19013d0>
...
Disassembly of section .data:
00010848 <__data_start>:
10848: 00000000 andeq r0, r0, r0
0001084c <__dso_handle>:
1084c: 00000000 andeq r0, r0, r0
00010850 <p.0>:
10850: 0001092c andeq r0, r1, ip, lsr #18
Disassembly of section .eh_frame:
00010854 <__FRAME_END__>:
10854: 00000000 andeq r0, r0, r0
Disassembly of section .dynamic:
00010858 <_DYNAMIC>:
10858: 00000001 andeq r0, r0, r1
1085c: 00000024 andeq r0, r0, r4, lsr #32
10860: 0000000c andeq r0, r0, ip
10864: 00008344 andeq r8, r0, r4, asr #6
10868: 0000000d andeq r0, r0, sp
1086c: 000087b4 streqh r8, [r0], -r4
10870: 00000004 andeq r0, r0, r4
10874: 00008128 andeq r8, r0, r8, lsr #2
10878: 00000005 andeq r0, r0, r5
1087c: 00008218 andeq r8, r0, r8, lsl r2
10880: 00000006 andeq r0, r0, r6
10884: 00008168 andeq r8, r0, r8, ror #2
10888: 0000000a andeq r0, r0, sl
1088c: 000000ae andeq r0, r0, lr, lsr #1
10890: 0000000b andeq r0, r0, fp
10894: 00000010 andeq r0, r0, r0, lsl r0
10898: 00000015 andeq r0, r0, r5, lsl r0
1089c: 00000000 andeq r0, r0, r0
108a0: 00000003 andeq r0, r0, r3
108a4: 00010934 andeq r0, r1, r4, lsr r9
108a8: 00000002 andeq r0, r0, r2
108ac: 00000020 andeq r0, r0, r0, lsr #32
108b0: 00000014 andeq r0, r0, r4, lsl r0
108b4: 00000011 andeq r0, r0, r1, lsl r0
108b8: 00000017 andeq r0, r0, r7, lsl r0
108bc: 00008324 andeq r8, r0, r4, lsr #6
108c0: 00000011 andeq r0, r0, r1, lsl r0
108c4: 000082fc streqd r8, [r0], -ip
108c8: 00000012 andeq r0, r0, r2, lsl r0
108cc: 00000028 andeq r0, r0, r8, lsr #32
108d0: 00000013 andeq r0, r0, r3, lsl r0
108d4: 00000008 andeq r0, r0, r8
108d8: 6ffffffe swivs 0x00fffffe
108dc: 000082dc ldreqd r8, [r0], -ip
108e0: 6fffffff swivs 0x00ffffff
108e4: 00000001 andeq r0, r0, r1
108e8: 6ffffff0 swivs 0x00fffff0
108ec: 000082c6 andeq r8, r0, r6, asr #5
...
Disassembly of section .ctors:
00010920 <__CTOR_LIST__>:
10920: ffffffff swinv 0x00ffffff
00010924 <__CTOR_END__>:
10924: 00000000 andeq r0, r0, r0
Disassembly of section .dtors:
00010928 <__DTOR_LIST__>:
10928: ffffffff swinv 0x00ffffff
0001092c <__DTOR_END__>:
1092c: 00000000 andeq r0, r0, r0
Disassembly of section .jcr:
00010930 <__JCR_END__>:
10930: 00000000 andeq r0, r0, r0
Disassembly of section .got:
00010934 <_GLOBAL_OFFSET_TABLE_>:
10934: 00010858 andeq r0, r1, r8, asr r8
...
10940: 00008358 andeq r8, r0, r8, asr r3
10944: 00008358 andeq r8, r0, r8, asr r3
10948: 00008358 andeq r8, r0, r8, asr r3
1094c: 00008358 andeq r8, r0, r8, asr r3
...
Disassembly of section .bss:
00010964 <completed.1>:
10964: 00000000 andeq r0, r0, r0
Disassembly of section .comment:
00000000 <.comment>:
0: 43434700 cmpmi r3, #0 ; 0x0
4: 4728203a undefined
8: 2029554e eorcs r5, r9, lr, asr #10
c: 2e342e33 mrccs 14, 1, r2, cr4, cr3, {1}
10: 47000035 smladxmi r0, r5, r0, r0
14: 203a4343 eorcss r4, sl, r3, asr #6
18: 554e4728 strplb r4, [lr, #-1832]
1c: 2e332029 cdpcs 0, 3, cr2, cr3, cr9, {1}
20: 00352e34 eoreqs r2, r5, r4, lsr lr
24: 43434700 cmpmi r3, #0 ; 0x0
28: 4728203a undefined
2c: 2029554e eorcs r5, r9, lr, asr #10
30: 2e342e33 mrccs 14, 1, r2, cr4, cr3, {1}
34: 47000035 smladxmi r0, r5, r0, r0
38: 203a4343 eorcss r4, sl, r3, asr #6
3c: 554e4728 strplb r4, [lr, #-1832]
40: 2e332029 cdpcs 0, 3, cr2, cr3, cr9, {1}
44: 00352e34 eoreqs r2, r5, r4, lsr lr
48: 43434700 cmpmi r3, #0 ; 0x0
4c: 4728203a undefined
50: 2029554e eorcs r5, r9, lr, asr #10
54: 2e342e33 mrccs 14, 1, r2, cr4, cr3, {1}
58: 47000035 smladxmi r0, r5, r0, r0
5c: 203a4343 eorcss r4, sl, r3, asr #6
60: 554e4728 strplb r4, [lr, #-1832]
64: 2e332029 cdpcs 0, 3, cr2, cr3, cr9, {1}
68: 00352e34 eoreqs r2, r5, r4, lsr lr
6c: 43434700 cmpmi r3, #0 ; 0x0
70: 4728203a undefined
74: 2029554e eorcs r5, r9, lr, asr #10
78: 2e342e33 mrccs 14, 1, r2, cr4, cr3, {1}
7c: Address 0x7c is out of bounds.
Disassembly of section .debug_aranges:
00000000 <.debug_aranges>:
0: 0000002c andeq r0, r0, ip, lsr #32
4: 00000002 andeq r0, r0, r2
8: 00040000 andeq r0, r4, r0
c: 00000000 andeq r0, r0, r0
10: 000087b4 streqh r8, [r0], -r4
14: 00000004 andeq r0, r0, r4
18: 00008344 andeq r8, r0, r4, asr #6
1c: 00000008 andeq r0, r0, r8
20: 000083d8 ldreqd r8, [r0], -r8
24: 0000002c andeq r0, r0, ip, lsr #32
...
30: 00000024 andeq r0, r0, r4, lsr #32
34: 00c70002 sbceq r0, r7, r2
38: 00040000 andeq r0, r4, r0
3c: 00000000 andeq r0, r0, r0
40: 000087bc streqh r8, [r0], -ip
44: 00000004 andeq r0, r0, r4
48: 00008354 andeq r8, r0, r4, asr r3
4c: 00000004 andeq r0, r0, r4
...
Disassembly of section .debug_info:
00000000 <.debug_info>:
0: 000000c3 andeq r0, r0, r3, asr #1
4: 00000002 andeq r0, r0, r2
8: 01040000 tsteq r4, r0
c: 00000000 andeq r0, r0, r0
10: 6d6f682f stcvsl 8, cr6, [pc, #-188]!
14: 61702f65 cmnvs r0, r5, ror #30
18: 2f303033 swics 0x00303033
1c: 736f7263 cmnvc pc, #805306374 ; 0x30000006
20: 6f6f7473 swivs 0x006f7473
24: 2e302d6c cdpcs 13, 3, cr2, cr0, cr12, {3}
28: 622f3334 eorvs r3, pc, #-805306368 ; 0xd0000000
2c: 646c6975 strvsbt r6, [ip], #-2421
30: 6d72612f ldfvse f6, [r2, #-188]!
34: 6e696c2d cdpvs 12, 6, cr6, cr9, cr13, {1}
38: 672f7875 undefined
3c: 332d6363 teqcc sp, #-1946157055 ; 0x8c000001
40: 352e342e strcc r3, [lr, #-1070]!
44: 696c672d stmvsdb ip!, {r0, r2, r3, r5, r8, r9, sl, sp, lr}^
48: 322d6362 eorcc r6, sp, #-2013265919 ; 0x88000001
4c: 362e332e strcct r3, [lr], -lr, lsr #6
50: 6975622f ldmvsdb r5!, {r0, r1, r2, r3, r5, r9, sp, lr}^
54: 672d646c strvs r6, [sp, -ip, ror #8]!
58: 6362696c cmnvs r2, #1769472 ; 0x1b0000
5c: 7573632f ldrvcb r6, [r3, #-815]!
60: 7472632f ldrvcbt r6, [r2], #-815
64: 00532e69 subeqs r2, r3, r9, ror #28
68: 6d6f682f stcvsl 8, cr6, [pc, #-188]!
6c: 61702f65 cmnvs r0, r5, ror #30
70: 2f303033 swics 0x00303033
74: 736f7263 cmnvc pc, #805306374 ; 0x30000006
78: 6f6f7473 swivs 0x006f7473
7c: 2e302d6c cdpcs 13, 3, cr2, cr0, cr12, {3}
80: 622f3334 eorvs r3, pc, #-805306368 ; 0xd0000000
84: 646c6975 strvsbt r6, [ip], #-2421
88: 6d72612f ldfvse f6, [r2, #-188]!
8c: 6e696c2d cdpvs 12, 6, cr6, cr9, cr13, {1}
90: 672f7875 undefined
94: 332d6363 teqcc sp, #-1946157055 ; 0x8c000001
98: 352e342e strcc r3, [lr, #-1070]!
9c: 696c672d stmvsdb ip!, {r0, r2, r3, r5, r8, r9, sl, sp, lr}^
a0: 322d6362 eorcc r6, sp, #-2013265919 ; 0x88000001
a4: 362e332e strcct r3, [lr], -lr, lsr #6
a8: 696c672f stmvsdb ip!, {r0, r1, r2, r3, r5, r8, r9, sl, sp, lr}^
ac: 322d6362 eorcc r6, sp, #-2013265919 ; 0x88000001
b0: 362e332e strcct r3, [lr], -lr, lsr #6
b4: 7573632f ldrvcb r6, [r3, #-815]!
b8: 554e4700 strplb r4, [lr, #-1792]
bc: 20534120 subcss r4, r3, r0, lsr #2
c0: 35312e32 ldrcc r2, [r1, #-3634]!
c4: c3800100 orrgt r0, r0, #0 ; 0x0
c8: 02000000 andeq r0, r0, #0 ; 0x0
cc: 00001000 andeq r1, r0, r0
d0: ab010400 blge 410d8 <__bss_end__+0x30770>
d4: 2f000000 swics 0x00000000
d8: 656d6f68 strvsb r6, [sp, #-3944]!
dc: 3361702f cmncc r1, #47 ; 0x2f
e0: 632f3030 teqvs pc, #48 ; 0x30
e4: 73736f72 cmnvc r3, #456 ; 0x1c8
e8: 6c6f6f74 stcvsl 15, cr6, [pc], #-464
ec: 342e302d strcct r3, [lr], #-45
f0: 75622f33 strvcb r2, [r2, #-3891]!
f4: 2f646c69 swics 0x00646c69
f8: 2d6d7261 sfmcs f7, 2, [sp, #-388]!
fc: 756e696c strvcb r6, [lr, #-2412]!
100: 63672f78 cmnvs r7, #480 ; 0x1e0
104: 2e332d63 cdpcs 13, 3, cr2, cr3, cr3, {3}
108: 2d352e34 ldccs 14, cr2, [r5, #-208]!
10c: 62696c67 rsbvs r6, r9, #26368 ; 0x6700
110: 2e322d63 cdpcs 13, 3, cr2, cr2, cr3, {3}
114: 2f362e33 swics 0x00362e33
118: 6c697562 cfstr64vs mvdx7, [r9], #-392
11c: 6c672d64 stcvsl 13, cr2, [r7], #-400
120: 2f636269 swics 0x00636269
124: 2f757363 swics 0x00757363
128: 6e747263 cdpvs 2, 7, cr7, cr4, cr3, {3}
12c: 2f00532e swics 0x0000532e
130: 656d6f68 strvsb r6, [sp, #-3944]!
134: 3361702f cmncc r1, #47 ; 0x2f
138: 632f3030 teqvs pc, #48 ; 0x30
13c: 73736f72 cmnvc r3, #456 ; 0x1c8
140: 6c6f6f74 stcvsl 15, cr6, [pc], #-464
144: 342e302d strcct r3, [lr], #-45
148: 75622f33 strvcb r2, [r2, #-3891]!
14c: 2f646c69 swics 0x00646c69
150: 2d6d7261 sfmcs f7, 2, [sp, #-388]!
154: 756e696c strvcb r6, [lr, #-2412]!
158: 63672f78 cmnvs r7, #480 ; 0x1e0
15c: 2e332d63 cdpcs 13, 3, cr2, cr3, cr3, {3}
160: 2d352e34 ldccs 14, cr2, [r5, #-208]!
164: 62696c67 rsbvs r6, r9, #26368 ; 0x6700
168: 2e322d63 cdpcs 13, 3, cr2, cr2, cr3, {3}
16c: 2f362e33 swics 0x00362e33
170: 62696c67 rsbvs r6, r9, #26368 ; 0x6700
174: 2e322d63 cdpcs 13, 3, cr2, cr2, cr3, {3}
178: 2f362e33 swics 0x00362e33
17c: 00757363 rsbeqs r7, r5, r3, ror #6
180: 20554e47 subcss r4, r5, r7, asr #28
184: 32205341 eorcc r5, r0, #67108865 ; 0x4000001
188: 0035312e eoreqs r3, r5, lr, lsr #2
18c: Address 0x18c is out of bounds.
Disassembly of section .debug_abbrev:
00000000 <.debug_abbrev>:
0: 10001101 andne r1, r0, r1, lsl #2
4: 1b080306 blne 200c24 <__bss_end__+0x1f02bc>
8: 13082508 tstne r8, #33554432 ; 0x2000000
c: 00000005 andeq r0, r0, r5
10: 10001101 andne r1, r0, r1, lsl #2
14: 1b080306 blne 200c34 <__bss_end__+0x1f02cc>
18: 13082508 tstne r8, #33554432 ; 0x2000000
1c: 00000005 andeq r0, r0, r5
Disassembly of section .debug_line:
00000000 <.debug_line>:
0: 000000a7 andeq r0, r0, r7, lsr #1
4: 006b0002 rsbeq r0, fp, r2
8: 01020000 tsteq r2, r0
c: 000a0efb streqd r0, [sl], -fp
10: 01010101 tsteq r1, r1, lsl #2
14: 01000000 tsteq r0, r0
18: 6d6f682f stcvsl 8, cr6, [pc, #-188]!
1c: 61702f65 cmnvs r0, r5, ror #30
20: 2f303033 swics 0x00303033
24: 736f7263 cmnvc pc, #805306374 ; 0x30000006
28: 6f6f7473 swivs 0x006f7473
2c: 2e302d6c cdpcs 13, 3, cr2, cr0, cr12, {3}
30: 622f3334 eorvs r3, pc, #-805306368 ; 0xd0000000
34: 646c6975 strvsbt r6, [ip], #-2421
38: 6d72612f ldfvse f6, [r2, #-188]!
3c: 6e696c2d cdpvs 12, 6, cr6, cr9, cr13, {1}
40: 672f7875 undefined
44: 332d6363 teqcc sp, #-1946157055 ; 0x8c000001
48: 352e342e strcc r3, [lr, #-1070]!
4c: 696c672d stmvsdb ip!, {r0, r2, r3, r5, r8, r9, sl, sp, lr}^
50: 322d6362 eorcc r6, sp, #-2013265919 ; 0x88000001
54: 362e332e strcct r3, [lr], -lr, lsr #6
58: 6975622f ldmvsdb r5!, {r0, r1, r2, r3, r5, r9, sp, lr}^
5c: 672d646c strvs r6, [sp, -ip, ror #8]!
60: 6362696c cmnvs r2, #1769472 ; 0x1b0000
64: 7573632f ldrvcb r6, [r3, #-815]!
68: 72630000 rsbvc r0, r3, #0 ; 0x0
6c: 532e6974 teqpl lr, #1900544 ; 0x1d0000
70: 00000100 andeq r0, r0, r0, lsl #2
74: 02050000 andeq r0, r5, #0 ; 0x0
78: 000087b4 streqh r8, [r0], -r4
7c: 02013303 andeq r3, r1, #201326592 ; 0xc000000
80: 01010002 tsteq r1, r2
84: 44020500 strmi r0, [r2], #-1280
88: 03000083 tsteq r0, #131 ; 0x83
8c: 022c0124 eoreq r0, ip, #9 ; 0x9
90: 01010002 tsteq r1, r2
94: d8020500 stmleda r2, {r8, sl}
98: 03000083 tsteq r0, #131 ; 0x83
9c: 2d2c010c stfcss f0, [ip, #-48]!
a0: 2c2c2c2c stccs 12, cr2, [ip], #-176
a4: 06022d2c streq r2, [r2], -ip, lsr #26
a8: 8d010100 stfhis f0, [r1]
ac: 02000000 andeq r0, r0, #0 ; 0x0
b0: 00006b00 andeq r6, r0, r0, lsl #22
b4: fb010200 blx 408be <__bss_end__+0x2ff56>
b8: 01000a0e tsteq r0, lr, lsl #20
bc: 00010101 andeq r0, r1, r1, lsl #2
c0: 2f010000 swics 0x00010000
c4: 656d6f68 strvsb r6, [sp, #-3944]!
c8: 3361702f cmncc r1, #47 ; 0x2f
cc: 632f3030 teqvs pc, #48 ; 0x30
d0: 73736f72 cmnvc r3, #456 ; 0x1c8
d4: 6c6f6f74 stcvsl 15, cr6, [pc], #-464
d8: 342e302d strcct r3, [lr], #-45
dc: 75622f33 strvcb r2, [r2, #-3891]!
e0: 2f646c69 swics 0x00646c69
e4: 2d6d7261 sfmcs f7, 2, [sp, #-388]!
e8: 756e696c strvcb r6, [lr, #-2412]!
ec: 63672f78 cmnvs r7, #480 ; 0x1e0
f0: 2e332d63 cdpcs 13, 3, cr2, cr3, cr3, {3}
f4: 2d352e34 ldccs 14, cr2, [r5, #-208]!
f8: 62696c67 rsbvs r6, r9, #26368 ; 0x6700
fc: 2e322d63 cdpcs 13, 3, cr2, cr2, cr3, {3}
100: 2f362e33 swics 0x00362e33
104: 6c697562 cfstr64vs mvdx7, [r9], #-392
108: 6c672d64 stcvsl 13, cr2, [r7], #-400
10c: 2f636269 swics 0x00636269
110: 00757363 rsbeqs r7, r5, r3, ror #6
114: 74726300 ldrvcbt r6, [r2], #-768
118: 00532e6e subeqs r2, r3, lr, ror #28
11c: 00000001 andeq r0, r0, r1
120: bc020500 cfstr32lt mvfx0, [r2], {0}
124: 03000087 tsteq r0, #135 ; 0x87
128: 0202010f andeq r0, r2, #-1073741821 ; 0xc0000003
12c: 00010100 andeq r0, r1, r0, lsl #2
130: 83540205 cmphi r4, #1342177280 ; 0x50000000
134: 02170000 andeqs r0, r7, #0 ; 0x0
138: 01010002 tsteq r1, r2
/******* xscale **********/
test_filt_xscale: file format elf32-littlearm
Disassembly of section .interp:
000080f4 <.interp>:
80f4: 62696c2f rsbvs r6, r9, #12032 ; 0x2f00
80f8: 2d646c2f stccsl 12, cr6, [r4, #-188]!
80fc: 756e696c strvcb r6, [lr, #-2412]!
8100: 6f732e78 swivs 0x00732e78
8104: Address 0x8104 is out of bounds.
Disassembly of section .note.ABI-tag:
00008108 <.note.ABI-tag>:
8108: 00000004 andeq r0, r0, r4
810c: 00000010 andeq r0, r0, r0, lsl r0
8110: 00000001 andeq r0, r0, r1
8114: 00554e47 subeqs r4, r5, r7, asr #28
8118: 00000000 andeq r0, r0, r0
811c: 00000002 andeq r0, r0, r2
8120: 00000004 andeq r0, r0, r4
8124: 00000003 andeq r0, r0, r3
Disassembly of section .hash:
00008128 <.hash>:
8128: 00000003 andeq r0, r0, r3
812c: 0000000b andeq r0, r0, fp
8130: 00000004 andeq r0, r0, r4
8134: 0000000a andeq r0, r0, sl
8138: 00000009 andeq r0, r0, r9
...
8144: 00000001 andeq r0, r0, r1
8148: 00000000 andeq r0, r0, r0
814c: 00000003 andeq r0, r0, r3
8150: 00000000 andeq r0, r0, r0
8154: 00000002 andeq r0, r0, r2
8158: 00000006 andeq r0, r0, r6
815c: 00000007 andeq r0, r0, r7
8160: 00000008 andeq r0, r0, r8
8164: 00000005 andeq r0, r0, r5
Disassembly of section .dynsym:
00008168 <.dynsym>:
...
8178: 0000004f andeq r0, r0, pc, asr #32
817c: 0000836c andeq r8, r0, ip, ror #6
8180: 00000210 andeq r0, r0, r0, lsl r2
8184: 00000012 andeq r0, r0, r2, lsl r0
8188: 0000005c andeq r0, r0, ip, asr r0
818c: 000108b8 streqh r0, [r1], -r8
8190: 00000000 andeq r0, r0, r0
8194: fff10010 swinv 0x00f10010
8198: 00000001 andeq r0, r0, r1
...
81a4: 00000020 andeq r0, r0, r0, lsr #32
81a8: 00000010 andeq r0, r0, r0, lsl r0
...
81b4: 00000020 andeq r0, r0, r0, lsr #32
81b8: 0000003d andeq r0, r0, sp, lsr r0
81bc: 00008384 andeq r8, r0, r4, lsl #7
81c0: 00000114 andeq r0, r0, r4, lsl r1
81c4: 00000012 andeq r0, r0, r2, lsl r0
81c8: 0000002e andeq r0, r0, lr, lsr #32
81cc: 00008830 andeq r8, r0, r0, lsr r8
81d0: 00000004 andeq r0, r0, r4
81d4: 000e0011 andeq r0, lr, r1, lsl r0
81d8: 00000055 andeq r0, r0, r5, asr r0
81dc: 00008390 muleq r0, r0, r3
81e0: 0000003c andeq r0, r0, ip, lsr r0
81e4: 00000012 andeq r0, r0, r2, lsl r0
81e8: 0000006d andeq r0, r0, sp, rrx
81ec: 000108b8 streqh r0, [r1], -r8
81f0: 00000000 andeq r0, r0, r0
81f4: fff10010 swinv 0x00f10010
81f8: 00000080 andeq r0, r0, r0, lsl #1
81fc: 000108b8 streqh r0, [r1], -r8
8200: 00000000 andeq r0, r0, r0
8204: fff10010 swinv 0x00f10010
8208: 00000091 muleq r0, r1, r0
820c: 000108b8 streqh r0, [r1], -r8
8210: 00000000 andeq r0, r0, r0
8214: fff10010 swinv 0x00f10010
Disassembly of section .dynstr:
00008218 <.dynstr>:
8218: 675f5f00 ldrvsb r5, [pc, -r0, lsl #30]
821c: 5f6e6f6d swipl 0x006e6f6d
8220: 72617473 rsbvc r7, r1, #1929379840 ; 0x73000000
8224: 005f5f74 subeqs r5, pc, r4, ror pc
8228: 5f764a5f swipl 0x00764a5f
822c: 69676552 stmvsdb r7!, {r1, r4, r6, r8, sl, sp, lr}^
8230: 72657473 rsbvc r7, r5, #1929379840 ; 0x73000000
8234: 73616c43 cmnvc r1, #17152 ; 0x4300
8238: 00736573 rsbeqs r6, r3, r3, ror r5
823c: 6362696c cmnvs r2, #1769472 ; 0x1b0000
8240: 2e6f732e cdpcs 3, 6, cr7, cr15, cr14, {1}
8244: 495f0036 ldmmidb pc, {r1, r2, r4, r5}^
8248: 74735f4f ldrvcbt r5, [r3], #-3919
824c: 5f6e6964 swipl 0x006e6964
8250: 64657375 strvsbt r7, [r5], #-885
8254: 6c5f5f00 mrrcvs 15, 0, r5, pc, cr0
8258: 5f636269 swipl 0x00636269
825c: 72617473 rsbvc r7, r1, #1929379840 ; 0x73000000
8260: 616d5f74 cmnvs sp, r4, ror pc
8264: 61006e69 tstvs r0, r9, ror #28
8268: 74726f62 ldrvcbt r6, [r2], #-3938
826c: 69727000 ldmvsdb r2!, {ip, sp, lr}^
8270: 0066746e rsbeq r7, r6, lr, ror #8
8274: 69665f5f stmvsdb r6!, {r0, r1, r2, r3, r4, r6, r8, r9, sl, fp, ip, lr}^
8278: 615f696e cmpvs pc, lr, ror #18
827c: 79617272 stmvcdb r1!, {r1, r4, r5, r6, r9, ip, sp, lr}^
8280: 646e655f strvsbt r6, [lr], #-1375
8284: 665f5f00 ldrvsb r5, [pc], -r0, lsl #30
8288: 5f696e69 swipl 0x00696e69
828c: 61727261 cmnvs r2, r1, ror #4
8290: 74735f79 ldrvcbt r5, [r3], #-3961
8294: 00747261 rsbeqs r7, r4, r1, ror #4
8298: 6e695f5f mcrvs 15, 3, r5, cr9, cr15, {2}
829c: 615f7469 cmpvs pc, r9, ror #8
82a0: 79617272 stmvcdb r1!, {r1, r4, r5, r6, r9, ip, sp, lr}^
82a4: 646e655f strvsbt r6, [lr], #-1375
82a8: 695f5f00 ldmvsdb pc, {r8, r9, sl, fp, ip, lr}^
82ac: 5f74696e swipl 0x0074696e
82b0: 61727261 cmnvs r2, r1, ror #4
82b4: 74735f79 ldrvcbt r5, [r3], #-3961
82b8: 00747261 rsbeqs r7, r4, r1, ror #4
82bc: 42494c47 submi r4, r9, #18176 ; 0x4700
82c0: 2e325f43 cdpcs 15, 3, cr5, cr2, cr3, {2}
82c4: Address 0x82c4 is out of bounds.
Disassembly of section .gnu.version:
000082c6 <.gnu.version>:
82c6: 00020000 andeq r0, r2, r0
82ca: 00000001 andeq r0, r0, r1
82ce: 00020000 andeq r0, r2, r0
82d2: 00020001 andeq r0, r2, r1
82d6: 00010001 andeq r0, r1, r1
82da: Address 0x82da is out of bounds.
Disassembly of section .gnu.version_r:
000082dc <.gnu.version_r>:
82dc: 00010001 andeq r0, r1, r1
82e0: 00000024 andeq r0, r0, r4, lsr #32
82e4: 00000010 andeq r0, r0, r0, lsl r0
82e8: 00000000 andeq r0, r0, r0
82ec: 0d696910 stceql 9, cr6, [r9, #-64]!
82f0: 00020000 andeq r0, r2, r0
82f4: 000000a4 andeq r0, r0, r4, lsr #1
82f8: 00000000 andeq r0, r0, r0
Disassembly of section .rel.dyn:
000082fc <.rel.dyn>:
82fc: 000109c0 andeq r0, r1, r0, asr #19
8300: 00000215 andeq r0, r0, r5, lsl r2
8304: 000109c4 andeq r0, r1, r4, asr #19
8308: 00000315 andeq r0, r0, r5, lsl r3
830c: 000109c8 andeq r0, r1, r8, asr #19
8310: 00000815 andeq r0, r0, r5, lsl r8
8314: 000109cc andeq r0, r1, ip, asr #19
8318: 00000915 andeq r0, r0, r5, lsl r9
831c: 000109d0 ldreqd r0, [r1], -r0
8320: 00000a15 andeq r0, r0, r5, lsl sl
Disassembly of section .rel.plt:
00008324 <.rel.plt>:
8324: 000109b0 streqh r0, [r1], -r0
8328: 00000116 andeq r0, r0, r6, lsl r1
832c: 000109b4 streqh r0, [r1], -r4
8330: 00000416 andeq r0, r0, r6, lsl r4
8334: 000109b8 streqh r0, [r1], -r8
8338: 00000516 andeq r0, r0, r6, lsl r5
833c: 000109bc streqh r0, [r1], -ip
8340: 00000716 andeq r0, r0, r6, lsl r7
Disassembly of section .init:
00008344 <_init>:
8344: e52de004 str lr, [sp, #-4]!
8348: eb000021 bl 83d4 <call_gmon_start>
834c: eb000042 bl 845c <frame_dummy>
8350: eb000123 bl 87e4 <__do_global_ctors_aux>
8354: e49df004 ldr pc, [sp], #4
Disassembly of section .plt:
00008358 <.plt>:
8358: e52de004 str lr, [sp, #-4]!
835c: e59fe004 ldr lr, [pc, #4] ; 8368 <.plt+0x10>
8360: e08fe00e add lr, pc, lr
8364: e5bef008 ldr pc, [lr, #8]!
8368: 0000863c andeq r8, r0, ip, lsr r6
836c: e28fc600 add ip, pc, #0 ; 0x0
8370: e28cca08 add ip, ip, #32768 ; 0x8000
8374: e5bcf63c ldr pc, [ip, #1596]!
8378: e28fc600 add ip, pc, #0 ; 0x0
837c: e28cca08 add ip, ip, #32768 ; 0x8000
8380: e5bcf634 ldr pc, [ip, #1588]!
8384: e28fc600 add ip, pc, #0 ; 0x0
8388: e28cca08 add ip, ip, #32768 ; 0x8000
838c: e5bcf62c ldr pc, [ip, #1580]!
8390: e28fc600 add ip, pc, #0 ; 0x0
8394: e28cca08 add ip, ip, #32768 ; 0x8000
8398: e5bcf624 ldr pc, [ip, #1572]!
Disassembly of section .text:
0000839c <_start>:
839c: e59fc024 ldr ip, [pc, #36] ; 83c8 <.text+0x2c>
83a0: e3a0b000 mov fp, #0 ; 0x0
83a4: e49d1004 ldr r1, [sp], #4
83a8: e1a0200d mov r2, sp
83ac: e52d2004 str r2, [sp, #-4]!
83b0: e52d0004 str r0, [sp, #-4]!
83b4: e59f0010 ldr r0, [pc, #16] ; 83cc <.text+0x30>
83b8: e59f3010 ldr r3, [pc, #16] ; 83d0 <.text+0x34>
83bc: e52dc004 str ip, [sp, #-4]!
83c0: ebffffef bl 8384 <.text-0x18>
83c4: ebffffe8 bl 836c <.text-0x30>
83c8: 00008784 andeq r8, r0, r4, lsl #15
83cc: 00008610 andeq r8, r0, r0, lsl r6
83d0: 00008720 andeq r8, r0, r0, lsr #14
000083d4 <call_gmon_start>:
83d4: e92d4400 stmdb sp!, {sl, lr}
83d8: e59fa018 ldr sl, [pc, #24] ; 83f8 <.text+0x5c>
83dc: e08fa00a add sl, pc, sl
83e0: e59f3014 ldr r3, [pc, #20] ; 83fc <.text+0x60>
83e4: e79a3003 ldr r3, [sl, r3]
83e8: e3530000 cmp r3, #0 ; 0x0
83ec: 11a0e00f movne lr, pc
83f0: 11a0f003 movne pc, r3
83f4: e8bd8400 ldmia sp!, {sl, pc}
83f8: 000085c0 andeq r8, r0, r0, asr #11
83fc: 00000020 andeq r0, r0, r0, lsr #32
00008400 <__do_global_dtors_aux>:
8400: e92d4030 stmdb sp!, {r4, r5, lr}
8404: e59f5040 ldr r5, [pc, #64] ; 844c <.text+0xb0>
8408: e5d53000 ldrb r3, [r5]
840c: e3530000 cmp r3, #0 ; 0x0
8410: 1a00000c bne 8448 <__do_global_dtors_aux+0x48>
8414: e59f4034 ldr r4, [pc, #52] ; 8450 <.text+0xb4>
8418: ea000004 b 8430 <__do_global_dtors_aux+0x30>
841c: e5943000 ldr r3, [r4]
8420: e2833004 add r3, r3, #4 ; 0x4
8424: e5843000 str r3, [r4]
8428: e1a0e00f mov lr, pc
842c: e1a0f002 mov pc, r2
8430: e5943000 ldr r3, [r4]
8434: e5932000 ldr r2, [r3]
8438: e3520000 cmp r2, #0 ; 0x0
843c: 1afffff6 bne 841c <__do_global_dtors_aux+0x1c>
8440: e3a03001 mov r3, #1 ; 0x1
8444: e5c53000 strb r3, [r5]
8448: e8bd8030 ldmia sp!, {r4, r5, pc}
844c: 000109d4 ldreqd r0, [r1], -r4
8450: 000108c0 andeq r0, r1, r0, asr #17
00008454 <call___do_global_dtors_aux>:
8454: e52de004 str lr, [sp, #-4]!
8458: e49df004 ldr pc, [sp], #4
0000845c <frame_dummy>:
845c: e59f0018 ldr r0, [pc, #24] ; 847c <.text+0xe0>
8460: e5903000 ldr r3, [r0]
8464: e3530000 cmp r3, #0 ; 0x0
8468: 012fff1e bxeq lr
846c: e59f300c ldr r3, [pc, #12] ; 8480 <.text+0xe4>
8470: e3530000 cmp r3, #0 ; 0x0
8474: 012fff1e bxeq lr
8478: eaffffbe b 8378 <.text-0x24>
847c: 000109a0 andeq r0, r1, r0, lsr #19
8480: 00000000 andeq r0, r0, r0
00008484 <call_frame_dummy>:
8484: e52de004 str lr, [sp, #-4]!
8488: e49df004 ldr pc, [sp], #4
0000848c <Err_Func>:
848c: e1a0c00d mov ip, sp
8490: e24dd004 sub sp, sp, #4 ; 0x4
8494: e92dd810 stmdb sp!, {r4, fp, ip, lr, pc}
8498: e24cb008 sub fp, ip, #8 ; 0x8
849c: e24dd01c sub sp, sp, #28 ; 0x1c
84a0: e50b0014 str r0, [fp, #-20]
84a4: e3e0000b mvn r0, #11 ; 0xb
84a8: e24bc010 sub ip, fp, #16 ; 0x10
84ac: e08c0000 add r0, ip, r0
84b0: e8800006 stmia r0, {r1, r2}
84b4: e58b3004 str r3, [fp, #4]
84b8: e3e0300b mvn r3, #11 ; 0xb
84bc: e24b2010 sub r2, fp, #16 ; 0x10
84c0: e0821003 add r1, r2, r3
84c4: e3e0300b mvn r3, #11 ; 0xb
84c8: e24b2010 sub r2, fp, #16 ; 0x10
84cc: e082c003 add ip, r2, r3
84d0: e59b3008 ldr r3, [fp, #8]
84d4: e58d3000 str r3, [sp]
84d8: e3a02008 mov r2, #8 ; 0x8
84dc: e28b3004 add r3, fp, #4 ; 0x4
84e0: e0833002 add r3, r3, r2
84e4: e8930018 ldmia r3, {r3, r4}
84e8: e98d0018 stmib sp, {r3, r4}
84ec: e59b3014 ldr r3, [fp, #20]
84f0: e58d300c str r3, [sp, #12]
84f4: e59f0014 ldr r0, [pc, #20] ; 8510 <.text+0x174>
84f8: e5911000 ldr r1, [r1]
84fc: e59c2004 ldr r2, [ip, #4]
8500: e59b3004 ldr r3, [fp, #4]
8504: ebffffa1 bl 8390 <.text-0xc>
8508: e24bd010 sub sp, fp, #16 ; 0x10
850c: e89da810 ldmia sp, {r4, fp, sp, pc}
8510: 00008838 andeq r8, r0, r8, lsr r8
00008514 <Ok_Func1>:
8514: e1a0c00d mov ip, sp
8518: e24dd004 sub sp, sp, #4 ; 0x4
851c: e92dd810 stmdb sp!, {r4, fp, ip, lr, pc}
8520: e24cb008 sub fp, ip, #8 ; 0x8
8524: e24dd01c sub sp, sp, #28 ; 0x1c
8528: e24bc010 sub ip, fp, #16 ; 0x10
852c: e90c0003 stmdb ip, {r0, r1}
8530: e50b201c str r2, [fp, #-28]
8534: e58b3004 str r3, [fp, #4]
8538: e3a02008 mov r2, #8 ; 0x8
853c: e28b3004 add r3, fp, #4 ; 0x4
8540: e083c002 add ip, r3, r2
8544: e3a02008 mov r2, #8 ; 0x8
8548: e28b3004 add r3, fp, #4 ; 0x4
854c: e0833002 add r3, r3, r2
8550: e5933004 ldr r3, [r3, #4]
8554: e58d3000 str r3, [sp]
8558: e24b2010 sub r2, fp, #16 ; 0x10
855c: e9120018 ldmdb r2, {r3, r4}
8560: e98d0018 stmib sp, {r3, r4}
8564: e59b3014 ldr r3, [fp, #20]
8568: e58d300c str r3, [sp, #12]
856c: e59f0014 ldr r0, [pc, #20] ; 8588 <.text+0x1ec>
8570: e59b1004 ldr r1, [fp, #4]
8574: e59b2008 ldr r2, [fp, #8]
8578: e59c3000 ldr r3, [ip]
857c: ebffff83 bl 8390 <.text-0xc>
8580: e24bd010 sub sp, fp, #16 ; 0x10
8584: e89da810 ldmia sp, {r4, fp, sp, pc}
8588: 00008878 andeq r8, r0, r8, ror r8
0000858c <Ok_Func2>:
858c: e1a0c00d mov ip, sp
8590: e92dd810 stmdb sp!, {r4, fp, ip, lr, pc}
8594: e24cb004 sub fp, ip, #4 ; 0x4
8598: e24dd020 sub sp, sp, #32 ; 0x20
859c: e50b0014 str r0, [fp, #-20]
85a0: e50b1018 str r1, [fp, #-24]
85a4: e3e0100f mvn r1, #15 ; 0xf
85a8: e24b0010 sub r0, fp, #16 ; 0x10
85ac: e0801001 add r1, r0, r1
85b0: e881000c stmia r1, {r2, r3}
85b4: e3e0300f mvn r3, #15 ; 0xf
85b8: e24b2010 sub r2, fp, #16 ; 0x10
85bc: e0821003 add r1, r2, r3
85c0: e3e0300f mvn r3, #15 ; 0xf
85c4: e24b0010 sub r0, fp, #16 ; 0x10
85c8: e080c003 add ip, r0, r3
85cc: e59b3008 ldr r3, [fp, #8]
85d0: e58d3000 str r3, [sp]
85d4: e3a02008 mov r2, #8 ; 0x8
85d8: e28b3004 add r3, fp, #4 ; 0x4
85dc: e0833002 add r3, r3, r2
85e0: e8930018 ldmia r3, {r3, r4}
85e4: e98d0018 stmib sp, {r3, r4}
85e8: e51b3014 ldr r3, [fp, #-20]
85ec: e58d300c str r3, [sp, #12]
85f0: e59f0014 ldr r0, [pc, #20] ; 860c <.text+0x270>
85f4: e5911000 ldr r1, [r1]
85f8: e59c2004 ldr r2, [ip, #4]
85fc: e59b3004 ldr r3, [fp, #4]
8600: ebffff62 bl 8390 <.text-0xc>
8604: e24bd010 sub sp, fp, #16 ; 0x10
8608: e89da810 ldmia sp, {r4, fp, sp, pc}
860c: 00008878 andeq r8, r0, r8, ror r8
00008610 <main>:
8610: e1a0c00d mov ip, sp
8614: e92dd810 stmdb sp!, {r4, fp, ip, lr, pc}
8618: e24cb004 sub fp, ip, #4 ; 0x4
861c: e24dd020 sub sp, sp, #32 ; 0x20
8620: e3a03f7d mov r3, #500 ; 0x1f4
8624: e50b3018 str r3, [fp, #-24]
8628: e3a03f7d mov r3, #500 ; 0x1f4
862c: e50b3014 str r3, [fp, #-20]
8630: e3e0300f mvn r3, #15 ; 0xf
8634: e24b1010 sub r1, fp, #16 ; 0x10
8638: e0812003 add r2, r1, r3
863c: e3a030c8 mov r3, #200 ; 0xc8
8640: e5823000 str r3, [r2]
8644: e3e0300f mvn r3, #15 ; 0xf
8648: e24b4010 sub r4, fp, #16 ; 0x10
864c: e0842003 add r2, r4, r3
8650: e3a03f4b mov r3, #300 ; 0x12c
8654: e5823004 str r3, [r2, #4]
8658: e3e0300f mvn r3, #15 ; 0xf
865c: e24b1010 sub r1, fp, #16 ; 0x10
8660: e0812003 add r2, r1, r3
8664: e28f30ac add r3, pc, #172 ; 0xac
8668: e8930018 ldmia r3, {r3, r4}
866c: e98d0018 stmib sp, {r3, r4}
8670: e3a03008 mov r3, #8 ; 0x8
8674: e58d300c str r3, [sp, #12]
8678: e51b3014 ldr r3, [fp, #-20]
867c: e58d3000 str r3, [sp]
8680: e51b3018 ldr r3, [fp, #-24]
8684: e3a00000 mov r0, #0 ; 0x0
8688: e8920006 ldmia r2, {r1, r2}
868c: ebffff7e bl 848c <Err_Func>
8690: e3e0300f mvn r3, #15 ; 0xf
8694: e24b4010 sub r4, fp, #16 ; 0x10
8698: e0842003 add r2, r4, r3
869c: e24b4010 sub r4, fp, #16 ; 0x10
86a0: e9140018 ldmdb r4, {r3, r4}
86a4: e98d0018 stmib sp, {r3, r4}
86a8: e3a03008 mov r3, #8 ; 0x8
86ac: e58d300c str r3, [sp, #12]
86b0: e5923004 ldr r3, [r2, #4]
86b4: e58d3000 str r3, [sp]
86b8: e5923000 ldr r3, [r2]
86bc: e28f0054 add r0, pc, #84 ; 0x54
86c0: e8900003 ldmia r0, {r0, r1}
86c4: e3a02000 mov r2, #0 ; 0x0
86c8: ebffff91 bl 8514 <Ok_Func1>
86cc: e3e0300f mvn r3, #15 ; 0xf
86d0: e24b1010 sub r1, fp, #16 ; 0x10
86d4: e081c003 add ip, r1, r3
86d8: e24b3010 sub r3, fp, #16 ; 0x10
86dc: e913000c ldmdb r3, {r2, r3}
86e0: e88d000c stmia sp, {r2, r3}
86e4: e3a03008 mov r3, #8 ; 0x8
86e8: e08d2003 add r2, sp, r3
86ec: e28f3024 add r3, pc, #36 ; 0x24
86f0: e8930018 ldmia r3, {r3, r4}
86f4: e8820018 stmia r2, {r3, r4}
86f8: e3a00008 mov r0, #8 ; 0x8
86fc: e3a01000 mov r1, #0 ; 0x0
8700: e89c000c ldmia ip, {r2, r3}
8704: ebffffa0 bl 858c <Ok_Func2>
8708: e3a03000 mov r3, #0 ; 0x0
870c: e1a00003 mov r0, r3
8710: e24bd010 sub sp, fp, #16 ; 0x10
8714: e89da810 ldmia sp, {r4, fp, sp, pc}
8718: 4040c000 submi ip, r0, r0
871c: 00000000 andeq r0, r0, r0
00008720 <__libc_csu_init>:
8720: e92d4470 stmdb sp!, {r4, r5, r6, sl, lr}
8724: e59fa04c ldr sl, [pc, #76] ; 8778 <.text+0x3dc>
8728: e08fa00a add sl, pc, sl
872c: ebffff04 bl 8344 <_init>
8730: e3a04000 mov r4, #0 ; 0x0
8734: e59f3040 ldr r3, [pc, #64] ; 877c <.text+0x3e0>
8738: e79a3003 ldr r3, [sl, r3]
873c: e59f203c ldr r2, [pc, #60] ; 8780 <.text+0x3e4>
8740: e79a2002 ldr r2, [sl, r2]
8744: e0623003 rsb r3, r2, r3
8748: e1540143 cmp r4, r3, asr #2
874c: 2a000008 bcs 8774 <__libc_csu_init+0x54>
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
今天分析了一下,应该是压参数的时候出错了。
void Err_Func(void *img, DhPoint center, DhSize axes, double dvalue, int value )
传参数的时候,R0=img, R1=center.x, R2=center.y, R3=axex.w,其余的通过堆栈传递。
[SP+0]=axes.h
[SP+4]
[SP+8]=dvalue.l
[SP+C]=dvalue.h
注意,[SP+4]空了一个位置。我猜想编译器认为dvalue应该按8字节对齐,所以空了这个位置。
但是Err_Func在取参数的时候,认为dvalue在[SP+4]这个位置,于是就出错了。
这个应该算是编译器的一个BUG吧。不知道是不是已经有相关的补丁了。暂时的方法,就是调整dvalue的位置了。
|
|
|
----
精益求精!
|
|
[Original]
[Print]
[Top]
|
|