Re: sanitizers broken (was RE: libc/libsys split coming soon)

From: Mark Millard <marklmi_at_yahoo.com>
Date: Wed, 21 Feb 2024 16:38:31 UTC
Mark Johnston <markj_at_freebsd.org> wrote on
Date: Wed, 21 Feb 2024 13:33:43 UTC :

> On Wed, Feb 21, 2024 at 09:52:23AM +0000, Hartmut.Brandt@dlr.de wrote:
> > Hi,
> > 
> > I updated yesterday and now event a minimal program with
> > 
> > cc -fsanitize=address
> > 
> > produces
> > 
> > ld: error: undefined symbol: __elf_aux_vector
> > >>> referenced by sanitizer_linux_libcdep.cpp:950 (/usr/src/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:950)
> > >>> sanitizer_linux_libcdep.o:(__sanitizer::ReExec()) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-x86_64.a
> > cc: error: linker command failed with exit code 1 (use -v to see invocation)
> > 
> > I think this is caused by the libsys split.
> 
> I don't see any such problem on a system running 5f7ac491eef4, which
> includes the libsys split. Which compiler are you using, and which
> revision are you running?

Trivial to reproduce via pkgbase install/upgrade:

# uname -apKU
FreeBSD aarch64-main-pkgs 15.0-CURRENT FreeBSD 15.0-CURRENT main-n268410-445d3d227e68 GENERIC-NODEBUG arm64 aarch64 1500014 1500014

# more main.c
int main(void) { return 0; }

# cc -fsanitize=address main.c
ld: error: undefined symbol: __elf_aux_vector
>>> referenced by sanitizer_linux_libcdep.cpp:950 (/home/bapt/worktrees/main/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:950)
>>>               sanitizer_linux_libcdep.o:(__sanitizer::ReExec()) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-aarch64.a
>>> referenced by sanitizer_linux_libcdep.cpp:950 (/home/bapt/worktrees/main/contrib/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:950)
>>>               sanitizer_linux_libcdep.o:(__sanitizer::ReExec()) in archive /usr/lib/clang/17/lib/freebsd/libclang_rt.asan-aarch64.a
cc: error: linker command failed with exit code 1 (use -v to see invocation)


===
Mark Millard
marklmi at yahoo.com