|
target: S3c2410 + linux-2.6.14 + gcc-3.4.2 + uclibc-0.9.28
targetname : arm 192.168.1.10
hostname : linux 192.168.1.1
on target:
# mount -t nfs linux:/embed/arm/daqmod/debug /mnt/nfs
# cd /mnt/nfs
# ls
arm-linux-gdb gdbserver mytest tcpdump
# ./mytest
Hellow word!!
# ./gdbserver linux:2345 mytest
on host:
[ydyyun@linux ydyyun]$ cd /embed/arm/daqmod/debug/
[ydyyun@linux debug]$ ls
arm-linux-gdb gdbserver mytest tcpdump
[ydyyun@linux debug]$ ./arm-linux-gdb mytest
GNU gdb 6.0
..........
This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-linux"...
(gdb) target remote arm:2345
Remote debugging using arm:2345
0x40000a90 in ?? ()
(gdb)
on target:
# ./gdbserver linux:2345 mytest
Process mytest created; pid = 229
Remote debugging from host 192.168.1.1
on host:
(gdb) b main
Breakpoint 1 at 0x85cc: file t.c, line 3.
(gdb) c
Continuing.
Program received signal SIGILL, Illegal instruction. /* Error */
0x4000349c in ?? ()
(gdb) disas 0x4000349c 0x400034a4
Dump of assembler code from 0x4000349c to 0x400034a4:
0x4000349c: bl 0x40001740
0x400034a0: ldr r3, [pc, #2272] ; 0x40003d88
End of assembler dump.
(gdb) disas 0x40001740 0x40001748
Dump of assembler code from 0x40001740 to 0x40001748:
0x40001740: stmdb sp!, {r4, r5, r6, r7, r8, r10, lr}
0x40001744: ldr r10, [pc, #668] ; 0x400019e8
End of assembler dump.
(gdb)
It happened error before enter program, But execute the 'mytest' on target was fine,I have used google search the error,Someone said cause by float point,The better solution is specify CPU has no FPU, But didn't say how to specify. Can anyone help me?
Thanks
|