GDB problem on ARM

Feb 08, 2006 0 Replies

Hi,



I cross-compiled gbd 6.3 for arm-linux, and I can't make it working. Here is the problem : whatsoever the program I try to debug, I get the same error :



# gdb /bin/ls GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. [...] This GDB was configured as "arm-linux-uclibc"...(no debugging symbols found)



(gdb) r Starting program: /bin/ls



Program received signal SIGILL, Illegal instruction.



0x400035e4 in ?? () (gdb) bt #0 0x400035e4 in ?? ()

# cat /proc/795/maps (795 is of course the pid of /bin/ls running in gdb) [...]



40000000-40005000 r-xp 00000000 00:0b 9032003 /lib/ld-uClibc-0.9.28.so [...]


I tried the same thing with a statically linked program :



# file /tmp/a.out /tmp/a.out: ELF 32-bit LSB executable, ARM, version 1 (ARM), statically linked, not stripped



# gdb a.out [...] This GDB was configured as "arm-linux-uclibc"... (gdb) r Starting program: /var/tmp/a.out



Program received signal SIGILL, Illegal instruction.



0x00008090 in _start () (gdb) bt #0 0x00008090 in _start () Cannot access memory at address 0x0 (gdb) p/x *(unsigned long *)0x00008090 $1 = 0xe3a0e000

cat /proc/824/maps



00008000-0004a000 r-xp 00000000 00:0b 8998147 /tmp/a.out
00052000-00053000 rw-p 00042000 00:0b 8998147 /tmp/a.out
00053000-00054000 rwxp 00053000 00:00 0 [heap] becb1000-becc6000 rwxp becb1000 00:00 0 [stack]


I tried putting breakpoints on main, _init and __uclibc_start_main (for the dynamically linked binaries) and it's always the same error.



I looked on the net for this problem, and all I found was a 2002 patch on crt0.S (which can't be applied :)) and some advices on --build and



--host options to pass to the configure of gdb ; but they seems to be correct.



If anyone have an idea or advice, it would be great :)



(and if there is a better group in Usenet for this kind of problem, please tell me)


-- Pierre-Francois



Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required