-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Description
/usr/local/bin/compile has...
if [[ $SANITIZER_FLAGS = sanitize=memory ]]
then
cp -R /usr/msan/lib/* /usr/lib/
echo 'Building without MSan instrumented libraries.'
fi
so for memory sanitizer builds the /usr/msan/lib/libc++.a is copied to /usr/lib but clang++ -stdlib=libc++ ends up linking against the one in /usr/local/lib
root@5d4ceecbe072:~# strace -f clang++ -stdlib=libc++ ./demo.cxx 2>&1 | grep libc++.a
[pid 717148] stat("/usr/lib/gcc/x86_64-linux-gnu/9/libc++.a", 0x7ffcc35a1a60) = -1 ENOENT (No such file or directory)
[pid 717148] openat(AT_FDCWD, "/usr/lib/gcc/x86_64-linux-gnu/9/libc++.a", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 717148] stat("/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib64/libc++.a", 0x7ffcc35a1a60) = -1 ENOENT (No such file or directory)
[pid 717148] openat(AT_FDCWD, "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib64/libc++.a", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 717148] stat("/lib/x86_64-linux-gnu/libc++.a", 0x7ffcc35a1a60) = -1 ENOENT (No such file or directory)
[pid 717148] openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc++.a", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 717148] stat("/lib/../lib64/libc++.a", 0x7ffcc35a1a60) = -1 ENOENT (No such file or directory)
[pid 717148] openat(AT_FDCWD, "/lib/../lib64/libc++.a", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 717148] stat("/usr/lib/x86_64-linux-gnu/libc++.a", 0x7ffcc35a1a60) = -1 ENOENT (No such file or directory)
[pid 717148] openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libc++.a", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 717148] stat("/usr/lib/../lib64/libc++.a", 0x7ffcc35a1a60) = -1 ENOENT (No such file or directory)
[pid 717148] openat(AT_FDCWD, "/usr/lib/../lib64/libc++.a", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid 717148] stat("/usr/local/bin/../lib/libc++.a", {st_mode=S_IFREG|0644, st_size=2622420, ...}) = 0
[pid 717148] openat(AT_FDCWD, "/usr/local/bin/../lib/libc++.a", O_RDONLY) = 8
[pid 717148] write(2, "/usr/local/bin/../lib/libc++.a(c"..., 59/usr/local/bin/../lib/libc++.a(cxa_exception_storage.cpp.o)) = 59
[pid 717148] write(2, "/usr/local/bin/../lib/libc++.a(c"..., 59/usr/local/bin/../lib/libc++.a(cxa_exception_storage.cpp.o)) = 59
[pid 717148] write(2, "/usr/local/bin/../lib/libc++.a(c"..., 59/usr/local/bin/../lib/libc++.a(cxa_exception_storage.cpp.o)) = 59
[pid 717148] write(2, "/usr/local/bin/../lib/libc++.a(c"..., 59/usr/local/bin/../lib/libc++.a(cxa_exception_storage.cpp.o)) = 59
I suspect this is happening since a2be91d seeing as libreoffice, libigl and librawspeed started failing with similar errors in their msan builds around the 10th Sep