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)