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.
This commit is contained in:
John Gilmore 1992-05-20 06:03:50 +00:00
parent 21a6705a60
commit 6ad6ef422c
4 changed files with 40 additions and 17 deletions

View File

@ -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.

View File

@ -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;

View File

@ -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). */

View File

@ -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. */