aboutsummaryrefslogtreecommitdiff
path: root/gdb/tm-altos.h
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1991-11-19 01:54:52 +0000
committerFred Fish <fnf@specifix.com>1991-11-19 01:54:52 +0000
commitb6666a5d6772e257ee5d08781f2bdcd460df33e8 (patch)
treedc4d9a6cffc76d14c11d439dc1e667a6e6243064 /gdb/tm-altos.h
parent5e2569e653fc05fde0084a5f9b1873d15352f033 (diff)
downloadgdb-b6666a5d6772e257ee5d08781f2bdcd460df33e8.zip
gdb-b6666a5d6772e257ee5d08781f2bdcd460df33e8.tar.gz
gdb-b6666a5d6772e257ee5d08781f2bdcd460df33e8.tar.bz2
Add generic m68k function prologue skipping support and expand the
skipping to include movem and fmovem.
Diffstat (limited to 'gdb/tm-altos.h')
-rw-r--r--gdb/tm-altos.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/gdb/tm-altos.h b/gdb/tm-altos.h
index 7fb094a..f3cc306 100644
--- a/gdb/tm-altos.h
+++ b/gdb/tm-altos.h
@@ -41,4 +41,23 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#define DECR_PC_AFTER_BREAK 0
+/* The only reason this is here is the tm-altos.h reference below. It
+ was moved back here from tm-68k.h. FIXME? */
+
+#define SKIP_PROLOGUE(pc) \
+{ register int op = read_memory_integer (pc, 2); \
+ if (op == 0047126) \
+ pc += 4; /* Skip link #word */ \
+ else if (op == 0044016) \
+ pc += 6; /* Skip link #long */ \
+ /* Not sure why branches are here. */ \
+ /* From tm-isi.h, tm-altos.h */ \
+ else if (op == 0060000) \
+ pc += 4; /* Skip bra #word */ \
+ else if (op == 00600377) \
+ pc += 6; /* skip bra #long */ \
+ else if ((op & 0177400) == 0060000) \
+ pc += 2; /* skip bra #char */ \
+}
+
#include "tm-68k.h"