GDB problem on ARM

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

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


Site Timeline