1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
/* Host-machine dependent parameters for Motorola 88000, for GDB.
Copyright 1986, 1987, 1988, 1989, 1990, 1991 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. */
/* This is currently for a 88000 running DGUX. If other 88k ports are
done, OS-specific stuff should be moved (see tm-68k.h, for example). */
/* g++ support is not yet included. */
#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
#define HAVE_GETPAGESIZE
/* Get rid of any system-imposed stack limit if possible. */
#define SET_STACK_LIMIT_HUGE
/* number of traps that happen between exec'ing the shell
* to run an inferior, and when we finally get to
* the inferior code. This is 2 on most implementations.
*/
#define START_INFERIOR_TRAPS_EXPECTED 2
/* 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 REGISTER_U_ADDR(addr, blockend, regno) \
(addr) = m88k_register_u_addr ((blockend),(regno));
#define HAVE_WAIT_STRUCT
#define FETCH_INFERIOR_REGISTERS
|