[U-Boot-Users] Debugging U-boot after relocation
Vladimir Gurevich
vag at paulidav.org
Fri Feb 7 02:01:43 CET 2003
Hello Wolfgang,
Wolfgang Denk wrote:
> Did you use "symbol-file" without argument to delete the old,
> flash-based symbol table first? Otherwise GDB may get confused
> because there are two sym,bol tables loaded which contain the same
> symbols at different addresses.
Actually, the empty "file" command that I used is supposed to
have the same effect. Anyway, I tried your suggestion, and
problems are still there.
A good example might be:
(gdb) symbol-file
No symbol file now.
(gdb) add-symbol-file u-boot 0x7fd0000
add symbol table from file "u-boot" at
.text_addr = 0x7fd0000
(y or n) y
Reading symbols from u-boot...done.
(gdb) break start.S:1338
Breakpoint 1 at 0xfffc2600: file /home/vgurevic/vag/u-boot-0.2.0/cpu/ppc4xx/start.S, line 1338.
^^^^^^^^^^
(gdb) list 1338
1333 add r0,r0,r11
1334 stw r10,0(r3)
1335 stw r0,0(r4)
1336 bdnz 3b
1337 4:
1338 clear_bss:
1339 /*
1340 * Now clear BSS segment
1341 */
1342 lwz r3,GOT(.bss)
(gdb) p &clear_bss
$1 = (<text variable, no debug info> *) 0x7fd2600 <clear_bss>
As you can see, gdb relocated the address for the
symbol in .text session (clear_bss), but failed to
relocate addresses associated with line numbers.
This completely screwes up ddd and Emacs gdb interfaces,
since they (often) don't know which line to show. This
also screwes up next, step and "execute-till-here"
(implemented via tbreak at a line number).
Can it be a gdb "feature" or there is a way to tell it about
line numbers?
Could you tell me in more details how do you debug U-boot then?
Thanks,
Vladimir
More information about the U-Boot
mailing list