ubsan: arm: undefined shift

left shift of 2 by 31 places cannot be represented in type 'int'

	* arm-dis.c (print_insn_thumb16): Avoid undefined behaviour.
This commit is contained in:
Alan Modra 2021-10-26 19:39:12 +10:30
parent 296d3d2e15
commit 459cde81fb

View File

@ -10714,7 +10714,7 @@ print_insn_thumb16 (bfd_vma pc, struct disassemble_info *info, long given)
if (!bitend)
abort ();
reg = given >> bitstart;
reg &= (2 << (bitend - bitstart)) - 1;
reg &= ((bfd_vma) 2 << (bitend - bitstart)) - 1;
switch (*c)
{