The following fails when I build binutils with: configure --build=x86_64-linux --disable-nls --disable-gdb --disable-gdbserver --disable-sim --disable-readline --disable-libdecnumber --enable-obsolete --target=mips-linux CFLAGS="-g -O2 -fsanitize=address,undefined -Wno-error" CXXLAGS="-g -O2 -fsanitize=address,undefined -Wno-error" LDFLAGS="-ldl" Target: mips-linux FAIL: MIPS -mgp32 -mfp64 Executing on host: sh -c {../as-new -mabi=o64 -march=8000 -EB -mfp32 -o tmpdir/mips-gp64-fp32.o /home/mliska/Programming/binutils/gas/testsuite/gas/mips/mips-gp64-fp32.s 2>&1} /dev/null dump.tmp (timeout = 300) /home/mliska/Programming/binutils/gas/config/tc-mips.c:9579:25: runtime error: left shift of 65535 by 17 places cannot be represented in type 'int' -------------------------------------------------------------------------------- UBSAN error: gas/config/tc-mips.c:9583:24: The following fails when I build binutils with: configure --build=x86_64-linux --disable-nls --disable-gdb --disable-gdbserver --disable-sim --disable-readline --disable-libdecnumber --enable-obsolete --target=mips-linux CFLAGS="-g -O2 -fsanitize=address,undefined -Wno-error" CXXLAGS="-g -O2 -fsanitize=address,undefined -Wno-error" LDFLAGS="-ldl" Target: mips-linux PASS: MIPS ld-st-la bad constants (ABI o32, mips3, shared) Executing on host: sh -c {../as-new -mabi=eabi -mips3 -G8 -EB -o tmpdir/ldstla-sym32.o /home/mliska/Programming/binutils/gas/testsuite/gas/mips/ldstla-sym32.s 2>&1} /dev/null dump.tmp (timeout = 300) /home/mliska/Programming/binutils/gas/config/tc-mips.c:9583:24: runtime error: left shift of 65535 by 16 places cannot be represented in type 'int'
The master branch has been updated by Alan Modra <amodra@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e0fd91ef813536b5ad4eef4e88412ac2a929997d commit e0fd91ef813536b5ad4eef4e88412ac2a929997d Author: Alan Modra <amodra@gmail.com> Date: Mon Aug 31 15:38:25 2020 +0930 PR26472, PR26473, PR26474 UBSAN: tc-mips.c shift left UB PR 26472 PR 26473 PR 26474 * config/tc-mips.c (operand_reg_mask): Shift 1u left. (load_register): Shift 0xffffU left.
Fixed