* mips-tdep.c (mips_skip_prologue): Accept or as well as addu for
authorJim Kingdon <jkingdon@engr.sgi.com>
Tue, 10 Jan 1995 21:24:34 +0000 (21:24 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Tue, 10 Jan 1995 21:24:34 +0000 (21:24 +0000)
`move $s8, $sp' instruction.

gdb/ChangeLog
gdb/mips-tdep.c

index 54cd883801094078780c4b5806a84bbbf99a22c2..68430fe867a4bc5695ba78965cfa648c8e35762f 100644 (file)
@@ -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.
index 7e623c3103703595a73f7f7b02696ff0227f191d..1f2d60d412b529e27a4ef3b7f99de4950d1af330 100644 (file)
@@ -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)
     {