ubsan: arc: shift exponent 32 is too large for 32-bit type 'int'
authorAlan Modra <amodra@gmail.com>
Tue, 10 Dec 2019 08:39:47 +0000 (19:09 +1030)
committerAlan Modra <amodra@gmail.com>
Wed, 11 Dec 2019 01:07:25 +0000 (11:37 +1030)
commita11db3e9f3a679601f41671a9e7f54c37f2c5073
tree39fd64660e6dce076b332d9ba2e73f974b7fb131
parent9d48687b41f17ccbd7c61dd76b96147f28916951
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.
opcodes/ChangeLog
opcodes/arc-dis.c