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=i686-vxworks CFLAGS="-g -O2 -fsanitize=address,undefined -Wno-error" CXXLAGS="-g -O2 -fsanitize=address,undefined -Wno-error" LDFLAGS="-ldl" Target: i686-vxworks PASS: VxWorks shared library test 1 Executing on host: sh -c {./ld-new -o tmpdir/vxworks1 -z norelro -L/home/mliska/Programming/binutils/ld/testsuite/ld-i386 tmpdir/libvxworks1.so -Tvxworks1.ld --hash-style=sysv -q --force-dynamic tmpdir/vxworks1.o 2>&1} /dev/null ld.tmp (timeout = 300) /home/mliska/Programming/binutils/bfd/elf32-i386.c:3615:21: runtime error: left shift of negative value -2
This one shows up in powerpc-wrs-vxworks too.
The master branch has been updated by Alan Modra <amodra@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1673aff56987e560ab429beba0d77b85a1c4e064 commit 1673aff56987e560ab429beba0d77b85a1c4e064 Author: Alan Modra <amodra@gmail.com> Date: Wed Aug 26 11:00:22 2020 +0930 PR26458 UBSAN: elf32-i386.c:3615 left shift of negative value Happens when poking symbol index -2 into r_info. (The index is updated before writing out to file.) PR 26458 * elf/common.h (ELF32_R_INFO): Cast symbol index to unsigned.
Fixed