URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
Compare Revisions
- This comparison shows the changes necessary to convert path
/or1k/trunk/gdb-5.0/gdb/config/m68k
- from Rev 107 to Rev 1765
- ↔ Reverse comparison
Rev 107 → Rev 1765
/m68klynx.mt
0,0 → 1,4
# Target: Motorola 680x0 running LynxOS |
TDEPFILES= coff-solib.o m68k-tdep.o |
# m68kly-tdep.o |
TM_FILE= tm-m68klynx.h |
/tm-dpx2.h
0,0 → 1,34
/* Parameters for targeting to a Bull DPX2. |
Copyright (C) 1986, 1987, 1989, 1991, 1994 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Define BPT_VECTOR if it is different than the default. |
This is the vector number used by traps to indicate a breakpoint. */ |
|
#define BPT_VECTOR 0xe |
|
/* Need to get function ends by adding this to epilogue address from .bf |
record, not using x_fsize field. */ |
#define FUNCTION_EPILOGUE_SIZE 4 |
|
/* The child target can't deal with writing floating registers. */ |
#define CANNOT_STORE_REGISTER(regno) ((regno) >= FP0_REGNUM) |
|
#include <sys/types.h> |
#include "m68k/tm-m68k.h" |
/sun3os4.mh
0,0 → 1,6
# Host: Sun 3, running SunOS 4 |
XDEPFILES= |
XM_FILE= xm-sun3os4.h |
NAT_FILE= nm-sun3.h |
NATDEPFILES= fork-child.o inftarg.o infptrace.o corelow.o sun3-nat.o |
GDBSERVER_DEPFILES= low-sun3.o |
/nm-nbsd.h
0,0 → 1,22
/* Native-dependent definitions for Motorola m68k running NetBSD, for GDB. |
Copyright 1996 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Get generic NetBSD native definitions. */ |
#include "nm-nbsd.h" |
/apollo68b.mt
0,0 → 1,3
# Target: Apollo m68k in BSD mode |
TDEPFILES= m68k-tdep.o dstread.o |
TM_FILE= tm-apollo68b.h |
/xm-dpx2.h
0,0 → 1,27
/* Parameters for execution on a Bull DPX2. |
Copyright (C) 1986, 1987, 1989 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
|
#define HAVE_TERMIOS |
#define USG |
|
/* Avoid redefinition errors */ |
#include <limits.h> |
/tm-altos.h
0,0 → 1,44
/* OBSOLETE /* Target definitions for GDB on an Altos 3068 (m68k running SVR2) */ |
/* OBSOLETE Copyright 1987, 1989, 1991, 1993 Free Software Foundation, Inc. */ |
/* OBSOLETE */ |
/* OBSOLETE This file is part of GDB. */ |
/* OBSOLETE */ |
/* OBSOLETE This program is free software; you can redistribute it and/or modify */ |
/* OBSOLETE it under the terms of the GNU General Public License as published by */ |
/* OBSOLETE the Free Software Foundation; either version 2 of the License, or */ |
/* OBSOLETE (at your option) any later version. */ |
/* OBSOLETE */ |
/* OBSOLETE This program is distributed in the hope that it will be useful, */ |
/* OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of */ |
/* OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ |
/* OBSOLETE GNU General Public License for more details. */ |
/* OBSOLETE */ |
/* OBSOLETE You should have received a copy of the GNU General Public License */ |
/* OBSOLETE along with this program; if not, write to the Free Software */ |
/* OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE /* The child target can't deal with floating registers. *x/ */ |
/* OBSOLETE #define CANNOT_STORE_REGISTER(regno) ((regno) >= FP0_REGNUM) */ |
/* OBSOLETE */ |
/* OBSOLETE /* Define BPT_VECTOR if it is different than the default. */ |
/* OBSOLETE This is the vector number used by traps to indicate a breakpoint. *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE #define BPT_VECTOR 0xe */ |
/* OBSOLETE */ |
/* OBSOLETE /* Address of end of stack space. *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE /*#define STACK_END_ADDR (0xffffff)*x/ */ |
/* OBSOLETE #define STACK_END_ADDR (0x1000000) */ |
/* OBSOLETE */ |
/* OBSOLETE /* Amount PC must be decremented by after a breakpoint. */ |
/* OBSOLETE On the Altos, the kernel resets the pc to the trap instr *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE #define DECR_PC_AFTER_BREAK 0 */ |
/* OBSOLETE */ |
/* OBSOLETE /* The only reason this is here is the tm-altos.h reference below. It */ |
/* OBSOLETE was moved back here from tm-m68k.h. FIXME? *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE extern CORE_ADDR altos_skip_prologue PARAMS ((CORE_ADDR)); */ |
/* OBSOLETE #define SKIP_PROLOGUE(pc) (altos_skip_prologue (pc)) */ |
/* OBSOLETE */ |
/* OBSOLETE #include "m68k/tm-m68k.h" */ |
/hp300bsd.mh
0,0 → 1,7
# Host: Hewlett-Packard 9000 series 300, running BSD |
|
XM_FILE= xm-hp300bsd.h |
XDEPFILES= |
|
NAT_FILE= nm-hp300bsd.h |
NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o core-aout.o |
/nm-apollo68v.h
0,0 → 1,21
/* Macro defintions for an Apollo. |
Copyright (C) 1986, 1987, 1989, 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define FETCH_INFERIOR_REGISTERS |
/nbsd.mh
0,0 → 1,5
# Host: Motorola m68k running NetBSD |
XDEPFILES= ser-tcp.o |
NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o m68knbsd-nat.o |
XM_FILE= xm-nbsd.h |
NAT_FILE= nm-nbsd.h |
/tm-3b1.h
0,0 → 1,33
/* Parameters for targeting GDB to a 3b1. |
Copyright 1986, 1987, 1989, 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* The child target can't deal with floating registers. */ |
#define CANNOT_STORE_REGISTER(regno) ((regno) >= FP0_REGNUM) |
|
/* Define BPT_VECTOR if it is different than the default. |
This is the vector number used by traps to indicate a breakpoint. */ |
|
#define BPT_VECTOR 0x1 |
|
/* Address of end of stack space. */ |
|
#define STACK_END_ADDR 0x300000 |
|
#include "m68k/tm-m68k.h" |
/tm-nbsd.h
0,0 → 1,42
/* Macro definitions for i386 running under NetBSD. |
Copyright 1994 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#ifndef TM_NBSD_H |
#define TM_NBSD_H |
|
#include <sys/param.h> |
#include <machine/vmparam.h> |
|
/* Define BPT_VECTOR if it is different than the default. |
This is the vector number used by traps to indicate a breakpoint. */ |
|
#define BPT_VECTOR 0x2 |
|
/* Address of end of stack space. */ |
#define STACK_END_ADDR USRSTACK |
|
/* For NetBSD, sigtramp is 32 bytes before STACK_END_ADDR. */ |
#define SIGTRAMP_START(pc) (STACK_END_ADDR - 32) |
#define SIGTRAMP_END(pc) (STACK_END_ADDR) |
|
#include "m68k/tm-m68k.h" |
#include "tm-nbsd.h" |
|
#endif /* TM_NBSD_H */ |
/xm-altos.h
0,0 → 1,202
/* OBSOLETE /* Definitions to make GDB run on an Altos 3068 (m68k running SVR2) */ |
/* OBSOLETE Copyright (C) 1987,1989 Free Software Foundation, Inc. */ |
/* OBSOLETE */ |
/* OBSOLETE This file is part of GDB. */ |
/* OBSOLETE */ |
/* OBSOLETE This program is free software; you can redistribute it and/or modify */ |
/* OBSOLETE it under the terms of the GNU General Public License as published by */ |
/* OBSOLETE the Free Software Foundation; either version 2 of the License, or */ |
/* OBSOLETE (at your option) any later version. */ |
/* OBSOLETE */ |
/* OBSOLETE This program is distributed in the hope that it will be useful, */ |
/* OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of */ |
/* OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ |
/* OBSOLETE GNU General Public License for more details. */ |
/* OBSOLETE */ |
/* OBSOLETE You should have received a copy of the GNU General Public License */ |
/* OBSOLETE along with this program; if not, write to the Free Software */ |
/* OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE #define HOST_BYTE_ORDER BIG_ENDIAN */ |
/* OBSOLETE */ |
/* OBSOLETE /* The altos support would make a good base for a port to other USGR2 systems */ |
/* OBSOLETE (like the 3b1 and the Convergent miniframe). *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE /* This is only needed in one file, but it's cleaner to put it here than */ |
/* OBSOLETE putting in more #ifdef's. *x/ */ |
/* OBSOLETE #include <sys/page.h> */ |
/* OBSOLETE #include <sys/net.h> */ |
/* OBSOLETE */ |
/* OBSOLETE #define USG */ |
/* OBSOLETE */ |
/* OBSOLETE #define HAVE_TERMIO */ |
/* OBSOLETE */ |
/* OBSOLETE #define CBREAK XTABS /* It takes all kinds... *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE #ifndef R_OK */ |
/* OBSOLETE #define R_OK 4 */ |
/* OBSOLETE #define W_OK 2 */ |
/* OBSOLETE #define X_OK 1 */ |
/* OBSOLETE #define F_OK 0 */ |
/* OBSOLETE #endif */ |
/* OBSOLETE */ |
/* OBSOLETE /* Get sys/wait.h ie. from a Sun and edit it a little (mc68000 to m68k) *x/ */ |
/* OBSOLETE /* Why bother? *x/ */ |
/* OBSOLETE #if 0 */ |
/* OBSOLETE #define HAVE_WAIT_STRUCT */ |
/* OBSOLETE #endif */ |
/* OBSOLETE */ |
/* OBSOLETE /* This is the amount to subtract from u.u_ar0 */ |
/* OBSOLETE to get the offset in the core file of the register values. *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE #define KERNEL_U_ADDR 0x1fbf000 */ |
/* OBSOLETE */ |
/* OBSOLETE #define REGISTER_U_ADDR(addr, blockend, regno) \ */ |
/* OBSOLETE { if (regno <= SP_REGNUM) \ */ |
/* OBSOLETE addr = blockend + regno * 4; \ */ |
/* OBSOLETE else if (regno == PS_REGNUM) \ */ |
/* OBSOLETE addr = blockend + regno * 4 + 4; \ */ |
/* OBSOLETE else if (regno == PC_REGNUM) \ */ |
/* OBSOLETE addr = blockend + regno * 4 + 2; \ */ |
/* OBSOLETE } */ |
/* OBSOLETE */ |
/* OBSOLETE #define REGISTER_ADDR(u_ar0, regno) \ */ |
/* OBSOLETE (((regno) < PS_REGNUM) \ */ |
/* OBSOLETE ? (&((struct exception_stack *) (u_ar0))->e_regs[(regno + R0)]) \ */ |
/* OBSOLETE : (((regno) == PS_REGNUM) \ */ |
/* OBSOLETE ? ((int *) (&((struct exception_stack *) (u_ar0))->e_PS)) \ */ |
/* OBSOLETE : (&((struct exception_stack *) (u_ar0))->e_PC))) */ |
/* OBSOLETE */ |
/* OBSOLETE #define FP_REGISTER_ADDR(u, regno) \ */ |
/* OBSOLETE (((char *) \ */ |
/* OBSOLETE (((regno) < FPC_REGNUM) \ */ |
/* OBSOLETE ? (&u.u_pcb.pcb_mc68881[FMC68881_R0 + (((regno) - FP0_REGNUM) * 3)]) \ */ |
/* OBSOLETE : (&u.u_pcb.pcb_mc68881[FMC68881_C + ((regno) - FPC_REGNUM)]))) \ */ |
/* OBSOLETE - ((char *) (& u))) */ |
/* OBSOLETE */ |
/* OBSOLETE */ |
/* OBSOLETE #ifndef __GNUC__ */ |
/* OBSOLETE #undef USE_GAS */ |
/* OBSOLETE #define ALTOS_AS */ |
/* OBSOLETE #else */ |
/* OBSOLETE #define USE_GAS */ |
/* OBSOLETE #endif */ |
/* OBSOLETE */ |
/* OBSOLETE /* Motorola assembly format *x/ */ |
/* OBSOLETE #if !defined(USE_GAS) && !defined(ALTOS) */ |
/* OBSOLETE #define MOTOROLA */ |
/* OBSOLETE #endif */ |
/* OBSOLETE */ |
/* OBSOLETE /* Interface definitions for kernel debugger KDB. *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE /* Map machine fault codes into signal numbers. */ |
/* OBSOLETE First subtract 0, divide by 4, then index in a table. */ |
/* OBSOLETE Faults for which the entry in this table is 0 */ |
/* OBSOLETE are not handled by KDB; the program's own trap handler */ |
/* OBSOLETE gets to handle then. *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE #define FAULT_CODE_ORIGIN 0 */ |
/* OBSOLETE #define FAULT_CODE_UNITS 4 */ |
/* OBSOLETE #define FAULT_TABLE \ */ |
/* OBSOLETE { 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \ */ |
/* OBSOLETE 0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \ */ |
/* OBSOLETE 0, 0, 0, 0, 0, 0, 0, 0, \ */ |
/* OBSOLETE SIGILL } */ |
/* OBSOLETE */ |
/* OBSOLETE /* Start running with a stack stretching from BEG to END. */ |
/* OBSOLETE BEG and END should be symbols meaningful to the assembler. */ |
/* OBSOLETE This is used only for kdb. *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE #ifdef MOTOROLA */ |
/* OBSOLETE #define INIT_STACK(beg, end) \ */ |
/* OBSOLETE { asm (".globl end"); \ */ |
/* OBSOLETE asm ("move.l $ end, sp"); \ */ |
/* OBSOLETE asm ("clr.l fp"); } */ |
/* OBSOLETE #else */ |
/* OBSOLETE #ifdef ALTOS_AS */ |
/* OBSOLETE #define INIT_STACK(beg, end) \ */ |
/* OBSOLETE { asm ("global end"); \ */ |
/* OBSOLETE asm ("mov.l &end,%sp"); \ */ |
/* OBSOLETE asm ("clr.l %fp"); } */ |
/* OBSOLETE #else */ |
/* OBSOLETE #define INIT_STACK(beg, end) \ */ |
/* OBSOLETE { asm (".globl end"); \ */ |
/* OBSOLETE asm ("movel $ end, sp"); \ */ |
/* OBSOLETE asm ("clrl fp"); } */ |
/* OBSOLETE #endif */ |
/* OBSOLETE #endif */ |
/* OBSOLETE */ |
/* OBSOLETE /* Push the frame pointer register on the stack. *x/ */ |
/* OBSOLETE #ifdef MOTOROLA */ |
/* OBSOLETE #define PUSH_FRAME_PTR \ */ |
/* OBSOLETE asm ("move.l fp, -(sp)"); */ |
/* OBSOLETE #else */ |
/* OBSOLETE #ifdef ALTOS_AS */ |
/* OBSOLETE #define PUSH_FRAME_PTR \ */ |
/* OBSOLETE asm ("mov.l %fp, -(%sp)"); */ |
/* OBSOLETE #else */ |
/* OBSOLETE #define PUSH_FRAME_PTR \ */ |
/* OBSOLETE asm ("movel fp, -(sp)"); */ |
/* OBSOLETE #endif */ |
/* OBSOLETE #endif */ |
/* OBSOLETE */ |
/* OBSOLETE /* Copy the top-of-stack to the frame pointer register. *x/ */ |
/* OBSOLETE #ifdef MOTOROLA */ |
/* OBSOLETE #define POP_FRAME_PTR \ */ |
/* OBSOLETE asm ("move.l (sp), fp"); */ |
/* OBSOLETE #else */ |
/* OBSOLETE #ifdef ALTOS_AS */ |
/* OBSOLETE #define POP_FRAME_PTR \ */ |
/* OBSOLETE asm ("mov.l (%sp), %fp"); */ |
/* OBSOLETE #else */ |
/* OBSOLETE #define POP_FRAME_PTR \ */ |
/* OBSOLETE asm ("movl (sp), fp"); */ |
/* OBSOLETE #endif */ |
/* OBSOLETE #endif */ |
/* OBSOLETE */ |
/* OBSOLETE /* After KDB is entered by a fault, push all registers */ |
/* OBSOLETE that GDB thinks about (all NUM_REGS of them), */ |
/* OBSOLETE so that they appear in order of ascending GDB register number. */ |
/* OBSOLETE The fault code will be on the stack beyond the last register. *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE #ifdef MOTOROLA */ |
/* OBSOLETE #define PUSH_REGISTERS \ */ |
/* OBSOLETE { asm ("clr.w -(sp)"); \ */ |
/* OBSOLETE asm ("pea (10,sp)"); \ */ |
/* OBSOLETE asm ("movem $ 0xfffe,-(sp)"); } */ |
/* OBSOLETE #else */ |
/* OBSOLETE #ifdef ALTOS_AS */ |
/* OBSOLETE #define PUSH_REGISTERS \ */ |
/* OBSOLETE { asm ("clr.w -(%sp)"); \ */ |
/* OBSOLETE asm ("pea (10,%sp)"); \ */ |
/* OBSOLETE asm ("movm.l &0xfffe,-(%sp)"); } */ |
/* OBSOLETE #else */ |
/* OBSOLETE #define PUSH_REGISTERS \ */ |
/* OBSOLETE { asm ("clrw -(sp)"); \ */ |
/* OBSOLETE asm ("pea 10(sp)"); \ */ |
/* OBSOLETE asm ("movem $ 0xfffe,-(sp)"); } */ |
/* OBSOLETE #endif */ |
/* OBSOLETE #endif */ |
/* OBSOLETE */ |
/* OBSOLETE /* Assuming the registers (including processor status) have been */ |
/* OBSOLETE pushed on the stack in order of ascending GDB register number, */ |
/* OBSOLETE restore them and return to the address in the saved PC register. *x/ */ |
/* OBSOLETE */ |
/* OBSOLETE #ifdef MOTOROLA */ |
/* OBSOLETE #define POP_REGISTERS \ */ |
/* OBSOLETE { asm ("subi.l $8,28(sp)"); \ */ |
/* OBSOLETE asm ("movem (sp),$ 0xffff"); \ */ |
/* OBSOLETE asm ("rte"); } */ |
/* OBSOLETE #else */ |
/* OBSOLETE #ifdef ALTOS_AS */ |
/* OBSOLETE #define POP_REGISTERS \ */ |
/* OBSOLETE { asm ("sub.l &8,28(%sp)"); \ */ |
/* OBSOLETE asm ("movem (%sp),&0xffff"); \ */ |
/* OBSOLETE asm ("rte"); } */ |
/* OBSOLETE #else */ |
/* OBSOLETE #define POP_REGISTERS \ */ |
/* OBSOLETE { asm ("subil $8,28(sp)"); \ */ |
/* OBSOLETE asm ("movem (sp),$ 0xffff"); \ */ |
/* OBSOLETE asm ("rte"); } */ |
/* OBSOLETE #endif */ |
/* OBSOLETE #endif */ |
/tm-st2000.h
0,0 → 1,21
/* Parameters for a Tandem ST2000 phone switch. |
Copyright (C) 1986, 1987, 1989, 199 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#include "m68k/tm-m68k.h" |
/nm-hp300hpux.h
0,0 → 1,54
/* Parameters for native support on HP 9000 model 320, for GDB, the GNU debugger. |
Copyright (C) 1986, 1987, 1989, 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Do implement the attach and detach commands. */ |
|
#define ATTACH_DETACH |
|
/* fetch_inferior_registers is in nat-hp300hpux.c. */ |
#define FETCH_INFERIOR_REGISTERS |
|
/* Get registers from a core file. The floating point stuff is just |
guesses. */ |
#define NEED_SYS_CORE_H |
#define REGISTER_U_ADDR(addr, blockend, regno) \ |
{ \ |
if (regno < PS_REGNUM) \ |
addr = (int) (&((struct proc_regs *)(blockend))->d0 + regno); \ |
else if (regno == PS_REGNUM) \ |
addr = (int) ((char *) (&((struct proc_regs *)(blockend))->ps) - 2); \ |
else if (regno == PC_REGNUM) \ |
addr = (int) &((struct proc_regs *)(blockend))->pc; \ |
else if (regno < FPC_REGNUM) \ |
addr = (int) (((struct proc_regs *)(blockend))->mc68881 \ |
+ ((regno) - FP0_REGNUM) / 2); \ |
else \ |
addr = (int) (((struct proc_regs *)(blockend))->p_float \ |
+ (regno) - FPC_REGNUM); \ |
} |
|
/* HPUX 8.0, in its infinite wisdom, has chosen to prototype ptrace |
with five arguments, so programs written for normal ptrace lose. |
|
Idiots. |
|
(They should have just made it varadic). */ |
|
#define FIVE_ARG_PTRACE |
/apollo68v.mh
0,0 → 1,11
# Host: Apollo, System V mode (?) |
|
XM_FILE= xm-apollo68v.h |
XM_CLIBS= -lPW |
XDEPFILES= |
|
NAT_FILE= nm-apollo68v.h |
NATDEPFILES= infptrace.o inftarg.o fork-child.o a68v-nat.o |
|
RANLIB=echo >/dev/null |
CC= cc -A ansi -A runtype,any -A systype,any -U__STDC__ -DNO_SYS_FILE |
/sun3os4.mt
0,0 → 1,3
# Target: Sun 3, running SunOS 4, as a target system |
TDEPFILES= solib.o m68k-tdep.o |
TM_FILE= tm-sun3os4.h |
/xm-3b1.h
0,0 → 1,84
/* Parameters for execution on a 3b1. |
Copyright (C) 1986, 1987, 1989 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
|
#define HAVE_TERMIO |
#define USG |
|
/* This is the amount to subtract from u.u_ar0 |
to get the offset in the core file of the register values. */ |
|
#define KERNEL_U_ADDR 0x70000 |
|
#define REGISTER_U_ADDR(addr, blockend, regno) \ |
{ addr = blockend + regno * 4; } |
|
/* Interface definitions for kernel debugger KDB. */ |
|
/* Map machine fault codes into signal numbers. |
First subtract 0, divide by 4, then index in a table. |
Faults for which the entry in this table is 0 |
are not handled by KDB; the program's own trap handler |
gets to handle then. */ |
|
#define FAULT_CODE_ORIGIN 0 |
#define FAULT_CODE_UNITS 4 |
#define FAULT_TABLE \ |
{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \ |
0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \ |
0, 0, 0, 0, 0, 0, 0, 0, \ |
SIGILL } |
|
/* Start running with a stack stretching from BEG to END. |
BEG and END should be symbols meaningful to the assembler. |
This is used only for kdb. */ |
|
#define INIT_STACK(beg, end) \ |
{ asm (".globl end"); \ |
asm ("movel $ end, sp"); \ |
asm ("clrl fp"); } |
|
/* Push the frame pointer register on the stack. */ |
#define PUSH_FRAME_PTR \ |
asm ("movel fp, -(sp)"); |
|
/* Copy the top-of-stack to the frame pointer register. */ |
#define POP_FRAME_PTR \ |
asm ("movl (sp), fp"); |
|
/* After KDB is entered by a fault, push all registers |
that GDB thinks about (all NUM_REGS of them), |
so that they appear in order of ascending GDB register number. |
The fault code will be on the stack beyond the last register. */ |
|
#define PUSH_REGISTERS \ |
{ asm ("clrw -(sp)"); \ |
asm ("pea 10(sp)"); \ |
asm ("movem $ 0xfffe,-(sp)"); } |
|
/* Assuming the registers (including processor status) have been |
pushed on the stack in order of ascending GDB register number, |
restore them and return to the address in the saved PC register. */ |
|
#define POP_REGISTERS \ |
{ asm ("subil $8,28(sp)"); \ |
asm ("movem (sp),$ 0xffff"); \ |
asm ("rte"); } |
/xm-nbsd.h
0,0 → 1,22
/* Parameters for execution on a Motorola m68k running NetBSD, for GDB. |
Copyright 1996 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Get generic NetBSD host definitions. */ |
#include "xm-nbsd.h" |
/hp300bsd.mt
0,0 → 1,3
# Target: Hewlett-Packard 9000 series 300, running BSD |
TDEPFILES= m68k-tdep.o |
TM_FILE= tm-hp300bsd.h |
/tm-m68kv4.h
0,0 → 1,71
/* Target definitions for GDB on a Motorola 680x0 running SVR4. |
(Commodore Amiga with amix or Atari TT with ASV) |
Copyright (C) 1991, 1995 Free Software Foundation, Inc. |
Written by Fred Fish at Cygnus Support (fnf@cygint) |
|
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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Define BPT_VECTOR if it is different than the default. |
This is the vector number used by traps to indicate a breakpoint. */ |
|
#define BPT_VECTOR 0x1 |
|
/* How much to decrement the PC after a trap. Depends on kernel. */ |
|
#define DECR_PC_AFTER_BREAK 0 /* No decrement required */ |
|
/* Use the alternate method of determining valid frame chains. */ |
|
#define FRAME_CHAIN_VALID(fp,fi) func_frame_chain_valid (fp, fi) |
|
#include "tm-sysv4.h" |
#include "m68k/tm-m68k.h" |
|
/* Offsets (in target ints) into jmp_buf. Not defined in any system header |
file, so we have to step through setjmp/longjmp with a debugger and figure |
them out. As a double check, note that <setjmp> defines _JBLEN as 13, |
which matches the number of elements we see saved by setjmp(). */ |
|
#define JB_ELEMENT_SIZE sizeof(int) /* jmp_buf[_JBLEN] is array of ints */ |
|
#define JB_D2 0 |
#define JB_D3 1 |
#define JB_D4 2 |
#define JB_D5 3 |
#define JB_D6 4 |
#define JB_D7 5 |
#define JB_A1 6 |
#define JB_A2 7 |
#define JB_A3 8 |
#define JB_A4 9 |
#define JB_A5 10 |
#define JB_A6 11 |
#define JB_A7 12 |
|
#define JB_PC JB_A1 /* Setjmp()'s return PC saved in A1 */ |
|
/* Figure out where the longjmp will land. Slurp the args out of the stack. |
We expect the first arg to be a pointer to the jmp_buf structure from which |
we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. |
This routine returns true on success */ |
|
#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR) |
extern int get_longjmp_target PARAMS ((CORE_ADDR *)); |
|
/* Convert a DWARF register number to a gdb REGNUM. */ |
#define DWARF_REG_TO_REGNUM(num) ((num) < 16 ? (num) : (num)+FP0_REGNUM-16) |
/tm-cisco.h
0,0 → 1,56
/* Parameters for CISCO m68k. |
Copyright (C) 1994 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define GDBINIT_FILENAME ".cisco-gdbinit" /* Init file */ |
|
#define DEFAULT_PROMPT "(cisco-68k-gdb) " /* Default prompt */ |
|
#include "m68k/tm-m68k.h" |
|
/* Offsets (in target ints) into jmp_buf. Defined in /csc/sys/sun/asm.S. */ |
|
#define JB_ELEMENT_SIZE 4 |
|
#define JB_PC 0 |
#define JB_D2 1 |
#define JB_D3 2 |
#define JB_D4 3 |
#define JB_D5 4 |
#define JB_D6 5 |
#define JB_D7 6 |
#define JB_A2 7 |
#define JB_A3 8 |
#define JB_A4 9 |
#define JB_A5 10 |
#define JB_A6 11 |
#define JB_SP 12 |
|
/* Figure out where the longjmp will land. Slurp the args out of the stack. |
We expect the first arg to be a pointer to the jmp_buf structure from which |
we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. |
This routine returns true on success */ |
|
#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR) |
extern int get_longjmp_target PARAMS ((CORE_ADDR *)); |
|
/* BFD handles finding the registers in the core file, so they are at |
the start of the BFD .reg section. */ |
#define REGISTER_U_ADDR(addr,blockend,regno) (addr = REGISTER_BYTE (regno)) |
#define KERNEL_U_ADDR 0 |
/tm-mac.h
0,0 → 1,21
/* Target-dependent definitions for Mac running MacOS. |
Copyright (C) 1994 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#include "m68k/tm-m68k.h" |
/nm-delta68.h
0,0 → 1,22
/* Macro definitions for a Motorola Delta Series sysV68 R3V7.1. |
Copyright (C) 1993, 1998 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
|
#define KERNEL_U_SIZE kernel_u_size() |
/nbsd.mt
0,0 → 1,3
# Target: Motorola m68k running NetBSD |
TDEPFILES= m68k-tdep.o solib.o |
TM_FILE= tm-nbsd.h |
/monitor.mt
0,0 → 1,3
# Target: Motorola m68k embedded (EST emulator, rom68k and bug monitors) |
TDEPFILES= m68k-tdep.o monitor.o remote-est.o cpu32bug-rom.o rom68k-rom.o abug-rom.o dbug-rom.o dsrec.o |
TM_FILE= tm-monitor.h |
/xm-m68kv4.h
0,0 → 1,29
/* Host definitions for GDB on a Motorola 680x0 running SVR4. |
(Commodore Amiga with amix or Atari TT with ASV) |
Copyright 1991, 1992 Free Software Foundation, Inc. |
Written by Fred Fish at Cygnus Support (fnf@cygnus.com) |
|
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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Pick up most of what we need from the generic m68k host include file. */ |
|
#include "m68k/xm-m68k.h" |
|
/* Pick up more stuff from the generic SVR4 host include file. */ |
|
#include "xm-sysv4.h" |
/news.mh
0,0 → 1,5
# Host: Sony news series 700/800/900 (68020) running NewsOS version 3. |
XDEPFILES= news-xdep.o |
XM_FILE= xm-news.h |
NAT_FILE= nm-news.h |
NATDEPFILES= inftarg.o fork-child.o corelow.o core-aout.o infptrace.o |
/cisco.mt
0,0 → 1,3
# Target: Cisco Router with 68K processor |
TDEPFILES= m68k-tdep.o corelow.o core-aout.o |
TM_FILE= tm-cisco.h |
/news1000.mh
0,0 → 1,3
# Host: Sony news series 1000 (68030) running NewsOS version 3. |
XDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o core-aout.o news-xdep.o |
XM_FILE= xm-news1000.h |
/sun3os3.mh
0,0 → 1,5
# Host: Sun 3, running SunOS 3 |
XDEPFILES= |
XM_FILE= xm-sun3.h |
NAT_FILE= nm-sun3.h |
NATDEPFILES= fork-child.o inftarg.o infptrace.o corelow.o sun3-nat.o |
/tm-sun2os4.h
0,0 → 1,21
/* Copyright (C) 1990, 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#include "m68k/tm-sun2.h" |
#include "tm-sunos.h" |
/nm-sun2.h
0,0 → 1,34
/* Parameters for execution on a Sun2, for GDB, the GNU debugger. |
Copyright (C) 1986, 1987, 1989, 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Do implement the attach and detach commands. */ |
|
#define ATTACH_DETACH |
|
/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */ |
#define FETCH_INFERIOR_REGISTERS |
|
/* This is a piece of magic that is given a register number REGNO |
and as BLOCKEND the address in the system of the end of the user structure |
and stores in ADDR the address in the kernel or core dump |
of that register. */ |
|
#define REGISTER_U_ADDR(addr, blockend, regno) \ |
{ addr = blockend + regno * 4; } |
/nm-sysv4.h
0,0 → 1,23
/* Native-dependent definitions for Motorola 680x0 running SVR4. |
Copyright 1994 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Include the generic SVR4 definitions. */ |
|
#include "nm-sysv4.h" |
/3b1.mh
0,0 → 1,12
# Host: AT&T 3b1/Unix pc |
# I don't think cc has been tried. -traditional for <sys/ioctl.h> |
# (not sure whether necessary). |
CC= gcc -traditional |
# GCC runs out of virtual memory. |
# A separate CC for pinsn routines is no longer supported, though. |
# FIXME -- someone unlucky enough to have a 3B1, let bug-gcc@prep.ai.mit.edu |
# know what works and what fails on the 3B1. |
#PINSN_CC= cc |
|
XDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o core-aout.o |
XM_FILE= xm-3b1.h |
/os68k.mt
0,0 → 1,3
# Target: VxWorks running on a 68000 |
TDEPFILES= m68k-tdep.o |
TM_FILE= tm-os68k.h |
/tm-m68k.h
0,0 → 1,387
/* Parameters for execution on a 68000 series machine. |
Copyright 1986, 1987, 1989, 1990, 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Generic 68000 stuff, to be included by other tm-*.h files. */ |
|
#define IEEE_FLOAT 1 |
|
/* Define the bit, byte, and word ordering of the machine. */ |
#define TARGET_BYTE_ORDER BIG_ENDIAN |
|
/* Offset from address of function to start of its code. |
Zero on most machines. */ |
|
#define FUNCTION_START_OFFSET 0 |
|
/* Advance PC across any function entry prologue instructions |
to reach some "real" code. */ |
|
#if !defined(SKIP_PROLOGUE) |
#define SKIP_PROLOGUE(ip) (m68k_skip_prologue (ip)) |
#endif |
extern CORE_ADDR m68k_skip_prologue PARAMS ((CORE_ADDR ip)); |
|
/* Immediately after a function call, return the saved pc. |
Can't always go through the frames for this because on some machines |
the new frame is not set up until the new function executes |
some instructions. */ |
|
struct frame_info; |
struct frame_saved_regs; |
|
extern CORE_ADDR m68k_saved_pc_after_call PARAMS ((struct frame_info *)); |
extern void m68k_find_saved_regs PARAMS ((struct frame_info *, struct frame_saved_regs *)); |
|
#define SAVED_PC_AFTER_CALL(frame) \ |
m68k_saved_pc_after_call(frame) |
|
/* Stack grows downward. */ |
|
#define INNER_THAN(lhs,rhs) ((lhs) < (rhs)) |
|
/* Stack must be kept short aligned when doing function calls. */ |
|
#define STACK_ALIGN(ADDR) (((ADDR) + 1) & ~1) |
|
/* Sequence of bytes for breakpoint instruction. |
This is a TRAP instruction. The last 4 bits (0xf below) is the |
vector. Systems which don't use 0xf should define BPT_VECTOR |
themselves before including this file. */ |
|
#if !defined (BPT_VECTOR) |
#define BPT_VECTOR 0xf |
#endif |
|
#if !defined (BREAKPOINT) |
#define BREAKPOINT {0x4e, (0x40 | BPT_VECTOR)} |
#endif |
|
/* We default to vector 1 for the "remote" target, but allow targets |
to override. */ |
#if !defined (REMOTE_BPT_VECTOR) |
#define REMOTE_BPT_VECTOR 1 |
#endif |
|
#if !defined (REMOTE_BREAKPOINT) |
#define REMOTE_BREAKPOINT {0x4e, (0x40 | REMOTE_BPT_VECTOR)} |
#endif |
|
/* If your kernel resets the pc after the trap happens you may need to |
define this before including this file. */ |
|
#if !defined (DECR_PC_AFTER_BREAK) |
#define DECR_PC_AFTER_BREAK 2 |
#endif |
|
/* Say how long (ordinary) registers are. This is a piece of bogosity |
used in push_word and a few other places; REGISTER_RAW_SIZE is the |
real way to know how big a register is. */ |
|
#define REGISTER_SIZE 4 |
|
#define REGISTER_BYTES_FP (16*4 + 8 + 8*12 + 3*4) |
#define REGISTER_BYTES_NOFP (16*4 + 8) |
|
#ifndef NUM_REGS |
#define NUM_REGS 29 |
#endif |
|
#define NUM_FREGS (NUM_REGS-24) |
|
#ifndef REGISTER_BYTES_OK |
#define REGISTER_BYTES_OK(b) \ |
((b) == REGISTER_BYTES_FP \ |
|| (b) == REGISTER_BYTES_NOFP) |
#endif |
|
#ifndef REGISTER_BYTES |
#define REGISTER_BYTES (16*4 + 8 + 8*12 + 3*4) |
#endif |
|
/* Index within `registers' of the first byte of the space for |
register N. */ |
|
#define REGISTER_BYTE(N) \ |
((N) >= FPC_REGNUM ? (((N) - FPC_REGNUM) * 4) + 168 \ |
: (N) >= FP0_REGNUM ? (((N) - FP0_REGNUM) * 12) + 72 \ |
: (N) * 4) |
|
/* Number of bytes of storage in the actual machine representation |
for register N. On the 68000, all regs are 4 bytes |
except the floating point regs which are 12 bytes. */ |
/* Note that the unsigned cast here forces the result of the |
subtraction to very high positive values if N < FP0_REGNUM */ |
|
#define REGISTER_RAW_SIZE(N) (((unsigned)(N) - FP0_REGNUM) < 8 ? 12 : 4) |
|
/* Number of bytes of storage in the program's representation |
for register N. On the 68000, all regs are 4 bytes |
except the floating point regs which are 8-byte doubles. */ |
|
#define REGISTER_VIRTUAL_SIZE(N) (((unsigned)(N) - FP0_REGNUM) < 8 ? 8 : 4) |
|
/* Largest value REGISTER_RAW_SIZE can have. */ |
|
#define MAX_REGISTER_RAW_SIZE 12 |
|
/* Largest value REGISTER_VIRTUAL_SIZE can have. */ |
|
#define MAX_REGISTER_VIRTUAL_SIZE 8 |
|
/* Nonzero if register N requires conversion |
from raw format to virtual format. */ |
|
#define REGISTER_CONVERTIBLE(N) (((unsigned)(N) - FP0_REGNUM) < 8) |
|
#include "floatformat.h" |
|
/* Convert data from raw format for register REGNUM in buffer FROM |
to virtual format with type TYPE in buffer TO. */ |
|
#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,TYPE,FROM,TO) \ |
do \ |
{ \ |
DOUBLEST dbl_tmp_val; \ |
floatformat_to_doublest (&floatformat_m68881_ext, (FROM), &dbl_tmp_val); \ |
store_floating ((TO), TYPE_LENGTH (TYPE), dbl_tmp_val); \ |
} while (0) |
|
/* Convert data from virtual format with type TYPE in buffer FROM |
to raw format for register REGNUM in buffer TO. */ |
|
#define REGISTER_CONVERT_TO_RAW(TYPE,REGNUM,FROM,TO) \ |
do \ |
{ \ |
DOUBLEST dbl_tmp_val; \ |
dbl_tmp_val = extract_floating ((FROM), TYPE_LENGTH (TYPE)); \ |
floatformat_from_doublest (&floatformat_m68881_ext, &dbl_tmp_val, (TO)); \ |
} while (0) |
|
/* Return the GDB type object for the "standard" data type of data |
in register N. This should be int for D0-D7, double for FP0-FP7, |
and void pointer for all others (A0-A7, PC, SR, FPCONTROL etc). |
Note, for registers which contain addresses return pointer to void, |
not pointer to char, because we don't want to attempt to print |
the string after printing the address. */ |
|
#define REGISTER_VIRTUAL_TYPE(N) \ |
((unsigned) (N) >= FPC_REGNUM ? lookup_pointer_type (builtin_type_void) : \ |
(unsigned) (N) >= FP0_REGNUM ? builtin_type_double : \ |
(unsigned) (N) >= A0_REGNUM ? lookup_pointer_type (builtin_type_void) : \ |
builtin_type_int) |
|
/* Initializer for an array of names of registers. |
Entries beyond the first NUM_REGS are ignored. */ |
|
#define REGISTER_NAMES \ |
{"d0", "d1", "d2", "d3", "d4", "d5", "d6", "d7", \ |
"a0", "a1", "a2", "a3", "a4", "a5", "fp", "sp", \ |
"ps", "pc", \ |
"fp0", "fp1", "fp2", "fp3", "fp4", "fp5", "fp6", "fp7", \ |
"fpcontrol", "fpstatus", "fpiaddr", "fpcode", "fpflags" } |
|
/* Register numbers of various important registers. |
Note that some of these values are "real" register numbers, |
and correspond to the general registers of the machine, |
and some are "phony" register numbers which are too large |
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 D0_REGNUM 0 |
#define A0_REGNUM 8 |
#define A1_REGNUM 9 |
#define FP_REGNUM 14 /* Contains address of executing stack frame */ |
#define SP_REGNUM 15 /* Contains address of top of stack */ |
#define PS_REGNUM 16 /* Contains processor status */ |
#define PC_REGNUM 17 /* Contains program counter */ |
#define FP0_REGNUM 18 /* Floating point register 0 */ |
#define FPC_REGNUM 26 /* 68881 control register */ |
#define FPS_REGNUM 27 /* 68881 status register */ |
#define FPI_REGNUM 28 /* 68881 iaddr register */ |
|
/* Store the address of the place in which to copy the structure the |
subroutine will return. This is called from call_function. */ |
|
#define STORE_STRUCT_RETURN(ADDR, SP) \ |
{ write_register (A1_REGNUM, (ADDR)); } |
|
/* Extract from an array REGBUF containing the (raw) register state |
a function return value of type TYPE, and copy that, in virtual format, |
into VALBUF. This is assuming that floating point values are returned |
as doubles in d0/d1. */ |
|
#if !defined (EXTRACT_RETURN_VALUE) |
#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \ |
memcpy ((VALBUF), \ |
(char *)(REGBUF) + \ |
(TYPE_LENGTH(TYPE) >= 4 ? 0 : 4 - TYPE_LENGTH(TYPE)), \ |
TYPE_LENGTH(TYPE)) |
#endif |
|
/* Write into appropriate registers a function return value |
of type TYPE, given in virtual format. Assumes floats are passed |
in d0/d1. */ |
|
#if !defined (STORE_RETURN_VALUE) |
#define STORE_RETURN_VALUE(TYPE,VALBUF) \ |
write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE)) |
#endif |
|
/* Extract from an array REGBUF containing the (raw) register state |
the address in which a function should return its structure value, |
as a CORE_ADDR (or an expression that can be used as one). */ |
|
#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) (*(CORE_ADDR *)(REGBUF)) |
|
/* Describe the pointer in each stack frame to the previous stack frame |
(its caller). */ |
|
/* FRAME_CHAIN takes a frame's nominal address and produces the frame's |
chain-pointer. |
In the case of the 68000, the frame's nominal address |
is the address of a 4-byte word containing the calling frame's address. */ |
|
/* If we are chaining from sigtramp, then manufacture a sigtramp frame |
(which isn't really on the stack. I'm not sure this is right for anything |
but BSD4.3 on an hp300. */ |
#define FRAME_CHAIN(thisframe) \ |
(thisframe->signal_handler_caller \ |
? thisframe->frame \ |
: (!inside_entry_file ((thisframe)->pc) \ |
? read_memory_integer ((thisframe)->frame, 4) \ |
: 0)) |
|
/* Define other aspects of the stack frame. */ |
|
/* A macro that tells us whether the function invocation represented |
by FI does not have a frame on the stack associated with it. If it |
does not, FRAMELESS is set to 1, else 0. */ |
#define FRAMELESS_FUNCTION_INVOCATION(FI) \ |
(((FI)->signal_handler_caller) ? 0 : frameless_look_for_prologue(FI)) |
|
/* This was determined by experimentation on hp300 BSD 4.3. Perhaps |
it corresponds to some offset in /usr/include/sys/user.h or |
something like that. Using some system include file would |
have the advantage of probably being more robust in the face |
of OS upgrades, but the disadvantage of being wrong for |
cross-debugging. */ |
|
#define SIG_PC_FP_OFFSET 530 |
|
#define FRAME_SAVED_PC(FRAME) \ |
(((FRAME)->signal_handler_caller \ |
? ((FRAME)->next \ |
? read_memory_integer ((FRAME)->next->frame + SIG_PC_FP_OFFSET, 4) \ |
: read_memory_integer (read_register (SP_REGNUM) \ |
+ SIG_PC_FP_OFFSET - 8, 4) \ |
) \ |
: read_memory_integer ((FRAME)->frame + 4, 4)) \ |
) |
|
#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame) |
|
#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame) |
|
/* Set VAL to the number of args passed to frame described by FI. |
Can set VAL to -1, meaning no way to tell. */ |
|
/* We can't tell how many args there are |
now that the C compiler delays popping them. */ |
#if !defined (FRAME_NUM_ARGS) |
#define FRAME_NUM_ARGS(fi) (-1) |
#endif |
|
/* Return number of bytes at start of arglist that are not really args. */ |
|
#define FRAME_ARGS_SKIP 8 |
|
/* Put here the code to store, into a struct frame_saved_regs, |
the addresses of the saved registers of frame described by FRAME_INFO. |
This includes special registers such as pc and fp saved in special |
ways in the stack frame. sp is even more special: |
the address we return for it IS the sp for the next frame. */ |
|
#if !defined (FRAME_FIND_SAVED_REGS) |
#define FRAME_FIND_SAVED_REGS(fi,fsr) m68k_find_saved_regs ((fi), &(fsr)) |
#endif /* no FIND_FRAME_SAVED_REGS. */ |
|
|
/* Things needed for making the inferior call functions. */ |
|
/* The CALL_DUMMY macro is the sequence of instructions, as disassembled |
by gdb itself: |
|
These instructions exist only so that m68k_find_saved_regs can parse |
them as a "prologue"; they are never executed. |
|
fmovemx fp0-fp7,sp@- 0xf227 0xe0ff |
moveml d0-a5,sp@- 0x48e7 0xfffc |
clrw sp@- 0x4267 |
movew ccr,sp@- 0x42e7 |
|
The arguments are pushed at this point by GDB; no code is needed in |
the dummy for this. The CALL_DUMMY_START_OFFSET gives the position |
of the following jsr instruction. That is where we start |
executing. |
|
jsr @#0x32323232 0x4eb9 0x3232 0x3232 |
addal #0x69696969,sp 0xdffc 0x6969 0x6969 |
trap #<your BPT_VECTOR number here> 0x4e4? |
nop 0x4e71 |
|
Note this is CALL_DUMMY_LENGTH bytes (28 for the above example). |
|
The dummy frame always saves the floating-point registers, whether they |
actually exist on this target or not. */ |
|
/* FIXME: Wrong to hardwire this as BPT_VECTOR when sometimes it |
should be REMOTE_BPT_VECTOR. Best way to fix it would be to define |
CALL_DUMMY_BREAKPOINT_OFFSET. */ |
|
#define CALL_DUMMY {0xf227e0ff, 0x48e7fffc, 0x426742e7, 0x4eb93232, 0x3232dffc, 0x69696969, (0x4e404e71 | (BPT_VECTOR << 16))} |
#define CALL_DUMMY_LENGTH 28 /* Size of CALL_DUMMY */ |
#define CALL_DUMMY_START_OFFSET 12 /* Offset to jsr instruction */ |
#define CALL_DUMMY_BREAKPOINT_OFFSET (CALL_DUMMY_START_OFFSET + 12) |
|
/* Insert the specified number of args and function address |
into a call sequence of the above form stored at DUMMYNAME. |
We use the BFD routines to store a big-endian value of known size. */ |
|
#define FIX_CALL_DUMMY(dummyname, pc, fun, nargs, args, type, gcc_p) \ |
{ bfd_putb32 (fun, (unsigned char *) dummyname + CALL_DUMMY_START_OFFSET + 2); \ |
bfd_putb32 (nargs*4, (unsigned char *) dummyname + CALL_DUMMY_START_OFFSET + 8); } |
|
/* Push an empty stack frame, to record the current PC, etc. */ |
|
#define PUSH_DUMMY_FRAME { m68k_push_dummy_frame (); } |
|
extern void m68k_push_dummy_frame PARAMS ((void)); |
|
extern void m68k_pop_frame PARAMS ((void)); |
|
/* Discard from the stack the innermost frame, restoring all registers. */ |
|
#define POP_FRAME { m68k_pop_frame (); } |
|
/* Offset from SP to first arg on stack at first instruction of a function */ |
|
#define SP_ARG0 (1 * 4) |
|
#define TARGET_M68K |
/news.mt
0,0 → 1,3
# Target: Sony news series 700/800/900 (68020) running NewsOS version 3. |
TDEPFILES= m68k-tdep.o |
TM_FILE= tm-news.h |
/tm-monitor.h
0,0 → 1,45
/* Target machine definitions for a generic m68k monitor/emulator. |
Copyright (C) 1986, 1987, 1989, 1993, 1995 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* The definitions here are appropriate for several embedded m68k-based |
targets, including IDP (rom68k), BCC (cpu32bug), and EST's emulator. */ |
|
/* GCC is probably the only compiler used on this configuration. So |
get this right even if the code which detects gcc2_compiled. is |
still broken. */ |
|
#define BELIEVE_PCC_PROMOTION 1 |
|
/* The target system handles breakpoints. */ |
|
#define DECR_PC_AFTER_BREAK 0 |
|
/* No float registers. */ |
|
/*#define NUM_REGS 18 */ |
|
#include "m68k/tm-m68k.h" |
|
/* Need to do this for ELF targets, where we can't figure out the boundaries of |
the entry file. This method stops the backtrace when we reach main. */ |
|
#define FRAME_CHAIN_VALID(fp,fi) func_frame_chain_valid (fp, fi) |
|
/* FIXME, should do GET_LONGJMP_TARGET for newlib. */ |
/tm-sun2.h
0,0 → 1,24
/* Parameters for execution on a Sun, for GDB, the GNU debugger. |
Copyright (C) 1986, 1987, 1989, 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* The child target can't deal with floating registers. */ |
#define CANNOT_STORE_REGISTER(regno) ((regno) >= FP0_REGNUM) |
|
#include "m68k/tm-m68k.h" |
/sun3os3.mt
0,0 → 1,8
# Target: Sun 3, running SunOS 3 |
# The system-supplied assembler re-orders the symbols so that gdb |
# can't find "gcc_compiled.". |
#msg If you compile your program with GCC, use the GNU assembler. |
#msg |
|
TDEPFILES= m68k-tdep.o |
TM_FILE= tm-sun3.h |
/nm-linux.h
0,0 → 1,39
/* Native support for linux, for GDB, the GNU debugger. |
Copyright (C) 1996,1998 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#ifndef NM_LINUX_H |
#define NM_LINUX_H |
|
#include "nm-linux.h" |
|
/* Return sizeof user struct to callers in less machine dependent routines */ |
|
#define KERNEL_U_SIZE kernel_u_size() |
extern int kernel_u_size PARAMS ((void)); |
|
#define U_REGS_OFFSET 0 |
|
#define REGISTER_U_ADDR(addr, blockend, regno) \ |
(addr) = m68k_linux_register_u_addr ((blockend),(regno)); |
|
extern int |
m68k_linux_register_u_addr PARAMS ((int, int)); |
|
#endif /* #ifndef NM_LINUX_H */ |
/xm-m68k.h
0,0 → 1,22
/* Macro definitions for running gdb on host machines with m68k cpu's. |
Copyright (C) 1991, Free Software Foundation, Inc. |
Written by Fred Fish at Cygnus Support (fnf@cygint) |
|
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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
/nm-m68klynx.h
0,0 → 1,26
/* Native-dependent definitions for Motorola 680x0 running LynxOS. |
Copyright 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#ifndef NM_M68KLYNX_H |
#define NM_M68KLYNX_H |
|
#include "nm-lynx.h" |
|
#endif /* NM_M68KLYNX_H */ |
/es1800.mt
0,0 → 1,9
# Target: Ericsson ES-1800 emulator (remote) for m68k. |
|
# remote-es.o should perhaps be part of the standard monitor.mt |
# configuration, if it is desirable to reduce the number of different |
# configurations. However, before that happens remote-es.c has to be |
# fixed to compile on a DOS host. |
|
TDEPFILES= m68k-tdep.o remote-es.o |
TM_FILE= tm-es1800.h |
/xm-sun2.h
0,0 → 1,79
/* Parameters for execution on a Sun, for GDB, the GNU debugger. |
Copyright (C) 1986, 1987, 1989, 1996 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
|
/* This is the amount to subtract from u.u_ar0 |
to get the offset in the core file of the register values. */ |
|
#define KERNEL_U_ADDR 0x2800 |
|
|
/* Interface definitions for kernel debugger KDB. */ |
|
/* Map machine fault codes into signal numbers. |
First subtract 0, divide by 4, then index in a table. |
Faults for which the entry in this table is 0 |
are not handled by KDB; the program's own trap handler |
gets to handle then. */ |
|
#define FAULT_CODE_ORIGIN 0 |
#define FAULT_CODE_UNITS 4 |
#define FAULT_TABLE \ |
{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \ |
0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \ |
0, 0, 0, 0, 0, 0, 0, 0, \ |
SIGILL } |
|
/* Start running with a stack stretching from BEG to END. |
BEG and END should be symbols meaningful to the assembler. |
This is used only for kdb. */ |
|
#define INIT_STACK(beg, end) \ |
{ asm (".globl end"); \ |
asm ("movel $ end, sp"); \ |
asm ("clrl fp"); } |
|
/* Push the frame pointer register on the stack. */ |
#define PUSH_FRAME_PTR \ |
asm ("movel fp, -(sp)"); |
|
/* Copy the top-of-stack to the frame pointer register. */ |
#define POP_FRAME_PTR \ |
asm ("movl (sp), fp"); |
|
/* After KDB is entered by a fault, push all registers |
that GDB thinks about (all NUM_REGS of them), |
so that they appear in order of ascending GDB register number. |
The fault code will be on the stack beyond the last register. */ |
|
#define PUSH_REGISTERS \ |
{ asm ("clrw -(sp)"); \ |
asm ("pea 10(sp)"); \ |
asm ("movem $ 0xfffe,-(sp)"); } |
|
/* Assuming the registers (including processor status) have been |
pushed on the stack in order of ascending GDB register number, |
restore them and return to the address in the saved PC register. */ |
|
#define POP_REGISTERS \ |
{ asm ("subil $8,28(sp)"); \ |
asm ("movem (sp),$ 0xffff"); \ |
asm ("rte"); } |
/m68kv4.mh
0,0 → 1,8
# Host: Motorola 680x0 running SVR4 (Commodore Amiga amix or Atari TT ASV) |
|
XM_FILE= xm-m68kv4.h |
XDEPFILES= |
|
NAT_FILE= nm-sysv4.h |
NATDEPFILES= corelow.o core-regset.o solib.o fork-child.o procfs.o \ |
proc-api.o proc-events.o proc-flags.o proc-why.o |
/hp300hpux.mh
0,0 → 1,8
# Host: Hewlett-Packard 9000 series 300, running HPUX |
# The following is true because gcc uses a different .o file format |
# than the native HPUX compiler |
|
XM_FILE= xm-hp300hpux.h |
|
NAT_FILE= nm-hp300hpux.h |
NATDEPFILES= infptrace.o inftarg.o fork-child.o hp300ux-nat.o corelow.o core-aout.o |
/3b1.mt
0,0 → 1,3
# Target: AT&T 3b1/Unix pc |
TDEPFILES= m68k-tdep.o |
TM_FILE= tm-3b1.h |
/tm-m68klynx.h
0,0 → 1,39
/* Macro definitions for Motorola 680x0 running under LynxOS. |
Copyright 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#ifndef TM_M68KLYNX_H |
#define TM_M68KLYNX_H |
|
#include "tm-lynx.h" |
|
/* If PC-2 contains this instruction, then we know what we are in a system |
call stub, and the return PC is is at SP+4, instead of SP. */ |
|
#define SYSCALL_TRAP 0x4e4a /* trap #10 */ |
#define SYSCALL_TRAP_OFFSET 2 /* PC is after trap instruction */ |
|
/* Use the generic 68k definitions. */ |
|
#include "m68k/tm-m68k.h" |
|
/* Disable dumbshit alternate breakpoint mechanism needed by 68k stub. */ |
#undef REMOTE_BREAKPOINT |
|
#endif /* TM_M68KLYNX_H */ |
/xm-m68klynx.h
0,0 → 1,25
/* Host-dependent definitions for Motorola 680x0 running LynxOS, for GDB. |
Copyright 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
|
/* Get generic LynxOS host definitions. */ |
|
#include "xm-lynx.h" |
/delta68.mh
0,0 → 1,5
# Host: Motorola Delta Series sysV68 R3V7.1 |
|
XM_FILE= xm-delta68.h |
NAT_FILE= nm-delta68.h |
NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o core-aout.o delta68-nat.o |
/tm-apollo68b.h
0,0 → 1,60
/* Parameters for execution on Apollo 68k running BSD. |
Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc. |
Contributed by Cygnus Support. |
|
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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Apollos use vector 0xb for the breakpoint vector */ |
|
#define BPT_VECTOR 0xb |
|
#include "m68k/tm-m68k.h" |
|
#define FRAME_CHAIN_VALID(chain, thisframe) nonnull_frame_chain_valid (chain, thisframe) |
|
/* These are the jmp_buf registers I could guess. There are 13 registers |
* in the buffer. There are 8 data registers, 6 general address registers, |
* the Frame Pointer, the Stack Pointer, the PC and the SR in the chip. I would |
* guess that 12 is the SR, but we don't need that anyway. 0 and 1 have |
* me stumped. 4 appears to be a5 for some unknown reason. If you care |
* about this, disassemble setjmp to find out. But don't do it with gdb :) |
*/ |
|
#undef JB_SP |
#undef JB_FP |
#undef JB_PC |
#undef JB_D0 |
#undef JB_D1 |
#undef JB_D2 |
#undef JB_D3 |
#undef JB_D4 |
#undef JB_D5 |
|
#define JB_SP 2 |
#define JB_FP 3 |
#define JB_PC 5 |
#define JB_D0 6 |
#define JB_D1 7 |
#define JB_D2 8 |
#define JB_D3 9 |
#define JB_D4 10 |
#define JB_D5 11 |
|
/* How to decide if we're in a shared library function. (Probably a wrong |
definintion inherited from the VxWorks config file). */ |
#define IN_SOLIB_CALL_TRAMPOLINE(pc, name) (name && strcmp(name, "<end_of_program>") == 0) |
/m68kv4.mt
0,0 → 1,3
# Target: Motorola 680x0 running SVR4 (Commodore Amiga amix or Atari TT ASV) |
TDEPFILES= m68k-tdep.o |
TM_FILE= tm-m68kv4.h |
/hp300hpux.mt
0,0 → 1,8
# Target: Hewlett-Packard 9000 series 300, running HPUX |
|
#msg Note that GDB can only read symbols from programs that were |
#msg compiled with GCC using GAS. |
#msg |
|
TDEPFILES= m68k-tdep.o |
TM_FILE= tm-hp300hpux.h |
/xm-apollo68b.h
0,0 → 1,25
/* Macro definitions for an Apollo m68k in BSD mode |
Copyright (C) 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
|
#define ALIGN_STACK_ON_STARTUP |
|
extern char *strdup (); |
/sun2os4.mh
0,0 → 1,5
# Host: Sun 2, running SunOS 4 |
XDEPFILES= |
XM_FILE= xm-sun2.h |
NAT_FILE= nm-sun2.h |
NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o sun3-nat.o |
/vxworks68.mt
0,0 → 1,3
# Target: Motorola m68k running VxWorks |
TDEPFILES= m68k-tdep.o remote-vx.o remote-vx68.o xdr_ld.o xdr_ptrace.o xdr_rdb.o |
TM_FILE= tm-vx68.h |
/tm-sun3os4.h
0,0 → 1,22
/* Target machine parameters for Sun-3 under SunOS 4.x, for GDB. |
Copyright (C) 1986, 1987, 1989, 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#include "m68k/tm-sun3.h" |
#include "tm-sunos.h" |
/altos.mh
0,0 → 1,5
# OBSOLETE # Host: Altos 3068 (m68k, System V release 2) |
# OBSOLETE |
# OBSOLETE XM_FILE= xm-altos.h |
# OBSOLETE XDEPFILES= infptrace.o inftarg.o fork-child.o altos-xdep.o |
|
/xm-news1000.h
0,0 → 1,27
/* Parameters for a Sony/NEWS series 1000 with News-OS version 3, |
for GDB, the GNU debugger. |
Copyright (C) 1990 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* This is required by Sony include files like <sys/user.h> so we |
get the right offset into the u area. Relying on the compiler |
to define this only works for cc, not gcc. */ |
#undef mc68030 |
#define mc68030 |
#include "m68k/xm-news.h" |
/delta68.mt
0,0 → 1,3
# Motorola Delta Series sysV68 R3V7.1 |
TDEPFILES= m68k-tdep.o |
TM_FILE= tm-delta68.h |
/xm-sun3os4.h
0,0 → 1,22
/* Macro definitions for a sun 3 running os 4. |
Copyright (C) 1989, 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#include "m68k/xm-sun3.h" |
#define FPU |
/sun2os4.mt
0,0 → 1,3
# Target: Sun 2, running SunOS 4 |
TDEPFILES= solib.o m68k-tdep.o |
TM_FILE= tm-sun2os4.h |
/altos.mt
0,0 → 1,3
# OBSOLETE # Target: Altos 3068 (m68k, System V release 2) |
# OBSOLETE TDEPFILES= m68k-tdep.o |
# OBSOLETE TM_FILE= tm-altos.h |
/linux.mh
0,0 → 1,10
# Host: Motorola m68k running Linux |
|
XM_FILE= xm-linux.h |
XDEPFILES= ser-tcp.o |
|
NAT_FILE= nm-linux.h |
NATDEPFILES= infptrace.o solib.o inftarg.o fork-child.o \ |
corelow.o core-aout.o core-regset.o m68klinux-nat.o linux-thread.o |
|
GDBSERVER_DEPFILES= low-linux.o |
/xm-apollo68v.h
0,0 → 1,44
/* Macro defintions for an Apollo. |
Copyright (C) 1986, 1987, 1989, 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* |
* Changes for 80386 by Pace Willisson (pace@prep.ai.mit.edu) |
* July 1988 |
*/ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
|
/* I'm running gdb 3.4 under 386/ix 2.0.2, which is a derivative of AT&T's |
Sys V/386 3.2. |
|
On some machines, gdb crashes when it's starting up while calling the |
vendor's termio tgetent() routine. It always works when run under |
itself (actually, under 3.2, it's not an infinitely recursive bug.) |
After some poking around, it appears that depending on the environment |
size, or whether you're running YP, or the phase of the moon or something, |
the stack is not always long-aligned when main() is called, and tgetent() |
takes strong offense at that. On some machines this bug never appears, but |
on those where it does, it occurs quite reliably. */ |
#define ALIGN_STACK_ON_STARTUP |
|
/* define USG if you are using sys5 /usr/include's */ |
#define USG |
|
#define HAVE_TERMIO |
/tm-hp300hpux.h
0,0 → 1,32
/* Parameters for execution on an HP 9000 model 320, for GDB, the GNU debugger. |
Copyright 1986, 1987, 1989, 1991, 1992, 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* GCC is the only compiler used for stabs on this OS. So get this |
right even if the code which detects gcc2_compiled. is still |
broken. */ |
|
#define BELIEVE_PCC_PROMOTION 1 |
|
/* Define BPT_VECTOR if it is different than the default. |
This is the vector number used by traps to indicate a breakpoint. */ |
|
#define BPT_VECTOR 0x1 |
|
#include "m68k/tm-m68k.h" |
/st2000.mt
0,0 → 1,3
# Target: Tandem ST-2000 phone switch |
TDEPFILES= m68k-tdep.o remote-st.o |
TM_FILE= tm-st2000.h |
/xm-hp300hpux.h
0,0 → 1,151
/* Parameters for HP 9000 model 320 hosting, for GDB, the GNU debugger. |
Copyright (C) 1986, 1987, 1989, 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
|
/* Define this to indicate problems with traps after continuing. */ |
#define HP_OS_BUG |
|
/* Set flag to indicate whether HP's assembler is in use. */ |
#ifdef __GNUC__ |
#ifdef __HPUX_ASM__ |
#define HPUX_ASM |
#endif |
#else /* not GNU C. */ |
#define HPUX_ASM |
#endif /* not GNU C. */ |
|
/* Define this for versions of hp-ux older than 6.0 */ |
/* #define HPUX_VERSION_5 */ |
|
/* define USG if you are using sys5 /usr/include's */ |
#undef USG /* In case it was defined in the Makefile for cplus-dem.c */ |
#define USG |
|
#define HAVE_TERMIOS |
|
#define REGISTER_ADDR(u_ar0, regno) \ |
(unsigned int) \ |
(((regno) < PS_REGNUM) \ |
? (&((struct exception_stack *) (u_ar0))->e_regs[(regno + R0)]) \ |
: (((regno) == PS_REGNUM) \ |
? ((int *) (&((struct exception_stack *) (u_ar0))->e_PS)) \ |
: (&((struct exception_stack *) (u_ar0))->e_PC))) |
|
#define FP_REGISTER_ADDR(u, regno) \ |
(((char *) \ |
(((regno) < FPC_REGNUM) \ |
? (&u.u_pcb.pcb_mc68881[FMC68881_R0 + (((regno) - FP0_REGNUM) * 3)]) \ |
: (&u.u_pcb.pcb_mc68881[FMC68881_C + ((regno) - FPC_REGNUM)]))) \ |
- ((char *) (& u))) |
|
/* Interface definitions for kernel debugger KDB. */ |
|
/* Map machine fault codes into signal numbers. |
First subtract 0, divide by 4, then index in a table. |
Faults for which the entry in this table is 0 |
are not handled by KDB; the program's own trap handler |
gets to handle then. */ |
|
#define FAULT_CODE_ORIGIN 0 |
#define FAULT_CODE_UNITS 4 |
#define FAULT_TABLE \ |
{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \ |
0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \ |
0, 0, 0, 0, 0, 0, 0, 0, \ |
SIGILL } |
|
#ifndef HPUX_ASM |
|
/* Start running with a stack stretching from BEG to END. |
BEG and END should be symbols meaningful to the assembler. |
This is used only for kdb. */ |
|
#define INIT_STACK(beg, end) \ |
{ asm (".globl end"); \ |
asm ("movel $ end, sp"); \ |
asm ("clrl fp"); } |
|
/* Push the frame pointer register on the stack. */ |
#define PUSH_FRAME_PTR \ |
asm ("movel fp, -(sp)"); |
|
/* Copy the top-of-stack to the frame pointer register. */ |
#define POP_FRAME_PTR \ |
asm ("movl (sp), fp"); |
|
/* After KDB is entered by a fault, push all registers |
that GDB thinks about (all NUM_REGS of them), |
so that they appear in order of ascending GDB register number. |
The fault code will be on the stack beyond the last register. */ |
|
#define PUSH_REGISTERS \ |
{ asm ("clrw -(sp)"); \ |
asm ("pea 10(sp)"); \ |
asm ("movem $ 0xfffe,-(sp)"); } |
|
/* Assuming the registers (including processor status) have been |
pushed on the stack in order of ascending GDB register number, |
restore them and return to the address in the saved PC register. */ |
|
#define POP_REGISTERS \ |
{ asm ("subil $8,28(sp)"); \ |
asm ("movem (sp),$ 0xffff"); \ |
asm ("rte"); } |
|
#else /* HPUX_ASM */ |
|
/* Start running with a stack stretching from BEG to END. |
BEG and END should be symbols meaningful to the assembler. |
This is used only for kdb. */ |
|
#define INIT_STACK(beg, end) \ |
{ asm ("global end"); \ |
asm ("mov.l &end,%sp"); \ |
asm ("clr.l %a6"); } |
|
/* Push the frame pointer register on the stack. */ |
#define PUSH_FRAME_PTR \ |
asm ("mov.l %fp,-(%sp)"); |
|
/* Copy the top-of-stack to the frame pointer register. */ |
#define POP_FRAME_PTR \ |
asm ("mov.l (%sp),%fp"); |
|
/* After KDB is entered by a fault, push all registers |
that GDB thinks about (all NUM_REGS of them), |
so that they appear in order of ascending GDB register number. |
The fault code will be on the stack beyond the last register. */ |
|
#define PUSH_REGISTERS \ |
{ asm ("clr.w -(%sp)"); \ |
asm ("pea 10(%sp)"); \ |
asm ("movm.l &0xfffe,-(%sp)"); } |
|
/* Assuming the registers (including processor status) have been |
pushed on the stack in order of ascending GDB register number, |
restore them and return to the address in the saved PC register. */ |
|
#define POP_REGISTERS \ |
{ asm ("subi.l &8,28(%sp)"); \ |
asm ("mov.m (%sp),&0xffff"); \ |
asm ("rte"); } |
|
#endif /* HPUX_ASM */ |
/nm-news.h
0,0 → 1,27
/* Parameters for execution on a Sony/NEWS, for GDB, the GNU debugger. |
Copyright 1987, 1989, 1992, 1996 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#ifndef NM_HEWS_H |
#define NM_NEWS_H 1 |
|
/* Supply missing typedef needed in inftarg.c */ |
typedef int pid_t; |
|
#endif /* NM_NEWS_H */ |
/tm-delta68.h
0,0 → 1,105
/* Target definitions for delta68. |
Copyright 1993, 1994, 1998, 1999, 2000 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Define BPT_VECTOR if it is different than the default. |
This is the vector number used by traps to indicate a breakpoint. */ |
|
#define BPT_VECTOR 0x1 |
|
#define GCC_COMPILED_FLAG_SYMBOL "gcc_compiled%" |
#define GCC2_COMPILED_FLAG_SYMBOL "gcc2_compiled%" |
|
/* Amount PC must be decremented by after a breakpoint. |
On the Delta, the kernel decrements it for us. */ |
|
#define DECR_PC_AFTER_BREAK 0 |
|
/* Not sure what happens if we try to store this register, but |
phdm@info.ucl.ac.be says we need this define. */ |
|
#define CANNOT_STORE_REGISTER(regno) (regno == FPI_REGNUM) |
|
/* Extract from an array REGBUF containing the (raw) register state |
a function return value of type TYPE, and copy that, in virtual format, |
into VALBUF. */ |
|
/* When it returns a float/double value, use fp0 in sysV68. */ |
/* When it returns a pointer value, use a0 in sysV68. */ |
|
#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \ |
if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) \ |
REGISTER_CONVERT_TO_VIRTUAL (FP0_REGNUM, TYPE, \ |
®BUF[REGISTER_BYTE (FP0_REGNUM)], \ |
VALBUF); \ |
else \ |
memcpy ((VALBUF), \ |
(char *) ((REGBUF) + \ |
(TYPE_CODE(TYPE) == TYPE_CODE_PTR ? 8 * 4 : \ |
(TYPE_LENGTH(TYPE) >= 4 ? 0 : 4 - TYPE_LENGTH(TYPE)))), \ |
TYPE_LENGTH(TYPE)) |
|
/* Write into appropriate registers a function return value |
of type TYPE, given in virtual format. */ |
|
/* When it returns a float/double value, use fp0 in sysV68. */ |
/* When it returns a pointer value, use a0 in sysV68. */ |
|
#define STORE_RETURN_VALUE(TYPE,VALBUF) \ |
if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) \ |
{ \ |
char raw_buf[REGISTER_RAW_SIZE (FP0_REGNUM)]; \ |
REGISTER_CONVERT_TO_RAW (TYPE, FP0_REGNUM, VALBUF, raw_buf); \ |
write_register_bytes (REGISTER_BYTE (FP0_REGNUM), \ |
raw_buf, REGISTER_RAW_SIZE (FP0_REGNUM)); \ |
} \ |
else \ |
write_register_bytes ((TYPE_CODE(TYPE) == TYPE_CODE_PTR ? 8 * 4 : 0), \ |
VALBUF, TYPE_LENGTH (TYPE)) |
|
/* Return number of args passed to a frame. |
Can return -1, meaning no way to tell. */ |
|
extern int delta68_frame_num_args PARAMS ((struct frame_info * fi)); |
#define FRAME_NUM_ARGS(fi) (delta68_frame_num_args ((fi))) |
|
/* On M68040 versions of sysV68 R3V7.1, ptrace(PT_WRITE_I) does not clear |
the processor's instruction cache as it should. */ |
#define CLEAR_INSN_CACHE() clear_insn_cache() |
|
#include "m68k/tm-m68k.h" |
|
/* Extract from an array REGBUF containing the (raw) register state |
the address in which a function should return its structure value, |
as a CORE_ADDR (or an expression that can be used as one). */ |
|
#undef EXTRACT_STRUCT_VALUE_ADDRESS |
#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF)\ |
(*(CORE_ADDR *)((char*)(REGBUF) + 8 * 4)) |
|
extern int delta68_in_sigtramp PARAMS ((CORE_ADDR pc, char * name)); |
#define IN_SIGTRAMP(pc,name) delta68_in_sigtramp (pc, name) |
|
extern CORE_ADDR delta68_frame_saved_pc PARAMS ((struct frame_info * fi)); |
#undef FRAME_SAVED_PC |
#define FRAME_SAVED_PC(fi) delta68_frame_saved_pc (fi) |
|
extern CORE_ADDR delta68_frame_args_address PARAMS ((struct frame_info * fi)); |
#undef FRAME_ARGS_ADDRESS |
#define FRAME_ARGS_ADDRESS(fi) delta68_frame_args_address (fi) |
/xm-mpw.h
0,0 → 1,25
/* Macro definitions for running GDB on Apple 68k-based Macintoshes. |
Copyright (C) 1994, 1995 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
|
/* Use angle brackets so that the common xm-mpw.h is found. */ |
|
#include <xm-mpw.h> |
/linux.mt
0,0 → 1,3
# Target: Motorola m68k with a.out and ELF |
TDEPFILES= m68k-tdep.o |
TM_FILE= tm-linux.h |
/tm-os68k.h
0,0 → 1,47
/* Parameters for execution on VxWorks m68k's, for GDB, the GNU debugger. |
Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc. |
Contributed by Cygnus Support. |
|
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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define GDBINIT_FILENAME ".os68gdbinit" |
|
#define DEFAULT_PROMPT "(os68k) " |
|
#include "m68k/tm-m68k.h" |
|
/* We have more complex, useful breakpoints on the target. */ |
#undef DECR_PC_AFTER_BREAK |
#define DECR_PC_AFTER_BREAK 0 |
|
/* Takes the current frame-struct pointer and returns the chain-pointer |
to get to the calling frame. |
|
If our current frame pointer is zero, we're at the top; else read out |
the saved FP from memory pointed to by the current FP. */ |
|
#undef FRAME_CHAIN |
#define FRAME_CHAIN(thisframe) ((thisframe)->frame? read_memory_integer ((thisframe)->frame, 4): 0) |
|
/* If the chain pointer is zero (either because the saved value fetched |
by FRAME_CHAIN was zero, or because the current FP was zero so FRAME_CHAIN |
never fetched anything), we are at the top of the stack. */ |
/* We are guaranteed to have a zero frame pointer at bottom of stack, too. */ |
|
#undef FRAME_CHAIN_VALID |
#define FRAME_CHAIN_VALID(chain, thisframe) nonnull_frame_chain_valid (chain, thisframe) |
/sun2os3.mh
0,0 → 1,5
# Host: Sun 2, running SunOS 3 |
XDEPFILES= |
XM_FILE= xm-sun2.h |
NAT_FILE= nm-sun2.h |
NATDEPFILES= infptrace.o inftarg.o fork-child.o corelow.o sun3-nat.o |
/tm-vx68.h
0,0 → 1,89
/* Target machine description for VxWorks m68k's, for GDB, the GNU debugger. |
Copyright 1986, 1987, 1989, 1991, 1992, 1993, 1999 Free Software Foundation, Inc. |
Contributed by Cygnus Support. |
|
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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* GCC is probably the only compiler used on this configuration. So |
get this right even if the code which detects gcc2_compiled. is |
still broken. */ |
|
#define BELIEVE_PCC_PROMOTION 1 |
|
/* We have more complex, useful breakpoints on the target. */ |
#define DECR_PC_AFTER_BREAK 0 |
|
#include "m68k/tm-m68k.h" |
#include "tm-vxworks.h" |
|
/* Takes the current frame-struct pointer and returns the chain-pointer |
to get to the calling frame. |
|
If our current frame pointer is zero, we're at the top; else read out |
the saved FP from memory pointed to by the current FP. */ |
|
#undef FRAME_CHAIN |
#define FRAME_CHAIN(thisframe) ((thisframe)->frame? read_memory_integer ((thisframe)->frame, 4): 0) |
|
/* If the chain pointer is zero (either because the saved value fetched |
by FRAME_CHAIN was zero, or because the current FP was zero so FRAME_CHAIN |
never fetched anything), we are at the top of the stack. */ |
/* We are guaranteed to have a zero frame pointer at bottom of stack, too. */ |
|
#undef FRAME_CHAIN_VALID |
#define FRAME_CHAIN_VALID(chain, thisframe) nonnull_frame_chain_valid (chain, thisframe) |
|
/* FIXME, Longjmp information stolen from Sun-3 config. Dunno if right. */ |
/* Offsets (in target ints) into jmp_buf. Not defined by Sun, but at least |
documented in a comment in <machine/setjmp.h>! */ |
|
#define JB_ELEMENT_SIZE 4 |
|
#define JB_ONSSTACK 0 |
#define JB_SIGMASK 1 |
#define JB_SP 2 |
#define JB_PC 3 |
#define JB_PSL 4 |
#define JB_D2 5 |
#define JB_D3 6 |
#define JB_D4 7 |
#define JB_D5 8 |
#define JB_D6 9 |
#define JB_D7 10 |
#define JB_A2 11 |
#define JB_A3 12 |
#define JB_A4 13 |
#define JB_A5 14 |
#define JB_A6 15 |
|
/* Figure out where the longjmp will land. Slurp the args out of the stack. |
We expect the first arg to be a pointer to the jmp_buf structure from which |
we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. |
This routine returns true on success */ |
|
#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR) |
extern int get_longjmp_target PARAMS ((CORE_ADDR *)); |
|
/* Number of registers in a ptrace_getregs call. */ |
|
#define VX_NUM_REGS (18) |
|
/* Number of registers in a ptrace_getfpregs call. */ |
|
#define VX_SIZE_FPREGS (8 * REGISTER_RAW_SIZE (FP0_REGNUM) \ |
+ (3 * REGISTER_SIZE)) |
/xm-delta68.h
0,0 → 1,37
/* Macro definitions for a Delta. |
Copyright (C) 1986, 1987, 1989, 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
|
/* I'm running gdb 4.9 under sysV68 R3V7.1. |
|
On some machines, gdb crashes when it's starting up while calling the |
vendor's termio tgetent() routine. It always works when run under |
itself (actually, under 3.2, it's not an infinitely recursive bug.) |
After some poking around, it appears that depending on the environment |
size, or whether you're running YP, or the phase of the moon or something, |
the stack is not always long-aligned when main() is called, and tgetent() |
takes strong offense at that. On some machines this bug never appears, but |
on those where it does, it occurs quite reliably. */ |
#define ALIGN_STACK_ON_STARTUP |
|
#define USG |
|
#define HAVE_TERMIO |
/dpx2.mh
0,0 → 1,7
# Host: Bull DPX2 (68k, System V release 3) |
|
XM_FILE= xm-dpx2.h |
XDEPFILES= |
|
NAT_FILE= nm-dpx2.h |
NATDEPFILES= infptrace.o corelow.o core-aout.o inftarg.o dpx2-nat.o fork-child.o |
/tm-news.h
0,0 → 1,66
/* Parameters for execution on a Sony/NEWS, for GDB, the GNU debugger. |
Copyright 1987, 1989, 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* See following cpu type determination macro to get the machine type. |
|
Here is an m-news.h file for gdb. It supports the 68881 registers. |
by hikichi@srava.sra.junet |
|
* Ptrace for handling floating register has a bug(before NEWS OS version 2.2), |
* After NEWS OS version 3.2, some of ptrace's bug is fixed. |
But we cannot change the floating register(see adb(1) in OS 3.2) yet. */ |
|
/* Extract from an array REGBUF containing the (raw) register state |
a function return value of type TYPE, and copy that, in virtual format, |
into VALBUF. */ |
|
/* when it return the floating value, use the FP0 in NEWS. */ |
#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \ |
{ if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) \ |
{ \ |
REGISTER_CONVERT_TO_VIRTUAL (FP0_REGNUM, TYPE, \ |
®BUF[REGISTER_BYTE (FP0_REGNUM)], \ |
VALBUF); \ |
} \ |
else \ |
memcpy (VALBUF, REGBUF, TYPE_LENGTH (TYPE)); } |
|
/* Write into appropriate registers a function return value |
of type TYPE, given in virtual format. */ |
|
/* when it return the floating value, use the FP0 in NEWS. */ |
#define STORE_RETURN_VALUE(TYPE,VALBUF) \ |
{ if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) \ |
{ \ |
char raw_buf[REGISTER_RAW_SIZE (FP0_REGNUM)]; \ |
REGISTER_CONVERT_TO_RAW (TYPE, FP0_REGNUM, VALBUF, raw_buf); \ |
write_register_bytes (REGISTER_BYTE (FP0_REGNUM), \ |
raw_buf, REGISTER_RAW_SIZE (FP0_REGNUM)); \ |
} \ |
else \ |
write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE)); } |
|
/* Return number of args passed to a frame. |
Can return -1, meaning no way to tell. */ |
|
extern int news_frame_num_args PARAMS ((struct frame_info * fi)); |
#define FRAME_NUM_ARGS(fi) (news_frame_num_args ((fi))) |
|
#include "m68k/tm-m68k.h" |
/nm-hp300bsd.h
0,0 → 1,89
/* Parameters for Hewlett-Packard 9000/300 native support under bsd. |
Copyright 1986, 1987, 1989, 1991, 1992, 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Detect whether this is 4.3 or 4.4. */ |
|
#include <errno.h> |
#include <sys/param.h> |
#ifdef BSD4_4 |
|
/* BSD 4.4 alpha or better */ |
|
/* We can attach to processes using ptrace. */ |
|
#define ATTACH_DETACH |
#define PTRACE_ATTACH 10 |
#define PTRACE_DETACH 11 |
|
/* The third argument of ptrace is declared as this type. */ |
|
#define PTRACE_ARG3_TYPE caddr_t |
|
/* U_REGS_OFFSET is the offset of the registers within the u area for |
ptrace purposes. */ |
#define U_REGS_OFFSET \ |
ptrace (PT_READ_U, inferior_pid, \ |
(PTRACE_ARG3_TYPE) \ |
(offsetof (struct user, u_kproc.kp_proc.p_md.md_regs)), 0) \ |
- USRSTACK |
|
/* No user structure in 4.4, registers are relative to kernel stack |
which is fixed. */ |
#define KERNEL_U_ADDR 0xFFF00000 |
|
/* FIXME: Is ONE_PROCESS_WRITETEXT still true now that the kernel has |
copy-on-write? It not, move it to the 4.3-specific section below |
(now it is in xm-hp300bsd.h). */ |
|
#else |
|
/* This is BSD 4.3 or something like it. */ |
|
/* Get kernel u area address at run-time using BSD style nlist (). */ |
#define KERNEL_U_ADDR_BSD |
|
#endif |
|
/* This was once broken for 4.4, but probably because we had the wrong |
KERNEL_U_ADDR. */ |
|
/* This is a piece of magic that is given a register number REGNO |
and as BLOCKEND the address in the system of the end of the user structure |
and stores in ADDR the address in the kernel or core dump |
of that register. */ |
|
#define REGISTER_U_ADDR(addr, blockend, regno) \ |
{ \ |
if (regno < PS_REGNUM) \ |
addr = (int) &((struct frame *)(blockend))->f_regs[regno]; \ |
else if (regno == PS_REGNUM) \ |
addr = (int) &((struct frame *)(blockend))->f_stackadj; \ |
else if (regno == PC_REGNUM) \ |
addr = (int) &((struct frame *)(blockend))->f_pc; \ |
else if (regno < FPC_REGNUM) \ |
addr = (int) \ |
&((struct user *)0)->u_pcb.pcb_fpregs.fpf_regs[((regno)-FP0_REGNUM)*3];\ |
else if (regno == FPC_REGNUM) \ |
addr = (int) &((struct user *)0)->u_pcb.pcb_fpregs.fpf_fpcr; \ |
else if (regno == FPS_REGNUM) \ |
addr = (int) &((struct user *)0)->u_pcb.pcb_fpregs.fpf_fpsr; \ |
else \ |
addr = (int) &((struct user *)0)->u_pcb.pcb_fpregs.fpf_fpiar; \ |
} |
/tm-es1800.h
0,0 → 1,60
/* Parameters for execution on ES-1800 emulator for 68000. |
The code was originally written by Johan Holmberg TT/SJ Ericsson Telecom |
AB and later modified by Johan Henriksson TT/SJ. It was adapted to GDB 4.0 |
by Jan Norden TX/DK. |
Copyright 1986, 1987, 1989, 1991, 1992, 1993 Free Software Foundation, Inc. |
|
This file is part of GDB. |
|
GDB 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 1, or (at your option) |
any later version. |
|
GDB 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define GDBINIT_FILENAME ".esgdbinit" |
|
#define DEFAULT_PROMPT "(esgdb) " |
|
#include "m68k/tm-m68k.h" |
|
/* Longjmp stuff borrowed from sun3 configuration. Don't know if correct. |
FIXME. */ |
/* Offsets (in target ints) into jmp_buf. Not defined by Sun, but at least |
documented in a comment in <machine/setjmp.h>! */ |
|
#define JB_ELEMENT_SIZE 4 |
|
#define JB_ONSSTACK 0 |
#define JB_SIGMASK 1 |
#define JB_SP 2 |
#define JB_PC 3 |
#define JB_PSL 4 |
#define JB_D2 5 |
#define JB_D3 6 |
#define JB_D4 7 |
#define JB_D5 8 |
#define JB_D6 9 |
#define JB_D7 10 |
#define JB_A2 11 |
#define JB_A3 12 |
#define JB_A4 13 |
#define JB_A5 14 |
#define JB_A6 15 |
|
/* Figure out where the longjmp will land. Slurp the args out of the stack. |
We expect the first arg to be a pointer to the jmp_buf structure from which |
we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. |
This routine returns true on success */ |
|
#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR) |
extern int get_longjmp_target PARAMS ((CORE_ADDR *)); |
/xm-news.h
0,0 → 1,138
/* Parameters for execution on a Sony/NEWS, for GDB, the GNU debugger. |
Copyright 1987, 1989, 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
|
#include <sys/param.h> /* For INT_MIN */ |
|
#define HAVE_WAIT_STRUCT |
|
/* We can't use "isatty" or "fileno" on this machine. This isn't good, |
but it will have to do. */ |
#define ISATTY(FP) ((FP) == stdin || (FP) == stdout) |
|
/* THis is the amount to subtract from u.u_ar0 |
to get the offset in the core file of the register values. */ |
|
#define KERNEL_U_ADDR UADDR |
|
/* The offsets in this macro are from /usr/include/machine/reg.h */ |
|
#define REGISTER_U_ADDR(addr, blockend, regno) \ |
{ static char offsets[] = { \ |
/*d0-d7:*/1,2,3,4,5,6,7,8, \ |
/*a0-a6:*/9,10,11,12,13,14,15, /*sp:*/-4, /*ps:*/0, /*pc:*/-1, \ |
/*fp0-fp7:*/19,22,25,28,31,34,37,40, /*fpc:*/16,17,18 }; \ |
addr = blockend + 4 * offsets[regno]; \ |
} |
|
/* NewsOS 3.3 does not define errno in <errno.h>. */ |
extern int errno; |
|
/* Interface definitions for kernel debugger KDB. */ |
|
/* Use GNU assembler instead of standard assembler */ |
#define USE_GAS |
|
/* Motorola assembly format */ |
#ifndef USE_GAS |
#define MOTOROLA |
#endif |
|
/* Map machine fault codes into signal numbers. |
First subtract 0, divide by 4, then index in a table. |
Faults for which the entry in this table is 0 |
are not handled by KDB; the program's own trap handler |
gets to handle then. */ |
|
#define FAULT_CODE_ORIGIN 0 |
#define FAULT_CODE_UNITS 4 |
#define FAULT_TABLE \ |
{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \ |
0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \ |
0, 0, 0, 0, 0, 0, 0, 0, \ |
SIGILL } |
|
/* Start running with a stack stretching from BEG to END. |
BEG and END should be symbols meaningful to the assembler. |
This is used only for kdb. */ |
|
#ifdef MOTOROLA |
#define INIT_STACK(beg, end) \ |
{ asm (".globl end"); \ |
asm ("move.l $ end, sp"); \ |
asm ("clr.l fp"); } |
#else |
#define INIT_STACK(beg, end) \ |
{ asm (".globl end"); \ |
asm ("movel $ end, sp"); \ |
asm ("clrl fp"); } |
#endif |
|
/* Push the frame pointer register on the stack. */ |
#ifdef MOTOROLA |
#define PUSH_FRAME_PTR \ |
asm ("move.l fp, -(sp)"); |
#else |
#define PUSH_FRAME_PTR \ |
asm ("movel fp, -(sp)"); |
#endif |
|
/* Copy the top-of-stack to the frame pointer register. */ |
#ifdef MOTOROLA |
#define POP_FRAME_PTR \ |
asm ("move.l (sp), fp"); |
#else |
#define POP_FRAME_PTR \ |
asm ("movl (sp), fp"); |
#endif |
|
/* After KDB is entered by a fault, push all registers |
that GDB thinks about (all NUM_REGS of them), |
so that they appear in order of ascending GDB register number. |
The fault code will be on the stack beyond the last register. */ |
|
#ifdef MOTOROLA |
#define PUSH_REGISTERS \ |
{ asm ("clr.w -(sp)"); \ |
asm ("pea (10,sp)"); \ |
asm ("movem $ 0xfffe,-(sp)"); } |
#else |
#define PUSH_REGISTERS \ |
{ asm ("clrw -(sp)"); \ |
asm ("pea 10(sp)"); \ |
asm ("movem $ 0xfffe,-(sp)"); } |
#endif |
|
/* Assuming the registers (including processor status) have been |
pushed on the stack in order of ascending GDB register number, |
restore them and return to the address in the saved PC register. */ |
|
#ifdef MOTOROLA |
#define POP_REGISTERS \ |
{ asm ("subi.l $8,28(sp)"); \ |
asm ("movem (sp),$ 0xffff"); \ |
asm ("rte"); } |
#else |
#define POP_REGISTERS \ |
{ asm ("subil $8,28(sp)"); \ |
asm ("movem (sp),$ 0xffff"); \ |
asm ("rte"); } |
#endif |
/nm-sun3.h
0,0 → 1,32
/* Native-only definitions for Sun-3 for GDB, the GNU debugger. |
Copyright (C) 1986, 1987, 1989, 1991, 1992, 1996 |
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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Do implement the attach and detach commands. */ |
|
#define ATTACH_DETACH |
|
/* Override copies of {fetch,store}_inferior_registers in infptrace.c. */ |
|
#define FETCH_INFERIOR_REGISTERS |
|
/* We have to grab the regs since we store all regs at once. */ |
|
#define CHILD_PREPARE_TO_STORE() read_register_bytes (0, NULL, REGISTER_BYTES) |
/tm-hp300bsd.h
0,0 → 1,63
/* Parameters for target machine Hewlett-Packard 9000/300, running bsd. |
Copyright 1986, 1987, 1989, 1991, 1992, 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* Configuration file for HP9000/300 series machine running BSD, |
including Utah, Mt. Xinu or Berkeley variants. This is NOT for HP-UX. |
Problems to hpbsd-bugs@cs.utah.edu. */ |
|
/* GCC is the only compiler used on this OS. So get this right even if |
the code which detects gcc2_compiled. is still broken. */ |
|
#define BELIEVE_PCC_PROMOTION 1 |
|
/* Define BPT_VECTOR if it is different than the default. |
This is the vector number used by traps to indicate a breakpoint. |
|
For hp300bsd the normal breakpoint vector is 0x2 (for debugging via |
ptrace); for remote kernel debugging the breakpoint vector is 0xf. */ |
|
#define BPT_VECTOR 0x2 |
#define REMOTE_BPT_VECTOR 0xf |
|
#define TARGET_NBPG 4096 |
|
/* For 4.4 this would be 2, but it is OK for us to detect an area a |
bit bigger than necessary. This way the same gdb binary can target |
either 4.3 or 4.4. */ |
|
#define TARGET_UPAGES 3 |
|
/* On the HP300, sigtramp is in the u area. Gak! User struct is not |
mapped to the same virtual address in user/kernel address space |
(hence STACK_END_ADDR as opposed to KERNEL_U_ADDR). This tests |
for the whole u area, since we don't necessarily have hp300bsd |
include files around. */ |
|
/* For 4.4, it is actually right 20 bytes *before* STACK_END_ADDR, so |
include that in the area we test for. */ |
|
#define SIGTRAMP_START(pc) (STACK_END_ADDR - 20) |
#define SIGTRAMP_END(pc) (STACK_END_ADDR + TARGET_UPAGES * TARGET_NBPG) |
|
/* Address of end of stack space. */ |
|
#define STACK_END_ADDR 0xfff00000 |
|
#include "m68k/tm-m68k.h" |
/isi.mh
0,0 → 1,5
# Host: ISI Optimum V (3.05) under 4.3bsd. |
# corelow.o commented out because core dumps are broken on this machine, |
# as of GDB 4.8, according to lam@tfs.com |
XDEPFILES= infptrace.o inftarg.o fork-child.o core-aout.o isi-xdep.o |
XM_FILE= xm-isi.h |
/tm-isi.h
0,0 → 1,128
/* Definitions to target GDB on an ISI Optimum V (3.05) under 4.3bsd. |
Copyright (C) 1987, 1989, 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* This has not been tested on ISI's running BSD 4.2, but it will probably |
work. */ |
|
/* Data segment starts at etext rounded up to DATAROUND in {N,Z}MAGIC files */ |
|
#define DATAROUND 0x20000 |
#define N_DATADDR(hdr) (hdr.a_magic != OMAGIC ? \ |
(hdr.a_text + DATAROUND) & ~(DATAROUND-1) : hdr.a_text) |
|
/* Text segment starts at sizeof (struct exec) in {N,Z}MAGIC files */ |
|
#define N_TXTADDR(hdr) (hdr.a_magic != OMAGIC ? sizeof (struct exec) : 0) |
|
/* Amount PC must be decremented by after a breakpoint. |
This is often the number of bytes in BREAKPOINT |
but not always. |
On the ISI, the kernel resets the pc to the trap instr */ |
|
#define DECR_PC_AFTER_BREAK 0 |
|
|
/* Return number of args passed to a frame. |
Can return -1, meaning no way to tell. */ |
|
extern int isi_frame_num_args PARAMS ((struct frame_info * fi)); |
#define FRAME_NUM_ARGS(fi) (isi_frame_num_args ((fi))) |
|
/* Put here the code to store, into a struct frame_saved_regs, |
the addresses of the saved registers of frame described by FRAME_INFO. |
This includes special registers such as pc and fp saved in special |
ways in the stack frame. sp is even more special: |
the address we return for it IS the sp for the next frame. */ |
|
#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \ |
{ register int regnum; \ |
register int regmask; \ |
register CORE_ADDR next_addr; \ |
register CORE_ADDR pc; \ |
register int insn; \ |
register int offset; \ |
memset (&frame_saved_regs, '\0', sizeof frame_saved_regs); \ |
if ((frame_info)->pc >= (frame_info)->frame - CALL_DUMMY_LENGTH - FP_REGNUM*4 - 8*12 - 4 \ |
&& (frame_info)->pc <= (frame_info)->frame) \ |
{ next_addr = (frame_info)->frame; \ |
pc = (frame_info)->frame - CALL_DUMMY_LENGTH - FP_REGNUM * 4 - 8*12 - 4; }\ |
else \ |
{ pc = get_pc_function_start ((frame_info)->pc); \ |
/* Verify we have a link a6 instruction next, \ |
or a branch followed by a link a6 instruction; \ |
if not we lose. If we win, find the address above the saved \ |
regs using the amount of storage from the link instruction. */\ |
retry: \ |
insn = read_memory_integer (pc, 2); \ |
if (insn == 044016) \ |
next_addr = (frame_info)->frame - read_memory_integer (pc += 2, 4), pc+=4; \ |
else if (insn == 047126) \ |
next_addr = (frame_info)->frame - read_memory_integer (pc += 2, 2), pc+=2; \ |
else if ((insn & 0177400) == 060000) /* bra insn */ \ |
{ offset = insn & 0377; \ |
pc += 2; /* advance past bra */ \ |
if (offset == 0) /* bra #word */ \ |
offset = read_memory_integer (pc, 2), pc += 2; \ |
else if (offset == 0377) /* bra #long */ \ |
offset = read_memory_integer (pc, 4), pc += 4; \ |
pc += offset; \ |
goto retry; \ |
} else goto lose; \ |
/* If have an addal #-n, sp next, adjust next_addr. */ \ |
if ((0177777 & read_memory_integer (pc, 2)) == 0157774) \ |
next_addr += read_memory_integer (pc += 2, 4), pc += 4; \ |
} \ |
/* next should be a moveml to (sp) or -(sp) or a movl r,-(sp) */ \ |
insn = read_memory_integer (pc, 2), pc += 2; \ |
regmask = read_memory_integer (pc, 2); \ |
if ((insn & 0177760) == 022700) /* movl rn, (sp) */ \ |
(frame_saved_regs).regs[(insn&7) + ((insn&010)?8:0)] = next_addr; \ |
else if ((insn & 0177760) == 024700) /* movl rn, -(sp) */ \ |
(frame_saved_regs).regs[(insn&7) + ((insn&010)?8:0)] = next_addr-=4; \ |
else if (insn == 0044327) /* moveml mask, (sp) */ \ |
{ pc += 2; \ |
/* Regmask's low bit is for register 0, the first written */ \ |
next_addr -= 4; \ |
for (regnum = 0; regnum < 16; regnum++, regmask >>= 1) \ |
if (regmask & 1) \ |
(frame_saved_regs).regs[regnum] = (next_addr += 4); \ |
} else if (insn == 0044347) /* moveml mask, -(sp) */ \ |
{ pc += 2; \ |
/* Regmask's low bit is for register 15, the first pushed */ \ |
for (regnum = 15; regnum >= 0; regnum--, regmask >>= 1) \ |
if (regmask & 1) \ |
(frame_saved_regs).regs[regnum] = (next_addr -= 4); } \ |
/* clrw -(sp); movw ccr,-(sp) may follow. */ \ |
if (read_memory_integer (pc, 2) == 041147 \ |
&& read_memory_integer (pc+2, 2) == 042347) \ |
(frame_saved_regs).regs[PS_REGNUM] = (next_addr -= 4); \ |
lose: ; \ |
(frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame + 8; \ |
(frame_saved_regs).regs[FP_REGNUM] = (frame_info)->frame; \ |
(frame_saved_regs).regs[PC_REGNUM] = (frame_info)->frame + 4; \ |
} |
|
/* The only reason this is here is the tm-isi.h reference below. It |
was moved back here from tm-m68k.h. FIXME? */ |
|
extern CORE_ADDR isi_skip_prologue PARAMS ((CORE_ADDR)); |
#define SKIP_PROLOGUE(pc) (isi_skip_prologue (pc)) |
|
#include "m68k/tm-m68k.h" |
/sun2os3.mt
0,0 → 1,7
# Target: Sun 2, running SunOS 3 |
# The system-supplied assembler re-orders the symbols so that gdb |
# can't find "gcc_compiled.". |
#msg If you compile your program with GCC, use the GNU assembler. |
#msg |
TDEPFILES= m68k-tdep.o |
TM_FILE= tm-sun2.h |
/xm-hp300bsd.h
0,0 → 1,86
/* Parameters for hosting on a Hewlett-Packard 9000/300, running bsd. |
Copyright 1986, 1987, 1989, 1991, 1992, 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* |
* Configuration file for HP9000/300 series machine running |
* University of Utah's 4.3bsd (or 4.4BSD) port. This is NOT for HP-UX. |
* Problems to hpbsd-bugs@cs.utah.edu |
*/ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
|
#include <sys/param.h> /* For INT_MIN */ |
|
/* Kernel is a bit tenacious about sharing text segments, disallowing bpts. */ |
#define ONE_PROCESS_WRITETEXT |
|
extern char *strdup PARAMS ((const char *)); |
|
/* Interface definitions for kernel debugger KDB. */ |
|
/* Map machine fault codes into signal numbers. |
First subtract 0, divide by 4, then index in a table. |
Faults for which the entry in this table is 0 |
are not handled by KDB; the program's own trap handler |
gets to handle then. */ |
|
#define FAULT_CODE_ORIGIN 0 |
#define FAULT_CODE_UNITS 4 |
#define FAULT_TABLE \ |
{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \ |
0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \ |
0, 0, 0, 0, 0, 0, 0, 0, \ |
SIGILL } |
|
/* Start running with a stack stretching from BEG to END. |
BEG and END should be symbols meaningful to the assembler. |
This is used only for kdb. */ |
|
#define INIT_STACK(beg, end) \ |
{ asm (".globl end"); \ |
asm ("movel #end, sp"); \ |
asm ("movel #0,a6"); } |
|
/* Push the frame pointer register on the stack. */ |
#define PUSH_FRAME_PTR \ |
asm ("movel a6,sp@-"); |
|
/* Copy the top-of-stack to the frame pointer register. */ |
#define POP_FRAME_PTR \ |
asm ("movl sp@,a6"); |
|
/* After KDB is entered by a fault, push all registers |
that GDB thinks about (all NUM_REGS of them), |
so that they appear in order of ascending GDB register number. |
The fault code will be on the stack beyond the last register. */ |
|
#define PUSH_REGISTERS \ |
{ asm ("clrw -(sp)"); \ |
asm ("pea sp@(10)"); \ |
asm ("movem #0xfffe,sp@-"); } |
|
/* Assuming the registers (including processor status) have been |
pushed on the stack in order of ascending GDB register number, |
restore them and return to the address in the saved PC register. */ |
|
#define POP_REGISTERS \ |
{ asm ("subil #8,sp@(28)"); \ |
asm ("movem sp@,#0xffff"); \ |
asm ("rte"); } |
/dpx2.mt
0,0 → 1,3
# Target: Bull DPX2 (68k, System V release 3) |
TDEPFILES= m68k-tdep.o |
TM_FILE= tm-dpx2.h |
/tm-sun3.h
0,0 → 1,108
/* Parameters for execution on a Sun, for GDB, the GNU debugger. |
Copyright (C) 1986, 1987, 1989, 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#ifndef TM_SUN3_H |
#define TM_SUN3_H |
|
/* Sun3 status includes fpflags, which shows whether the FPU has been used |
by the process, and whether the FPU was done with an instruction or |
was interrupted in the middle of a long instruction. See |
<machine/reg.h>. */ |
/* a&d, pc,sr, fp, fpstat, fpflags */ |
|
#define REGISTER_BYTES (16*4 + 8 + 8*12 + 3*4 + 4) |
|
#define NUM_REGS 31 |
|
#define REGISTER_BYTES_OK(b) \ |
((b) == REGISTER_BYTES \ |
|| (b) == REGISTER_BYTES_FP \ |
|| (b) == REGISTER_BYTES_NOFP) |
|
/* If PC contains this instruction, then we know what we are in a system |
call stub, and the return PC is is at SP+4, instead of SP. */ |
|
#define SYSCALL_TRAP 0x4e40 /* trap #0 */ |
#define SYSCALL_TRAP_OFFSET 0 /* PC points at trap instruction */ |
|
#include "m68k/tm-m68k.h" |
|
/* Disable alternate breakpoint mechanism needed by 68k stub. */ |
#undef REMOTE_BREAKPOINT |
|
/* Offsets (in target ints) into jmp_buf. Not defined by Sun, but at least |
documented in a comment in <machine/setjmp.h>! */ |
|
#define JB_ELEMENT_SIZE 4 |
|
#define JB_ONSSTACK 0 |
#define JB_SIGMASK 1 |
#define JB_SP 2 |
#define JB_PC 3 |
#define JB_PSL 4 |
#define JB_D2 5 |
#define JB_D3 6 |
#define JB_D4 7 |
#define JB_D5 8 |
#define JB_D6 9 |
#define JB_D7 10 |
#define JB_A2 11 |
#define JB_A3 12 |
#define JB_A4 13 |
#define JB_A5 14 |
#define JB_A6 15 |
|
/* Figure out where the longjmp will land. Slurp the args out of the stack. |
We expect the first arg to be a pointer to the jmp_buf structure from which |
we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. |
This routine returns true on success */ |
|
#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR) |
extern int get_longjmp_target PARAMS ((CORE_ADDR *)); |
|
/* If sun3 pcc says that a parameter is a short, it's a short. */ |
#define BELIEVE_PCC_PROMOTION_TYPE |
|
/* Can't define BELIEVE_PCC_PROMOTION for SunOS /bin/cc of SunOS 4.1.1. |
Apparently Sun fixed this for the sparc but not the sun3. */ |
|
/* The code which tries to deal with this bug is never harmful on a sun3. */ |
#define SUN_FIXED_LBRAC_BUG (0) |
|
/* On the sun3 the kernel pushes a sigcontext on the user stack and then |
`calls' _sigtramp in user code. _sigtramp saves the floating point status |
on the stack and calls the signal handler function. The stack does not |
contain enough information to allow a normal backtrace, but sigcontext |
contains the saved user pc/sp. FRAME_CHAIN and friends in tm-m68k.h and |
m68k_find_saved_regs deal with this situation by manufacturing a fake frame |
for _sigtramp. |
SIG_PC_FP_OFFSET is the offset from the signal handler frame to the |
saved pc in sigcontext. |
SIG_SP_FP_OFFSET is the offset from the signal handler frame to the end |
of sigcontext which is identical to the saved sp at SIG_PC_FP_OFFSET - 4. |
|
Please note that it is impossible to correctly backtrace from a breakpoint |
in _sigtramp as _sigtramp modifies the stack pointer a few times. */ |
|
#undef SIG_PC_FP_OFFSET |
#define SIG_PC_FP_OFFSET 324 |
#define SIG_SP_FP_OFFSET 332 |
|
#endif /* TM_SUN3_H */ |
/xm-isi.h
0,0 → 1,93
/* Definitions to make GDB run on an ISI Optimum V (3.05) under 4.3bsd. |
Copyright 1987, 1989, 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
|
/* This has not been tested on ISI's running BSD 4.2, but it will probably |
work. */ |
|
/* This is the amount to subtract from u.u_ar0 |
to get the offset in the core file of the register values. */ |
|
/*#define KERNEL_U_ADDR 0x10800000 */ |
#define KERNEL_U_ADDR 0 |
|
/* expects blockend to be u.u_ar0 */ |
extern int rloc[]; /* Defined in isi-dep.c */ |
#define REGISTER_U_ADDR(addr, blockend, regno) \ |
{ blockend &= UPAGES*NBPG - 1; \ |
if (regno < 18) addr = (int)blockend + rloc[regno]*4; \ |
else if (regno < 26) addr = (int) &((struct user *)0)->u_68881_regs \ |
+ (regno - 18) * 12; \ |
else if (regno < 29) addr = (int) &((struct user *)0)->u_68881_regs \ |
+ 8 * 12 + (regno - 26) * 4; \ |
} |
|
/* Interface definitions for kernel debugger KDB. */ |
|
/* Map machine fault codes into signal numbers. |
First subtract 0, divide by 4, then index in a table. |
Faults for which the entry in this table is 0 |
are not handled by KDB; the program's own trap handler |
gets to handle then. */ |
|
#define FAULT_CODE_ORIGIN 0 |
#define FAULT_CODE_UNITS 4 |
#define FAULT_TABLE \ |
{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \ |
0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \ |
0, 0, 0, 0, 0, 0, 0, 0, \ |
SIGILL } |
|
/* Start running with a stack stretching from BEG to END. |
BEG and END should be symbols meaningful to the assembler. |
This is used only for kdb. */ |
|
#define INIT_STACK(beg, end) \ |
{ asm (".globl end"); \ |
asm ("movl $ end, sp"); \ |
asm ("clrl fp"); } |
|
/* Push the frame pointer register on the stack. */ |
#define PUSH_FRAME_PTR \ |
asm ("movel fp, -(sp)"); |
|
/* Copy the top-of-stack to the frame pointer register. */ |
#define POP_FRAME_PTR \ |
asm ("movl (sp), fp"); |
|
/* After KDB is entered by a fault, push all registers |
that GDB thinks about (all NUM_REGS of them), |
so that they appear in order of ascending GDB register number. |
The fault code will be on the stack beyond the last register. */ |
|
#define PUSH_REGISTERS \ |
{ asm ("clrw -(sp)"); \ |
asm ("pea 10(sp)"); \ |
asm ("movem $ 0xfffe,-(sp)"); } |
|
/* Assuming the registers (including processor status) have been |
pushed on the stack in order of ascending GDB register number, |
restore them and return to the address in the saved PC register. */ |
|
#define POP_REGISTERS \ |
{ asm ("subil $8,28(sp)"); \ |
asm ("movem (sp),$ 0xffff"); \ |
asm ("rte"); } |
/xm-sun3.h
0,0 → 1,74
/* Parameters for execution on a Sun, for GDB, the GNU debugger. |
Copyright (C) 1986, 1987, 1989, 1996 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define HOST_BYTE_ORDER BIG_ENDIAN |
|
|
/* Interface definitions for kernel debugger KDB. */ |
|
/* Map machine fault codes into signal numbers. |
First subtract 0, divide by 4, then index in a table. |
Faults for which the entry in this table is 0 |
are not handled by KDB; the program's own trap handler |
gets to handle then. */ |
|
#define FAULT_CODE_ORIGIN 0 |
#define FAULT_CODE_UNITS 4 |
#define FAULT_TABLE \ |
{ 0, 0, 0, 0, SIGTRAP, 0, 0, 0, \ |
0, SIGTRAP, 0, 0, 0, 0, 0, SIGKILL, \ |
0, 0, 0, 0, 0, 0, 0, 0, \ |
SIGILL } |
|
/* Start running with a stack stretching from BEG to END. |
BEG and END should be symbols meaningful to the assembler. |
This is used only for kdb. */ |
|
#define INIT_STACK(beg, end) \ |
{ asm (".globl end"); \ |
asm ("movel #end, sp"); \ |
asm ("movel #0,a6"); } |
|
/* Push the frame pointer register on the stack. */ |
#define PUSH_FRAME_PTR \ |
asm ("movel a6,sp@-"); |
|
/* Copy the top-of-stack to the frame pointer register. */ |
#define POP_FRAME_PTR \ |
asm ("movl sp@,a6"); |
|
/* After KDB is entered by a fault, push all registers |
that GDB thinks about (all NUM_REGS of them), |
so that they appear in order of ascending GDB register number. |
The fault code will be on the stack beyond the last register. */ |
|
#define PUSH_REGISTERS \ |
{ asm ("clrw -(sp)"); \ |
asm ("pea sp@(10)"); \ |
asm ("movem #0xfffe,sp@-"); } |
|
/* Assuming the registers (including processor status) have been |
pushed on the stack in order of ascending GDB register number, |
restore them and return to the address in the saved PC register. */ |
|
#define POP_REGISTERS \ |
{ asm ("subil #8,sp@(28)"); \ |
asm ("movem sp@,#0xffff"); \ |
asm ("rte"); } |
/m68klynx.mh
0,0 → 1,11
# Host: Motorola 680x0 running LynxOS |
|
XM_FILE= xm-m68klynx.h |
XM_CLIBS= -lbsd |
XDEPFILES= ser-tcp.o |
|
NAT_FILE= nm-m68klynx.h |
NATDEPFILES= fork-child.o infptrace.o inftarg.o corelow.o lynx-nat.o |
|
GDBSERVER_LIBS= -lbsd |
GDBSERVER_DEPFILES= low-lynx.o |
/isi.mt
0,0 → 1,3
# Target: ISI Optimum V (3.05) under 4.3bsd. |
TDEPFILES= |
TM_FILE= tm-isi.h |
/tm-linux.h
0,0 → 1,110
/* Definitions to target GDB to Linux on m680x0 |
Copyright (C) 1996,1998 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* 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 |
|
/* The following definitions are appropriate when using the ELF |
format, where floating point values are returned in fp0, pointer |
values in a0 and other values in d0. */ |
|
/* Extract from an array REGBUF containing the (raw) register state a |
function return value of type TYPE, and copy that, in virtual |
format, into VALBUF. */ |
|
#define EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \ |
{ \ |
if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) \ |
{ \ |
REGISTER_CONVERT_TO_VIRTUAL (FP0_REGNUM, TYPE, \ |
((char *) (REGBUF) \ |
+ REGISTER_BYTE (FP0_REGNUM)), \ |
VALBUF); \ |
} \ |
else if (TYPE_CODE (TYPE) == TYPE_CODE_PTR) \ |
memcpy (VALBUF, (char *) (REGBUF) + REGISTER_BYTE (A0_REGNUM), \ |
TYPE_LENGTH (TYPE)); \ |
else \ |
memcpy (VALBUF, \ |
((char *) (REGBUF) \ |
+ (TYPE_LENGTH (TYPE) >= 4 ? 0 : 4 - TYPE_LENGTH (TYPE))), \ |
TYPE_LENGTH (TYPE)); \ |
} |
|
/* Write into appropriate registers a function return value of type |
TYPE, given in virtual format. */ |
|
#define STORE_RETURN_VALUE(TYPE,VALBUF) \ |
{ \ |
if (TYPE_CODE (TYPE) == TYPE_CODE_FLT) \ |
{ \ |
char raw_buffer[REGISTER_RAW_SIZE (FP0_REGNUM)]; \ |
REGISTER_CONVERT_TO_RAW (TYPE, FP0_REGNUM, VALBUF, raw_buffer); \ |
write_register_bytes (REGISTER_BYTE (FP0_REGNUM), \ |
raw_buffer, TYPE_LENGTH (TYPE)); \ |
} \ |
else \ |
{ \ |
if (TYPE_CODE (TYPE) == TYPE_CODE_PTR) \ |
write_register_bytes (REGISTER_BYTE (A0_REGNUM), VALBUF, \ |
TYPE_LENGTH (TYPE)); \ |
write_register_bytes (0, VALBUF, TYPE_LENGTH (TYPE)); \ |
} \ |
} |
|
#include "tm-linux.h" |
#include "m68k/tm-m68k.h" |
|
/* Extract from an array REGBUF containing the (raw) register state |
the address in which a function should return its structure value, |
as a CORE_ADDR (or an expression that can be used as one). */ |
|
#undef EXTRACT_STRUCT_VALUE_ADDRESS |
#define EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \ |
(*(CORE_ADDR *)((char *) (REGBUF) + REGISTER_BYTE (A0_REGNUM))) |
|
/* Offsets (in target ints) into jmp_buf. */ |
|
#define JB_ELEMENT_SIZE 4 |
#define JB_PC 7 |
|
/* Figure out where the longjmp will land. Slurp the args out of the stack. |
We expect the first arg to be a pointer to the jmp_buf structure from which |
we extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. |
This routine returns true on success */ |
|
#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR) |
|
/* Offset to saved PC in sigcontext, from <asm/sigcontext.h>. */ |
#define SIGCONTEXT_PC_OFFSET 26 |
|
#undef FRAME_SAVED_PC |
#define FRAME_SAVED_PC(FRAME) \ |
(((FRAME)->signal_handler_caller \ |
? sigtramp_saved_pc (FRAME) \ |
: read_memory_integer ((FRAME)->frame + 4, 4))) |
|
extern CORE_ADDR sigtramp_saved_pc PARAMS ((struct frame_info *)); |
|
#define IN_SIGTRAMP(pc,name) in_sigtramp (pc) |
extern int in_sigtramp PARAMS ((CORE_ADDR pc)); |
/nm-apollo68b.h
0,0 → 1,42
/* Macro defintions for an Apollo m68k in BSD mode |
Copyright (C) 1992 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#define FETCH_INFERIOR_REGISTERS |
|
/* Tell gdb that we can attach and detach other processes */ |
#define ATTACH_DETACH |
|
#define U_REGS_OFFSET 6 |
|
/* This is the amount to subtract from u.u_ar0 |
to get the offset in the core file of the register values. */ |
|
#define KERNEL_U_ADDR 0 |
|
#undef FLOAT_INFO /* No float info yet */ |
|
#define REGISTER_U_ADDR(addr, blockend, regno) \ |
(addr) = (6 + 4 * (regno)) |
|
/* Apollos don't really have a USER area,so trying to read it from the |
* process address space will fail. It does support a read from a faked |
* USER area using the "PEEKUSER" ptrace call. |
*/ |
#define PT_READ_U 3 |
/xm-linux.h
0,0 → 1,41
/* Native support for linux, for GDB, the GNU debugger. |
Copyright (C) 1996,1998 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
#ifndef XM_LINUX_H |
#define XM_LINUX_H |
|
/* Pick up most of what we need from the generic m68k host include file. */ |
|
#include "m68k/xm-m68k.h" |
|
/* This is the amount to subtract from u.u_ar0 |
to get the offset in the core file of the register values. */ |
#define KERNEL_U_ADDR 0x0 |
|
#define HAVE_TERMIOS |
#define NEED_POSIX_SETPGID |
|
/* Linux has sigsetjmp and siglongjmp */ |
#define HAVE_SIGSETJMP |
|
/* Need R_OK etc, but USG isn't defined. */ |
#include <unistd.h> |
|
#endif /* #ifndef XM_LINUX_H */ |
/apollo68b.mh
0,0 → 1,6
# Host: Apollo m68k, BSD mode. |
|
XM_FILE= xm-apollo68b.h |
XDEPFILES= |
NAT_FILE= nm-apollo68b.h |
NATDEPFILES= infptrace.o inftarg.o fork-child.o a68v-nat.o |
/nm-dpx2.h
0,0 → 1,30
/* Native support for a Bull DPX2. |
Copyright (C) 1986, 1987, 1989 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., 59 Temple Place - Suite 330, |
Boston, MA 02111-1307, USA. */ |
|
/* KERNEL_U_ADDR is determined upon startup in dpx2-xdep.c. */ |
|
#define REGISTER_U_ADDR(addr, blockend, regno) \ |
(addr) = dpx2_register_u_addr ((blockend),(regno)); |
|
extern int |
dpx2_register_u_addr PARAMS ((int, int)); |
|
/* Kernel is a bit tenacious about sharing text segments, disallowing bpts. */ |
#define ONE_PROCESS_WRITETEXT |