Don't try to read past end of info buffer, and correct test results.

This commit is contained in:
Alan Modra 2001-03-19 12:20:10 +00:00
parent 2e98d2de04
commit bbe6d95f46
4 changed files with 23 additions and 3 deletions

View 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

View 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 }

View 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.

View 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;