From: John Baldwin Date: Tue, 22 Mar 2022 19:05:43 +0000 (-0700) Subject: x86-nat: Add x86_lookup_debug_reg_state. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b1babce7c31def7fb894875136788490b167f989;p=binutils-gdb.git x86-nat: Add x86_lookup_debug_reg_state. This function returns nullptr if debug register state does not yet exist for a given process rather than creating new state. --- diff --git a/gdb/x86-nat.c b/gdb/x86-nat.c index c1e892bf564..36513dd8cfb 100644 --- a/gdb/x86-nat.c +++ b/gdb/x86-nat.c @@ -46,6 +46,18 @@ struct x86_dr_low_type x86_dr_low; static std::unordered_map x86_debug_process_state; +/* See x86-nat.h. */ + +struct x86_debug_reg_state * +x86_lookup_debug_reg_state (pid_t pid) +{ + auto it = x86_debug_process_state.find (pid); + if (it != x86_debug_process_state.end ()) + return &it->second; + + return nullptr; +} + /* Get debug registers state for process PID. */ struct x86_debug_reg_state * diff --git a/gdb/x86-nat.h b/gdb/x86-nat.h index 913291a2305..d9c2a3f6e14 100644 --- a/gdb/x86-nat.h +++ b/gdb/x86-nat.h @@ -40,6 +40,11 @@ extern void x86_set_debug_register_length (int len); extern void x86_cleanup_dregs (void); +/* Return the debug register state for process PID. If no existing + state is found for this process, return nullptr. */ + +struct x86_debug_reg_state *x86_lookup_debug_reg_state (pid_t pid); + /* Called whenever GDB is no longer debugging process PID. It deletes data structures that keep track of debug register state. */