This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug shlibs/11497] Stepping broken
- From: "pedro at codesourcery dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: 14 Apr 2010 10:57:42 -0000
- Subject: [Bug shlibs/11497] Stepping broken
- References: <20100413163819.11497.andre.poenitz@nokia.com>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From pedro at codesourcery dot com 2010-04-14 10:57 -------
You weren't originally stopped in ld.so or in a plt when you did "step", right?
How does that patch fix your problem then?
There's still a reachable call to in_solib_dynsym_resolve_code after the patch
that you should be seeing, isn't it? How do you not see any extra output?
...
&& in_solib_dynsym_resolve_code (stop_pc) <<<<<<<< here
+ && !(ecs->event_thread->step_range_start > 1
+ && in_solib_dynsym_resolve_code (ecs->event_thread->step_range_start))
How is this:
&& in_solib_dynsym_resolve_code (stop_pc)
+ && !(ecs->event_thread->step_range_start > 1
+ && in_solib_dynsym_resolve_code (ecs->event_thread->step_range_start))
catching your case then? Are you reaching this bit at the end of
handle_inferior_event when you do "step" ?
/* We aren't done stepping.
Optimize by setting the stepping range to the line.
(We might not be in the original line, but if we entered a
new line in mid-statement, we continue stepping. This makes
things like for(;;) statements work better.) */
ecs->event_thread->step_range_start = stop_pc_sal.pc;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ecs->event_thread->step_range_end = stop_pc_sal.end;
set_step_info (frame, stop_pc_sal);
if (debug_infrun)
fprintf_unfiltered (gdb_stdlog, "infrun: keep going\n");
keep_going (ecs);
so that after a step, it looks like to gdb that you had indeed
started a step from within ld.so or a stub (???)
It would be also helpful to see "set debug infrun 1" before/after patch.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=11497
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.