[runtimes] Simplify testing configurations on GCC by using -nostdlib++ (#67021)
Since GCC now supports -nostdlib++, we can remove some complexity in the test configurations and do the same as Clang. However, we can't fully remove the GCC test configuration for libc++ because we apparently need to explicitly link against libm for some tests to work.
This commit is contained in:
parent
29f8e23ab8
commit
d217aeb0b7
@ -1,6 +1,6 @@
|
||||
# This testing configuration handles running the test suite against LLVM's libc++
|
||||
# using a shared library, with GCC. This is done differently from Clang because
|
||||
# GCC does not support the -nostdlib++ command-line flag.
|
||||
# we need to explicitly link against libm for some tests with GCC.
|
||||
|
||||
lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg')
|
||||
|
||||
@ -9,7 +9,7 @@ config.substitutions.append(('%{compile_flags}',
|
||||
'-nostdinc++ -I %{include} -I %{target-include} -I %{libcxx}/test/support'
|
||||
))
|
||||
config.substitutions.append(('%{link_flags}',
|
||||
'-L %{lib} -Wl,-rpath,%{lib} -nodefaultlibs -lc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc -latomic'
|
||||
'-nostdlib++ -L %{lib} -Wl,-rpath,%{lib} -lc++ -lm'
|
||||
))
|
||||
config.substitutions.append(('%{exec}',
|
||||
'%{executor} --execdir %T -- '
|
||||
|
@ -144,9 +144,7 @@ endif()
|
||||
option(LIBCXXABI_HERMETIC_STATIC_LIBRARY
|
||||
"Do not export any symbols from the static library." ${LIBCXXABI_HERMETIC_STATIC_LIBRARY_DEFAULT})
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(LIBCXXABI_DEFAULT_TEST_CONFIG "llvm-libc++abi-shared-gcc.cfg.in")
|
||||
elseif(MINGW)
|
||||
if(MINGW)
|
||||
set(LIBCXXABI_DEFAULT_TEST_CONFIG "llvm-libc++abi-mingw.cfg.in")
|
||||
elseif(WIN32) # clang-cl
|
||||
if (LIBCXXABI_ENABLE_SHARED)
|
||||
|
@ -1,26 +0,0 @@
|
||||
# This testing configuration handles running the test suite against LLVM's libc++abi
|
||||
# using a shared library, with GCC. This is done differently from Clang because
|
||||
# GCC does not support the -nostdlib++ command-line flag.
|
||||
|
||||
lit_config.load_config(config, '@CMAKE_CURRENT_BINARY_DIR@/cmake-bridge.cfg')
|
||||
|
||||
config.substitutions.append(('%{flags}', ''))
|
||||
config.substitutions.append(('%{compile_flags}',
|
||||
'-nostdinc++ -I %{include} -I %{cxx-include} -I %{cxx-target-include} %{maybe-include-libunwind} -I %{libcxx}/test/support -I %{libcxx}/src -D_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS'
|
||||
))
|
||||
config.substitutions.append(('%{link_flags}',
|
||||
'-L %{lib} -Wl,-rpath,%{lib} -nodefaultlibs -lc++ -lc++abi -lm -lgcc_s -lgcc -lpthread -lc -lgcc_s -lgcc -latomic'
|
||||
))
|
||||
config.substitutions.append(('%{exec}',
|
||||
'%{executor} --execdir %T -- '
|
||||
))
|
||||
|
||||
import os, site
|
||||
site.addsitedir(os.path.join('@LIBCXXABI_LIBCXX_PATH@', 'utils'))
|
||||
import libcxx.test.params, libcxx.test.config
|
||||
libcxx.test.config.configure(
|
||||
libcxx.test.params.DEFAULT_PARAMETERS,
|
||||
libcxx.test.features.DEFAULT_FEATURES,
|
||||
config,
|
||||
lit_config
|
||||
)
|
Loading…
x
Reference in New Issue
Block a user