* 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.
This commit is contained in:
Jim Kingdon 1993-09-02 05:35:49 +00:00
parent ca4cb0ded9
commit 22202966ce
6 changed files with 99 additions and 56 deletions

View 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'.

View 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

View 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"

View 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

View 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; \
}

View 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)
}
}
/* 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
/* This is an interface which allows to us make a va_list. */
typedef struct {
unsigned int nargs;