diff options
author | Fred Fish <fnf@specifix.com> | 1991-11-19 01:54:52 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 1991-11-19 01:54:52 +0000 |
commit | b6666a5d6772e257ee5d08781f2bdcd460df33e8 (patch) | |
tree | dc4d9a6cffc76d14c11d439dc1e667a6e6243064 /gdb/tm-isi.h | |
parent | 5e2569e653fc05fde0084a5f9b1873d15352f033 (diff) | |
download | gdb-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-isi.h')
-rw-r--r-- | gdb/tm-isi.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gdb/tm-isi.h b/gdb/tm-isi.h index c235902..e4e6492 100644 --- a/gdb/tm-isi.h +++ b/gdb/tm-isi.h @@ -139,4 +139,23 @@ retry: \ (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-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" |