From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14286 invoked by alias); 27 Jul 2004 14:33:05 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 14276 invoked from network); 27 Jul 2004 14:33:05 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sourceware.org with SMTP; 27 Jul 2004 14:33:05 -0000 Received: from drow by nevyn.them.org with local (Exim 4.34 #1 (Debian)) id 1BpSzf-00067d-20; Tue, 27 Jul 2004 10:31:52 -0400 Date: Tue, 27 Jul 2004 15:14:00 -0000 From: Daniel Jacobowitz To: sjhill@realitydiluted.com Cc: gdb@sources.redhat.com Subject: Re: Remote cross symbolic debugging on PPC... Message-ID: <20040727143148.GA15356@nevyn.them.org> Mail-Followup-To: sjhill@realitydiluted.com, gdb@sources.redhat.com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.5.1+cvs20040105i X-SW-Source: 2004-07/txt/msg00345.txt.bz2 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