aboutsummaryrefslogtreecommitdiff
path: root/gdb/config/sparc
diff options
context:
space:
mode:
authorMark Alexander <marka@cygnus>1998-06-02 09:19:54 +0000
committerMark Alexander <marka@cygnus>1998-06-02 09:19:54 +0000
commit33c65ba3b304c0b26899385fae3987b95c70d4f4 (patch)
tree8e664522a1b9534a2498ffaa2389f83d1d25b0f2 /gdb/config/sparc
parent7d449b448baf41aef6f4df11627ee4dd7543bacb (diff)
downloadgdb-33c65ba3b304c0b26899385fae3987b95c70d4f4.zip
gdb-33c65ba3b304c0b26899385fae3987b95c70d4f4.tar.gz
gdb-33c65ba3b304c0b26899385fae3987b95c70d4f4.tar.bz2
* sparc-tdep.c (sparc_target_architecture_hook): New function to
set endianness based on machine type. (_initialize_sparc_tdep): Initialize target_architecture_hook. (sparc_print_register_hook): Print PSR and FPSR in fancy format on 32-bit machines. * config/sparc/tm-sparc.h (PRINT_REGISTER_HOOK): Redefine to call sparc_print_register_hook instead of using inline code. * config/sparc/tm-sp64.h (PRINT_REGISTER_HOOK): Remove.
Diffstat (limited to 'gdb/config/sparc')
-rw-r--r--gdb/config/sparc/tm-sp64.h8
-rw-r--r--gdb/config/sparc/tm-sparc.h18
2 files changed, 7 insertions, 19 deletions
diff --git a/gdb/config/sparc/tm-sp64.h b/gdb/config/sparc/tm-sp64.h
index 7f48bdc..4665bcc 100644
--- a/gdb/config/sparc/tm-sp64.h
+++ b/gdb/config/sparc/tm-sp64.h
@@ -335,14 +335,6 @@ struct value;
#undef FRAME_SPECIFICATION_DYADIC
#define FRAME_SPECIFICATION_DYADIC
-/* To print every pair of float registers as a double, we use this hook.
- We also print the condition code registers in a readable format
- (FIXME: can expand this to all control regs). */
-
-#undef PRINT_REGISTER_HOOK
-#define PRINT_REGISTER_HOOK(regno) \
- sparc_print_register_hook (regno)
-
/* Offsets into jmp_buf.
FIXME: This was borrowed from the v8 stuff and will probably have to change
for v9. */
diff --git a/gdb/config/sparc/tm-sparc.h b/gdb/config/sparc/tm-sparc.h
index aaadc6b..ff5c677 100644
--- a/gdb/config/sparc/tm-sparc.h
+++ b/gdb/config/sparc/tm-sparc.h
@@ -542,19 +542,15 @@ void sparc_fix_call_dummy PARAMS ((char *dummy, CORE_ADDR pc, CORE_ADDR fun,
#define SETUP_ARBITRARY_FRAME(argc, argv) setup_arbitrary_frame (argc, argv)
extern struct frame_info *setup_arbitrary_frame PARAMS ((int, CORE_ADDR *));
-/* To print every pair of float registers as a double, we use this hook. */
+/* To print every pair of float registers as a double, we use this hook.
+ We also print the condition code registers in a readable format
+ (FIXME: can expand this to all control regs). */
+#undef PRINT_REGISTER_HOOK
#define PRINT_REGISTER_HOOK(regno) \
- if (((regno) >= FP0_REGNUM) \
- && ((regno) < FP0_REGNUM + 32) \
- && (0 == ((regno) & 1))) { \
- char doublereg[8]; /* two float regs */ \
- if (!read_relative_register_raw_bytes ((regno) , doublereg ) \
- && !read_relative_register_raw_bytes ((regno)+1, doublereg+4)) { \
- printf("\t"); \
- print_floating (doublereg, builtin_type_double, stdout); \
- } \
- }
+ sparc_print_register_hook (regno)
+extern void sparc_print_register_hook PARAMS ((int regno));
+
/* Optimization for storing registers to the inferior. The hook
DO_DEFERRED_STORES