From ed8b7b421c98533b9b08995edd7363328b55921e Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Tue, 25 Aug 2015 11:38:29 +0100 Subject: [PATCH] Move aarch64_linux_new_thread to nat/aarch64-linux.c This patch moves aarch64_linux_new_thread in GDB and GDBserver to nat/aarch64-linux.c. gdb: 2015-08-25 Yao Qi * aarch64-linux-nat.c (aarch64_linux_new_thread): Move it to ... * nat/aarch64-linux.c (aarch64_linux_new_thread): ... here. * nat/aarch64-linux.h (aarch64_linux_new_thread): Declare. gdb/gdbserver: 2015-08-25 Yao Qi * linux-aarch64-low.c (aarch64_linux_new_thread): Remove. --- gdb/ChangeLog | 6 ++++++ gdb/aarch64-linux-nat.c | 13 ------------- gdb/gdbserver/ChangeLog | 4 ++++ gdb/gdbserver/linux-aarch64-low.c | 16 ---------------- gdb/nat/aarch64-linux.c | 16 ++++++++++++++++ gdb/nat/aarch64-linux.h | 2 ++ 6 files changed, 28 insertions(+), 29 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 97c3a480c40..5dd90e7a4ea 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2015-08-25 Yao Qi + + * aarch64-linux-nat.c (aarch64_linux_new_thread): Move it to ... + * nat/aarch64-linux.c (aarch64_linux_new_thread): ... here. + * nat/aarch64-linux.h (aarch64_linux_new_thread): Declare. + 2015-08-25 Yao Qi * Makefile.in (aarch64-liunx.o): New rule. diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c index ea562386463..f6edb6841f6 100644 --- a/gdb/aarch64-linux-nat.c +++ b/gdb/aarch64-linux-nat.c @@ -426,19 +426,6 @@ supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp) AARCH64_LINUX_SIZEOF_FPREGSET); } -static void -aarch64_linux_new_thread (struct lwp_info *lp) -{ - struct arch_lwp_info *info = XCNEW (struct arch_lwp_info); - - /* Mark that all the hardware breakpoint/watchpoint register pairs - for this thread need to be initialized. */ - DR_MARK_ALL_CHANGED (info->dr_changed_bp, aarch64_num_bp_regs); - DR_MARK_ALL_CHANGED (info->dr_changed_wp, aarch64_num_wp_regs); - - lp->arch_private = info; -} - /* linux_nat_new_fork hook. */ static void diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 274f8504be7..6d77e94dd22 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,7 @@ +2015-08-25 Yao Qi + + * linux-aarch64-low.c (aarch64_linux_new_thread): Remove. + 2015-08-25 Yao Qi * Makefile.in (aarch64-linux.o): New rule. diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c index d35d4e9770a..dbe49518237 100644 --- a/gdb/gdbserver/linux-aarch64-low.c +++ b/gdb/gdbserver/linux-aarch64-low.c @@ -438,22 +438,6 @@ aarch64_linux_new_process (void) return info; } -/* Implementation of linux_target_ops method "linux_new_thread". */ - -static void -aarch64_linux_new_thread (struct lwp_info *lwp) -{ - struct arch_lwp_info *info = xcalloc (1, sizeof (*info)); - - /* Mark that all the hardware breakpoint/watchpoint register pairs - for this thread need to be initialized (with data from - aarch_process_info.debug_reg_state). */ - DR_MARK_ALL_CHANGED (info->dr_changed_bp, aarch64_num_bp_regs); - DR_MARK_ALL_CHANGED (info->dr_changed_wp, aarch64_num_wp_regs); - - lwp->arch_private = info; -} - /* Implementation of linux_target_ops method "linux_new_fork". */ static void diff --git a/gdb/nat/aarch64-linux.c b/gdb/nat/aarch64-linux.c index 7b4ead7ffb0..121542a22d7 100644 --- a/gdb/nat/aarch64-linux.c +++ b/gdb/nat/aarch64-linux.c @@ -62,3 +62,19 @@ aarch64_linux_prepare_to_resume (struct lwp_info *lwp) } } } + +/* Function to call when a new thread is detected. */ + +void +aarch64_linux_new_thread (struct lwp_info *lwp) +{ + struct arch_lwp_info *info = xcalloc (1, sizeof (*info)); + + /* Mark that all the hardware breakpoint/watchpoint register pairs + for this thread need to be initialized (with data from + aarch_process_info.debug_reg_state). */ + DR_MARK_ALL_CHANGED (info->dr_changed_bp, aarch64_num_bp_regs); + DR_MARK_ALL_CHANGED (info->dr_changed_wp, aarch64_num_wp_regs); + + lwp_set_arch_private_info (lwp, info); +} diff --git a/gdb/nat/aarch64-linux.h b/gdb/nat/aarch64-linux.h index cf4e468a502..5cb432c1664 100644 --- a/gdb/nat/aarch64-linux.h +++ b/gdb/nat/aarch64-linux.h @@ -21,4 +21,6 @@ void aarch64_linux_prepare_to_resume (struct lwp_info *lwp); +void aarch64_linux_new_thread (struct lwp_info *lwp); + #endif /* AARCH64_LINUX_H */ -- 2.30.2