diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2019-09-25 21:46:24 +0000 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2019-09-25 21:46:24 +0000 |
commit | 6023cf223446e3f7038d4b867635f47b2d26e194 (patch) | |
tree | 18119e373e0865acbdbb463631658046088aa221 /libcxxabi/src | |
parent | 5e9cdeed778f0a62792b6dcfb6c3e990f67b315a (diff) | |
download | llvm-6023cf223446e3f7038d4b867635f47b2d26e194.zip llvm-6023cf223446e3f7038d4b867635f47b2d26e194.tar.gz llvm-6023cf223446e3f7038d4b867635f47b2d26e194.tar.bz2 |
[libcxxabi] Fix arm build failer with libgcc
Both arm32 armv7/armv8 bots which do not use compiler-rt are failing
to a linking issue:
[100%] Built target cxxabi_static
CMakeFiles/cxxabi_shared.dir/cxa_demangle.cpp.o: In function `(anonymous namespace)::itanium_demangle::OutputStream::writeUnsigned(unsigned long long, bool)':
/home/buildslave/buildslave/libcxx-libcxxabi-libunwind-armv7-linux-noexceptions/llvm/projects/libcxxabi/src/demangle/Utility.h:55: undefined reference to `__aeabi_uldivmod'
/home/buildslave/buildslave/libcxx-libcxxabi-libunwind-armv7-linux-noexceptions/llvm/projects/libcxxabi/src/demangle/Utility.h:56: undefined reference to `__aeabi_uldivmod'
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
It seems after r371273 OutputStream is used more extensively and
is pulling OutputStream::writeUnsigned (which thus requires unsigned
integer module).
The straightfoward fix is to explicit link against libgcc if
compiler-rt is not used.
llvm-svn: 372921
Diffstat (limited to 'libcxxabi/src')
-rw-r--r-- | libcxxabi/src/CMakeLists.txt | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libcxxabi/src/CMakeLists.txt b/libcxxabi/src/CMakeLists.txt index 6b8f76b..6cfcb9c 100644 --- a/libcxxabi/src/CMakeLists.txt +++ b/libcxxabi/src/CMakeLists.txt @@ -91,6 +91,10 @@ if (MINGW) list(APPEND LIBCXXABI_LIBRARIES ${MINGW_LIBRARIES}) endif() +if (NOT LIBCXXABI_USE_COMPILER_RT) + add_library_flags_if(LIBCXXABI_HAS_GCC_LIB gcc) +endif () + # Setup flags. add_link_flags_if_supported(-nodefaultlibs) |