60 lines
1.5 KiB
Diff
60 lines
1.5 KiB
Diff
|
|
From ca22cf5ed52c1b4c40dbadf893f558ef09d0c66b Mon Sep 17 00:00:00 2001
|
||
|
|
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||
|
|
Date: Thu, 19 Aug 2021 07:39:10 -0700
|
||
|
|
Subject: [PATCH] x86: Put back 3 aborts in OP_E_memory
|
||
|
|
|
||
|
|
Put back 3 aborts where invalid lengths should have been filtered out.
|
||
|
|
|
||
|
|
gas/
|
||
|
|
|
||
|
|
PR binutils/28247
|
||
|
|
* testsuite/gas/i386/bad-bcast.s: Add a comment.
|
||
|
|
|
||
|
|
opcodes/
|
||
|
|
|
||
|
|
PR binutils/28247
|
||
|
|
* * i386-dis.c (OP_E_memory): Put back 3 aborts.
|
||
|
|
|
||
|
|
diff --git a/gas/testsuite/gas/i386/bad-bcast.s b/gas/testsuite/gas/i386/bad-bcast.s
|
||
|
|
index e09c3aae5de..3e49b2238ed 100644
|
||
|
|
--- a/gas/testsuite/gas/i386/bad-bcast.s
|
||
|
|
+++ b/gas/testsuite/gas/i386/bad-bcast.s
|
||
|
|
@@ -1,2 +1,3 @@
|
||
|
|
.text
|
||
|
|
+# Invalid 16-bit broadcast with EVEX.W == 1.
|
||
|
|
.byte 0x62, 0xc3, 0x8c, 0x1d, 0x66, 0x90, 0x66, 0x90, 0x66, 0x90
|
||
|
|
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
|
||
|
|
index acb5a0faa88..aa292233d4d 100644
|
||
|
|
--- a/opcodes/i386-dis.c
|
||
|
|
+++ b/opcodes/i386-dis.c
|
||
|
|
@@ -11928,7 +11928,7 @@ OP_E_memory (int bytemode, int sizeflag)
|
||
|
|
oappend ("{1to32}");
|
||
|
|
break;
|
||
|
|
default:
|
||
|
|
- oappend ("{bad}");
|
||
|
|
+ abort ();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
@@ -11948,7 +11948,7 @@ OP_E_memory (int bytemode, int sizeflag)
|
||
|
|
oappend ("{1to8}");
|
||
|
|
break;
|
||
|
|
default:
|
||
|
|
- oappend ("{bad}");
|
||
|
|
+ abort ();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else if (bytemode == x_mode
|
||
|
|
@@ -11966,7 +11966,7 @@ OP_E_memory (int bytemode, int sizeflag)
|
||
|
|
oappend ("{1to16}");
|
||
|
|
break;
|
||
|
|
default:
|
||
|
|
- oappend ("{bad}");
|
||
|
|
+ abort ();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else
|
||
|
|
--
|
||
|
|
2.33.0
|
||
|
|
|