Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

15.0.7 runtime build fails on armv7l with missing unwinder #60115

Closed
ilg-ul opened this issue Jan 18, 2023 · 55 comments
Closed

15.0.7 runtime build fails on armv7l with missing unwinder #60115

ilg-ul opened this issue Jan 18, 2023 · 55 comments

Comments

@ilg-ul
Copy link
Contributor

ilg-ul commented Jan 18, 2023

I'm maintaining a multi-platform binary distribution (https://github.com/xpack-dev-tools/clang-xpack/) and when I tried to build the latest release I noticed the 32-bit arm build failed (and it was not due to low memory, as feared...).

To exclude issues with my configuration and build environment, I did a separate build with a simple configuration on a clean machine and the build failed too.

The commands used were:

mkdir -pv ~/Work/llvm-test/sources
curl -L https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/llvm-project-15.0.7.src.tar.xz -o ~/Work/llvm-test/sources/llvm-project-15.0.7.src.tar.xz

tar xf ~/Work/llvm-test/sources/llvm-project-15.0.7.src.tar.xz -C ~/Work/llvm-test/sources

mkdir -pv ~/Work/llvm-test/build
mkdir -pv ~/Work/llvm-test/install

# Minimal configuration that matches my needs.
cmake \
  --fresh \
  -S "${HOME}/Work/llvm-test/sources/llvm-project-15.0.7.src/llvm/" \
  -B "${HOME}/Work/llvm-test/build/" \
  -G Ninja \
  -DCMAKE_INSTALL_PREFIX="${HOME}/Work/llvm-test/install" \
  -DCMAKE_BUILD_TYPE=Release \
  -DLLVM_ENABLE_PROJECTS="clang;lld;lldb;clang-tools-extra;polly" \
  -DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
  -DLLVM_TOOLCHAIN_TOOLS="llvm-ar;llvm-ranlib;llvm-objdump;llvm-rc;llvm-cvtres;llvm-nm;llvm-strings;llvm-readobj;llvm-dlltool;llvm-pdbutil;llvm-objcopy;llvm-strip;llvm-cov;llvm-profdata;llvm-addr2line;llvm-symbolizer;llvm-windres;llvm-ml;llvm-readelf;llvm-size" \
  -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON \
  -DLLVM_INSTALL_BINUTILS_SYMLINKS=OFF \
  -DLLVM_PARALLEL_LINK_JOBS=1


cmake \
  --build "${HOME}/Work/llvm-test/build" \
  --verbose

The build failed while making the runtime, due to the missing unwinder library:

[6285/6413] cd /home/ilg/Work/llvm-test/build/runtimes && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/llvm/runtimes/../../compiler-rt/lib/builtins && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/build/runtimes/builtins-bins/ && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/build/projects/builtins && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/build/projects/builtins/tmp && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/build/runtimes/builtins-stamps/ && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/build/projects/builtins/src && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/build/runtimes/builtins-stamps/ && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/builtins-stamps//builtins-mkdir
[6286/6413] cd /home/ilg/Work/llvm-test/build/runtimes && /usr/bin/cmake -E echo_append && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/builtins-stamps//builtins-download
[6287/6413] cd /home/ilg/Work/llvm-test/build/runtimes && /usr/bin/cmake -E echo_append && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/builtins-stamps//builtins-update
[6288/6413] cd /home/ilg/Work/llvm-test/build/runtimes && /usr/bin/cmake -E echo_append && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/builtins-stamps//builtins-patch
[6288/6413] cd /home/ilg/Work/llvm-test/build/runtimes/builtins-bins && /usr/bin/cmake -DCMAKE_C_COMPILER=/home/ilg/Work/llvm-test/build/./bin/clang -DCMAKE_CXX_COMPILER=/home/ilg/Work/llvm-test/build/./bin/clang++ -DCMAKE_ASM_COMPILER=/home/ilg/Work/llvm-test/build/./bin/clang -DCMAKE_LINKER=/home/ilg/Work/llvm-test/build/./bin/ld.lld -DCMAKE_AR=/home/ilg/Work/llvm-test/build/./bin/llvm-ar -DCMAKE_RANLIB=/home/ilg/Work/llvm-test/build/./bin/llvm-ranlib -DCMAKE_NM=/home/ilg/Work/llvm-test/build/./bin/llvm-nm -DCMAKE_OBJDUMP=/home/ilg/Work/llvm-test/build/./bin/llvm-objdump -DCMAKE_OBJCOPY=/home/ilg/Work/llvm-test/build/./bin/llvm-objcopy -DCMAKE_STRIP=/home/ilg/Work/llvm-test/build/./bin/llvm-strip -DCMAKE_READELF=/home/ilg/Work/llvm-test/build/./bin/llvm-readelf -DCMAKE_C_COMPILER_TARGET=armv7l-unknown-linux-gnueabihf -DCMAKE_CXX_COMPILER_TARGET=armv7l-unknown-linux-gnueabihf -DCMAKE_ASM_COMPILER_TARGET=armv7l-unknown-linux-gnueabihf -DCMAKE_INSTALL_PREFIX=/home/ilg/Work/llvm-test/install -DLLVM_BINARY_DIR=/home/ilg/Work/llvm-test/build -DLLVM_CONFIG_PATH=/home/ilg/Work/llvm-test/build/bin/llvm-config -DLLVM_ENABLE_WERROR=OFF -DLLVM_HOST_TRIPLE=armv7l-unknown-linux-gnueabihf -DLLVM_HAVE_LINK_VERSION_SCRIPT=1 -DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO=OFF -DLLVM_USE_RELATIVE_PATHS_IN_FILES=OFF -DLLVM_LIT_ARGS=-sv -DLLVM_SOURCE_PREFIX= -DPACKAGE_VERSION=15.0.7 -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja -DCMAKE_C_COMPILER_LAUNCHER= -DCMAKE_CXX_COMPILER_LAUNCHER= -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DLLVM_LIBRARY_OUTPUT_INTDIR=/home/ilg/Work/llvm-test/build/./lib -DLLVM_RUNTIME_OUTPUT_INTDIR=/home/ilg/Work/llvm-test/build/./bin -DLLVM_DEFAULT_TARGET_TRIPLE=armv7l-unknown-linux-gnueabihf -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON -DCMAKE_C_COMPILER_WORKS=ON -DCMAKE_ASM_COMPILER_WORKS=ON -DHAVE_LLVM_LIT=ON -GNinja /home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/llvm/runtimes/../../compiler-rt/lib/builtins && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/builtins-stamps//builtins-configure
-- The C compiler identification is Clang 15.0.7
-- The ASM compiler identification is Clang
-- Found assembler: /home/ilg/Work/llvm-test/build/./bin/clang
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/ilg/Work/llvm-test/build/./bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Looking for unwind.h
-- Looking for unwind.h - found
-- Looking for rpc/xdr.h
-- Looking for rpc/xdr.h - found
CMake Warning at /home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/cmake/Modules/CompilerRTUtils.cmake:353 (message):
  llvm-config finding testingsupport failed with status 1
Call Stack (most recent call first):
  CMakeLists.txt:28 (load_llvm_config)


-- Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "1.2.11")
-- LLVM_MAIN_SRC_DIR: "/home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/llvm"
-- Performing Test COMPILER_RT_HAS_FPIC_FLAG
-- Performing Test COMPILER_RT_HAS_FPIC_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FPIE_FLAG
-- Performing Test COMPILER_RT_HAS_FPIE_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FNO_BUILTIN_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_BUILTIN_FLAG - Success
-- Performing Test COMPILER_RT_HAS_STD_C11_FLAG
-- Performing Test COMPILER_RT_HAS_STD_C11_FLAG - Success
-- Performing Test COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG
-- Performing Test COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG - Success
-- Performing Test COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG
-- Performing Test COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FFREESTANDING_FLAG
-- Performing Test COMPILER_RT_HAS_FFREESTANDING_FLAG - Success
-- Performing Test COMPILER_RT_HAS_XRAY_COMPILER_FLAG
-- Performing Test COMPILER_RT_HAS_XRAY_COMPILER_FLAG - Success
-- Performing Test COMPILER_RT_HAS_ATOMIC_KEYWORD
-- Performing Test COMPILER_RT_HAS_ATOMIC_KEYWORD - Success
-- Performing Test COMPILER_RT_HAS_FLOAT16
-- Performing Test COMPILER_RT_HAS_FLOAT16 - Success
-- Performing Test COMPILER_RT_HAS_BFLOAT16
-- Performing Test COMPILER_RT_HAS_BFLOAT16 - Failed
-- Performing Test COMPILER_RT_HAS_ASM_LSE
-- Performing Test COMPILER_RT_HAS_ASM_LSE - Failed
-- Builtin supported architectures: armhf
-- Looking for __ARM_FP
-- Looking for __ARM_FP - found
-- For armhf builtins preferring arm/fp_mode.c to fp_mode.c
-- For armhf builtins preferring arm/bswapdi2.S to bswapdi2.c
-- For armhf builtins preferring arm/bswapsi2.S to bswapsi2.c
-- For armhf builtins preferring arm/clzdi2.S to clzdi2.c
-- For armhf builtins preferring arm/clzsi2.S to clzsi2.c
-- For armhf builtins preferring arm/comparesf2.S to comparesf2.c
-- For armhf builtins preferring arm/divmodsi4.S to divmodsi4.c
-- For armhf builtins preferring arm/divsi3.S to divsi3.c
-- For armhf builtins preferring arm/modsi3.S to modsi3.c
-- For armhf builtins preferring arm/udivmodsi4.S to udivmodsi4.c
-- For armhf builtins preferring arm/udivsi3.S to udivsi3.c
-- For armhf builtins preferring arm/umodsi3.S to umodsi3.c
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_CXX_COMPILER
    HAVE_LLVM_LIT
    LLVM_DEFAULT_TARGET_TRIPLE
    LLVM_HAVE_LINK_VERSION_SCRIPT
    LLVM_SOURCE_PREFIX
    LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO
    LLVM_USE_RELATIVE_PATHS_IN_FILES


