aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog20
-rw-r--r--gdb/m88k-pinsn.c4
-rw-r--r--gdb/tm-m88k.h28
-rw-r--r--gdb/tm-umax.h5
4 files changed, 40 insertions, 17 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index bf7b4891..2f3b1ac 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,21 @@
+Tue May 19 19:38:10 1992 John Gilmore (gnu at cygnus.com)
+
+ 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.
+
+Thu May 14 01:16:48 1992 John Gilmore (gnu at cygnus.com)
+
+ * valarith.c (value_zerop): -0.0 is still zero.
+ * eval.c (evaluate_subexp): Avoid NaN anomalies in float compares.
+ Patches by Paul Eggert <eggert@twinsun.com>.
+
+Mon May 18 13:53:51 1992 Stu Grossman (grossman at cygnus.com)
+
+ * alldeps.mak, depend: re-make to account for ser-*.c.
+
Sun May 17 16:51:20 1992 Fred Fish (fnf@cygnus.com)
* inflow.c (new_tty): Temporarily ignore SIGTTOU when
@@ -27,6 +45,7 @@ Wed May 13 18:28:20 1992 Steve Chamberlain (sac@thepub.cygnus.com)
of a register to bcopy, rather than the host's sizeof(CORE_ADDR).
Tue May 12 17:44:39 1992 Steve Chamberlain (sac@thepub.cygnus.com)
+
Changes to support GDB running on DOS using GO32 and H8 support
* defs.h: if xm.h doesn't define FOPEN_RB, include "fopen-same.h",
@@ -48,7 +67,6 @@ Tue May 12 17:44:39 1992 Steve Chamberlain (sac@thepub.cygnus.com)
* values.c (value_as_pointer): remove bogus address bits from
long. (unpack_long): unpack into unsigned long/short if pointer.
-
Tue May 12 14:15:48 1992 Stu Grossman (grossman at cygnus.com)
* infrun.c (child_attach): Don't allow gdb to attach to itself.
diff --git a/gdb/m88k-pinsn.c b/gdb/m88k-pinsn.c
index 7113232..70dee95 100644
--- a/gdb/m88k-pinsn.c
+++ b/gdb/m88k-pinsn.c
@@ -340,8 +340,8 @@ void sprint_address (addr, buffer)
if (!fs) {
msymbol = lookup_minimal_symbol_by_pc (addr);
- if (i == NULL) return;/* If nothing comes through, don't
- print anything symbolic */
+ if (msymbol == NULL) return; /* If nothing comes through, don't
+ print anything symbolic */
name = msymbol -> name;
name_location = msymbol -> address;
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). */
diff --git a/gdb/tm-umax.h b/gdb/tm-umax.h
index 08f7e95..0e74b92 100644
--- a/gdb/tm-umax.h
+++ b/gdb/tm-umax.h
@@ -113,6 +113,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
to be actual register numbers as far as the user is concerned
but do serve to get the desired values when passed to read_register. */
+#define R0_REGNUM 0 /* General register 0 */
#define FP0_REGNUM 8 /* Floating point register 0 */
#define SP_REGNUM 16 /* Contains address of top of stack */
#define AP_REGNUM FP_REGNUM
@@ -124,7 +125,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Total amount of space needed to store our copies of the machine's
register state, the array `registers'. */
-#define REGISTER_BYTES ((NUM_REGS - 4) * sizeof (int) + 4 * sizeof (double))
+#define REGISTER_BYTES \
+ ((NUM_REGS - 4) * REGISTER_RAW_SIZE(R0_REGNUM) \
+ + 4 * REGISTER_RAW_SIZE(LP0_REGNUM))
/* Index within `registers' of the first byte of the space for
register N. */