aboutsummaryrefslogtreecommitdiff
path: root/gdb/rs6000-tdep.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-10-31 16:37:03 +0000
committerAndrew Cagney <cagney@redhat.com>2003-10-31 16:37:03 +0000
commit6066c3de513998f9c90c14385bf5e1b9ab626cc0 (patch)
treeaaf6652db0db340f2200a57c214be76ece6d934d /gdb/rs6000-tdep.c
parent4b8a223fcb9a9d720b65cb6bc36ff82982e0bf4d (diff)
downloadgdb-6066c3de513998f9c90c14385bf5e1b9ab626cc0.zip
gdb-6066c3de513998f9c90c14385bf5e1b9ab626cc0.tar.gz
gdb-6066c3de513998f9c90c14385bf5e1b9ab626cc0.tar.bz2
2003-10-31 Andrew Cagney <cagney@redhat.com>
* rs6000-tdep.c (rs6000_gdbarch_init): For 64-bit ABI, set adjust_breakpoint_address. * Makefile.in (ppc-sysv-tdep.o): Add $(target_h). * ppc-tdep.h (ppc64_sysv_abi_adjust_breakpoint_address): Declare. * ppc-sysv-tdep.c: Include "target.h". Update copyright. (ppc64_sysv_abi_adjust_breakpoint_address): New function.
Diffstat (limited to 'gdb/rs6000-tdep.c')
-rw-r--r--gdb/rs6000-tdep.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index 9cd6120..87ed4dc 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -2895,6 +2895,15 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_function_start_offset (gdbarch, 0);
set_gdbarch_breakpoint_from_pc (gdbarch, rs6000_breakpoint_from_pc);
+ /* 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. */
+ if (sysv_abi && wordsize == 8)
+ set_gdbarch_adjust_breakpoint_address (gdbarch, ppc64_sysv_abi_adjust_breakpoint_address);
+
/* Not sure on this. FIXMEmgo */
set_gdbarch_frame_args_skip (gdbarch, 8);