+2015-11-30 Antoine Tremblay <antoine.tremblay@ericsson.com>
+
+ * linux-arm-low.c (arm_reinsert_addr): Remove function.
+ (struct linux_target_ops <breakpoint_reinsert_addr>: Set to NULL.
+ * linux-cris-low.c (cris_reinsert_addr> Remove function.
+ (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
+ * linux-crisv32-low.c (cris_reinsert_addr): Remove function.
+ (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
+ * linux-mips-low.c (mips_reinsert_addr): Remove function.
+ (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
+ * linux-nios2-low.c (nios2_reinsert_addr): Remove function.
+ (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
+ * linux-sparc-low.c (sparc_reinsert_addr): Remove function.
+ (struct linux_target_ops) <breakpoint_reinsert_addr>: Set to NULL.
+
2015-11-30 Antoine Tremblay <antoine.tremblay@ericsson.com>
* linux-low.c (linux_look_up_symbols): Don't call
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
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,
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)
{
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
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)
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,
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)
{
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,
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
nios2_set_pc,
NULL, /* breakpoint_kind_from_pc */
nios2_sw_breakpoint_from_kind,
- nios2_reinsert_addr,
+ NULL, /* breakpoint_reinsert_addr */
0,
nios2_breakpoint_at,
};
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)
{
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 */