From: Alan Modra Date: Tue, 17 Dec 2019 12:41:02 +0000 (+1030) Subject: ubsan: visium: left shift cannot be represented in type 'int' X-Git-Url: http://git.efficios.com/?p=deliverable%2Fbinutils-gdb.git;a=commitdiff_plain;h=eb7b504651ff7b44a7328cd967629d8f1d114a4b ubsan: visium: left shift cannot be represented in type 'int' * visium-dis.c (print_insn_visium): Avoid signed overflow. --- diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index e2aa20b5e8..aac14ea6a0 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,7 @@ +2019-12-17 Alan Modra + + * visium-dis.c (print_insn_visium): Avoid signed overflow. + 2019-12-17 Alan Modra * aarch64-opc.c (value_fit_signed_field_p): 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];