From 74d1f0631ab3b9a845bc2becb4fd6afa6f691129 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Fri, 16 May 2008 12:49:47 +0000 Subject: [PATCH] * ppc-linux-tdep.c (ppc_linux_init_abi): Do not install ppc64_sysv_abi_adjust_breakpoint_address. * ppc-sysv-tdep.c (ppc64_sysv_abi_adjust_breakpoint_address): Remove. * ppc-tdep.h (ppc64_sysv_abi_adjust_breakpoint_address): Remove. --- gdb/ChangeLog | 7 +++++++ gdb/ppc-linux-tdep.c | 9 --------- gdb/ppc-sysv-tdep.c | 17 ----------------- gdb/ppc-tdep.h | 3 --- 4 files changed, 7 insertions(+), 29 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f8f506a..ad130d7 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,12 @@ 2008-05-16 Ulrich Weigand + * ppc-linux-tdep.c (ppc_linux_init_abi): Do not install + ppc64_sysv_abi_adjust_breakpoint_address. + * ppc-sysv-tdep.c (ppc64_sysv_abi_adjust_breakpoint_address): Remove. + * ppc-tdep.h (ppc64_sysv_abi_adjust_breakpoint_address): Remove. + +2008-05-16 Ulrich Weigand + * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Remove. (ppc_linux_init_abi): Install find_solib_trampoline_target instead of ppc_linux_skip_trampoline_code. diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c index 91cd365..088e8b2 100644 --- a/gdb/ppc-linux-tdep.c +++ b/gdb/ppc-linux-tdep.c @@ -914,15 +914,6 @@ ppc_linux_init_abi (struct gdbarch_info info, if (tdep->wordsize == 8) { - /* Handle the 64-bit SVR4 minimal-symbol convention of using "FN" - for the descriptor and ".FN" for the entry-point -- a user - specifying "break FN" will unexpectedly end up with a breakpoint - on the descriptor and not the function. This architecture method - transforms any breakpoints on descriptors into breakpoints on the - corresponding entry point. */ - set_gdbarch_adjust_breakpoint_address - (gdbarch, ppc64_sysv_abi_adjust_breakpoint_address); - /* Handle PPC GNU/Linux 64-bit function pointers (which are really function descriptors). */ set_gdbarch_convert_from_func_ptr_addr diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c index 669165f..3cb3ea3 100644 --- a/gdb/ppc-sysv-tdep.c +++ b/gdb/ppc-sysv-tdep.c @@ -1510,20 +1510,3 @@ ppc64_sysv_abi_return_value (struct gdbarch *gdbarch, struct type *func_type, return RETURN_VALUE_STRUCT_CONVENTION; } -CORE_ADDR -ppc64_sysv_abi_adjust_breakpoint_address (struct gdbarch *gdbarch, - CORE_ADDR bpaddr) -{ - /* PPC64 SYSV specifies that the minimal-symbol "FN" should point at - a function-descriptor while the corresponding minimal-symbol - ".FN" should point at the entry point. Consequently, a command - like "break FN" applied to an object file with only minimal - symbols, will insert the breakpoint into the descriptor at "FN" - and not the function at ".FN". Avoid this confusion by adjusting - any attempt to set a descriptor breakpoint into a corresponding - function breakpoint. Note that GDB warns the user when this - adjustment is applied - that's ok as otherwise the user will have - no way of knowing why their breakpoint at "FN" resulted in the - program stopping at ".FN". */ - return gdbarch_convert_from_func_ptr_addr (gdbarch, bpaddr, ¤t_target); -} diff --git a/gdb/ppc-tdep.h b/gdb/ppc-tdep.h index f523b34..766ddd6 100644 --- a/gdb/ppc-tdep.h +++ b/gdb/ppc-tdep.h @@ -54,9 +54,6 @@ CORE_ADDR ppc64_sysv_abi_push_dummy_call (struct gdbarch *gdbarch, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr); -CORE_ADDR ppc64_sysv_abi_adjust_breakpoint_address (struct gdbarch *gdbarch, - CORE_ADDR bpaddr); - enum return_value_convention ppc64_sysv_abi_return_value (struct gdbarch *gdbarch, struct type *func_type, struct type *valtype, -- 2.7.4