[libunwind][ci][AIX] Add libunwind to buildbot CI

Summary:
This patch changes scripts to add libunwind CI on AIX. Test config file ibm-libunwind-shared.cfg.in is introduced for testing on AIX.

Reviewed by: ldionne, MaskRay, libunwind, ibc++abi

Differential Revision: https://reviews.llvm.org/D126017
This commit is contained in:
Xing Xue 2022-06-02 09:03:10 -04:00
parent e2ac99b79d
commit dfaee3c9cf
3 changed files with 30 additions and 4 deletions

View File

@ -14,3 +14,6 @@ set(LIBCXX_ENABLE_STATIC OFF CACHE BOOL "")
set(LIBCXXABI_ENABLE_SHARED ON CACHE BOOL "")
set(LIBCXXABI_ENABLE_STATIC OFF CACHE BOOL "")
set(LIBCXX_CXX_ABI libcxxabi CACHE STRING "")
set(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "")
set(LIBUNWIND_ENABLE_SHARED ON CACHE BOOL "")
set(LIBUNWIND_ENABLE_STATIC OFF CACHE BOOL "")

View File

@ -575,10 +575,8 @@ aix)
generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/AIX.cmake" \
-DLIBCXX_TEST_CONFIG="ibm-libc++-shared.cfg.in" \
-DLIBCXXABI_TEST_CONFIG="ibm-libc++abi-shared.cfg.in" \
-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi"
# TODO: use check-runtimes once libunwind builds cleanly on AIX.
${NINJA} -vC "${BUILD_DIR}" install-cxx install-cxxabi
${NINJA} -vC "${BUILD_DIR}" check-cxx check-cxxabi
-DLIBUNWIND_TEST_CONFIG="ibm-libunwind-shared.cfg.in"
check-runtimes
;;
#################################################################
# Insert vendor-specific internal configurations below.

View File

@ -0,0 +1,25 @@
# Configuration file for running the libunwind tests on AIX.
#
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}'
))
config.substitutions.append(('%{link_flags}',
'-nostdlib++ -L %{lib} -lunwind -ldl -Wl,-bbigtoc'
))
config.substitutions.append(('%{exec}',
'%{executor} --execdir %T --env LIBPATH=%{lib} -- '
))
import os, site
site.addsitedir(os.path.join('@LIBUNWIND_LIBCXX_PATH@', 'utils'))
import libcxx.test.params, libcxx.test.newconfig, libcxx.test.newconfig
libcxx.test.newconfig.configure(
libcxx.test.params.DEFAULT_PARAMETERS,
libcxx.test.features.DEFAULT_FEATURES,
config,
lit_config
)