<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Can't build libLLVMSupport.a on ARM CPU"
href="https://bugs.llvm.org/show_bug.cgi?id=37074">37074</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Can't build libLLVMSupport.a on ARM CPU
</td>
</tr>
<tr>
<th>Product</th>
<td>lldb
</td>
</tr>
<tr>
<th>Version</th>
<td>6.0
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>release blocker
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>All Bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>lldb-dev@lists.llvm.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>shiftag@nanotek.info
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr></table>
<p>
<div>
<pre>Hi,
I have the following issue build LLVM 6.0 natively on ARM and I think its
related to lldb :
---
Scanning dependencies of target lldbUtilityHelpers
[ 70%] Building CXX object
tools/lldb/unittests/TestingSupport/CMakeFiles/lldbUtilityHelpers.dir/MockTildeExpressionResolver.cpp.o
[ 70%] Building CXX object
tools/lldb/source/Target/CMakeFiles/lldbTarget.dir/ObjCLanguageRuntime.cpp.o
[ 70%] Building CXX object
tools/lldb/source/Plugins/SymbolFile/DWARF/CMakeFiles/lldbPluginSymbolFileDWARF.dir/SymbolFileDWARFDebugMap.cpp.o
[ 70%] Building CXX object
tools/lldb/source/Symbol/CMakeFiles/lldbSymbol.dir/CompactUnwindInfo.cpp.o
[ 70%] Building CXX object
tools/lldb/unittests/TestingSupport/CMakeFiles/lldbUtilityHelpers.dir/TestUtilities.cpp.o
[ 70%] Linking CXX static library ../../../../lib/liblldbUtilityHelpers.a
[ 70%] Built target lldbUtilityHelpers
Scanning dependencies of target lli-child-target
[ 70%] Building CXX object
tools/lli/ChildTarget/CMakeFiles/lli-child-target.dir/ChildTarget.cpp.o
[ 70%] Building CXX object
tools/lldb/source/Symbol/CMakeFiles/lldbSymbol.dir/DebugMacros.cpp.o
[ 70%] Building CXX object
tools/lldb/source/Plugins/SymbolFile/DWARF/CMakeFiles/lldbPluginSymbolFileDWARF.dir/UniqueDWARFASTType.cpp.o
[ 70%] Building CXX object
tools/lldb/source/Symbol/CMakeFiles/lldbSymbol.dir/Declaration.cpp.o
[ 70%] Building CXX object
tools/lldb/source/Symbol/CMakeFiles/lldbSymbol.dir/DWARFCallFrameInfo.cpp.o
[ 70%] Linking CXX static library
../../../../../../lib/liblldbPluginSymbolFileDWARF.a
[ 70%] Built target lldbPluginSymbolFileDWARF
Scanning dependencies of target LLVM
[ 70%] Building CXX object tools/llvm-shlib/CMakeFiles/LLVM.dir/libllvm.cpp.o
[ 70%] Linking CXX shared library ../../lib/libLLVM-6.0.so
[ 70%] Building CXX object
tools/lldb/source/Target/CMakeFiles/lldbTarget.dir/OperatingSystem.cpp.o
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::__future_base::_Result<void>::~_Result(): error: undefined reference to
'std::__future_base::_Result_base::~_Result_base()'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::__future_base::_Result<void>::~_Result(): error: undefined reference to
'std::__future_base::_Result_base::~_Result_base()'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run(): error: undefined reference to
'std::__atomic_futex_unsigned_base::_M_futex_notify_all(unsigned int*)'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_run_delayed(std::weak_ptr<std::__future_base::_State_baseV2>):
error: undefined reference to
'std::__future_base::_State_baseV2::_Make_ready::_M_set()'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::__future_base::_Task_state<std::function<void ()>, std::allocator<int>,
void ()>::_M_reset(): error: undefined reference to
'std::__future_base::_Result_base::_Result_base()'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::thread::_Impl<std::_Bind_simple<llvm::ThreadPool::ThreadPool(unsigned
int)::{lambda()#1} ()> >::_M_run(): error: undefined reference to
'std::__exception_ptr::exception_ptr::exception_ptr()'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::thread::_Impl<std::_Bind_simple<llvm::ThreadPool::ThreadPool(unsigned
int)::{lambda()#1} ()> >::_M_run(): error: undefined reference to
'std::__exception_ptr::exception_ptr::swap(std::__exception_ptr::exception_ptr&)'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::thread::_Impl<std::_Bind_simple<llvm::ThreadPool::ThreadPool(unsigned
int)::{lambda()#1} ()> >::_M_run(): error: undefined reference to
'std::__exception_ptr::exception_ptr::~exception_ptr()'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::thread::_Impl<std::_Bind_simple<llvm::ThreadPool::ThreadPool(unsigned
int)::{lambda()#1} ()> >::_M_run(): error: undefined reference to
'std::__exception_ptr::exception_ptr::~exception_ptr()'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::thread::_Impl<std::_Bind_simple<llvm::ThreadPool::ThreadPool(unsigned
int)::{lambda()#1} ()> >::_M_run(): error: undefined reference to
'std::__exception_ptr::exception_ptr::exception_ptr()'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::thread::_Impl<std::_Bind_simple<llvm::ThreadPool::ThreadPool(unsigned
int)::{lambda()#1} ()> >::_M_run(): error: undefined reference to
'std::__exception_ptr::exception_ptr::swap(std::__exception_ptr::exception_ptr&)'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::thread::_Impl<std::_Bind_simple<llvm::ThreadPool::ThreadPool(unsigned
int)::{lambda()#1} ()> >::_M_run(): error: undefined reference to
'std::__exception_ptr::exception_ptr::~exception_ptr()'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::thread::_Impl<std::_Bind_simple<llvm::ThreadPool::ThreadPool(unsigned
int)::{lambda()#1} ()> >::_M_run(): error: undefined reference to
'std::__exception_ptr::exception_ptr::~exception_ptr()'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::thread::_Impl<std::_Bind_simple<llvm::ThreadPool::ThreadPool(unsigned
int)::{lambda()#1} ()> >::_M_run(): error: undefined reference to
'std::__exception_ptr::exception_ptr::exception_ptr()'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::thread::_Impl<std::_Bind_simple<llvm::ThreadPool::ThreadPool(unsigned
int)::{lambda()#1} ()> >::_M_run(): error: undefined reference to
'std::__exception_ptr::exception_ptr::swap(std::__exception_ptr::exception_ptr&)'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::thread::_Impl<std::_Bind_simple<llvm::ThreadPool::ThreadPool(unsigned
int)::{lambda()#1} ()> >::_M_run(): error: undefined reference to
'std::__atomic_futex_unsigned_base::_M_futex_notify_all(unsigned int*)'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::thread::_Impl<std::_Bind_simple<llvm::ThreadPool::ThreadPool(unsigned
int)::{lambda()#1} ()> >::_M_run(): error: undefined reference to
'std::__atomic_futex_unsigned_base::_M_futex_notify_all(unsigned int*)'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
std::thread::_Impl<std::_Bind_simple<llvm::ThreadPool::ThreadPool(unsigned
int)::{lambda()#1} ()> >::_M_run(): error: undefined reference to
'std::__atomic_futex_unsigned_base::_M_futex_notify_all(unsigned int*)'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
llvm::ThreadPool::~ThreadPool(): error: undefined reference to
'std::__exception_ptr::exception_ptr::exception_ptr()'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
llvm::ThreadPool::~ThreadPool(): error: undefined reference to
'std::__exception_ptr::exception_ptr::swap(std::__exception_ptr::exception_ptr&)'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:function
llvm::ThreadPool::asyncImpl(std::function<void ()>): error: undefined reference
to 'std::__future_base::_Result_base::_Result_base()'
../../lib/libLLVMSupport.a(ThreadPool.cpp.o):ThreadPool.cpp:typeinfo for
std::__future_base::_Result<void>: error: undefined reference to 'typeinfo for
std::__future_base::_Result_base'
collect2: error: ld returned 1 exit status
tools/llvm-shlib/CMakeFiles/LLVM.dir/build.make:175: recipe for target
'lib/libLLVM-6.0.so' failed
make[2]: *** [lib/libLLVM-6.0.so] Error 1
CMakeFiles/Makefile2:82420: recipe for target
'tools/llvm-shlib/CMakeFiles/LLVM.dir/all' failed
make[1]: *** [tools/llvm-shlib/CMakeFiles/LLVM.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
---
I'm using the following GCC version :
---
$ gcc -v
Reading specs from /usr/lib/gcc/arm-slackware-linux-gnueabi/5.5.0/specs
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/arm-slackware-linux-gnueabi/5.5.0/lto-wrapper
Target: arm-slackware-linux-gnueabi
Configured with: ../gcc-5.5.0/configure --prefix=/usr --mandir=/usr/man
--infodir=/usr/info --libdir=/usr/lib --enable-bootstrap
--enable-checking=release --with-system-zlib --disable-libunwind-exceptions
--with-python-dir=/lib/python2.7/site-packages --enable-libstdcxx-dual-abi
--with-default-libstdcxx-abi=gcc4-compatible --enable-shared
--enable-languages=c,c++,fortran,go,java,objc,lto --enable-objc-gc
--enable-threads=posix --enable-__cxa_atexit --enable-libssp --enable-lto
--with-gnu-ld --verbose --enable-java-home --with-java-home=/usr/lib/jvm/jre
--with-jvm-root-dir=/usr/lib/jvm --with-jvm-jar-dir=/usr/lib/jvm/jvm-exports
--with-arch-directory=
--with-antlr-jar=/root/slackware64-14.2/patches/source/gcc/antlr-runtime-3.4.jar
--enable-java-awt=gtk --disable-gtktest --disable-install-libiberty
--host=arm-slackware-linux-gnueabi --build=arm-slackware-linux-gnueabi
--target=arm-slackware-linux-gnueabi
Thread model: posix
gcc version 5.5.0 (GCC)
---
Also, I'm compiling with the following command-line :
cmake -G "Unix Makefiles" .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_C_FLAGS=-march=armv7-a \
-DCMAKE_CXX_FLAGS=-march=armv7-a \
-DPYTHON_EXECUTABLE=/usr/bin/python2.7 \
-DLLVM_TARGETS_TO_BUILD="ARM;X86;AArch64;AMDGPU;Mips;PowerPC" \
-DLLVM_ENABLE_LIBCXX=ON \
-DLLVM_BUILD_TESTS=ON \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_FFI=ON \
-DLLVM_ENABLE_ASSERTIONS=True \
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=OFF \
-DCOMPILER_RT_BUILD_BUILTINS=OFF \
-DCOMPILER_RT_BUILD_SANITIZERS=OFF \
-DCOMPILER_RT_BUILD_XRAY=OFF \
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF \
-DCOMPILER_RT_BUILD_PROFILE=OFF
And precisely, I'm using the following CPU :
ARMv7l Cortex-A9 Soft-Float FPU NEON
Do you have an idea of how to fix this ?
Cheers
PS: Please let me know if you need further details.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>