From fbec8956077503e04f7adeae7f40037fc834edaa Mon Sep 17 00:00:00 2001 From: Antoine Tremblay Date: Thu, 19 Nov 2015 11:29:10 -0500 Subject: [PATCH] Remove too simple breakpoint_reinsert_addr implementations. This patch removes too simple implementations of the breakpoint_reinsert_addr operation. The only reason to keep them around was to support thread events when PTRACE_EVENT_CLONE was not present but this support has been removed in a previous patch. No regressions, tested on ubuntu 14.04 ARMv7 and x86. With gdbserver-{native,extended} / { -marm -mthumb } Also compilation was tested on aarch64, bfin, cris, crisv32, m32r, mips, nios2, ppc, s390, sparc, tic6x, tile, xtensa. gdb/gdbserver/ChangeLog: * linux-arm-low.c (arm_reinsert_addr): Remove function. (struct linux_target_ops : Set to NULL. * linux-cris-low.c (cris_reinsert_addr> Remove function. (struct linux_target_ops) : Set to NULL. * linux-crisv32-low.c (cris_reinsert_addr): Remove function. (struct linux_target_ops) : Set to NULL. * linux-mips-low.c (mips_reinsert_addr): Remove function. (struct linux_target_ops) : Set to NULL. * linux-nios2-low.c (nios2_reinsert_addr): Remove function. (struct linux_target_ops) : Set to NULL. * linux-sparc-low.c (sparc_reinsert_addr): Remove function. (struct linux_target_ops) : Set to NULL. --- gdb/gdbserver/ChangeLog | 15 +++++++++++++++ gdb/gdbserver/linux-arm-low.c | 14 +------------- gdb/gdbserver/linux-cris-low.c | 18 +----------------- gdb/gdbserver/linux-crisv32-low.c | 19 +------------------ gdb/gdbserver/linux-mips-low.c | 14 +------------- gdb/gdbserver/linux-nios2-low.c | 14 +------------- gdb/gdbserver/linux-sparc-low.c | 15 +-------------- 7 files changed, 21 insertions(+), 88 deletions(-) diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 719ac2be98c..136df267155 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,18 @@ +2015-11-30 Antoine Tremblay + + * linux-arm-low.c (arm_reinsert_addr): Remove function. + (struct linux_target_ops : Set to NULL. + * linux-cris-low.c (cris_reinsert_addr> Remove function. + (struct linux_target_ops) : Set to NULL. + * linux-crisv32-low.c (cris_reinsert_addr): Remove function. + (struct linux_target_ops) : Set to NULL. + * linux-mips-low.c (mips_reinsert_addr): Remove function. + (struct linux_target_ops) : Set to NULL. + * linux-nios2-low.c (nios2_reinsert_addr): Remove function. + (struct linux_target_ops) : Set to NULL. + * linux-sparc-low.c (sparc_reinsert_addr): Remove function. + (struct linux_target_ops) : Set to NULL. + 2015-11-30 Antoine Tremblay * linux-low.c (linux_look_up_symbols): Don't call diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c index 0c788886159..885aec95a93 100644 --- a/gdb/gdbserver/linux-arm-low.c +++ b/gdb/gdbserver/linux-arm-low.c @@ -317,18 +317,6 @@ arm_breakpoint_at (CORE_ADDR where) return 0; } -/* We only place breakpoints in empty marker functions, and thread locking - is outside of the function. So rather than importing software single-step, - we can just run until exit. */ -static CORE_ADDR -arm_reinsert_addr (void) -{ - struct regcache *regcache = get_thread_regcache (current_thread, 1); - unsigned long pc; - collect_register_by_name (regcache, "lr", &pc); - return pc; -} - /* Fetch the thread-local storage pointer for libthread_db. */ ps_err_e @@ -1044,7 +1032,7 @@ struct linux_target_ops the_low_target = { arm_set_pc, arm_breakpoint_kind_from_pc, arm_sw_breakpoint_from_kind, - arm_reinsert_addr, + NULL, /* breakpoint_reinsert_addr */ 0, arm_breakpoint_at, arm_supports_z_point_type, diff --git a/gdb/gdbserver/linux-cris-low.c b/gdb/gdbserver/linux-cris-low.c index d7b70e3eae3..9f4519c1953 100644 --- a/gdb/gdbserver/linux-cris-low.c +++ b/gdb/gdbserver/linux-cris-low.c @@ -105,18 +105,6 @@ cris_breakpoint_at (CORE_ADDR where) return 0; } -/* We only place breakpoints in empty marker functions, and thread locking - is outside of the function. So rather than importing software single-step, - we can just run until exit. */ -static CORE_ADDR -cris_reinsert_addr (void) -{ - struct regcache *regcache = get_thread_regcache (current_thread, 1); - unsigned long pc; - collect_register_by_name (regcache, "srp", &pc); - return pc; -} - static void cris_arch_setup (void) { @@ -151,13 +139,9 @@ struct linux_target_ops the_low_target = { cris_set_pc, NULL, /* breakpoint_kind_from_pc */ cris_sw_breakpoint_from_kind, - cris_reinsert_addr, + NULL, /* breakpoint_reinsert_addr */ 0, cris_breakpoint_at, - 0, - 0, - 0, - 0, }; void diff --git a/gdb/gdbserver/linux-crisv32-low.c b/gdb/gdbserver/linux-crisv32-low.c index 4f9afa6d9f0..2404d0e1f04 100644 --- a/gdb/gdbserver/linux-crisv32-low.c +++ b/gdb/gdbserver/linux-crisv32-low.c @@ -101,23 +101,6 @@ cris_breakpoint_at (CORE_ADDR where) return 0; } -/* We only place breakpoints in empty marker functions, and thread locking - is outside of the function. So rather than importing software single-step, - we can just run until exit. */ - -/* FIXME: This function should not be needed, since we have PTRACE_SINGLESTEP - for CRISv32. Without it, td_ta_event_getmsg in thread_db_create_event - will fail when debugging multi-threaded applications. */ - -static CORE_ADDR -cris_reinsert_addr (void) -{ - struct regcache *regcache = get_thread_regcache (current_thread, 1); - unsigned long pc; - collect_register_by_name (regcache, "srp", &pc); - return pc; -} - static void cris_write_data_breakpoint (struct regcache *regcache, int bp, unsigned long start, unsigned long end) @@ -439,7 +422,7 @@ struct linux_target_ops the_low_target = { cris_set_pc, NULL, /* breakpoint_kind_from_pc */ cris_sw_breakpoint_from_kind, - cris_reinsert_addr, + NULL, /* breakpoint_reinsert_addr */ 0, cris_breakpoint_at, cris_supports_z_point_type, diff --git a/gdb/gdbserver/linux-mips-low.c b/gdb/gdbserver/linux-mips-low.c index 459f4fc6850..b8f8805cbaa 100644 --- a/gdb/gdbserver/linux-mips-low.c +++ b/gdb/gdbserver/linux-mips-low.c @@ -275,18 +275,6 @@ mips_sw_breakpoint_from_kind (int kind, int *size) return (const gdb_byte *) &mips_breakpoint; } -/* We only place breakpoints in empty marker functions, and thread locking - is outside of the function. So rather than importing software single-step, - we can just run until exit. */ -static CORE_ADDR -mips_reinsert_addr (void) -{ - struct regcache *regcache = get_thread_regcache (current_thread, 1); - union mips_register ra; - collect_register_by_name (regcache, "r31", ra.buf); - return register_size (regcache->tdesc, 0) == 4 ? ra.reg32 : ra.reg64; -} - static int mips_breakpoint_at (CORE_ADDR where) { @@ -892,7 +880,7 @@ struct linux_target_ops the_low_target = { mips_set_pc, NULL, /* breakpoint_kind_from_pc */ mips_sw_breakpoint_from_kind, - mips_reinsert_addr, + NULL, /* breakpoint_reinsert_addr */ 0, mips_breakpoint_at, mips_supports_z_point_type, diff --git a/gdb/gdbserver/linux-nios2-low.c b/gdb/gdbserver/linux-nios2-low.c index 369e89c3121..9380c3b211d 100644 --- a/gdb/gdbserver/linux-nios2-low.c +++ b/gdb/gdbserver/linux-nios2-low.c @@ -144,18 +144,6 @@ nios2_sw_breakpoint_from_kind (int kind, int *size) return (const gdb_byte *) &nios2_breakpoint; } -/* Implement the breakpoint_reinsert_addr linux_target_ops method. */ - -static CORE_ADDR -nios2_reinsert_addr (void) -{ - union nios2_register ra; - struct regcache *regcache = get_thread_regcache (current_thread, 1); - - collect_register_by_name (regcache, "ra", ra.buf); - return ra.reg32; -} - /* Implement the breakpoint_at linux_target_ops method. */ static int @@ -279,7 +267,7 @@ struct linux_target_ops the_low_target = nios2_set_pc, NULL, /* breakpoint_kind_from_pc */ nios2_sw_breakpoint_from_kind, - nios2_reinsert_addr, + NULL, /* breakpoint_reinsert_addr */ 0, nios2_breakpoint_at, }; diff --git a/gdb/gdbserver/linux-sparc-low.c b/gdb/gdbserver/linux-sparc-low.c index e6a4f844ef2..54a849c61ae 100644 --- a/gdb/gdbserver/linux-sparc-low.c +++ b/gdb/gdbserver/linux-sparc-low.c @@ -265,19 +265,6 @@ sparc_breakpoint_at (CORE_ADDR where) return 0; } -/* We only place breakpoints in empty marker functions, and thread locking - is outside of the function. So rather than importing software single-step, - we can just run until exit. */ -static CORE_ADDR -sparc_reinsert_addr (void) -{ - struct regcache *regcache = get_thread_regcache (current_thread, 1); - CORE_ADDR lr; - /* O7 is the equivalent to the 'lr' of other archs. */ - collect_register_by_name (regcache, "o7", &lr); - return lr; -} - static void sparc_arch_setup (void) { @@ -333,7 +320,7 @@ struct linux_target_ops the_low_target = { NULL, NULL, /* breakpoint_kind_from_pc */ sparc_sw_breakpoint_from_kind, - sparc_reinsert_addr, + NULL, /* breakpoint_reinsert_addr */ 0, sparc_breakpoint_at, NULL, /* supports_z_point_type */ -- 2.30.2