* config/m88k/xm-dgux.h: Renamed from config/m88k/xm-m88k.h.
authorJim Kingdon <jkingdon@engr.sgi.com>
Thu, 2 Sep 1993 05:35:49 +0000 (05:35 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Thu, 2 Sep 1993 05:35:49 +0000 (05:35 +0000)
* config/m88k/xm-m88k.h: New file, with HOST_BYTE_ORDER,
MAKEVA_END and MAKEVA_ARG.
* config/m88k/xm-*.h: Include m88k/xm-m88k.h.
* printcmd.c: Remove __INT_VARARGS_H code; now in xm-m88k.h.

gdb/ChangeLog
gdb/config/m88k/xm-delta88.h
gdb/config/m88k/xm-delta88v4.h
gdb/config/m88k/xm-dgux.h
gdb/config/m88k/xm-m88k.h
gdb/printcmd.c

index e2c4ee3a50caa5a7555c5ad2820749afd5b8ba7f..a2b216fff22651a3ec419baca3bfe40a65344eea 100644 (file)
@@ -1,3 +1,11 @@
+Thu Sep  2 00:07:36 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
+
+       * config/m88k/xm-dgux.h: Renamed from config/m88k/xm-m88k.h.
+       * config/m88k/xm-m88k.h: New file, with HOST_BYTE_ORDER,
+       MAKEVA_END and MAKEVA_ARG.
+       * config/m88k/xm-*.h: Include m88k/xm-m88k.h.
+       * printcmd.c: Remove __INT_VARARGS_H code; now in xm-m88k.h.
+
 Wed Sep  1 19:31:28 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
        * remote-udi.c (udi_wait): Call `warning' not `error'.
index 7398f588a836aec8e706c610ef1dfd1fcbf13a7f..51ae16ff68ae6ec5f049602ecaa4a12fbf5b5cc3 100644 (file)
@@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
-#define HOST_BYTE_ORDER BIG_ENDIAN
+#include "m88k/xm-m88k.h"
 
 #if !defined (USG)
 #define USG 1
index 140ff0413038879c99bac33cedbe23740451b43d..54a2361fa274a15d2a4d4f393b613c7f57dca9e1 100644 (file)
@@ -17,6 +17,6 @@ You should have received a copy of the GNU General Public License
 along with this program; if not, write to the Free Software
 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
-#define HOST_BYTE_ORDER BIG_ENDIAN
+#include "m88k/xm-m88k.h"
 
 #include "xm-sysv4.h"
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..bcdc0ebdf5e9fe61d9819befb4bb31bff2a3fe01 100644 (file)
@@ -0,0 +1,62 @@
+/* Host-machine dependent parameters for Motorola 88000, for GDB.
+   Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1993
+   Free Software Foundation, Inc.
+
+This file is part of GDB.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#include "m88k/xm-m88k.h"
+
+#define HOST_BYTE_ORDER BIG_ENDIAN
+
+#if !defined (USG)
+#define USG 1
+#endif
+
+#include <sys/param.h>
+
+#ifdef __GNUC__
+#define memcpy __builtin_memcpy
+/* gcc doesn't have this, at least not gcc 1.92.  */
+/* #define memset __builtin_memset */
+#define strcmp __builtin_strcmp
+#endif
+
+#define x_foff _x_x._x_offset
+#define x_fname _x_name
+#define USER ptrace_user
+#define _BSD_WAIT_FLAVOR
+
+#define HAVE_TERMIO
+
+#ifndef USIZE
+#define USIZE 2048
+#endif
+#define NBPG NBPC
+#define UPAGES USIZE
+
+/* Get rid of any system-imposed stack limit if possible.  */
+
+#define SET_STACK_LIMIT_HUGE
+
+/* This is the amount to subtract from u.u_ar0
+   to get the offset in the core file of the register values.  */
+
+/* Since registers r0 through r31 are stored directly in the struct ptrace_user,
+   (for m88k BCS)
+   the ptrace_user offsets are sufficient and KERNEL_U_ADDRESS can be 0 */
+
+#define KERNEL_U_ADDR 0
index f58f7580070b63a67a9d062440cb24f4a479bf94..3ff351221911b5bd53d30e96d249e98b2e9740c3 100644 (file)
@@ -1,5 +1,5 @@
 /* Host-machine dependent parameters for Motorola 88000, for GDB.
-   Copyright 1986, 1987, 1988, 1989, 1990, 1991 Free Software Foundation, Inc.
+   Copyright 1993 Free Software Foundation, Inc.
 
 This file is part of GDB.
 
@@ -19,44 +19,30 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #define HOST_BYTE_ORDER BIG_ENDIAN
 
-#if !defined (USG)
-#define USG 1
-#endif
-
-#include <sys/param.h>
-
-#ifdef __GNUC__
-#define memcpy __builtin_memcpy
-/* gcc doesn't have this, at least not gcc 1.92.  */
-/* #define memset __builtin_memset */
-#define strcmp __builtin_strcmp
-#endif
-
-#ifdef DGUX
-#define x_foff _x_x._x_offset
-#define x_fname _x_name
-#define USER ptrace_user
-#define _BSD_WAIT_FLAVOR
-#endif
-
-#define HAVE_TERMIO
-
-#ifndef USIZE
-#define USIZE 2048
-#endif
-#define NBPG NBPC
-#define UPAGES USIZE
-
-/* Get rid of any system-imposed stack limit if possible.  */
-
-#define SET_STACK_LIMIT_HUGE
-
-/* This is the amount to subtract from u.u_ar0
-   to get the offset in the core file of the register values.  */
-
-/* Since registers r0 through r31 are stored directly in the struct ptrace_user,
-   (for m88k BCS)
-   the ptrace_user offsets are sufficient and KERNEL_U_ADDRESS can be 0 */
-
-#define KERNEL_U_ADDR 0
-
+#define MAKEVA_END(list) \
+  va_list retval; \
+  retval.__va_arg = 0; \
+  retval.__va_stk = (int *) (list)->aligner.arg_bytes; \
+  retval.__va_reg = (int *) (list)->aligner.arg_bytes; \
+  return retval;
+
+/* I don't know whether rounding the arguments to 4 or 8 bytes is correct
+   for the 88k, or whether it is just code borrowed from the pa.  The issue
+   is moot for now, since printf_command only uses argsize of sizeof (int),
+   sizeof (double), or sizeof (long long).  */
+#define MAKEVA_ARG(list, argaddr, argsize) \
+  { \
+    int rounded_argsize; \
+    if (argsize > 8) \
+      /* Currently this never happens; printf_command only uses argsize */ \
+      /* of sizeof (int), sizeof (double), or sizeof (long long).  */ \
+      error ("MAKEVA_ARG not fully written for m88k"); \
+    if (argsize <= 4) \
+      rounded_argsize = 4; \
+    else if (argsize <= 8) \
+      rounded_argsize = 8; \
+    while ((int)(&list->aligner.arg_bytes[list->argindex]) % rounded_argsize) \
+      list->argindex++; \
+    memcpy (&list->aligner.arg_bytes[list->argindex], argaddr, argsize); \
+    list->argindex += rounded_argsize; \
+  }
index 7409b3a3e4bfe9b517536b3170b756fd8d105fa6..16f8cd6620ac646ba47e485a223a0c5673c4a38d 100644 (file)
@@ -1480,7 +1480,6 @@ print_frame_args (func, fi, num, stream)
       case LOC_REGPARM:
       case LOC_REGPARM_ADDR:
       case LOC_LOCAL_ARG:
-      case LOC_BASEREG:
       case LOC_BASEREG_ARG:
        break;
 
@@ -1593,18 +1592,6 @@ print_frame_nameless_args (fi, start, num, first, stream)
     }
 }
 \f
-/* Make makeva* work on an __INT_VARARGS_H machine.  */
-
-#if defined (__INT_VARARGS_H)
-/* This is used on an 88k.  Not sure whether it is used by anything else.  */
-#define MAKEVA_END(list) \
-  va_list retval; \
-  retval.__va_arg = 0; \
-  retval.__va_stk = (int *) (list)->aligner.arg_bytes; \
-  retval.__va_reg = (int *) (list)->aligner.arg_bytes; \
-  return retval;
-#endif
-\f
 /* This is an interface which allows to us make a va_list.  */
 typedef struct {
   unsigned int nargs;