diff options
author | Yao Qi <yao@codesourcery.com> | 2011-09-07 14:24:48 +0000 |
---|---|---|
committer | Yao Qi <yao@codesourcery.com> | 2011-09-07 14:24:48 +0000 |
commit | ede1849f9211940ccad355759eb755c6df3e5ce2 (patch) | |
tree | 741505d05c9631865a2d7a42e83648e8c2f5b372 | |
parent | 28942f62934c4f84542677844cddd570881f4a37 (diff) | |
download | fsf-binutils-gdb-ede1849f9211940ccad355759eb755c6df3e5ce2.zip fsf-binutils-gdb-ede1849f9211940ccad355759eb755c6df3e5ce2.tar.gz fsf-binutils-gdb-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/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/gdbthread.h | 11 | ||||
-rw-r--r-- | gdb/infrun.c | 37 |
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 |