aboutsummaryrefslogtreecommitdiff
path: root/gdb/tm-os68k.h
diff options
context:
space:
mode:
authorSean Eric Fagan <sef@cygnus>1992-02-10 23:30:35 +0000
committerSean Eric Fagan <sef@cygnus>1992-02-10 23:30:35 +0000
commit36a2f895f8de98026f702c7f98f2812c9d6632d5 (patch)
tree6eb5af3e91d392fa8c98e716df82d2d5d5ddd759 /gdb/tm-os68k.h
parent87780a059afdf42e9535a9a54061a2dff03956fc (diff)
downloadgdb-36a2f895f8de98026f702c7f98f2812c9d6632d5.zip
gdb-36a2f895f8de98026f702c7f98f2812c9d6632d5.tar.gz
gdb-36a2f895f8de98026f702c7f98f2812c9d6632d5.tar.bz2
Added support for hosting on an Apollo Series 400 processor (under
System V emulation), and targeted towards an OS/68000 system.
Diffstat (limited to 'gdb/tm-os68k.h')
-rw-r--r--gdb/tm-os68k.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/gdb/tm-os68k.h b/gdb/tm-os68k.h
new file mode 100644
index 0000000..1c8ca74
--- /dev/null
+++ b/gdb/tm-os68k.h
@@ -0,0 +1,47 @@
+/* Parameters for execution on VxWorks 68k'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., 675 Mass Ave, Cambridge, MA 02139, USA. */
+
+#define GDBINIT_FILENAME ".os68gdbinit"
+
+#define DEFAULT_PROMPT "(os68k) "
+
+#include "tm-68k.h"
+
+/* We have more complex, useful breakpoints on the target. */
+#undef DECR_PC_AFTER_BREAK
+#define DECR_PC_AFTER_BREAK 0
+
+/* We are guaranteed to have a zero frame pointer at bottom of stack, too. */
+#undef FRAME_CHAIN
+#undef FRAME_CHAIN_VALID
+
+/* 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. */
+
+#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. */
+
+#define FRAME_CHAIN_VALID(chain, thisframe) (chain != 0)