diff options
author | Stan Shebs <shebs@codesourcery.com> | 1999-05-05 14:45:51 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1999-05-05 14:45:51 +0000 |
commit | b83266a0e1813b7f4891d5d6b0ed6b7302a3fe98 (patch) | |
tree | c59a94fbe917e0839329b872139198c2a7a05ab1 /gdb/m68k-tdep.c | |
parent | e1346c8d0969dad58ddc13c9c741cb0f4e6345a5 (diff) | |
download | gdb-b83266a0e1813b7f4891d5d6b0ed6b7302a3fe98.zip gdb-b83266a0e1813b7f4891d5d6b0ed6b7302a3fe98.tar.gz gdb-b83266a0e1813b7f4891d5d6b0ed6b7302a3fe98.tar.bz2 |
import gdb-19990504 snapshot
Diffstat (limited to 'gdb/m68k-tdep.c')
-rw-r--r-- | gdb/m68k-tdep.c | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c index c751604..56e5552 100644 --- a/gdb/m68k-tdep.c +++ b/gdb/m68k-tdep.c @@ -26,6 +26,53 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "inferior.h" +/* The only reason this is here is the tm-altos.h reference below. It + was moved back here from tm-m68k.h. FIXME? */ + +extern CORE_ADDR +altos_skip_prologue (pc) + CORE_ADDR 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 */ + return pc; +} + +/* 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 (pc) + CORE_ADDR 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 */ + return pc; +} + + /* Push an empty stack frame, to record the current PC, etc. */ void |