ubsan: visium: left shift cannot be represented in type 'int'

Alan Modra amodra@gmail.com
Tue Dec 17 12:49:00 GMT 2019


	* visium-dis.c (print_insn_visium): Avoid signed overflow.

diff --git a/opcodes/visium-dis.c b/opcodes/visium-dis.c
index 41943ade72..1f081f1a44 100644
--- a/opcodes/visium-dis.c
+++ b/opcodes/visium-dis.c
@@ -789,7 +789,7 @@ print_insn_visium (bfd_vma addr, disassemble_info *info)
 
   /* Get 32-bit instruction word.  */
   FETCH_DATA (info, buffer + 4);
-  ins = buffer[0] << 24;
+  ins = (unsigned) buffer[0] << 24;
   ins |= buffer[1] << 16;
   ins |= buffer[2] << 8;
   ins |= buffer[3];

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list