This is the mail archive of the gdb-prs@sourceware.org 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]

[Bug shlibs/11497] Stepping broken


------- 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.


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