aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYao Qi <yao@codesourcery.com>2011-09-07 14:24:48 +0000
committerYao Qi <yao@codesourcery.com>2011-09-07 14:24:48 +0000
commitede1849f9211940ccad355759eb755c6df3e5ce2 (patch)
tree741505d05c9631865a2d7a42e83648e8c2f5b372
parent28942f62934c4f84542677844cddd570881f4a37 (diff)
downloadbinutils-ede1849f9211940ccad355759eb755c6df3e5ce2.zip
binutils-ede1849f9211940ccad355759eb755c6df3e5ce2.tar.gz
binutils-ede1849f9211940ccad355759eb755c6df3e5ce2.tar.bz2
gdb/
* gdbthread.h (struct thread_info): Remove fields `stepping_through_solib_after_catch' and `stepping_through_solib_catchpoints'. * infrun.c (init_thread_stepping_state): Update. (process_event_stop_test, currently_stepping): Update. (currently_stepping_or_nexting_callback): Update.
-rw-r--r--gdb/ChangeLog9
-rw-r--r--gdb/gdbthread.h11
-rw-r--r--gdb/infrun.c37
3 files changed, 10 insertions, 47 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 584959d..43d4a06 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,14 @@
2011-09-07 Yao Qi <yao@codesourcery.com>
+ * gdbthread.h (struct thread_info): Remove fields
+ `stepping_through_solib_after_catch' and
+ `stepping_through_solib_catchpoints'.
+ * infrun.c (init_thread_stepping_state): Update.
+ (process_event_stop_test, currently_stepping): Update.
+ (currently_stepping_or_nexting_callback): Update.
+
+2011-09-07 Yao Qi <yao@codesourcery.com>
+
* gdbthread.h (struct thread_info): Comment on field
`step_after_step_resume_breakpoint'.
diff --git a/gdb/gdbthread.h b/gdb/gdbthread.h
index 6baeb92..6011087 100644
--- a/gdb/gdbthread.h
+++ b/gdb/gdbthread.h
@@ -186,17 +186,6 @@ struct thread_info
when GDB gets back SIGTRAP from step_resume_breakpoint. */
int step_after_step_resume_breakpoint;
- /* This is set TRUE when a catchpoint of a shared library event
- triggers. Since we don't wish to leave the inferior in the
- solib hook when we report the event, we step the inferior
- back to user code before stopping and reporting the event. */
- int stepping_through_solib_after_catch;
-
- /* When stepping_through_solib_after_catch is TRUE, this is a
- list of the catchpoints that should be reported as triggering
- when we finally do stop stepping. */
- bpstat stepping_through_solib_catchpoints;
-
/* Per-thread command support. */
/* Pointer to what is left to do for an execution command after the
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 8846cdf..2b4f6db 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -2853,8 +2853,6 @@ init_thread_stepping_state (struct thread_info *tss)
{
tss->stepping_over_breakpoint = 0;
tss->step_after_step_resume_breakpoint = 0;
- tss->stepping_through_solib_after_catch = 0;
- tss->stepping_through_solib_catchpoints = NULL;
}
/* Return the cached copy of the last pid/waitstatus returned by
@@ -4553,37 +4551,6 @@ process_event_stop_test:
}
}
- /* Are we stepping to get the inferior out of the dynamic linker's
- hook (and possibly the dld itself) after catching a shlib
- event? */
- if (ecs->event_thread->stepping_through_solib_after_catch)
- {
-#if defined(SOLIB_ADD)
- /* Have we reached our destination? If not, keep going. */
- if (SOLIB_IN_DYNAMIC_LINKER (PIDGET (ecs->ptid), stop_pc))
- {
- if (debug_infrun)
- fprintf_unfiltered (gdb_stdlog,
- "infrun: stepping in dynamic linker\n");
- ecs->event_thread->stepping_over_breakpoint = 1;
- keep_going (ecs);
- return;
- }
-#endif
- if (debug_infrun)
- fprintf_unfiltered (gdb_stdlog, "infrun: step past dynamic linker\n");
- /* Else, stop and report the catchpoint(s) whose triggering
- caused us to begin stepping. */
- ecs->event_thread->stepping_through_solib_after_catch = 0;
- bpstat_clear (&ecs->event_thread->control.stop_bpstat);
- ecs->event_thread->control.stop_bpstat
- = bpstat_copy (ecs->event_thread->stepping_through_solib_catchpoints);
- bpstat_clear (&ecs->event_thread->stepping_through_solib_catchpoints);
- stop_print_frame = 1;
- stop_stepping (ecs);
- return;
- }
-
if (ecs->event_thread->control.step_resume_breakpoint)
{
if (debug_infrun)
@@ -5143,7 +5110,6 @@ currently_stepping (struct thread_info *tp)
return ((tp->control.step_range_end
&& tp->control.step_resume_breakpoint == NULL)
|| tp->control.trap_expected
- || tp->stepping_through_solib_after_catch
|| bpstat_should_step ());
}
@@ -5157,8 +5123,7 @@ currently_stepping_or_nexting_callback (struct thread_info *tp, void *data)
return 0;
return (tp->control.step_range_end
- || tp->control.trap_expected
- || tp->stepping_through_solib_after_catch);
+ || tp->control.trap_expected);
}
/* Inferior has stepped into a subroutine call with source code that