ubsan: i386-dis.c
authorAlan Modra <amodra@gmail.com>
Wed, 2 Sep 2020 01:17:33 +0000 (10:47 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 2 Sep 2020 07:00:44 +0000 (16:30 +0930)
commitb4b393495f506632a9be966277c6d6e668ba9778
treec121efc078122fb23e0934a5215b76b6453ca92b
parentcaf4537af57320ce15c66d61e4db91073b715236
ubsan: i386-dis.c

i386-dis.c:12207 left shift of 128 by 24 places cannot be represented in type 'long int'
i386-dis.c:12220 left shift of 128 by 24 places cannot be represented in type 'long int'
i386-dis.c:12222 left shift of 1 by 31 places cannot be represented in type 'long int'
i386-dis.c:12222 signed integer overflow: 162254319 - -2147483648 cannot be represented in type 'long int'

* i386-dis.c (OP_E_memory): Don't cast to signed type when
negating.
(get32, get32s): Use unsigned types in shift expressions.
opcodes/ChangeLog
opcodes/i386-dis.c