]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Don't try to read past end of info buffer, and correct test results.
authorAlan Modra <amodra@gmail.com>
Mon, 19 Mar 2001 12:20:10 +0000 (12:20 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 19 Mar 2001 12:20:10 +0000 (12:20 +0000)
gas/testsuite/ChangeLog
gas/testsuite/gas/vax/quad.exp
opcodes/ChangeLog
opcodes/vax-dis.c

index bdde2a3787836c8a97877af97e7b47d057e0c550..5420f9d9ddfe7fb973ac75c581613495c939ebeb 100644 (file)
@@ -1,3 +1,7 @@
+2001-03-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * gas/vax/quad.exp: Correct expected result.
+
 2001-03-19  Andreas Schwab  <schwab@suse.de>
 
        * gas/m68k/pcrel.s: Force alignment to 8 byte boundary to get
index 34770c5b6cfb0beb0ffb0891b68410d571b1b478..46fc9ca52d482171a4cdae2b175a4cbc03b3b02b 100644 (file)
@@ -8,7 +8,7 @@ proc do_quad {} {
        expect {
            -re "^ +2\[ \t\]+0000+ 7D8F7856\[ \t\]+movq\[^\n\]*\n" { set x1 1 }
            -re "^ +2\[ \t\]+3412DDCC\[^\n\]*\n"                   { set x2 1 }
-           -re "^ +2\[ \t\]+BBAA5001\[ \t\]*\r\n"                 { set x3 1 }
+           -re "^ +2\[ \t\]+BBAA50\[ \t\]*\r\n"                   { set x3 1 }
            -re "\[^\n\]*\n"                            { }
            timeout                             { perror "timeout\n"; break }
            eof                                 { break }
index 38f7fdfd80a38cd3130b0afafc864afbbe9416fb..32185d83946c9b09352cfa35442415b3348ef1a7 100644 (file)
@@ -1,3 +1,8 @@
+2001-03-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * vax-dis.c (print_insn_vax): Only fetch two bytes if the info buffer
+       has more than one byte left to read.
+
 2001-03-16  Martin Schwidefsky  <schwidefsky@de.ibm.com>
 
        * s390-opc.c: Add new opcodes.  Smooth out formatting.
index d6cb9001f5196e64cf138ce6807e62bc7ce7bd9e..e33f87e5e68df793011b62f43697108fbd9d77a9 100644 (file)
@@ -1,5 +1,5 @@
 /* Print VAX instructions.
-   Copyright 1995, 1998, 2000 Free Software Foundation, Inc.
+   Copyright 1995, 1998, 2000, 2001 Free Software Foundation, Inc.
    Contributed by Pauline Middelink <middelin@polyware.iaf.nl>
 
 This program is free software; you can redistribute it and/or modify
@@ -126,7 +126,18 @@ print_insn_vax (memaddr, info)
       return -1;
     }
 
-  FETCH_DATA (info, buffer + 2);
+  /* Check if the info buffer has more than one byte left since
+     the last opcode might be a single byte with no argument data.  */
+  if (info->buffer_length - (memaddr - info->buffer_vma) > 1)
+    {
+      FETCH_DATA (info, buffer + 2);
+    }
+  else
+    {
+      FETCH_DATA (info, buffer + 1);
+      buffer[1] = 0;
+    }
+
   for (votp = &votstrs[0]; votp->name[0]; votp++)
     {
       register vax_opcodeT opcode = votp->detail.code;