aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1995-01-10 21:24:34 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1995-01-10 21:24:34 +0000
commit1d9489c1203e5f64c6e8d6753e7bdf68e69c0576 (patch)
tree923d6f41b96832c2353a2d755f5352601b9682c1 /gdb
parentef788f4f66a8c8676561292905e64fb19f9c7763 (diff)
downloadgdb-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/ChangeLog5
-rw-r--r--gdb/mips-tdep.c12
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)
{