#39761: llvm-3.3 can't link on Leopard/PPC ----------------------------------+-------------------------------- Reporter: khepler@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.1.3 Keywords: ld64 leopard powerpc | Port: llvm-3.3 ----------------------------------+-------------------------------- I've tried all permutations I can think of on my G4 PowerBook, can't get past: {{{ llvm[1]: Linking Release+Debug+Asserts Shared Library libLLVM-3.3.dylib ccache /usr/bin/g++-4.2 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/tools /llvm-shlib -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Os -g -fvisibility-inlines- hidden -fno-exceptions -fno-common -Woverloaded-virtual -Wcast-qual -pipe -O2 -arch ppc -pipe -O2 -arch ppc -Os -g -Wl,-rpath -Wl,@executable_path/../lib -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/Release+Debug+Asserts/lib -L/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/Release+Debug+Asserts/lib -arch ppc -arch ppc -mmacosx-version-min=10.5 -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -Wno-missing-field- initializers -dynamiclib -mmacosx-version-min=10.5 -o /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/Release+Debug+Asserts/lib/libLLVM-3.3.dylib \ -lLLVMAArch64AsmParser -lLLVMAArch64AsmPrinter -lLLVMAArch64CodeGen -lLLVMAArch64Desc -lLLVMAArch64Disassembler -lLLVMAArch64Info -lLLVMAArch64Utils -lLLVMARMAsmParser -lLLVMARMAsmPrinter -lLLVMARMCodeGen -lLLVMARMDesc -lLLVMARMDisassembler -lLLVMARMInfo -lLLVMAnalysis -lLLVMArchive -lLLVMAsmParser -lLLVMAsmPrinter -lLLVMBitReader -lLLVMBitWriter -lLLVMCodeGen -lLLVMCore -lLLVMCppBackendCodeGen -lLLVMCppBackendInfo -lLLVMDebugInfo -lLLVMExecutionEngine -lLLVMHexagonAsmPrinter -lLLVMHexagonCodeGen -lLLVMHexagonDesc -lLLVMHexagonInfo -lLLVMIRReader -lLLVMInstCombine -lLLVMInstrumentation -lLLVMInterpreter -lLLVMJIT -lLLVMLinker -lLLVMMBlazeAsmParser -lLLVMMBlazeAsmPrinter -lLLVMMBlazeCodeGen -lLLVMMBlazeDesc -lLLVMMBlazeDisassembler -lLLVMMBlazeInfo -lLLVMMC -lLLVMMCDisassembler -lLLVMMCJIT -lLLVMMCParser -lLLVMMSP430AsmPrinter -lLLVMMSP430CodeGen -lLLVMMSP430Desc -lLLVMMSP430Info -lLLVMMipsAsmParser -lLLVMMipsAsmPrinter -lLLVMMipsCodeGen -lLLVMMipsDesc -lLLVMMipsDisassembler -lLLVMMipsInfo -lLLVMNVPTXAsmPrinter -lLLVMNVPTXCodeGen -lLLVMNVPTXDesc -lLLVMNVPTXInfo -lLLVMObjCARCOpts -lLLVMObject -lLLVMOption -lLLVMPowerPCAsmParser -lLLVMPowerPCAsmPrinter -lLLVMPowerPCCodeGen -lLLVMPowerPCDesc -lLLVMPowerPCInfo -lLLVMRuntimeDyld -lLLVMScalarOpts -lLLVMSelectionDAG -lLLVMSparcCodeGen -lLLVMSparcDesc -lLLVMSparcInfo -lLLVMSupport -lLLVMSystemZAsmParser -lLLVMSystemZAsmPrinter -lLLVMSystemZCodeGen -lLLVMSystemZDesc -lLLVMSystemZInfo -lLLVMTarget -lLLVMTransformUtils -lLLVMVectorize -lLLVMX86AsmParser -lLLVMX86AsmPrinter -lLLVMX86CodeGen -lLLVMX86Desc -lLLVMX86Disassembler -lLLVMX86Info -lLLVMX86Utils -lLLVMXCoreAsmPrinter -lLLVMXCoreCodeGen -lLLVMXCoreDesc -lLLVMXCoreDisassembler -lLLVMXCoreInfo -lLLVMipa -lLLVMipo -all_load -Wl,-dead_strip -Wl,-seg1addr -Wl,0xE0000000 -Wl,-install_name -Wl,"@executable_path/../lib/libLLVM-3.3.dylib" -lz -lpthread -lffi -lm ld: bl out of range (-16932856 max is +/-16M) from llvm::EmitStrLen(llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*, llvm::TargetLibraryInfo const*)at 0xE103A560 in __text of /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/Release+Debug+Asserts/lib/libLLVMTransformUtils.a(BuildLibCalls.o) to llvm::Twine::Twine(char const*)at 0xE00148F0 in __text of /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/Release+Debug+Asserts/lib/libLLVMAArch64AsmParser.a(AArch64AsmParser.o) in llvm::EmitStrLen(llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true> >&, llvm::DataLayout const*, llvm::TargetLibraryInfo const*)from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_llvm-3.3/llvm-3.3/work/llvm-3.3.src/Release+Debug+Asserts/lib/libLLVMTransformUtils.a(BuildLibCalls.o) collect2: ld returned 1 exit status }}} Seems similar to #33987, but the patch is already applied to the Portfile in tree. Perhaps llvm 3.3 has simply grown too large for relative jumps on ppc32? The "Linking Release+Debug+Asserts Shared Library" bit seems suspect, as I'm not requesting assertions variant, and I don't expect a debug version. The attached log file is under the default compiler, in this case apple- gcc-4.2 from Macports. Same result with many combinations of the following toolchain components. Heck, I even tried the stock Apple ld for laughs. {{{ The following ports are currently installed: apple-gcc42 @5666.3_11 apple-gcc42 @5666.3_11+gpl3 (active) cctools @806_2+llvm31 cctools @806_2+llvm32 (active) clang-3.2 @3.2_1+analyzer+assertions+python27 (active) gcc44 @4.4.7_6 (active) gcc45 @4.5.4_7 (active) ld64 @97.17_2+llvm31 ld64 @97.17_2+llvm32 llvm-3.1 @3.1_7 (active) llvm-3.2 @3.2_1+assertions (active) }}} -- Ticket URL: <https://trac.macports.org/ticket/39761> MacPorts <http://www.macports.org/> Ports system for OS X