diff options
author | Alan Modra <amodra@gmail.com> | 2019-12-10 19:09:47 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2019-12-11 11:37:25 +1030 |
commit | a11db3e9f3a679601f41671a9e7f54c37f2c5073 (patch) | |
tree | 39fd64660e6dce076b332d9ba2e73f974b7fb131 /opcodes/ChangeLog | |
parent | 9d48687b41f17ccbd7c61dd76b96147f28916951 (diff) | |
download | gdb-a11db3e9f3a679601f41671a9e7f54c37f2c5073.zip gdb-a11db3e9f3a679601f41671a9e7f54c37f2c5073.tar.gz gdb-a11db3e9f3a679601f41671a9e7f54c37f2c5073.tar.bz2 |
ubsan: arc: shift exponent 32 is too large for 32-bit type 'int'
When operand->bits is 32, the following results in UB.
value = (insn >> operand->shift) & ((1 << operand->bits) - 1);
* arc-dis.c (find_format_from_table): Use ull constant when
shifting by up to 32.
Diffstat (limited to 'opcodes/ChangeLog')
-rw-r--r-- | opcodes/ChangeLog | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 3460b3e..d3f1e69 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,10 @@ 2019-12-11 Alan Modra <amodra@gmail.com> + * arc-dis.c (find_format_from_table): Use ull constant when + shifting by up to 32. + +2019-12-11 Alan Modra <amodra@gmail.com> + PR 25270 * aarch64-dis.c (aarch64_decode_variant_using_iclass): Return false when field is zero for sve_size_tsz_bhs. |