[PATCH] ld: Properly override compiler flags in tests
H.J. Lu
hjl.tools@gmail.com
Sat Aug 16 21:50:05 GMT 2025
On Sat, Aug 16, 2025 at 5:21 AM Sam James <sam@gentoo.org> wrote:
>
> "H.J. Lu" <hjl.tools@gmail.com> writes:
>
> > Some tests need to be compiled with additional flags. When binutils is
> > built and compiled with
> >
> > CC="gcc -fsanitize=address,undefined" CXX="g++ -fsanitize=address,undefined"
> >
> > [...]
>
> It causes some improvements but some regressions for me:
>
> -# of expected passes 3043
> -# of unexpected failures 64
> +# of expected passes 3063
> +# of unexpected failures 44
> # of expected failures 60
> # of untested testcases 29
> # of unsupported tests 29
>
> (The existing failures are because of an unrelated issue.)
>
> A new failure:
>
> gcc -B/tmp/build2/ld/tmpdir/ld/ -I/home/sam/git/binutils-gdb/ld/testsuite/ld-elf -g -O2 -fno-sanitize=all -fsanitize=address,undefined -c -fno-lto -fno-PIE -fno-sanitize=all -fno-sanitize=all -c /home/sam/git/binutils-gdb/ld/testsuite/ld-elf/dl6amain.c -o tmpdir/dl6amain.o
> Executing on host: sh -c {gcc -B/tmp/build2/ld/tmpdir/ld/ -I/home/sam/git/binutils-gdb/ld/testsuite/ld-elf -g -O2 -fno-sanitize=all -fsanitize=address,undefined -c -fno-lto -fno-PIE -fno-sanitize=all -fno-sanitize=all -c /home/sam/git/binutils-gdb/ld/testsuite/ld-elf/dl6amain.c -o tmpdir/dl6amain.o 2>&1} /dev/null ld.tmp (timeout = 300)
> spawn [open ...]
> gcc -B/tmp/build2/ld/tmpdir/ld/ -fsanitize=address,undefined -fno-sanitize=all -L/usr/local/x86_64-pc-linux-gnu/lib64 -L/usr/local/lib64 -L/lib64 -L/usr/lib64 -L/usr/local/x86_64-pc-linux-gnu/lib -L/usr/local/lib -L/lib -L/usr/lib -o tmpdir/dl6a2 -L/home/sam/git/binutils-gdb/ld/testsuite/ld-elf -no-pie -Wl,--no-as-needed,-Bsymbolic-functions -ldl tmpdir/dl6amain.o
> Executing on host: sh -c {gcc -B/tmp/build2/ld/tmpdir/ld/ -fsanitize=address,undefined -fno-sanitize=all -L/usr/local/x86_64-pc-linux-gnu/lib64 -L/usr/local/lib64 -L/lib64 -L/usr/lib64 -L/usr/local/x86_64-pc-linux-gnu/lib -L/usr/local/lib -L/lib -L/usr/lib -o tmpdir/dl6a2 -L/home/sam/git/binutils-gdb/ld/testsuite/ld-elf -no-pie -Wl,--no-as-needed,-Bsymbolic-functions -ldl tmpdir/dl6amain.o 2>&1} /dev/null ld.tmp (timeout = 300)
> spawn [open ...]
> Running: tmpdir/dl6a2 > tmpdir/dl6a2.out
> ==592377==ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD.
> FAIL: Run dl6a2 with -Bsymbolic-functions and dlopen on libdl6a.
>
> libdl1.so is built with sanitizers enabled. The change exposes some
> missing $NOSANITIZE_CFLAGS we need to sprinkle around.
I sent out the v2 patch.
--
H.J.
More information about the Binutils
mailing list