This is the mail archive of the gdb-cvs@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]

[binutils-gdb] Add pid argument in aarch64_get_debug_reg_state


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=88e2cf7ee25c72bce35ebe59b13c9701abce9fee

commit 88e2cf7ee25c72bce35ebe59b13c9701abce9fee
Author: Yao Qi <yao.qi@linaro.org>
Date:   Tue Aug 25 11:38:29 2015 +0100

    Add pid argument in aarch64_get_debug_reg_state
    
    This patch addes argument pid in aarch64_get_debug_reg_state, so that
    its interface is the same on both GDB and GDBserver.
    
    gdb/gdbserver:
    
    2015-018-25  Yao Qi  <yao.qi@linaro.org>
    
    	* linux-aarch64-low.c (aarch64_get_debug_reg_state): Add argument pid.
    	Find proc_info by find_process_pid.  All callers updated.

Diff:
---
 gdb/gdbserver/ChangeLog           |  5 +++++
 gdb/gdbserver/linux-aarch64-low.c | 21 +++++++++++----------
 2 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index de56e19..39966b8 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,5 +1,10 @@
 2015-08-25  Yao Qi  <yao.qi@linaro.org>
 
+	* linux-aarch64-low.c (aarch64_get_debug_reg_state): Add argument pid.
+	Find proc_info by find_process_pid.  All callers updated.
+
+2015-08-25  Yao Qi  <yao.qi@linaro.org>
+
 	* linux-aarch64-low.c (struct arch64_dr_update_callback_param):
 	Remove.
 	(debug_reg_change_callback): Remove.
diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c
index 3968aee..421dcb9 100644
--- a/gdb/gdbserver/linux-aarch64-low.c
+++ b/gdb/gdbserver/linux-aarch64-low.c
@@ -238,11 +238,10 @@ aarch64_init_debug_reg_state (struct aarch64_debug_reg_state *state)
    current process' arch-specific data area.  */
 
 static struct aarch64_debug_reg_state *
-aarch64_get_debug_reg_state ()
+aarch64_get_debug_reg_state (pid_t pid)
 {
-  struct process_info *proc;
+  struct process_info *proc = find_process_pid (pid);
 
-  proc = current_process ();
   return &proc->priv->arch_private->debug_reg_state;
 }
 
@@ -291,7 +290,8 @@ aarch64_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
 {
   int ret;
   enum target_hw_bp_type targ_type;
-  struct aarch64_debug_reg_state *state = aarch64_get_debug_reg_state ();
+  struct aarch64_debug_reg_state *state
+    = aarch64_get_debug_reg_state (pid_of (current_thread));
 
   if (show_debug_regs)
     fprintf (stderr, "insert_point on entry (addr=0x%08lx, len=%d)\n",
@@ -310,8 +310,8 @@ aarch64_insert_point (enum raw_bkpt_type type, CORE_ADDR addr,
 				 state);
 
   if (show_debug_regs)
-    aarch64_show_debug_reg_state (aarch64_get_debug_reg_state (),
-				  "insert_point", addr, len, targ_type);
+    aarch64_show_debug_reg_state (state, "insert_point", addr, len,
+				  targ_type);
 
   return ret;
 }
@@ -327,7 +327,8 @@ aarch64_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
 {
   int ret;
   enum target_hw_bp_type targ_type;
-  struct aarch64_debug_reg_state *state = aarch64_get_debug_reg_state ();
+  struct aarch64_debug_reg_state *state
+    = aarch64_get_debug_reg_state (pid_of (current_thread));
 
   if (show_debug_regs)
     fprintf (stderr, "remove_point on entry (addr=0x%08lx, len=%d)\n",
@@ -347,8 +348,8 @@ aarch64_remove_point (enum raw_bkpt_type type, CORE_ADDR addr,
 				 state);
 
   if (show_debug_regs)
-    aarch64_show_debug_reg_state (aarch64_get_debug_reg_state (),
-				  "remove_point", addr, len, targ_type);
+    aarch64_show_debug_reg_state (state, "remove_point", addr, len,
+				  targ_type);
 
   return ret;
 }
@@ -374,7 +375,7 @@ aarch64_stopped_data_address (void)
     return (CORE_ADDR) 0;
 
   /* Check if the address matches any watched address.  */
-  state = aarch64_get_debug_reg_state ();
+  state = aarch64_get_debug_reg_state (pid_of (current_thread));
   for (i = aarch64_num_wp_regs - 1; i >= 0; --i)
     {
       const unsigned int len = aarch64_watchpoint_length (state->dr_ctrl_wp[i]);


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