This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: single stepping mips remote programs built with gcc 4.0
- From: Daniel Jacobowitz <drow at false dot org>
- To: "Newman, Sarah R" <sarah dot r dot newman at lmco dot com>
- Cc: gdb at sources dot redhat dot com
- Date: Tue, 22 Nov 2005 13:41:57 -0500
- Subject: Re: single stepping mips remote programs built with gcc 4.0
- References: <5990BE666D0436419054489CDD9D505409EE88F5@emss01m10.us.lmco.com>
On Mon, Nov 21, 2005 at 09:25:45PM -0800, Newman, Sarah R wrote:
> (gdb) set debug remote 1
> (gdb) step
> Sending packet: $m80001998,4#70...Ack
> Packet received: 27bdffe8
> Sending packet: $M80001998,4:0005000d#43...Ack
> Packet received: OK
> Sending packet: $m800019b0,4#91...Ack
> Packet received: 03e00008
> Sending packet: $M800019b0,4:0005000d#64...Ack
> Packet received: OK
Insert breakpoints before stepping...
> Sending packet: $s#73...Ack
> Packet received: S05
> Sending packet: $p25#d7...Ack
> Packet received: 800019a4
Step over the jump... into the delay slot, which is not what GDB
expects, but hopefully that's not the problem here.
> Sending packet: $s#73...Ack
> Packet received: S05
> Sending packet: $p25#d7...Ack
> Packet received: 80001990
> Sending packet: $p1d#05...Ack
> Packet received: 8402ba60
> Sending packet: $p1f#07...Ack
> Packet received: 800019a8
> Sending packet: $m8000199c,4#9b...Ack
> Packet received: afbf0010
> Sending packet: $m800019a0,4#90...Ack
> Packet received: 0c000664
> Sending packet: $m800019a4,4#94...Ack
> Packet received: 00000000
> Sending packet: $c#63...Ack
> Packet received: S02
> Sending packet: $p25#d7...Ack
> Packet received: 800019b0
We realize we've stepped into a function call. But we're continuing
without setting any breakpoint at all, which is bogus.
> #0 remote_resume (ptid={pid = -1, lwp = 0, tid = 0}, step=0,
> siggnal=TARGET_SIGNAL_0) at ../../GDB-ISS/gdb/remote.c:2603
> #1 0x004240bb in resume (step=0, sig=TARGET_SIGNAL_0)
> at ../../GDB-ISS/gdb/infrun.c:624
> #2 0x004278b7 in keep_going (ecs=0x22d810) at
> ../../GDB-ISS/gdb/infrun.c:2825
> #3 0x00427606 in step_into_function (ecs=0x22d810)
> at ../../GDB-ISS/gdb/infrun.c:2708
> #4 0x00426d3a in handle_inferior_event (ecs=0x22d810)
> at ../../GDB-ISS/gdb/infrun.c:2433
I can see no way at all for step_into_function to call keep_going
without inserting a stop breakpoint. Obviously that's gone wrong.
Please step through that function and tell me where it's trying to put
the breakpoint, in particular what happens before and during
insert_step_resume_breakpoint_at_sal.
--
Daniel Jacobowitz
CodeSourcery, LLC