aboutsummaryrefslogtreecommitdiff
path: root/gdb/tm-m88k.h
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1992-05-20 06:03:50 +0000
committerJohn Gilmore <gnu@cygnus>1992-05-20 06:03:50 +0000
commit6ad6ef422c2eadede6584a3c526f64a8eaf03944 (patch)
tree326f495a181c59349f1b1d0d008c22e9c637ba7e /gdb/tm-m88k.h
parent21a6705a60bb586a06e0ceb698c8e0f49ae4d867 (diff)
downloadgdb-6ad6ef422c2eadede6584a3c526f64a8eaf03944.zip
gdb-6ad6ef422c2eadede6584a3c526f64a8eaf03944.tar.gz
gdb-6ad6ef422c2eadede6584a3c526f64a8eaf03944.tar.bz2
88K changes inspired by Ted Lemon (uunet!lupine!mellon)
* tm-m88k.h, tm-umax.h: Avoid sizeof() in REGISTER_xxx macros, since they define the target, not the host. * m88k-pinsn.c: Fix typo. Patches by Paul Eggert <eggert@twinsun.com>. * valarith.c (value_zerop): -0.0 is still zero. * eval.c (evaluate_subexp): Avoid NaN anomalies in float compares.
Diffstat (limited to 'gdb/tm-m88k.h')
-rw-r--r--gdb/tm-m88k.h28
1 files changed, 15 insertions, 13 deletions
diff --git a/gdb/tm-m88k.h b/gdb/tm-m88k.h
index f562f86..31b62cb 100644
--- a/gdb/tm-m88k.h
+++ b/gdb/tm-m88k.h
@@ -236,34 +236,34 @@ extern CORE_ADDR skip_prologue ();
#define SHIFT_INST_REGS
+/* Number of bytes of storage in the actual machine representation
+ for register N. */
+
+#define REGISTER_RAW_SIZE(N) 4
+
/* Total amount of space needed to store our copies of the machine's
register state, the array `registers'. */
-#define REGISTER_BYTES (NUM_REGS * sizeof(REGISTER_TYPE))
+#define REGISTER_BYTES (NUM_REGS * REGISTER_RAW_SIZE(0))
/* Index within `registers' of the first byte of the space for
register N. */
-#define REGISTER_BYTE(N) ((N)*sizeof(REGISTER_TYPE))
-
-/* Number of bytes of storage in the actual machine representation
- for register N. */
-
-#define REGISTER_RAW_SIZE(N) (sizeof(REGISTER_TYPE))
+#define REGISTER_BYTE(N) ((N)*REGISTER_RAW_SIZE(0))
/* Number of bytes of storage in the program's representation
for register N. */
-#define REGISTER_VIRTUAL_SIZE(N) (sizeof(REGISTER_TYPE))
+#define REGISTER_VIRTUAL_SIZE(N) (REGISTER_RAW_SIZE(N))
/* Largest value REGISTER_RAW_SIZE can have. */
-#define MAX_REGISTER_RAW_SIZE (sizeof(REGISTER_TYPE))
+#define MAX_REGISTER_RAW_SIZE (REGISTER_RAW_SIZE(0))
/* Largest value REGISTER_VIRTUAL_SIZE can have.
/* Are FPS1, FPS2, FPR "virtual" regisers? */
-#define MAX_REGISTER_VIRTUAL_SIZE (sizeof(REGISTER_TYPE))
+#define MAX_REGISTER_VIRTUAL_SIZE (REGISTER_RAW_SIZE(0))
/* Nonzero if register N requires conversion
from raw format to virtual format. */
@@ -273,12 +273,14 @@ extern CORE_ADDR skip_prologue ();
/* Convert data from raw format for register REGNUM
to virtual format for register REGNUM. */
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) {bcopy ((FROM), (TO), (sizeof(REGISTER_TYPE)));}
+#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,FROM,TO) \
+ {bcopy ((FROM), (TO), REGISTER_RAW_SIZE (REGNUM));}
/* Convert data from virtual format for register REGNUM
to raw format for register REGNUM. */
-#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO) {bcopy ((FROM), (TO), (sizeof(REGISTER_TYPE)));}
+#define REGISTER_CONVERT_TO_RAW(REGNUM,FROM,TO)
+ {bcopy ((FROM), (TO), REGISTER_RAW_SIZE (REGNUM));}
/* Return the GDB type object for the "standard" data type
of data in register N. */
@@ -297,7 +299,7 @@ extern CORE_ADDR skip_prologue ();
of type TYPE, given in virtual format. */
#define STORE_RETURN_VALUE(TYPE,VALBUF) \
- write_register_bytes (2*sizeof(void*), (VALBUF), TYPE_LENGTH (TYPE))
+ write_register_bytes (2*REGISTER_RAW_SIZE(0), (VALBUF), TYPE_LENGTH (TYPE))
/* In COFF, if PCC says a parameter is a short or a char, do not
change it to int (it seems the convention is to change it). */