[CMake][tsan] Remove --sysroot=.

rL254966 added `--sysroot=.` to prevent accidental including system headers.
It caused hassle to FreeBSD (D17383)/NetBSD. The next problem is that
we want to include `features.h` (usually `/usr/include/features.h`) to detect `__GLIBC__`.

At this point it seems that `--sysroot=.` adds lots of inconvenience so we disable it for now.
If there is a better way preventing accidental system header inclusion we can consider it again.

Reviewed By: #sanitizers, vitalybuka

Differential Revision: https://reviews.llvm.org/D93921
This commit is contained in:
Fangrui Song 2020-12-30 09:30:58 -08:00
parent b0d6bebe90
commit 9c0c123b0b
1 changed files with 0 additions and 15 deletions

View File

@ -238,21 +238,6 @@ else()
endforeach()
endif()
# Make sure that non-platform-specific files don't include any system headers.
# FreeBSD/NetBSD do not install a number of Clang-provided headers for the
# compiler in the base system due to incompatibilities between FreeBSD/NetBSD's
# and Clang's versions. As a workaround do not use --sysroot=. on FreeBSD/NetBSD
# until this is addressed.
if(COMPILER_RT_HAS_SYSROOT_FLAG AND NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD"
AND NOT CMAKE_SYSTEM_NAME MATCHES "NetBSD")
file(GLOB _tsan_generic_sources rtl/tsan*)
file(GLOB _tsan_platform_sources rtl/tsan*posix* rtl/tsan*mac*
rtl/tsan*linux*)
list(REMOVE_ITEM _tsan_generic_sources ${_tsan_platform_sources})
set_source_files_properties(${_tsan_generic_sources}
PROPERTIES COMPILE_FLAGS "--sysroot=.")
endif()
# Build libcxx instrumented with TSan.
if(COMPILER_RT_LIBCXX_PATH AND
COMPILER_RT_LIBCXXABI_PATH AND