Source: llvm-toolchain-3.4
Version: 1:3.4-1
Severity: wishlist
Tags: patch
User: debian-powerpc...@breakpoint.cc
Usertags: powerpcspe

Hi,

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

...
g++-4.8 -std=c++0x -g -O2 -Wl,-R -Wl,'$ORIGIN' -rdynamic 
-L/«PKGBUILDDIR»/build-llvm/Release/lib -L/«PKGBUILDDIR»/build-llvm/Release/lib 
-fuse-ld=gold   -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 
-llldbPluginSymbolVendorELF -llldbPluginObjectFilePECOFF 
-llldbPluginOperatingSystemPython -llldbPluginPlatformGDBServer 
-llldbPluginProcessGDBRemote -llldbPluginSymbolFileDWARF 
-llldbPluginSymbolFileSymtab -llldbPluginUnwindAssemblyInstEmulation 
-llldbPluginUnwindAssemblyx86 -llldbPluginUtility -llldbSymbol -llldbTarget 
-llldbUtility -lclangAnalysis -lclangAST -lclangBasic -lclangCodeGen 
-lclangFrontend -lclangDriver -lclangEdit -lclangLex -lclangParse -lclangSe
 ma -lclangSerialization -lLLVMMCDisassembler -llldbPluginPlatformMacOSX 
-llldbPluginPlatformLinux -llldbPluginPlatformWindows 
-llldbPluginPlatformFreeBSD -llldbPluginPlatformPOSIX -llldbHostLinux 
-llldbPluginProcessLinux -llldbPluginProcessPOSIX 
-llldbPluginDynamicLoaderMacOSX -llldbPluginProcessElfCore 
-Wl,--no-whole-archive -lLLVM-3.4 -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 -ltinfo 
-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.4-3.4/debian/rules	2013-12-24 15:19:08.000000000 +0100
+++ llvm-toolchain-3.4-3.4/debian/rules	2014-01-01 20:47:13.813666769 +0100
@@ -26,6 +27,10 @@
 CXXFLAGS_EXTRA=
 CONFIGURE_EXTRA=
 
+ifneq (,$(filter $(DEB_HOST_ARCH),powerpc powerpcspe))
+LDFLAGS_EXTRA += -latomic
+endif
+
 confargs := \
 	--host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE)
 

Reply via email to