From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23775 invoked by alias); 10 Apr 2003 07:12:14 -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 23768 invoked from network); 10 Apr 2003 07:12:12 -0000 Received: from unknown (HELO hrtades9.atea.be) (194.78.143.106) by sources.redhat.com with SMTP; 10 Apr 2003 07:12:12 -0000 Received: from hrtades10.atea.be (siemens.atea.be [139.10.143.141]) by hrtades9.atea.be with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2653.13) id 1RFVN8MW; Thu, 10 Apr 2003 09:12:11 +0200 Received: by siemens.atea.be with Internet Mail Service (5.5.2653.19) id ; Thu, 10 Apr 2003 09:12:11 +0200 Message-ID: <57FD2C3A246F76438CA6FDAD8FE9F19597E9D7@hrtades7.atea.be> From: Vermeulen Jan To: 'Peter Barada' Cc: pbarada@mail.wm.sps.mot.com, gdb@sources.redhat.com Subject: RE: How to build application to run under the ppc simulator? Date: Thu, 10 Apr 2003 07:12:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-SW-Source: 2003-04/txt/msg00094.txt.bz2 > >> I can't stepi from the start, I have to run it. How(actually, > >> *where*) can I set a breakpoint at the *first* instruction so I can > >> *then* stepi? > > > >If your only function is 'foo', why not try "break foo" at > the gdb command? > > > >I just tried it out (same example as you) and it works. I > can stepi in the > >program and see that it jumps to 0x0 after the 'blr' > instruction at the end > >of 'foo' where it segfaults. > > Yeah, I figured out that I can break at main, but I'm trying to figure > out why: > > (gdb) tar sim > Connected to the simulator. > (gdb) load > (gdb) p $pc > $1 = 0 > (gdb) x/i 0x0 > 0x0: Cannot access memory at address 0x0 > (gdb) > > So the simulater starts out at 0x0 which doesn't make sense. Where > does gdb change its mind and figure out where to start? After you load the program, the simulator has not been started yet. ('info reg' gives 'No selected frame.') I think that when you do 'run', the simulator will actually be created at that moment and will load the $pc with the address which was stated in the linkerscript with the ENTRY(...) directive. Then it'll jump to the simulated address. Anyway, this is just from the top of my hat and I'm not a ppc-sim expert (a.k.a. coder). If I'm really struggling with something, I dive into the gdb-/sim/ppc directory and look at some comments in the code. > BTW, how do I use the 'built-in' serial port in the ppc simulator? See http://sources.redhat.com/psim/manual/ for more info. Jan