OpenCores
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, \
&REGBUF[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, \
&REGBUF[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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.