summaryrefslogtreecommitdiff
path: root/opcodes/i386-dis.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2021-08-19 06:38:21 -0700
committerH.J. Lu <hjl.tools@gmail.com>2021-08-19 07:01:20 -0700
commit7e40d574be8b8bc01d3726b90556cff0081e9dd9 (patch)
tree616c46809f70e57ca26b18743e8c1951ac5db857 /opcodes/i386-dis.c
parent8ddf46454aa981246f9611b1897f41fabd2a108d (diff)
downloadbinutils-gdb-7e40d574be8b8bc01d3726b90556cff0081e9dd9.tar.gz
x86: Avoid abort on invalid broadcast
Print "{bad}" on invalid broadcast instead of abort. gas/ PR binutils/28247 * testsuite/gas/i386/bad-bcast.d: New file. * testsuite/gas/i386/bad-bcast.s: Likewise. * testsuite/gas/i386/i386.exp: Run bad-bcast. opcodes/ PR binutils/28247 * i386-dis.c (OP_E_memory): Print "{bad}" on invalid broadcast instead of abort.
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r--opcodes/i386-dis.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 2c7027ca6f1..acb5a0faa88 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -11912,7 +11912,7 @@ OP_E_memory (int bytemode, int sizeflag)
{
if (vex.w)
{
- abort ();
+ oappend ("{bad}");
}
else
{
@@ -11928,7 +11928,7 @@ OP_E_memory (int bytemode, int sizeflag)
oappend ("{1to32}");
break;
default:
- abort ();
+ oappend ("{bad}");
}
}
}
@@ -11948,7 +11948,7 @@ OP_E_memory (int bytemode, int sizeflag)
oappend ("{1to8}");
break;
default:
- abort ();
+ oappend ("{bad}");
}
}
else if (bytemode == x_mode
@@ -11966,7 +11966,7 @@ OP_E_memory (int bytemode, int sizeflag)
oappend ("{1to16}");
break;
default:
- abort ();
+ oappend ("{bad}");
}
}
else