浮点异常调试

时间:2014-08-22 16:16:45

标签: linux assembly gdb arm neon

我正面临浮点异常问题,我无法解释。 我的asm函数退出循环,将arm寄存器恢复到堆栈但返回时 调用函数给出一个浮点异常。 GDB告诉我,分工就是 这样做的原因,但我不知道在哪里寻找分裂 我的函数返回调用函数。 任何线索都会有所帮助。非常感谢 。

我已经从我的gdb附上了几行。

 cmp r1,#0
544     @Loop end
545        bgt .L1
546         vldmia   sp!, {d8-d15}         @ restore VFP/Advanced SIMD
547             ldmfd   sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
548         .end
(gdb) n
non_trivial_asm () at ../lib/neon_asm/non_trivial_butterfly.asm:547
547             ldmfd   sp!,{r4,r5,r6,r7,r8,r9,r10,r11,r12,lr}
(gdb) n
__udivsi3 ()
    at /OE/angstrom/build/tmp-angstrom_2008_1/work/i686-armv7a-sdk-angstrom-linux-gn0
810     /OE/angstrom/build/tmp-angstrom_2008_1/work/i686-armv7a-sdk-angstrom-linux-g.
(gdb) n
811     in /OE/angstrom/build/tmp-angstrom_2008_1/work/i686-armv7a-sdk-angstrom-linum
(gdb) 
812     in /OE/angstrom/build/tmp-angstrom_2008_1/work/i686-armv7a-sdk-angstrom-linum
(gdb) 
834     in /OE/angstrom/build/tmp-angstrom_2008_1/work/i686-armv7a-sdk-angstrom-linum
(gdb) 

Program received signal SIGFPE, Arithmetic exception.
0x401665b4 in raise () from /lib/libc.so.6

0 个答案:

没有答案