This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Remote cross symbolic debugging on PPC...


On Tue, Jul 27, 2004 at 09:23:30AM -0500, sjhill@realitydiluted.com wrote:
> Greetings.
> 
> I did a little searching in the ml archives, but did not find
> a specific answer to my problem. I am cross debugging on a PPC
> 750 system. I have tried 6.1.1, 6.2 branch and head CVS versions
> of GDB. I am debugging a simple hello world program that prints
> out a few lines of integer numbers. My target libraries are not
> compiled with debugging symbols. Bear with me, I spend all my
> time in kernel space and printk is my debugger :). I am using
> 6.1.1 below. I cross compiled gdbserver statically.
> 
> This GDB was configured as "--host=i686-pc-linux-gnu
> --target=powerpc-linux"...
> (gdb) set solib-absolute-prefix /nfs/ppctarg
> (gdb) target remote ppctarg:2001
> Remote debugging using ppctarg:2001
> 0x3000f458 in ?? ()
> (gdb) bt
> #0  0x3000f458 in ?? ()
> (gdb) c
> Continuing.
> 
> Program exited normally.
> (gdb) q
> 
> I assume the ?? is because no debugging symbols are present
> in 'ld.so'? I was not sure, so I tried to force load 'ld.so'
> at an address according to what I saw in '/proc/XXX/maps'
> for the process and a readelf of 'ld.so' to see where the
> .text section was at.

Generally, before the program begins execution GDB does not have
information on where ld.so is loaded, so it can't get symbols. It will
get them automatically further in (after the solib event breakpoint).

> (gdb) set solib-absolute-prefix /nfs/ppctarg
> (gdb) add-symbol-file /nfs/ppctarg/lib/ld-2.3.1.so 0x30001d00
> add symbol table from file "/nfs/ppctarg/lib/ld-2.3.1.so" at
>         .text_addr = 0x30001d00
> (y or n) y
> Reading symbols from /nfs/ppctarg/lib/ld-2.3.1.so...done.
> (gdb) target remote ppctarg:2001
> Remote debugging using ppctarg:2001
> 0x3000f458 in _start ()
> (gdb) bt
> #0  0x3000f458 in _start ()
> #1  0x00000000 in ?? ()
> (gdb) c
> Continuing.
> 
> Program exited normally.
> (gdb) q
> 
> What is the 0x00000000 entry above? I am guessing that I should

It means that GDB doesn't know that _start is at the outside of the
frame chain (has no caller).  It's not a problem.

-- 
Daniel Jacobowitz


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]