[MacPorts] #39761: llvm-3.3 can't link on Leopard/PPC
MacPorts
noreply at macports.org
Tue Jul 16 08:48:17 PDT 2013
#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, at 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
More information about the macports-tickets
mailing list