-- Build files have been written to: /home/ilg/Work/llvm-test/build/runtimes/builtins-bins
[6289/6413] cd /home/ilg/Work/llvm-test/build/runtimes/builtins-bins && /usr/bin/cmake --build .
[147/203] Building C object CMakeFiles/clang_rt.builtins-armhf.dir/gcc_personality_v0.c.o
/home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/lib/builtins/gcc_personality_v0.c:148:47: warning: declaration of 'struct _Unwind_Exception' will not be visible outside of this function [-Wvisibility]
_Unwind_Reason_Code __gnu_unwind_frame(struct _Unwind_Exception *,
                                              ^
/home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/lib/builtins/gcc_personality_v0.c:153:23: warning: declaration of 'struct _Unwind_Exception' will not be visible outside of this function [-Wvisibility]
continueUnwind(struct _Unwind_Exception *exceptionObject,
                      ^
/home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/lib/builtins/gcc_personality_v0.c:158:26: warning: incompatible pointer types passing 'struct _Unwind_Exception *' to parameter of type 'struct _Unwind_Exception *' [-Wincompatible-pointer-types]
  if (__gnu_unwind_frame(exceptionObject, context) != _URC_OK)
                         ^~~~~~~~~~~~~~~
/home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/lib/builtins/gcc_personality_v0.c:148:66: note: passing argument to parameter here
_Unwind_Reason_Code __gnu_unwind_frame(struct _Unwind_Exception *,
                                                                 ^
/home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/lib/builtins/gcc_personality_v0.c:179:33: warning: declaration of 'struct _Unwind_Exception' will not be visible outside of this function [-Wvisibility]
    _Unwind_State state, struct _Unwind_Exception *exceptionObject,
                                ^
/home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/lib/builtins/gcc_personality_v0.c:200:27: warning: incompatible pointer types passing 'struct _Unwind_Exception *' to parameter of type 'struct _Unwind_Exception *' [-Wincompatible-pointer-types]
    return continueUnwind(exceptionObject, context);
                          ^~~~~~~~~~~~~~~
/home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/lib/builtins/gcc_personality_v0.c:153:42: note: passing argument to parameter 'exceptionObject' here
continueUnwind(struct _Unwind_Exception *exceptionObject,
                                         ^
/home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/lib/builtins/gcc_personality_v0.c:205:27: warning: incompatible pointer types passing 'struct _Unwind_Exception *' to parameter of type 'struct _Unwind_Exception *' [-Wincompatible-pointer-types]
    return continueUnwind(exceptionObject, context);
                          ^~~~~~~~~~~~~~~
/home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/lib/builtins/gcc_personality_v0.c:153:42: note: passing argument to parameter 'exceptionObject' here
continueUnwind(struct _Unwind_Exception *exceptionObject,
                                         ^
/home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/lib/builtins/gcc_personality_v0.c:247:25: warning: incompatible pointer types passing 'struct _Unwind_Exception *' to parameter of type 'struct _Unwind_Exception *' [-Wincompatible-pointer-types]
  return continueUnwind(exceptionObject, context);
                        ^~~~~~~~~~~~~~~
/home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/lib/builtins/gcc_personality_v0.c:153:42: note: passing argument to parameter 'exceptionObject' here
continueUnwind(struct _Unwind_Exception *exceptionObject,
                                         ^
7 warnings generated.
[203/203] Linking C static library /home/ilg/Work/llvm-test/build/lib/clang/15.0.7/lib/armhf-unknown-linux-gnueabihf/libclang_rt.builtins.a
[6290/6413] cd /home/ilg/Work/llvm-test/build/runtimes/builtins-bins && /usr/bin/cmake -E echo_append && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/builtins-stamps//builtins-install
[6292/6413] cd /home/ilg/Work/llvm-test/build/runtimes && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/build/runtimes/CMakeFiles && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/CMakeFiles/builtins-complete && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/builtins-stamps//builtins-done
[6293/6413] cd /home/ilg/Work/llvm-test/build/runtimes && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/runtimes-bins//CMakeCache.txt && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/runtimes-stamps//runtimes-mkdir && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/runtimes-clobber-stamp
[6294/6413] cd /home/ilg/Work/llvm-test/build/runtimes && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/llvm/runtimes/../../runtimes && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/build/runtimes/runtimes-bins/ && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/build/projects/runtimes && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/build/projects/runtimes/tmp && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/build/runtimes/runtimes-stamps/ && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/build/projects/runtimes/src && /usr/bin/cmake -E make_directory /home/ilg/Work/llvm-test/build/runtimes/runtimes-stamps/ && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/runtimes-stamps//runtimes-mkdir
[6295/6413] cd /home/ilg/Work/llvm-test/build/runtimes && /usr/bin/cmake -E echo_append && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/runtimes-stamps//runtimes-download
[6296/6413] cd /home/ilg/Work/llvm-test/build/runtimes && /usr/bin/cmake -E echo_append && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/runtimes-stamps//runtimes-update
[6297/6413] cd /home/ilg/Work/llvm-test/build/runtimes && /usr/bin/cmake -E echo_append && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/runtimes-stamps//runtimes-patch
[6297/6413] cd /home/ilg/Work/llvm-test/build/runtimes/runtimes-bins && /usr/bin/cmake -DCMAKE_C_COMPILER=/home/ilg/Work/llvm-test/build/./bin/clang -DCMAKE_CXX_COMPILER=/home/ilg/Work/llvm-test/build/./bin/clang++ -DCMAKE_ASM_COMPILER=/home/ilg/Work/llvm-test/build/./bin/clang -DCMAKE_LINKER=/home/ilg/Work/llvm-test/build/./bin/ld.lld -DCMAKE_AR=/home/ilg/Work/llvm-test/build/./bin/llvm-ar -DCMAKE_RANLIB=/home/ilg/Work/llvm-test/build/./bin/llvm-ranlib -DCMAKE_NM=/home/ilg/Work/llvm-test/build/./bin/llvm-nm -DCMAKE_OBJDUMP=/home/ilg/Work/llvm-test/build/./bin/llvm-objdump -DCMAKE_OBJCOPY=/home/ilg/Work/llvm-test/build/./bin/llvm-objcopy -DCMAKE_STRIP=/home/ilg/Work/llvm-test/build/./bin/llvm-strip -DCMAKE_READELF=/home/ilg/Work/llvm-test/build/./bin/llvm-readelf -DCMAKE_C_COMPILER_TARGET=armv7l-unknown-linux-gnueabihf -DCMAKE_CXX_COMPILER_TARGET=armv7l-unknown-linux-gnueabihf -DCMAKE_ASM_COMPILER_TARGET=armv7l-unknown-linux-gnueabihf -DCMAKE_INSTALL_PREFIX=/home/ilg/Work/llvm-test/install -DLLVM_BINARY_DIR=/home/ilg/Work/llvm-test/build -DLLVM_CONFIG_PATH=/home/ilg/Work/llvm-test/build/bin/llvm-config -DLLVM_ENABLE_WERROR=OFF -DLLVM_HOST_TRIPLE=armv7l-unknown-linux-gnueabihf -DLLVM_HAVE_LINK_VERSION_SCRIPT=1 -DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO=OFF -DLLVM_USE_RELATIVE_PATHS_IN_FILES=OFF -DLLVM_LIT_ARGS=-sv -DLLVM_SOURCE_PREFIX= -DPACKAGE_VERSION=15.0.7 -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=/usr/bin/ninja -DCMAKE_C_COMPILER_LAUNCHER= -DCMAKE_CXX_COMPILER_LAUNCHER= -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCOMPILER_RT_BUILD_BUILTINS=Off -DLLVM_INCLUDE_TESTS=ON -DLLVM_DEFAULT_TARGET_TRIPLE=armv7l-unknown-linux-gnueabihf -DLLVM_ENABLE_PROJECTS_USED=ON -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON -DLLVM_BUILD_TOOLS=ON -DCMAKE_C_COMPILER_WORKS=ON -DCMAKE_CXX_COMPILER_WORKS=ON -DCMAKE_ASM_COMPILER_WORKS=ON -DHAVE_LLVM_LIT=ON "-DLLVM_ENABLE_RUNTIMES=compiler-rt;libcxx;libcxxabi;libunwind" -GNinja /home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/llvm/runtimes/../../runtimes && /usr/bin/cmake -E touch /home/ilg/Work/llvm-test/build/runtimes/runtimes-stamps//runtimes-configure
-- The C compiler identification is Clang 15.0.7
-- The CXX compiler identification is Clang 15.0.7
-- The ASM compiler identification is Clang
-- Found assembler: /home/ilg/Work/llvm-test/build/./bin/clang
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/ilg/Work/llvm-test/build/./bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/ilg/Work/llvm-test/build/./bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ZLIB: /usr/lib/arm-linux-gnueabihf/libz.so (found version "1.2.11") 
-- Performing Test LLVM_RUNTIMES_LINKING_WORKS
-- Performing Test LLVM_RUNTIMES_LINKING_WORKS - Success
-- Performing Test CXX_SUPPORTS_NOSTDLIBXX_FLAG
-- Performing Test CXX_SUPPORTS_NOSTDLIBXX_FLAG - Success
-- Performing Test CXX_SUPPORTS_NOSTDINCXX_FLAG
-- Performing Test CXX_SUPPORTS_NOSTDINCXX_FLAG - Success
-- Linker detection: GNU ld
-- Performing Test C_SUPPORTS_FPIC
-- Performing Test C_SUPPORTS_FPIC - Success
-- Performing Test CXX_SUPPORTS_FPIC
-- Performing Test CXX_SUPPORTS_FPIC - Success
-- Building with -fPIC
-- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION
-- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Success
-- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION
-- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Success
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test C_SUPPORTS_WERROR_DATE_TIME
-- Performing Test C_SUPPORTS_WERROR_DATE_TIME - Success
-- Performing Test CXX_SUPPORTS_WERROR_DATE_TIME
-- Performing Test CXX_SUPPORTS_WERROR_DATE_TIME - Success
-- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW
-- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW - Success
-- Performing Test CXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW
-- Performing Test CXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW - Success
-- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG
-- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG - Success
-- Performing Test C_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG
-- Performing Test C_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG - Success
-- Performing Test CXX_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG
-- Performing Test CXX_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG - Success
-- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
-- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success
-- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG
-- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success
-- Performing Test CXX_SUPPORTS_CLASS_MEMACCESS_FLAG
-- Performing Test CXX_SUPPORTS_CLASS_MEMACCESS_FLAG - Failed
-- Performing Test CXX_SUPPORTS_NOEXCEPT_TYPE_FLAG
-- Performing Test CXX_SUPPORTS_NOEXCEPT_TYPE_FLAG - Success
-- Performing Test CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR
-- Performing Test CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR - Success
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG
-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG - Success
-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL
-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL - Success
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP
-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP - Failed
-- Performing Test C_SUPPORTS_STRING_CONVERSION_FLAG
-- Performing Test C_SUPPORTS_STRING_CONVERSION_FLAG - Success
-- Performing Test CXX_SUPPORTS_STRING_CONVERSION_FLAG
-- Performing Test CXX_SUPPORTS_STRING_CONVERSION_FLAG - Success
-- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG
-- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success
-- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG
-- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS
-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS - Failed
-- Performing Test C_SUPPORTS_FNO_FUNCTION_SECTIONS
-- Performing Test C_SUPPORTS_FNO_FUNCTION_SECTIONS - Success
-- Performing Test C_SUPPORTS_FFUNCTION_SECTIONS
-- Performing Test C_SUPPORTS_FFUNCTION_SECTIONS - Success
-- Performing Test CXX_SUPPORTS_FFUNCTION_SECTIONS
-- Performing Test CXX_SUPPORTS_FFUNCTION_SECTIONS - Success
-- Performing Test C_SUPPORTS_FDATA_SECTIONS
-- Performing Test C_SUPPORTS_FDATA_SECTIONS - Success
-- Performing Test CXX_SUPPORTS_FDATA_SECTIONS
-- Performing Test CXX_SUPPORTS_FDATA_SECTIONS - Success
-- Looking for os_signpost_interval_begin
-- Looking for os_signpost_interval_begin - not found
-- Found Python3: /usr/bin/python3.9 (found version "3.9.2") found components: Interpreter 
-- Using libunwind testing configuration: /home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/libunwind/test/configs/llvm-libunwind-shared.cfg.in
-- Performing Test CXX_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG
-- Performing Test CXX_SUPPORTS_UNWINDLIB_EQ_NONE_FLAG - Success
-- Looking for fopen in c
-- Looking for fopen in c - found
-- Looking for __gcc_personality_v0 in gcc_s
-- Looking for __gcc_personality_v0 in gcc_s - found
-- Looking for __absvdi2 in gcc
-- Looking for __absvdi2 in gcc - found
-- Performing Test C_SUPPORTS_COMMENT_LIB_PRAGMA
-- Performing Test C_SUPPORTS_COMMENT_LIB_PRAGMA - Success
-- Looking for __arm__
-- Looking for __arm__ - found
-- Looking for __USING_SJLJ_EXCEPTIONS__
-- Looking for __USING_SJLJ_EXCEPTIONS__ - not found
-- Looking for __ARM_DWARF_EH__
-- Looking for __ARM_DWARF_EH__ - not found
-- Looking for dladdr in dl
-- Looking for dladdr in dl - found
-- Looking for pthread_once in pthread
-- Looking for pthread_once in pthread - found
-- Performing Test CXX_SUPPORTS_WERROR_EQ_RETURN_TYPE_FLAG
-- Performing Test CXX_SUPPORTS_WERROR_EQ_RETURN_TYPE_FLAG - Success
-- Performing Test CXX_SUPPORTS_W_FLAG
-- Performing Test CXX_SUPPORTS_W_FLAG - Success
-- Performing Test CXX_SUPPORTS_WALL_FLAG
-- Performing Test CXX_SUPPORTS_WALL_FLAG - Success
-- Performing Test CXX_SUPPORTS_WCHAR_SUBSCRIPTS_FLAG
-- Performing Test CXX_SUPPORTS_WCHAR_SUBSCRIPTS_FLAG - Success
-- Performing Test CXX_SUPPORTS_WCONVERSION_FLAG
-- Performing Test CXX_SUPPORTS_WCONVERSION_FLAG - Success
-- Performing Test CXX_SUPPORTS_WMISMATCHED_TAGS_FLAG
-- Performing Test CXX_SUPPORTS_WMISMATCHED_TAGS_FLAG - Success
-- Performing Test CXX_SUPPORTS_WMISSING_BRACES_FLAG
-- Performing Test CXX_SUPPORTS_WMISSING_BRACES_FLAG - Success
-- Performing Test CXX_SUPPORTS_WNEWLINE_EOF_FLAG
-- Performing Test CXX_SUPPORTS_WNEWLINE_EOF_FLAG - Success
-- Performing Test CXX_SUPPORTS_WNO_UNUSED_FUNCTION_FLAG
-- Performing Test CXX_SUPPORTS_WNO_UNUSED_FUNCTION_FLAG - Success
-- Performing Test CXX_SUPPORTS_WSHADOW_FLAG
-- Performing Test CXX_SUPPORTS_WSHADOW_FLAG - Success
-- Performing Test CXX_SUPPORTS_WSHORTEN_64_TO_32_FLAG
-- Performing Test CXX_SUPPORTS_WSHORTEN_64_TO_32_FLAG - Success
-- Performing Test CXX_SUPPORTS_WSIGN_COMPARE_FLAG
-- Performing Test CXX_SUPPORTS_WSIGN_COMPARE_FLAG - Success
-- Performing Test CXX_SUPPORTS_WSIGN_CONVERSION_FLAG
-- Performing Test CXX_SUPPORTS_WSIGN_CONVERSION_FLAG - Success
-- Performing Test CXX_SUPPORTS_WSTRICT_ALIASING_EQ_2_FLAG
-- Performing Test CXX_SUPPORTS_WSTRICT_ALIASING_EQ_2_FLAG - Success
-- Performing Test CXX_SUPPORTS_WSTRICT_OVERFLOW_EQ_4_FLAG
-- Performing Test CXX_SUPPORTS_WSTRICT_OVERFLOW_EQ_4_FLAG - Success
-- Performing Test CXX_SUPPORTS_WUNUSED_PARAMETER_FLAG
-- Performing Test CXX_SUPPORTS_WUNUSED_PARAMETER_FLAG - Success
-- Performing Test CXX_SUPPORTS_WUNUSED_VARIABLE_FLAG
-- Performing Test CXX_SUPPORTS_WUNUSED_VARIABLE_FLAG - Success
-- Performing Test CXX_SUPPORTS_WWRITE_STRINGS_FLAG
-- Performing Test CXX_SUPPORTS_WWRITE_STRINGS_FLAG - Success
-- Performing Test CXX_SUPPORTS_WUNDEF_FLAG
-- Performing Test CXX_SUPPORTS_WUNDEF_FLAG - Success
-- Performing Test CXX_SUPPORTS_WNO_SUGGEST_OVERRIDE_FLAG
-- Performing Test CXX_SUPPORTS_WNO_SUGGEST_OVERRIDE_FLAG - Success
-- Performing Test CXX_SUPPORTS_WNO_ERROR_FLAG
-- Performing Test CXX_SUPPORTS_WNO_ERROR_FLAG - Success
-- Performing Test CXX_SUPPORTS_WX_FLAG
-- Performing Test CXX_SUPPORTS_WX_FLAG - Failed
-- Performing Test CXX_SUPPORTS_PEDANTIC_FLAG
-- Performing Test CXX_SUPPORTS_PEDANTIC_FLAG - Success
-- Performing Test CXX_SUPPORTS_FSTRICT_ALIASING_FLAG
-- Performing Test CXX_SUPPORTS_FSTRICT_ALIASING_FLAG - Success
-- Performing Test CXX_SUPPORTS_EHSC_FLAG
-- Performing Test CXX_SUPPORTS_EHSC_FLAG - Failed
-- Performing Test CXX_SUPPORTS_FUNWIND_TABLES_FLAG
-- Performing Test CXX_SUPPORTS_FUNWIND_TABLES_FLAG - Success
-- Performing Test CXX_SUPPORTS_FNO_EXCEPTIONS_FLAG
-- Performing Test CXX_SUPPORTS_FNO_EXCEPTIONS_FLAG - Success
-- Performing Test CXX_SUPPORTS_FNO_RTTI_FLAG
-- Performing Test CXX_SUPPORTS_FNO_RTTI_FLAG - Success
-- Failed to locate sphinx-build executable (missing: SPHINX_EXECUTABLE) 
-- Using libc++abi testing configuration: /home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/libcxxabi/test/configs/llvm-libc++abi-shared.cfg.in
-- Looking for fopen in c
-- Looking for fopen in c - found
-- Looking for __gcc_personality_v0 in gcc_s
-- Looking for __gcc_personality_v0 in gcc_s - found
-- Looking for __aeabi_uldivmod in gcc
-- Looking for __aeabi_uldivmod in gcc - found
-- Looking for dladdr in dl
-- Looking for dladdr in dl - found
-- Looking for pthread_once in pthread
-- Looking for pthread_once in pthread - found
-- Looking for __cxa_thread_atexit_impl in c
-- Looking for __cxa_thread_atexit_impl in c - found
-- Looking for write in System
-- Looking for write in System - not found
-- Performing Test CXX_SUPPORTS_WUNUSED_FUNCTION_FLAG
-- Performing Test CXX_SUPPORTS_WUNUSED_FUNCTION_FLAG - Success
-- Performing Test C_SUPPORTS_FUNWIND_TABLES_FLAG
-- Performing Test C_SUPPORTS_FUNWIND_TABLES_FLAG - Success
-- Could not find ParallelSTL, libc++abi will not attempt to use it but the build may fail if the libc++ in use needs it to be available.
-- Using libc++ testing configuration: /home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/libcxx/test/configs/llvm-libc++-shared.cfg.in
-- Looking for fopen in c
-- Looking for fopen in c - found
-- Looking for __gcc_personality_v0 in gcc_s
-- Looking for __gcc_personality_v0 in gcc_s - found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Looking for ccos in m
-- Looking for ccos in m - found
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Looking for __atomic_fetch_add_8 in atomic
-- Looking for __atomic_fetch_add_8 in atomic - found
-- Performing Test CXX_SUPPORTS_FALIGNED_ALLOCATION_FLAG
-- Performing Test CXX_SUPPORTS_FALIGNED_ALLOCATION_FLAG - Success
-- Performing Test CXX_SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test CXX_SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test CXX_SUPPORTS_FVISIBILITY_EQ_HIDDEN_FLAG
-- Performing Test CXX_SUPPORTS_FVISIBILITY_EQ_HIDDEN_FLAG - Success
-- Performing Test CXX_SUPPORTS_WEXTRA_FLAG
-- Performing Test CXX_SUPPORTS_WEXTRA_FLAG - Success
-- Performing Test CXX_SUPPORTS_WNO_UNUSED_PARAMETER_FLAG
-- Performing Test CXX_SUPPORTS_WNO_UNUSED_PARAMETER_FLAG - Success
-- Performing Test CXX_SUPPORTS_WNO_LONG_LONG_FLAG
-- Performing Test CXX_SUPPORTS_WNO_LONG_LONG_FLAG - Success
-- Performing Test CXX_SUPPORTS_WEXTRA_SEMI_FLAG
-- Performing Test CXX_SUPPORTS_WEXTRA_SEMI_FLAG - Success
-- Performing Test CXX_SUPPORTS_WFORMAT_NONLITERAL_FLAG
-- Performing Test CXX_SUPPORTS_WFORMAT_NONLITERAL_FLAG - Success
-- Performing Test CXX_SUPPORTS_WNO_USER_DEFINED_LITERALS_FLAG
-- Performing Test CXX_SUPPORTS_WNO_USER_DEFINED_LITERALS_FLAG - Success
-- Performing Test CXX_SUPPORTS_WNO_COVERED_SWITCH_DEFAULT_FLAG
-- Performing Test CXX_SUPPORTS_WNO_COVERED_SWITCH_DEFAULT_FLAG - Success
-- Adding Benchmark: algorithms.partition_point.bench.cpp
-- Adding Benchmark: lower_bound.bench.cpp
-- Adding Benchmark: make_heap.bench.cpp
-- Adding Benchmark: make_heap_then_sort_heap.bench.cpp
-- Adding Benchmark: min_max_element.bench.cpp
-- Adding Benchmark: pop_heap.bench.cpp
-- Adding Benchmark: push_heap.bench.cpp
-- Adding Benchmark: ranges_make_heap.bench.cpp
-- Adding Benchmark: ranges_make_heap_then_sort_heap.bench.cpp
-- Adding Benchmark: ranges_pop_heap.bench.cpp
-- Adding Benchmark: ranges_push_heap.bench.cpp
-- Adding Benchmark: ranges_sort.bench.cpp
-- Adding Benchmark: ranges_sort_heap.bench.cpp
-- Adding Benchmark: ranges_stable_sort.bench.cpp
-- Adding Benchmark: sort.bench.cpp
-- Adding Benchmark: sort_heap.bench.cpp
-- Adding Benchmark: stable_sort.bench.cpp
-- Adding Benchmark: allocation.bench.cpp
-- Adding Benchmark: deque.bench.cpp
-- Adding Benchmark: filesystem.bench.cpp
-- Adding Benchmark: format_to_n.bench.cpp
-- Adding Benchmark: format_to.bench.cpp
-- Adding Benchmark: format.bench.cpp
-- Adding Benchmark: formatted_size.bench.cpp
-- Adding Benchmark: formatter_float.bench.cpp
-- Adding Benchmark: formatter_int.bench.cpp
-- Adding Benchmark: function.bench.cpp
-- Adding Benchmark: map.bench.cpp
-- Adding Benchmark: ordered_set.bench.cpp
-- Adding Benchmark: std_format_spec_string_unicode.bench.cpp
-- Adding Benchmark: string.bench.cpp
-- Adding Benchmark: stringstream.bench.cpp
-- Adding Benchmark: to_chars.bench.cpp
-- Adding Benchmark: unordered_set_operations.bench.cpp
-- Adding Benchmark: util_smartptr.bench.cpp
-- Adding Benchmark: variant_visit_1.bench.cpp
-- Adding Benchmark: variant_visit_2.bench.cpp
-- Adding Benchmark: variant_visit_3.bench.cpp
-- Adding Benchmark: vector_operations.bench.cpp
-- ABI list file not generated for configuration armv7l-unknown-linux-gnueabihf.libcxxabi.v1.stable.exceptions.nonew, `check-cxx-abilist` will not be available.
-- Looking for unwind.h
-- Looking for unwind.h - found
-- Looking for rpc/xdr.h
-- Looking for rpc/xdr.h - found
CMake Warning at /home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/cmake/Modules/CompilerRTUtils.cmake:353 (message):
  llvm-config finding testingsupport failed with status 1
Call Stack (most recent call first):
  /home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/compiler-rt/CMakeLists.txt:71 (load_llvm_config)


-- LLVM_MAIN_SRC_DIR: "/home/ilg/Work/llvm-test/sources/llvm-project-15.0.7.src/llvm"
-- Looking for __thumb__
-- Looking for __thumb__ - not found
-- Performing Test CXX_SUPPORTS_UNWINDLIB_NONE_FLAG
-- Performing Test CXX_SUPPORTS_UNWINDLIB_NONE_FLAG - Success
-- Looking for fopen in c
-- Looking for fopen in c - found
-- Looking for __gcc_personality_v0 in gcc_s
-- Looking for __gcc_personality_v0 in gcc_s - found
-- Performing Test C_SUPPORTS_NODEFAULTLIBS_FLAG
-- Performing Test C_SUPPORTS_NODEFAULTLIBS_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FFREESTANDING_FLAG
-- Performing Test COMPILER_RT_HAS_FFREESTANDING_FLAG - Success
-- Performing Test COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG
-- Performing Test COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG - Success
-- Performing Test COMPILER_RT_HAS_STD_C11_FLAG
-- Performing Test COMPILER_RT_HAS_STD_C11_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FCF_PROTECTION_FLAG
-- Performing Test COMPILER_RT_HAS_FCF_PROTECTION_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FPIC_FLAG
-- Performing Test COMPILER_RT_HAS_FPIC_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FPIE_FLAG
-- Performing Test COMPILER_RT_HAS_FPIE_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FNO_BUILTIN_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_BUILTIN_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG
-- Performing Test COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FUNWIND_TABLES_FLAG
-- Performing Test COMPILER_RT_HAS_FUNWIND_TABLES_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG
-- Performing Test COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FRTTI_FLAG
-- Performing Test COMPILER_RT_HAS_FRTTI_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FNO_RTTI_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_RTTI_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG - Success
-- Performing Test COMPILER_RT_HAS_STD_CXX14_FLAG
-- Performing Test COMPILER_RT_HAS_STD_CXX14_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC
-- Performing Test COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC - Success
-- Performing Test COMPILER_RT_HAS_FNO_LTO_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_LTO_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FNO_PROFILE_GENERATE_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_PROFILE_GENERATE_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FNO_PROFILE_INSTR_GENERATE_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_PROFILE_INSTR_GENERATE_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FNO_PROFILE_INSTR_USE_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_PROFILE_INSTR_USE_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FNO_COVERAGE_MAPPING_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_COVERAGE_MAPPING_FLAG - Success
-- Performing Test COMPILER_RT_HAS_MCRC32_FLAG
-- Performing Test COMPILER_RT_HAS_MCRC32_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_MSSE3_FLAG
-- Performing Test COMPILER_RT_HAS_MSSE3_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_MSSE4_2_FLAG
-- Performing Test COMPILER_RT_HAS_MSSE4_2_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_SYSROOT_FLAG
-- Performing Test COMPILER_RT_HAS_SYSROOT_FLAG - Success
-- Performing Test COMPILER_RT_HAS_MCRC_FLAG
-- Performing Test COMPILER_RT_HAS_MCRC_FLAG - Success
-- Performing Test COMPILER_RT_HAS_FNO_PARTIAL_INLINING_FLAG
-- Performing Test COMPILER_RT_HAS_FNO_PARTIAL_INLINING_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG
-- Performing Test COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success
-- Performing Test COMPILER_RT_HAS_GR_FLAG
-- Performing Test COMPILER_RT_HAS_GR_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_GS_FLAG
-- Performing Test COMPILER_RT_HAS_GS_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_MT_FLAG
-- Performing Test COMPILER_RT_HAS_MT_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_Oy_FLAG
-- Performing Test COMPILER_RT_HAS_Oy_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG
-- Performing Test COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG - Success
-- Performing Test COMPILER_RT_HAS_G_FLAG
-- Performing Test COMPILER_RT_HAS_G_FLAG - Success
-- Performing Test COMPILER_RT_HAS_Zi_FLAG
-- Performing Test COMPILER_RT_HAS_Zi_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WALL_FLAG
-- Performing Test COMPILER_RT_HAS_WALL_FLAG - Success
-- Performing Test COMPILER_RT_HAS_WERROR_FLAG
-- Performing Test COMPILER_RT_HAS_WERROR_FLAG - Success
-- Performing Test COMPILER_RT_HAS_WFRAME_LARGER_THAN_FLAG
-- Performing Test COMPILER_RT_HAS_WFRAME_LARGER_THAN_FLAG - Success
-- Performing Test COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG
-- Performing Test COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG - Success
-- Performing Test COMPILER_RT_HAS_WC99_EXTENSIONS_FLAG
-- Performing Test COMPILER_RT_HAS_WC99_EXTENSIONS_FLAG - Success
-- Performing Test COMPILER_RT_HAS_WGNU_FLAG
-- Performing Test COMPILER_RT_HAS_WGNU_FLAG - Success
-- Performing Test COMPILER_RT_HAS_WNON_VIRTUAL_DTOR_FLAG
-- Performing Test COMPILER_RT_HAS_WNON_VIRTUAL_DTOR_FLAG - Success
-- Performing Test COMPILER_RT_HAS_WVARIADIC_MACROS_FLAG
-- Performing Test COMPILER_RT_HAS_WVARIADIC_MACROS_FLAG - Success
-- Performing Test COMPILER_RT_HAS_WUNUSED_PARAMETER_FLAG
-- Performing Test COMPILER_RT_HAS_WUNUSED_PARAMETER_FLAG - Success
-- Performing Test COMPILER_RT_HAS_WCOVERED_SWITCH_DEFAULT_FLAG
-- Performing Test COMPILER_RT_HAS_WCOVERED_SWITCH_DEFAULT_FLAG - Success
-- Performing Test COMPILER_RT_HAS_WSUGGEST_OVERRIDE_FLAG
-- Performing Test COMPILER_RT_HAS_WSUGGEST_OVERRIDE_FLAG - Success
-- Performing Test COMPILER_RT_HAS_WNO_PEDANTIC
-- Performing Test COMPILER_RT_HAS_WNO_PEDANTIC - Success
-- Performing Test COMPILER_RT_HAS_WNO_FORMAT
-- Performing Test COMPILER_RT_HAS_WNO_FORMAT - Success
-- Performing Test COMPILER_RT_HAS_WNO_FORMAT_PEDANTIC
-- Performing Test COMPILER_RT_HAS_WNO_FORMAT_PEDANTIC - Success
-- Performing Test COMPILER_RT_HAS_EXTERNAL_FLAG
-- Performing Test COMPILER_RT_HAS_EXTERNAL_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_W4_FLAG
-- Performing Test COMPILER_RT_HAS_W4_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WX_FLAG
-- Performing Test COMPILER_RT_HAS_WX_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4146_FLAG
-- Performing Test COMPILER_RT_HAS_WD4146_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4206_FLAG
-- Performing Test COMPILER_RT_HAS_WD4206_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4291_FLAG
-- Performing Test COMPILER_RT_HAS_WD4291_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4221_FLAG
-- Performing Test COMPILER_RT_HAS_WD4221_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4391_FLAG
-- Performing Test COMPILER_RT_HAS_WD4391_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4722_FLAG
-- Performing Test COMPILER_RT_HAS_WD4722_FLAG - Failed
-- Performing Test COMPILER_RT_HAS_WD4800_FLAG
-- Performing Test COMPILER_RT_HAS_WD4800_FLAG - Failed
-- Looking for __func__
-- Looking for __func__ - found
-- Performing Test COMPILER_RT_HAS_NOSTDINCXX_FLAG
-- Performing Test COMPILER_RT_HAS_NOSTDINCXX_FLAG - Success
-- Performing Test COMPILER_RT_HAS_NOSTDLIBXX_FLAG
-- Performing Test COMPILER_RT_HAS_NOSTDLIBXX_FLAG - Success
-- Looking for include file sys/auxv.h
-- Looking for include file sys/auxv.h - found
-- Looking for dlopen in dl
-- Looking for dlopen in dl - found
-- Looking for shm_open in rt
-- Looking for shm_open in rt - found
-- Looking for pow in m
-- Looking for pow in m - found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Looking for backtrace in execinfo
-- Looking for backtrace in execinfo - not found
-- Looking for __cxa_throw in c++
-- Looking for __cxa_throw in c++ - not found
-- Looking for __cxa_throw in stdc++
-- Looking for __cxa_throw in stdc++ - found
-- Performing Test COMPILER_RT_HAS_Z_TEXT
-- Performing Test COMPILER_RT_HAS_Z_TEXT - Success
-- Performing Test COMPILER_RT_HAS_FUSE_LD_LLD_FLAG
-- Performing Test COMPILER_RT_HAS_FUSE_LD_LLD_FLAG - Success
-- Performing Test COMPILER_RT_HAS_VERSION_SCRIPT
-- Performing Test COMPILER_RT_HAS_VERSION_SCRIPT - Success
-- Compiler-RT supported architectures: armhf
-- Supported architectures for crt: armhf
-- Looking for __atomic_load_8 in atomic
-- Looking for __atomic_load_8 in atomic - found
-- Performing Test COMPILER_RT_TARGET_HAS_ATOMICS
-- Performing Test COMPILER_RT_TARGET_HAS_ATOMICS - Success
-- Performing Test COMPILER_RT_TARGET_HAS_FCNTL_LCK
-- Performing Test COMPILER_RT_TARGET_HAS_FCNTL_LCK - Success
-- Performing Test COMPILER_RT_TARGET_HAS_UNAME
-- Performing Test COMPILER_RT_TARGET_HAS_UNAME - Success
-- Performing Test HAS_THREAD_LOCAL
-- Performing Test HAS_THREAD_LOCAL - Success
-- Generated Sanitizer SUPPORTED_TOOLS list on "Linux" is "asan;lsan;ubsan"
-- sanitizer_common tests on "Linux" will run against "asan;lsan;ubsan"
-- Supported architectures for crt: armhf
-- check-shadowcallstack does nothing.
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    LLVM_BUILD_TOOLS


-- Build files have been written to: /home/ilg/Work/llvm-test/build/runtimes/runtimes-bins
[6401/6413] : && /usr/bin/cmake -E rm -f lib/liblldbPluginUnwindAssemblyX86.a && /usr/bin/ar Dqc lib/liblldbPluginUnwindAssemblyX86.a  tools/lldb/source/Plugins/UnwindAssembly/x86/CMakeFiles/lldbPluginUnwindAssemblyX86.dir/UnwindAssembly-x86.cpp.o tools/lldb/source/Plugins/UnwindAssembly/x86/CMakeFiles/lldbPluginUnwindAssemblyX86.dir/x86AssemblyInspectionEngine.cpp.o && /usr/bin/ranlib -D lib/liblldbPluginUnwindAssemblyX86.a && :
[6402/6413] cd /home/ilg/Work/llvm-test/build/runtimes/runtimes-bins && /usr/bin/cmake --build .
[1370/1464] Linking CXX shared library /home/ilg/Work/llvm-test/build/lib.../15.0.7/lib/armhf-unknown-linux-gnueabihf/libclang_rt.scudo_standalone.so
FAILED: /home/ilg/Work/llvm-test/build/lib/clang/15.0.7/lib/armhf-unknown-linux-gnueabihf/libclang_rt.scudo_standalone.so 
: && /home/ilg/Work/llvm-test/build/./bin/clang++ --target=armv7l-unknown-linux-gnueabihf -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -std=c++14 -Wno-unused-parameter -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/ilg/Work/llvm-test/build/./lib   -march=armv7-a -mfloat-abi=hard -Wl,-z,defs,-z,now,-z,relro -ffunction-sections -fdata-sections -Wl,--gc-sections -nostdlib++ --unwindlib=none -pthread -shared -Wl,-soname,libclang_rt.scudo_standalone.so -o /home/ilg/Work/llvm-test/build/lib/clang/15.0.7/lib/armhf-unknown-linux-gnueabihf/libclang_rt.scudo_standalone.so compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/common.cpp.o compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/crash_handler.cpp.o compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/common_posix.cpp.o compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/guarded_pool_allocator_posix.cpp.o compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/mutex_posix.cpp.o compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/utilities_posix.cpp.o compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/guarded_pool_allocator.cpp.o compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/stack_trace_compressor.cpp.o compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsanBacktraceLibc.armhf.dir/optional/backtrace_linux_libc.cpp.o compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsanSegvHandler.armhf.dir/optional/segv_handler_posix.cpp.o compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsanOptionsParser.armhf.dir/optional/options_parser.cpp.o compiler-rt/lib/scudo/standalone/CMakeFiles/clang_rt.scudo_standalone-dynamic-armhf.dir/checksum.cpp.o compiler-rt/lib/scudo/standalone/CMakeFiles/clang_rt.scudo_standalone-dynamic-armhf.dir/common.cpp.o compiler-rt/lib/scudo/standalone/CMakeFiles/clang_rt.scudo_standalone-dynamic-armhf.dir/crc32_hw.cpp.o compiler-rt/lib/scudo/standalone/CMakeFiles/clang_rt.scudo_standalone-dynamic-armhf.dir/flags_parser.cpp.o compiler-rt/lib/scudo/standalone/CMakeFiles/clang_rt.scudo_standalone-dynamic-armhf.dir/flags.cpp.o compiler-rt/lib/scudo/standalone/CMakeFiles/clang_rt.scudo_standalone-dynamic-armhf.dir/fuchsia.cpp.o compiler-rt/lib/scudo/standalone/CMakeFiles/clang_rt.scudo_standalone-dynamic-armhf.dir/linux.cpp.o compiler-rt/lib/scudo/standalone/CMakeFiles/clang_rt.scudo_standalone-dynamic-armhf.dir/release.cpp.o compiler-rt/lib/scudo/standalone/CMakeFiles/clang_rt.scudo_standalone-dynamic-armhf.dir/report.cpp.o compiler-rt/lib/scudo/standalone/CMakeFiles/clang_rt.scudo_standalone-dynamic-armhf.dir/string_utils.cpp.o compiler-rt/lib/scudo/standalone/CMakeFiles/clang_rt.scudo_standalone-dynamic-armhf.dir/wrappers_c.cpp.o compiler-rt/lib/scudo/standalone/CMakeFiles/clang_rt.scudo_standalone-dynamic-armhf.dir/wrappers_cpp.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/ilg/Work/llvm-test/build/./lib" && :
/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x25
compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/common.cpp.o:(.ARM.exidx.text._ZN8gwp_asan13ErrorToStringERKNS_5ErrorE+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/common.cpp.o:(.ARM.exidx.text._ZN8gwp_asan18AllocationMetadata16RecordAllocationEjj+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/common.cpp.o:(.ARM.exidx.text._ZN8gwp_asan18AllocationMetadata18RecordDeallocationEv+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/common.cpp.o:(.ARM.exidx.text._ZN8gwp_asan18AllocationMetadata12CallSiteInfo15RecordBacktraceEPFjPjjE+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/common.cpp.o:(.ARM.exidx.text._ZNK8gwp_asan14AllocatorState21maximumAllocationSizeEv+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/common.cpp.o:(.ARM.exidx.text._ZNK8gwp_asan14AllocatorState10slotToAddrEj+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/common.cpp.o:(.ARM.exidx.text._ZNK8gwp_asan14AllocatorState11isGuardPageEj+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/common.cpp.o:(.ARM.exidx.text._ZNK8gwp_asan14AllocatorState14getNearestSlotEj+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x25
compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/crash_handler.cpp.o:(.ARM.exidx.text.__gwp_asan_error_is_mine+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/crash_handler.cpp.o:(.ARM.exidx.text.__gwp_asan_get_internal_crash_address+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/crash_handler.cpp.o:(.ARM.exidx.text.__gwp_asan_diagnose_error+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/crash_handler.cpp.o:(.ARM.exidx.text.__gwp_asan_get_metadata+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/crash_handler.cpp.o:(.ARM.exidx.text.__gwp_asan_get_allocation_address+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/crash_handler.cpp.o:(.ARM.exidx.text.__gwp_asan_get_allocation_size+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/crash_handler.cpp.o:(.ARM.exidx.text.__gwp_asan_get_allocation_thread_id+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/crash_handler.cpp.o:(.ARM.exidx.text.__gwp_asan_get_allocation_trace+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/crash_handler.cpp.o:(.ARM.exidx.text.__gwp_asan_is_deallocated+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/crash_handler.cpp.o:(.ARM.exidx.text.__gwp_asan_get_deallocation_thread_id+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/crash_handler.cpp.o:(.ARM.exidx.text.__gwp_asan_get_deallocation_trace+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x25
compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/common_posix.cpp.o:(.ARM.exidx.text._ZN8gwp_asan11getThreadIDEv+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x25
compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/guarded_pool_allocator_posix.cpp.o:(.ARM.exidx.text._ZN8gwp_asan20GuardedPoolAllocator8initPRNGEv+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/guarded_pool_allocator_posix.cpp.o:(.ARM.exidx.text._ZNK8gwp_asan20GuardedPoolAllocator3mapEjPKc+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/guarded_pool_allocator_posix.cpp.o:(.ARM.exidx.text._ZN8gwp_asan20GuardedPoolAllocator18reserveGuardedPoolEj+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/guarded_pool_allocator_posix.cpp.o:(.ARM.exidx.text._ZNK8gwp_asan20GuardedPoolAllocator21allocateInGuardedPoolEPvj+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/guarded_pool_allocator_posix.cpp.o:(.ARM.exidx.text._ZNK8gwp_asan20GuardedPoolAllocator23deallocateInGuardedPoolEPvj+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/guarded_pool_allocator_posix.cpp.o:(.ARM.exidx.text._ZN8gwp_asan20GuardedPoolAllocator19getPlatformPageSizeEv+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/guarded_pool_allocator_posix.cpp.o:(.ARM.exidx.text._ZN8gwp_asan20GuardedPoolAllocator13installAtForkEv+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/guarded_pool_allocator_posix.cpp.o:(.ARM.exidx.text._ZZN8gwp_asan20GuardedPoolAllocator13installAtForkEvEN3$_08__invokeEv+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/platform_specific/guarded_pool_allocator_posix.cpp.o:(.ARM.exidx.text._ZZN8gwp_asan20GuardedPoolAllocator13installAtForkEvEN3$_18__invokeEv+0x0): more undefined references to `__aeabi_unwind_cpp_pr0' follow
/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x25
compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/guarded_pool_allocator.cpp.o:(.ARM.exidx.text._ZN8gwp_asan20GuardedPoolAllocator7disableEv+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/guarded_pool_allocator.cpp.o:(.ARM.exidx.text._ZN8gwp_asan20GuardedPoolAllocator6enableEv+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/guarded_pool_allocator.cpp.o:(.ARM.exidx.text._ZN8gwp_asan20GuardedPoolAllocator7iterateEPvjPFvjjS1_ES1_+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/guarded_pool_allocator.cpp.o:(.ARM.exidx.text._ZN8gwp_asan20GuardedPoolAllocator8allocateEjj+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/guarded_pool_allocator.cpp.o:(.ARM.exidx.text._ZN8gwp_asan20GuardedPoolAllocator4stopEv+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/guarded_pool_allocator.cpp.o:(.ARM.exidx.text._ZN8gwp_asan20GuardedPoolAllocator10deallocateEPv+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/guarded_pool_allocator.cpp.o:(.ARM.exidx.text._ZN8gwp_asan20GuardedPoolAllocator7getSizeEPKv+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x25
compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/stack_trace_compressor.cpp.o:(.ARM.exidx.text._ZN8gwp_asan11compression4packEPKjjPhj+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsan.armhf.dir/stack_trace_compressor.cpp.o:(.ARM.exidx.text._ZN8gwp_asan11compression6unpackEPKhjPjj+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x25
compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsanBacktraceLibc.armhf.dir/optional/backtrace_linux_libc.cpp.o:(.ARM.exidx.text._ZN8gwp_asan9backtrace20getBacktraceFunctionEv+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsanBacktraceLibc.armhf.dir/optional/backtrace_linux_libc.cpp.o:(.ARM.exidx.text._ZN12_GLOBAL__N_19BacktraceEPjj+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsanBacktraceLibc.armhf.dir/optional/backtrace_linux_libc.cpp.o:(.ARM.exidx.text._ZN8gwp_asan9backtrace25getPrintBacktraceFunctionEv+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsanBacktraceLibc.armhf.dir/optional/backtrace_linux_libc.cpp.o:(.ARM.exidx.text._ZN12_GLOBAL__N_114PrintBacktraceEPjjPFvPKczE+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsanBacktraceLibc.armhf.dir/optional/backtrace_linux_libc.cpp.o:(.ARM.exidx.text._ZN8gwp_asan9backtrace24getSegvBacktraceFunctionEv+0x0): more undefined references to `__aeabi_unwind_cpp_pr0' follow
/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x25
compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsanSegvHandler.armhf.dir/optional/segv_handler_posix.cpp.o:(.ARM.exidx.text._ZN8gwp_asan12segv_handler21installSignalHandlersEPNS_20GuardedPoolAllocatorEPFvPKczEPFvPjjS6_EPFjS7_jPvE+0x0): undefined reference to `__aeabi_unwind_cpp_pr1'
/usr/bin/ld: compiler-rt/lib/gwp_asan/CMakeFiles/RTGwpAsanSegvHandler.armhf.dir/optional/segv_handler_posix.cpp.o:(.ARM.exidx.text._ZN12_GLOBAL__N_114sigSegvHandlerEiP9siginfo_tPv+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
[1375/1464] Building CXX object compiler-rt/lib/asan/CMakeFiles/RTAsan_dynamic.armhf.dir/asan_interceptors.cpp.o
ninja: build stopped: subcommand failed.
[6410/6413] /usr/bin/cmake -E cmake_symlink_library lib/liblldbIntelFeatures.so.15 lib/liblldbIntelFeatures.so.15 lib/liblldbIntelFeatures.so && :
FAILED: runtimes/runtimes-stamps/runtimes-build 
cd /home/ilg/Work/llvm-test/build/runtimes/runtimes-bins && /usr/bin/cmake --build .
ninja: build stopped: subcommand failed.

The machine used was a Raspberry Pi OS 32-bit.

I kept the entire build environment, and I also have a build with the same configuration on an aarch64 machine (Raspberry Pi OS 64-bit) which passed, so we can use it as a reference.

Any similar experience? I would appreciate any suggestions how to fix this.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 18, 2023

I see a lot of linker errors, probably the system linker is not up to the task:

/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x25

The linker is 2.35.2:

$ /usr/bin/ld --version
GNU ld (GNU Binutils for Raspbian) 2.35.2

@Naville
Copy link
Contributor

Naville commented Jan 18, 2023

https://sourceware.org/bugzilla/show_bug.cgi?id=27521 This?

LLVM states:

GNU ld 2.16.X. Some 2.16.X versions of the ld linker will produce very long warning messages complaining that some “.gnu.linkonce.t.*” symbol was defined in a discarded section. You can safely ignore these messages as they are erroneous and the linkage is correct. These messages disappear using ld 2.17.

GNU binutils 2.17: Binutils 2.17 contains [a bug](http://sourceware.org/bugzilla/show_bug.cgi?id=3111) which causes huge link times (minutes instead of seconds) when building LLVM. We recommend upgrading to a newer version (2.17.50.0.4 or later).

GNU Binutils 2.19.1 Gold: This version of Gold contained [a bug](http://sourceware.org/bugzilla/show_bug.cgi?id=9836) which causes intermittent failures when building LLVM with position independent code. The symptom is an error about cyclic dependencies. We recommend upgrading to a newer version of Gold.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 18, 2023

The DWARF error seems to be the same, but I'm not sure that the undefined references are caused by it.

The linker line explicitly asks for --unwindlib=none, yet there are still references to the unwinder.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 18, 2023

I checked and in my production build environment I use gcc 12 & binutils 2.39; I don't see the DWARF error, but the arm 32-bit build of the runtime still fails, so I would not exclude other problems than binutils yet.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 18, 2023

I found this commit that changes some details of runtime builds:

There is also a comment mentioning a reorder of the runtimes, to fix some dependency issues, with compiler-rt moved to the end of the list; I find this weird, since in those files there are other comments mentioning --unwindlib=none.

@llvmbot
Copy link
Member

llvmbot commented Jan 18, 2023

@llvm/issue-subscribers-backend-arm

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 18, 2023

I tried a new build with a different order in LLVM_ENABLE_RUNTIMES, but it did not fix the problem...

@DavidSpickett
Copy link
Collaborator

We (Linaro) saw this previously with scudo - #56900

And I have hit it with GWPASAN like you have, but applying the same sort of change didn't fix anything. At this time I don't understand exactly how the fix for scudo worked.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 18, 2023

Hi David @DavidSpickett, thank you for confirming this bug.

I'll postpone my 15.x release and stick to 14.x till the problem is identified and fixed.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 18, 2023

Do we know of other Linux 32-bit arm distributions which include llvm/clang 15, to check if they applied any patches?

@ilg-ul ilg-ul changed the title 15.0.7 runtime build fails on armv7l with missing unwinder (but passes on aarch64) 15.0.7 runtime build fails on armv7l with missing unwinder Jan 18, 2023
@peter-toft-greve
Copy link

@ilg-ul I am also a happy clang-14 user on 32 bit arm7l so information on this topic is very relevant to me too.
Seems that 32 bit clang is a fading star, or?

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 18, 2023

Let's hope that the 32-bit clang can still be fixed.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 18, 2023

Can someone try a build similar to the one presented in the beginning of this topic, but with the most recent 16.x, to confirm that the problem is still present? (my berries are pretty busy these days).

@DavidSpickett
Copy link
Collaborator

I will try to reproduce and confirm where this started.

I see a lot of linker errors, probably the system linker is not up to the task:

/usr/bin/ld: /usr/bin/ld: DWARF error: invalid or unhandled FORM value: 0x25

For this see https://discourse.llvm.org/t/bin-ld-dwarf-error-invalid-or-unhandled-form-value-0x25/67620/2. You are right that a new linker is needed, or fall back to dwarf 4.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 19, 2023

I asked a friend to run a build with the latest master, to be sure the problem is still there; we'll know it in about 8 hours...

You are right that a new linker is needed, or fall back to dwarf 4.

I don't think that the dwarf errors are relevant for this.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 19, 2023

... confirm where this started.

One small correction, my build script for the 14.x release did not fully pass, I had to disable some features, so the problem might be a bit older.

But I think that the goal is to be sure the master branch passes the build; for the 15.x releases we can apply a patch, if necessary.

@DavidSpickett
Copy link
Collaborator

I have a workaround for the time being.

Apply these two patches:
https://reviews.llvm.org/D139536
https://reviews.llvm.org/D142106

If you get conflicts doing so I can prepare some versions that apply cleanly to the 15 branch.

Then add -DRUNTIMES_armv8l-unknown-linux-gnueabihf_COMPILER_RT_BUILD_GWP_ASAN=OFF to your cmake command. This tells the runtimes build to pass on an option to compiler-rt to disable building gwp asan.

You will have to modify the armv8l-....-gnueabihf part to fit the system you're on. To find the exact target name you can do:

$ ./bin/clang --version
clang version 16.0.0 (https://github.com/llvm/llvm-project.git d7dc1bcdbc52c2e21772cc9266f528cad6617b78)
Target: armv8l-unknown-linux-gnueabihf

I trimmed down your initial command to save some time but here is what I used, for reference:

cmake -S "/home/david.spickett/llvm-project/llvm" -G Ninja -DCMAKE_BUILD_TYPE=Release \
  -DLLVM_ENABLE_PROJECTS="clang" -DLLVM_ENABLE_RUNTIMES="compiler-rt;libunwind" \
  -DLLVM_USE_LINKER=lld \
  -DRUNTIMES_armv8l-unknown-linux-gnueabihf_COMPILER_RT_BUILD_GWP_ASAN=OFF

We will look for the root cause of the issue and I will work to get those patches landed to improve the situation for llvm 16.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 19, 2023

Thank you, David.

Applying the patches went without conflicts, just a warning related to an offset of 14 lines; I guess it is not a problem.

I started a new fresh build using the following commands:

rm -rf ${HOME}/Work/llvm-test/build/*

cmake \
 --fresh \
 -S "${HOME}/Work/llvm-test/sources/llvm-project-15.0.7.src/llvm/" \
 -B "${HOME}/Work/llvm-test/build/" \
 -G Ninja \
 -DCMAKE_INSTALL_PREFIX="${HOME}/Work/llvm-test/install" \
 -DCMAKE_BUILD_TYPE=Release \
 -DLLVM_ENABLE_PROJECTS="clang;lld;lldb;clang-tools-extra;polly" \
 -DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
 -DLLVM_TOOLCHAIN_TOOLS="llvm-ar;llvm-ranlib;llvm-objdump;llvm-rc;llvm-cvtres;llvm-nm;llvm-strings;llvm-readobj;llvm-dlltool;llvm-pdbutil;llvm-objcopy;llvm-strip;llvm-cov;llvm-profdata;llvm-addr2line;llvm-symbolizer;llvm-windres;llvm-ml;llvm-readelf;llvm-size" \
 -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON \
 -DLLVM_INSTALL_BINUTILS_SYMLINKS=OFF \
 -DLLVM_PARALLEL_LINK_JOBS=1 \
 -DLLVM_TARGETS_TO_BUILD=ARM \
 -DLLVM_ENABLE_WARNINGS=OFF \
 -DRUNTIMES_armv7l-unknown-linux-gnueabihf_COMPILER_RT_BUILD_GWP_ASAN=OFF \
 2>&1 | tee ${HOME}/Work/llvm-test/cmake-output-$(date -u +%Y%m%d-%H%M%S).txt

cmake --build "${HOME}/Work/llvm-test/build" --verbose 2>&1 | tee ${HOME}/Work/llvm-test/build-output-$(date -u +%Y%m%d-%H%M%S).txt

It'll take about 8 hours to know the result.

A small question: is the more generic -DRUNTIMES_COMPILER_RT_BUILD_GWP_ASAN=OFF also accepted?

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 19, 2023

For completeness, I confirm that a build with the master branch and the same initial configuration, failed with the same error.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 20, 2023

We are getting closer, but there is still something wrong with the triple:

[1434/1442] Linking CXX static library /home/ilg/Work/llvm-test/build/lib/clang/15.0.7/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a
FAILED: /home/ilg/Work/llvm-test/build/lib/clang/15.0.7/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a 
: && /usr/bin/cmake -E rm -f /home/ilg/Work/llvm-test/build/lib/clang/15.0.7/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a && /home/ilg/Work/llvm-test/build/bin/llvm-ar Dqc /home/ilg/Work/llvm-test/build/lib/clang/15.0.7/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a  compiler-rt/lib/fuzzer/CMakeFiles/RTfuzzer_interceptors.armhf.dir/FuzzerInterceptors.cpp.o && /home/ilg/Work/llvm-test/build/bin/llvm-ranlib -D /home/ilg/Work/llvm-test/build/lib/clang/15.0.7/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a && cd /home/ilg/Work/llvm-test/build/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/cxx_armhf_merge.dir && /home/ilg/Work/llvm-test/build/./bin/clang++ --target=armhf-unknown-linux-gnueabihf -march=armv7-a -mfloat-abi=hard -Wl,--whole-archive /home/ilg/Work/llvm-test/build/lib/clang/15.0.7/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a -Wl,--no-whole-archive /home/ilg/Work/llvm-test/build/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/libcxx_fuzzer_armhf/lib/libc++.a -r -o fuzzer_interceptors.o && /home/ilg/Work/llvm-test/build/bin/llvm-objcopy --localize-hidden fuzzer_interceptors.o && /usr/bin/cmake -E remove /home/ilg/Work/llvm-test/build/lib/clang/15.0.7/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a && /home/ilg/Work/llvm-test/build/bin/llvm-ar qcs /home/ilg/Work/llvm-test/build/lib/clang/15.0.7/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a fuzzer_interceptors.o
clang-15: error: unknown target triple 'armhf-unknown-linux-gnueabihf', please use -triple or -arch
[1435/1442] Building CXX object compiler-rt/lib/fuzzer/CMakeFiles/RTfuzzer.armhf.dir/FuzzerUtilLinux.cpp.o
[1436/1442] Building CXX object compiler-rt/lib/fuzzer/CMakeFiles/RTfuzzer_main.armhf.dir/FuzzerMain.cpp.o
[1437/1442] Building CXX object compiler-rt/lib/fuzzer/CMakeFiles/RTfuzzer.armhf.dir/FuzzerUtil.cpp.o
[1438/1442] Building CXX object compiler-rt/lib/fuzzer/CMakeFiles/RTfuzzer.armhf.dir/FuzzerTracePC.cpp.o
[1439/1442] Building CXX object compiler-rt/lib/fuzzer/CMakeFiles/RTfuzzer.armhf.dir/FuzzerUtilPosix.cpp.o
ninja: build stopped: subcommand failed.
[5299/5302] /usr/bin/cmake -E cmake_symlink_library lib/liblldbIntelFeatures.so.15 lib/liblldbIntelFeatures.so.15 lib/liblldbIntelFeatures.so && :
FAILED: runtimes/runtimes-stamps/runtimes-build 
cd /home/ilg/Work/llvm-test/build/runtimes/runtimes-bins && /usr/bin/cmake --build .
ninja: build stopped: subcommand failed.


ilg@xbbla32:~ $ /home/ilg/Work/llvm-test/build/./bin/clang++ -v
clang version 15.0.7
Target: armv7l-unknown-linux-gnueabihf
Thread model: posix
InstalledDir: /home/ilg/Work/llvm-test/build/./bin
Found candidate GCC installation: /usr/lib/gcc/arm-linux-gnueabihf/10
Found candidate GCC installation: /usr/lib/gcc/arm-linux-gnueabihf/7
Found candidate GCC installation: /usr/lib/gcc/arm-linux-gnueabihf/7.5.0
Found candidate GCC installation: /usr/lib/gcc/arm-linux-gnueabihf/8
Selected GCC installation: /usr/lib/gcc/arm-linux-gnueabihf/10
Candidate multilib: .;@m32
Selected multilib: .;@m32
ilg@xbbla32:~ $ 

The machine is a Raspberry Pi OS 32, and I guess clang reports the triple correctly, but CMake used armhf-unknown-linux-gnueabihf all over the place, all target folders have this name.

@DavidSpickett
Copy link
Collaborator

A small question: is the more generic -DRUNTIMES_COMPILER_RT_BUILD_GWP_ASAN=OFF also accepted?

My understanding is that because the runtimes build can build multiple targets, options have to include the target name in them so that they are limited to just that target. Options like PER_TARGET_RUNTIME_DIR apply to all the targets being built, so they do not.

but CMake used armhf-unknown-linux-gnueabihf all over the place, all target folders have this name.

I think this is due to -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON, I will confirm that. Set that to OFF or don't pass it at all, either way should work.

The default is currently to disable this for Arm Linux precisely due to it producing an invalid triple like the one you've seen. See https://github.com/llvm/llvm-project/blob/main/llvm/CMakeLists.txt#L820, values from the command line override it (an error here would have been good but it slipped my mind at the time).

I do have https://reviews.llvm.org/D140011 to support per target runtime dirs but I am waiting until the 16 branch has happened before landing it because it has had limited testing so far.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 20, 2023

I think this is due to -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON, I will confirm that. Set that to OFF or don't pass it at all, either way should work.

Ok, makes sense.

I am optimistic that with this change my build will be fine. Thus I started a production build with the final script that passed on all other platforms (including Linux aarch64); we'll know the result in about 8 hours.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jan 20, 2023

I do have https://reviews.llvm.org/D140011 to support per target runtime dirs but I am waiting until the 16 branch has happened before landing it because it has had limited testing so far.

Great!

FYI, I'm using -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON for the Intel Linux build, which uses a multilib configuration, and I find it useful to have the libraries nicely placed in separate folders.

Did you consider a multilib configuration for aarch64 which includes the 32-bit libraries? I know that the compiler can be configured with both architectures, but I could not configure the build to generate the 32-bit libraries. Perhaps your new contributions can fix this too.

@luporl luporl closed this as completed in f1f3dd6 Apr 4, 2023
@DavidSpickett
Copy link
Collaborator

Thanks for the diligent work on this @luporl !

@luporl
Copy link
Contributor

luporl commented Apr 4, 2023

Thanks for all your support @DavidSpickett !
If no bots complain, this can be merged to 16.x branch next.

@stefson
Copy link

stefson commented Apr 4, 2023

thanks for the fix, can this please be backported into the 16.x branch?

@EugeneZelenko EugeneZelenko added compiler-rt:scudo Scudo Hardened Allocator and removed compiler-rt labels Apr 4, 2023
@DavidSpickett
Copy link
Collaborator

@luporl Please cherry-pick this to llvm 16. You can use the cherry-pick command from here to do that, see https://llvm.org/docs/HowToReleaseLLVM.html#triaging-bug-reports-for-releases. If it doesn't apply cleanly you can make a branch and resolve it that way.

@luporl
Copy link
Contributor

luporl commented Apr 17, 2023

@DavidSpickett I cherry-picked it to llvm 16 locally; it applied cleanly, but I'm getting build errors:
clang-16: error: unknown target triple 'armhf-unknown-linux-gnueabihf', please use -triple or -arch

I suspect we also need to pick your other patch, from https://reviews.llvm.org/D140011, right?

@DavidSpickett
Copy link
Collaborator

We shouldn't need to, the default on llvm 16 for arm Linux should be ENABLE_PER_TARGET_RUNTIME_DIR=OFF. Try wiping your ccache and rebuilding to double check.

I am hesitant to cherry pick that patch if we can avoid it, because it changes a default. If it's the only way to fix things, we could make a version that doesn't change the default instead.

@luporl
Copy link
Contributor

luporl commented Apr 18, 2023

Even with ccache wiped and a clean build, the error persists.

[1484/1503] Linking CXX static library /home/leandro...wn-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a
FAILED: /home/leandro.lupori/git/armv7-build-fix/build16/lib/clang/16/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a 
: && /usr/local/bin/cmake -E rm -f /home/leandro.lupori/git/armv7-build-fix/build16/lib/clang/16/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a && /home/leandro.lupori/git/armv7-build-fix/build16/bin/llvm-ar Dqc /home/leandro.lupori/git/armv7-build-fix/build16/lib/clang/16/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a  compiler-rt/lib/fuzzer/CMakeFiles/RTfuzzer_interceptors.armhf.dir/FuzzerInterceptors.cpp.o && /home/leandro.lupori/git/armv7-build-fix/build16/bin/llvm-ranlib -D /home/leandro.lupori/git/armv7-build-fix/build16/lib/clang/16/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a && cd /home/leandro.lupori/git/armv7-build-fix/build16/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/cxx_armhf_merge.dir && /home/leandro.lupori/git/armv7-build-fix/build16/./bin/clang++ --target=armhf-unknown-linux-gnueabihf -march=armv7-a -mfloat-abi=hard -Wl,--whole-archive /home/leandro.lupori/git/armv7-build-fix/build16/lib/clang/16/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a -Wl,--no-whole-archive /home/leandro.lupori/git/armv7-build-fix/build16/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/libcxx_fuzzer_armhf/lib/libc++.a -r -o fuzzer_interceptors.o && /home/leandro.lupori/git/armv7-build-fix/build16/bin/llvm-objcopy --localize-hidden fuzzer_interceptors.o && /usr/local/bin/cmake -E remove /home/leandro.lupori/git/armv7-build-fix/build16/lib/clang/16/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a && /home/leandro.lupori/git/armv7-build-fix/build16/bin/llvm-ar qcs /home/leandro.lupori/git/armv7-build-fix/build16/lib/clang/16/lib/armhf-unknown-linux-gnueabihf/libclang_rt.fuzzer_interceptors.a fuzzer_interceptors.o
clang-16: error: unknown target triple 'armhf-unknown-linux-gnueabihf', please use -triple or -arch
[1500/1503] Building CXX object compiler-rt/lib/fuzz...keFiles/RTfuzzer.armhf.dir/FuzzerDataFlowTrace.cpp.o
ninja: build stopped: subcommand failed.
[6605/6608] Linking CXX executable bin/lldb
FAILED: runtimes/runtimes-stamps/runtimes-build /home/leandro.lupori/git/armv7-build-fix/build16/runtimes/runtimes-stamps/runtimes-build 
cd /home/leandro.lupori/git/armv7-build-fix/build16/runtimes/runtimes-bins && /usr/local/bin/cmake --build .
ninja: build stopped: subcommand failed.

We don't need all of D140011, that depends on D139536. Only the change that improves arm arch handling, in CompilerRTUtils.cmake, is needed. I have it in this abandoned patch: https://reviews.llvm.org/D142906.
What if we commit D142906 instead, along with cherry-picking D142888? I can confirm this fixes the build.

@DavidSpickett
Copy link
Collaborator

Yes let's do that.

gysit pushed a commit to nextsilicon/llvm-project that referenced this issue Apr 27, 2023
The build of scudo was failing on armv7l, with undefined references
to unwinder symbols, such as __aeabi_unwind_cpp_pr0. These are
needed by RTGwpAsan and thus, on ARM, scudo must also be linked
against an unwind library.

The cmake command that caused the build failure was:

cmake --fresh -S "$PWD/llvm/" -B "$PWD/build/" -G Ninja \
  -DCMAKE_INSTALL_PREFIX="$PWD/install" \
  -DCMAKE_BUILD_TYPE=Release \
  -DLLVM_ENABLE_PROJECTS="clang;lld;lldb;clang-tools-extra;polly" \
  -DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
  -DLLVM_TOOLCHAIN_TOOLS="llvm-ar;llvm-ranlib;llvm-objdump;\
llvm-rc;llvm-cvtres;llvm-nm;llvm-strings;llvm-readobj;\
llvm-dlltool;llvm-pdbutil;llvm-objcopy;llvm-strip;llvm-cov;\
llvm-profdata;llvm-addr2line;llvm-symbolizer;llvm-windres;llvm-ml;\
llvm-readelf;llvm-size" \
  -DLLVM_INSTALL_BINUTILS_SYMLINKS=OFF -DLLVM_PARALLEL_LINK_JOBS=1

Fixes llvm#60115

Reviewed By: hctim

Differential Revision: https://reviews.llvm.org/D142888
luporl added a commit to luporl/llvm-project that referenced this issue Apr 27, 2023
The build of scudo was failing on armv7l, with undefined references
to unwinder symbols, such as __aeabi_unwind_cpp_pr0. These are
needed by RTGwpAsan and thus, on ARM, scudo must also be linked
against an unwind library.

The cmake command that caused the build failure was:

cmake --fresh -S "$PWD/llvm/" -B "$PWD/build/" -G Ninja \
  -DCMAKE_INSTALL_PREFIX="$PWD/install" \
  -DCMAKE_BUILD_TYPE=Release \
  -DLLVM_ENABLE_PROJECTS="clang;lld;lldb;clang-tools-extra;polly" \
  -DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
  -DLLVM_TOOLCHAIN_TOOLS="llvm-ar;llvm-ranlib;llvm-objdump;\
llvm-rc;llvm-cvtres;llvm-nm;llvm-strings;llvm-readobj;\
llvm-dlltool;llvm-pdbutil;llvm-objcopy;llvm-strip;llvm-cov;\
llvm-profdata;llvm-addr2line;llvm-symbolizer;llvm-windres;llvm-ml;\
llvm-readelf;llvm-size" \
  -DLLVM_INSTALL_BINUTILS_SYMLINKS=OFF -DLLVM_PARALLEL_LINK_JOBS=1

Fixes llvm#60115

Reviewed By: hctim

Differential Revision: https://reviews.llvm.org/D142888

(cherry picked from commit e1e9726)
luporl added a commit to luporl/llvm-project that referenced this issue Apr 27, 2023
The fuzzer build was failing on armv7l, with an invalid triple
error. This happened because CMake's get_compiler_rt_target
function was missing some code to correctly handle arm archs,
such as armhf.

This was originaly part of https://reviews.llvm.org/D140011, that
landed on main with commit cd173cb.

Fixes llvm#60115

Differential Revision: https://reviews.llvm.org/D142906
@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jul 29, 2023

Could you clarify if all required patches were merged into 16.0.6?

@DavidSpickett
Copy link
Collaborator

DavidSpickett commented Jul 31, 2023

They were: ccbab59 bd6783b

Went into 16.0.3.

@ilg-ul
Copy link
Contributor Author

ilg-ul commented Jul 31, 2023

Great!

I confirm that my build scripts passed on x86_64/aarch64/armv7l with 16.0.6.

Thank you for fixing this.

DianQK pushed a commit to DianQK/llvm-project that referenced this issue Oct 10, 2023
The build of scudo was failing on armv7l, with undefined references
to unwinder symbols, such as __aeabi_unwind_cpp_pr0. These are
needed by RTGwpAsan and thus, on ARM, scudo must also be linked
against an unwind library.

The cmake command that caused the build failure was:

cmake --fresh -S "$PWD/llvm/" -B "$PWD/build/" -G Ninja \
  -DCMAKE_INSTALL_PREFIX="$PWD/install" \
  -DCMAKE_BUILD_TYPE=Release \
  -DLLVM_ENABLE_PROJECTS="clang;lld;lldb;clang-tools-extra;polly" \
  -DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi;libunwind" \
  -DLLVM_TOOLCHAIN_TOOLS="llvm-ar;llvm-ranlib;llvm-objdump;\
llvm-rc;llvm-cvtres;llvm-nm;llvm-strings;llvm-readobj;\
llvm-dlltool;llvm-pdbutil;llvm-objcopy;llvm-strip;llvm-cov;\
llvm-profdata;llvm-addr2line;llvm-symbolizer;llvm-windres;llvm-ml;\
llvm-readelf;llvm-size" \
  -DLLVM_INSTALL_BINUTILS_SYMLINKS=OFF -DLLVM_PARALLEL_LINK_JOBS=1

Fixes llvm#60115

Reviewed By: hctim

Differential Revision: https://reviews.llvm.org/D142888
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants