diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2020-12-04 16:43:53 -0500 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2020-12-04 16:43:53 -0500 |
commit | f5f01699643e923edf7d0c661e330ceff609fac5 (patch) | |
tree | 0f4ec211afc96fca1625c42ccdb532bcab50626a /gdb/infrun.c | |
parent | c0aba012edb6068e2433cbac855715a349a8555f (diff) | |
download | gdb-f5f01699643e923edf7d0c661e330ceff609fac5.zip gdb-f5f01699643e923edf7d0c661e330ceff609fac5.tar.gz gdb-f5f01699643e923edf7d0c661e330ceff609fac5.tar.bz2 |
gdb: get rid of get_displaced_stepping_state
Remove function get_displaced_stepping_state. When it was introduced,
inferiors' displaced stepping state was kept in a linked list in
infrun.c, so it was handy. Nowadays, the state is kept inside struct
inferior directly, so we can just access it directly instead.
gdb/ChangeLog:
* infrun.c (get_displaced_stepping_state): Remove, change
callers to access the field directly.
Change-Id: I9a733e32e29c7ebf856ab0befe1076bbb8c7af69
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r-- | gdb/infrun.c | 44 |
1 files changed, 14 insertions, 30 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c index 5c383b4..7bde615 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -1463,14 +1463,6 @@ step_over_info_valid_p (void) displaced_step_closure::~displaced_step_closure () = default; -/* Get the displaced stepping state of inferior INF. */ - -static displaced_step_inferior_state * -get_displaced_stepping_state (inferior *inf) -{ - return &inf->displaced_step_state; -} - /* Returns true if any inferior has a thread doing a displaced step. */ @@ -1493,7 +1485,7 @@ displaced_step_in_progress_thread (thread_info *thread) { gdb_assert (thread != NULL); - return get_displaced_stepping_state (thread->inf)->step_thread == thread; + return thread->inf->displaced_step_state.step_thread == thread; } /* Return true if INF has a thread doing a displaced step. */ @@ -1501,7 +1493,7 @@ displaced_step_in_progress_thread (thread_info *thread) static bool displaced_step_in_progress (inferior *inf) { - return get_displaced_stepping_state (inf)->step_thread != nullptr; + return inf->displaced_step_state.step_thread != nullptr; } /* If inferior is in displaced stepping, and ADDR equals to starting address @@ -1511,13 +1503,13 @@ displaced_step_in_progress (inferior *inf) struct displaced_step_closure* get_displaced_step_closure_by_addr (CORE_ADDR addr) { - displaced_step_inferior_state *displaced - = get_displaced_stepping_state (current_inferior ()); + displaced_step_inferior_state &displaced + = current_inferior ()->displaced_step_state; /* If checking the mode of displaced instruction in copy area. */ - if (displaced->step_thread != nullptr - && displaced->step_copy == addr) - return displaced->step_closure.get (); + if (displaced.step_thread != nullptr + && displaced.step_copy == addr) + return displaced.step_closure.get (); return NULL; } @@ -1606,12 +1598,9 @@ use_displaced_stepping (thread_info *tp) if (find_record_target () != nullptr) return false; - displaced_step_inferior_state *displaced_state - = get_displaced_stepping_state (tp->inf); - /* If displaced stepping failed before for this inferior, don't bother trying again. */ - if (displaced_state->failed_before) + if (tp->inf->displaced_step_state.failed_before) return false; return true; @@ -1690,8 +1679,7 @@ displaced_step_prepare_throw (thread_info *tp) /* We have to displaced step one thread at a time, as we only have access to a single scratch space per inferior. */ - displaced_step_inferior_state *displaced - = get_displaced_stepping_state (tp->inf); + displaced_step_inferior_state *displaced = &tp->inf->displaced_step_state; if (displaced->step_thread != nullptr) { @@ -1795,8 +1783,6 @@ displaced_step_prepare (thread_info *thread) } catch (const gdb_exception_error &ex) { - struct displaced_step_inferior_state *displaced_state; - if (ex.error != MEMORY_ERROR && ex.error != NOT_SUPPORTED_ERROR) throw; @@ -1813,9 +1799,7 @@ displaced_step_prepare (thread_info *thread) } /* Disable further displaced stepping attempts. */ - displaced_state - = get_displaced_stepping_state (thread->inf); - displaced_state->failed_before = 1; + thread->inf->displaced_step_state.failed_before = 1; } return prepared; @@ -1857,8 +1841,8 @@ displaced_step_restore (struct displaced_step_inferior_state *displaced, static int displaced_step_fixup (thread_info *event_thread, enum gdb_signal signal) { - struct displaced_step_inferior_state *displaced - = get_displaced_stepping_state (event_thread->inf); + displaced_step_inferior_state *displaced + = &event_thread->inf->displaced_step_state; int ret; /* Was this event for the thread we displaced? */ @@ -3629,7 +3613,7 @@ prepare_for_detach (void) struct inferior *inf = current_inferior (); ptid_t pid_ptid = ptid_t (inf->pid); - displaced_step_inferior_state *displaced = get_displaced_stepping_state (inf); + displaced_step_inferior_state *displaced = &inf->displaced_step_state; /* Is any thread of this process displaced stepping? If not, there's nothing else to do. */ @@ -5310,7 +5294,7 @@ handle_inferior_event (struct execution_control_state *ecs) if (ecs->ws.kind == TARGET_WAITKIND_FORKED) { displaced_step_inferior_state *displaced - = get_displaced_stepping_state (parent_inf); + = &parent_inf->displaced_step_state; if (displaced->step_thread != nullptr) displaced_step_restore (displaced, ecs->ws.value.related_pid); |