Source: llvm-toolchain-3.3
Version: 1:3.3-16
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: powerpcspe

Hi,

when building llvm-toolchain-3.3 on powerpcspe with gcc-4.8, I get:

...
g++-4.8 -I/«PKGBUILDDIR»/build-llvm/include 
-I/«PKGBUILDDIR»/build-llvm/tools/lldb/lib -I/«PKGBUILDDIR»/include 
-I/«PKGBUILDDIR»/tools/lldb/lib  -DNDEBUG -D_GNU_SOURCE 
-D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 
-fomit-frame-pointer -fvisibility-inlines-hidden -fno-exceptions -fPIC 
-Woverloaded-virtual -Wcast-qual -std=c++0x -g -O2 -Wl,-R -Wl,'$ORIGIN' 
-L/«PKGBUILDDIR»/build-llvm/Release/lib -L/«PKGBUILDDIR»/build-llvm/Release/lib 
-fuse-ld=gold   -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter 
-Wwrite-strings    -Wno-maybe-uninitialized -Wno-missing-field-initializers  
-shared -o /«PKGBUILDDIR»/build-llvm/Release/lib/liblldb.so  \
          -Wl,--whole-archive -llldbAPI -llldbBreakpoint -llldbCommands 
-llldbCore -llldbDataFormatters -llldbExpression -llldbHostCommon 
-llldbInitAndLog -llldbInterpreter -llldbPluginABIMacOSX_arm 
-llldbPluginABIMacOSX_i386 -llldbPluginABISysV_x86_64 
-llldbPluginDisassemblerLLVM -llldbPluginDynamicLoaderStatic 
-llldbPluginDynamicLoaderPOSIX -llldbPluginEmulateInstructionARM 
-llldbPluginLanguageRuntimeCPlusPlusItaniumABI 
-llldbPluginLanguageRuntimeObjCAppleObjCRuntime 
-llldbPluginObjectContainerBSDArchive -llldbPluginObjectFileELF 
-llldbPluginObjectFilePECOFF -llldbPluginOperatingSystemPython 
-llldbPluginPlatformGDBServer -llldbPluginProcessGDBRemote 
-llldbPluginSymbolFileDWARF -llldbPluginSymbolFileSymtab 
-llldbPluginUnwindAssemblyInstEmulation -llldbPluginUnwindAssemblyx86 
-llldbPluginUtility -llldbSymbol -llldbTarget -llldbUtility -lclangAnalysis 
-lclangAST -lclangBasic -lclangCodeGen -lclangFrontend -lclangDriver 
-lclangEdit -lclangLex -lclangParse -lclangSema -lclangSerialization -lLL
 VMMCDisassembler -llldbPluginPlatformMacOSX -llldbPluginPlatformLinux 
-llldbPluginPlatformFreeBSD -lclangRewriteCore -lclangRewriteFrontend 
-llldbHostLinux -llldbPluginProcessLinux -llldbPluginProcessPOSIX 
-llldbPluginDynamicLoaderMacOSX -Wl,--no-whole-archive -lLLVM-3.3 
-Wl,--no-undefined -L/usr/lib/python2.7/config-powerpc-linux-gnuspe -L/usr/lib 
-lpthread -ldl  -lutil -lm  -lpython2.7 -Xlinker -export-dynamic -Wl,-O1 
-Wl,-Bsymbolic-functions -lrt -Wl,--soname,liblldb.so -lpthread -lffi -ldl -lm 
/usr/include/c++/4.8/bits/atomic_base.h:496: error: undefined reference to 
'__atomic_load_8'
/usr/include/c++/4.8/bits/atomic_base.h:496: error: undefined reference to 
'__atomic_load_8'
/usr/include/c++/4.8/bits/atomic_base.h:496: error: undefined reference to 
'__atomic_load_8'
/usr/include/c++/4.8/bits/atomic_base.h:474: error: undefined reference to 
'__atomic_store_8'
/usr/include/c++/4.8/bits/atomic_base.h:496: error: undefined reference to 
'__atomic_load_8'
/usr/include/c++/4.8/bits/atomic_base.h:474: error: undefined reference to 
'__atomic_store_8'
/usr/include/c++/4.8/bits/atomic_base.h:474: error: undefined reference to 
'__atomic_store_8'
/usr/include/c++/4.8/bits/atomic_base.h:474: error: undefined reference to 
'__atomic_store_8'
/usr/include/c++/4.8/bits/atomic_base.h:420: error: undefined reference to 
'__atomic_fetch_add_8'
/usr/include/c++/4.8/bits/atomic_base.h:420: error: undefined reference to 
'__atomic_fetch_add_8'
/usr/include/c++/4.8/bits/atomic_base.h:420: error: undefined reference to 
'__atomic_fetch_add_8'
/usr/include/c++/4.8/bits/atomic_base.h:420: error: undefined reference to 
'__atomic_fetch_add_8'
...

The attached patch fixes this by adding -latomic in the powerpc and powerpcspe
cases.

Roland

-- System Information:
Debian Release: 7.0
  APT prefers unreleased
  APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: powerpcspe (ppc)

Kernel: Linux 3.9.0-dirty (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to en_GB.UTF-8)
Shell: /bin/sh linked to /bin/dash
--- llvm-toolchain-3.3-3.3/debian/rules	2013-12-04 17:51:37.000000000 +0100
+++ llvm-toolchain-3.3-3.3/debian/rules	2014-01-01 20:46:52.509527196 +0100
@@ -24,6 +24,10 @@
 LDFLAGS_EXTRA=
 CXXFLAGS_EXTRA=
 
+ifneq (,$(filter $(DEB_HOST_ARCH),powerpc powerpcspe))
+LDFLAGS_EXTRA += -latomic
+endif
+
 confargs := \
         --with-c-include-dirs=/usr/include/$(DEB_HOST_MULTIARCH):/usr/include/$(DEB_HOST_GNU_TYPE):/usr/include \
 	--with-cxx-include-root=/usr/include/c++/$(GCC_VERSION) \

Reply via email to