diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-10-31 16:37:03 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-10-31 16:37:03 +0000 |
commit | 7370d51d533eae66856bfab7c4c4f6d405aec396 (patch) | |
tree | f88c584fbaaddf35865660e43259a1a3ec02e78b /gdb/rs6000-tdep.c | |
parent | f4d2922d2ad172fb387f6fb39738eacc7242254c (diff) | |
download | gdb-7370d51d533eae66856bfab7c4c4f6d405aec396.tar.gz |
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.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 9cd6120080d..87ed4dcf9bf 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); |