diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1995-01-10 21:24:34 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1995-01-10 21:24:34 +0000 |
commit | 1d9489c1203e5f64c6e8d6753e7bdf68e69c0576 (patch) | |
tree | 923d6f41b96832c2353a2d755f5352601b9682c1 /gdb | |
parent | ef788f4f66a8c8676561292905e64fb19f9c7763 (diff) | |
download | gdb-1d9489c1203e5f64c6e8d6753e7bdf68e69c0576.zip gdb-1d9489c1203e5f64c6e8d6753e7bdf68e69c0576.tar.gz gdb-1d9489c1203e5f64c6e8d6753e7bdf68e69c0576.tar.bz2 |
* mips-tdep.c (mips_skip_prologue): Accept or as well as addu for
`move $s8, $sp' instruction.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/mips-tdep.c | 12 |
2 files changed, 15 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 54cd883..68430fe 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +Tue Jan 10 16:22:41 1995 Jim Kingdon <kingdon@lioth.cygnus.com> + + * mips-tdep.c (mips_skip_prologue): Accept or as well as addu for + `move $s8, $sp' instruction. + Sun Jan 8 12:45:34 1995 Jim Kingdon <kingdon@deneb.cygnus.com> * target.c, target.h (target_signal_from_command): New function. diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 7e623c3..1f2d60d 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -45,6 +45,10 @@ static int mips_in_lenient_prologue PARAMS ((CORE_ADDR, CORE_ADDR)); void mips_set_processor_type_command PARAMS ((char *, int)); +int mips_set_processor_type PARAMS ((char *)); + +static void mips_show_processor_type_command PARAMS ((char *, int)); + static void reinit_frame_cache_sfunc PARAMS ((char *, int, struct cmd_list_element *)); @@ -1091,8 +1095,12 @@ mips_skip_prologue (pc, lenient) else if ((inst & 0xF3E00000) == 0xA3C00000 && (inst & 0x001F0000)) /* sx reg,n($s8) */ continue; /* reg != $zero */ - else if (inst == 0x03A0F021) /* move $s8,$sp */ + + /* move $s8,$sp. With different versions of gas this will be either + `addu $s8,$sp,$zero' or `or $s8,$sp,$zero'. Accept either. */ + else if (inst == 0x03A0F021 || inst == 0x03a0f025) continue; + else if ((inst & 0xFF9F07FF) == 0x00800021) /* move reg,$a0-$a3 */ continue; else if ((inst & 0xffff0000) == 0x3c1c0000) /* lui $gp,n */ @@ -1255,7 +1263,7 @@ mips_set_processor_type (str) int i, j; if (str == NULL) - return; + return 0; for (i = 0; mips_processor_type_table[i].name != NULL; ++i) { |