bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/30536] ppc64el gold linker produces unusable clang-16 binary


From: amodra at gmail dot com
Subject: [Bug gold/30536] ppc64el gold linker produces unusable clang-16 binary
Date: Fri, 16 Jun 2023 00:44:22 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=30536

--- Comment #5 from Alan Modra <amodra at gmail dot com> ---
Linking with your .so files still doesn't give me any difference between
gold-2.39 and gold mainline.  I'm using my crt*.o, libc_nonshared.a, libgcc.a. 
>From ld -t output it seems nothing from libc_nonshared.a or libgcc.a is
extracted, so the only real difference ought to be crt1.o, crti.o, crtn.o,
crtbegin.o and crtend.o.  Please supply them too.  For reference the linker
command line I'm using on my x86_64 to powerpc64le cross compiler setup is:

~/build/gas/all/gold/ld-new --sysroot=/home/gnu/powerpc64le-linux-gnu
--eh-frame-hdr -m elf64lppc -dynamic-linker /lib64/ld64.so.2 -o bin/clang-16
/home/gnu/powerpc64le-linux-gnu/usr/lib64/crt1.o
/home/gnu/powerpc64le-linux-gnu/usr/lib64/crti.o
/usr/local/lib/gcc/powerpc64le-linux-gnu/12.2.0/crtbegin.o
-L/usr/local/lib/gcc/powerpc64le-linux-gnu/12.2.0 -v -Bsymbolic-functions -z
relro --build-id --gc-sections
tools/clang/tools/driver/CMakeFiles/clang.dir/driver.cpp.o
tools/clang/tools/driver/CMakeFiles/clang.dir/cc1_main.cpp.o
tools/clang/tools/driver/CMakeFiles/clang.dir/cc1as_main.cpp.o
tools/clang/tools/driver/CMakeFiles/clang.dir/cc1gen_reproducer_main.cpp.o
tools/clang/tools/driver/CMakeFiles/clang.dir/clang-driver.cpp.o -rpath
$ORIGIN/../lib: lib/libLLVMPowerPCCodeGen.a lib/libLLVMPowerPCAsmParser.a
lib/libLLVMPowerPCDesc.a lib/libLLVMPowerPCDisassembler.a
lib/libLLVMPowerPCInfo.a lib/libLLVMAnalysis.a lib/libLLVMCodeGen.a
lib/libLLVMCore.a lib/libLLVMipo.a lib/libLLVMAggressiveInstCombine.a
lib/libLLVMInstCombine.a lib/libLLVMInstrumentation.a lib/libLLVMMC.a
lib/libLLVMMCParser.a lib/libLLVMObjCARCOpts.a lib/libLLVMOption.a
lib/libLLVMScalarOpts.a lib/libLLVMSupport.a lib/libLLVMTargetParser.a
lib/libLLVMTransformUtils.a lib/libLLVMVectorize.a lib/libclangBasic.a
lib/libclangCodeGen.a lib/libclangDriver.a lib/libclangFrontend.a
lib/libclangFrontendTool.a lib/libclangSerialization.a lib/libLLVMAsmPrinter.a
lib/libLLVMGlobalISel.a lib/libLLVMSelectionDAG.a lib/libLLVMMCDisassembler.a
lib/libclangCodeGen.a lib/libLLVMCoverage.a lib/libLLVMLTO.a
lib/libLLVMExtensions.a lib/libPolly.a lib/libPollyISL.a lib/libLLVMPasses.a
lib/libLLVMCodeGen.a lib/libLLVMObjCARCOpts.a lib/libLLVMTarget.a
lib/libLLVMCoroutines.a lib/libLLVMipo.a lib/libLLVMInstrumentation.a
lib/libLLVMVectorize.a lib/libLLVMBitWriter.a lib/libLLVMLinker.a
lib/libLLVMIRPrinter.a lib/libclangExtractAPI.a lib/libclangRewriteFrontend.a
lib/libclangARCMigrate.a lib/libclangStaticAnalyzerFrontend.a
lib/libclangStaticAnalyzerCheckers.a lib/libclangStaticAnalyzerCore.a
lib/libclangCrossTU.a lib/libclangIndex.a lib/libclangFrontend.a
lib/libclangDriver.a lib/libLLVMWindowsDriver.a lib/libLLVMOption.a
lib/libclangParse.a lib/libclangSerialization.a lib/libclangSema.a
lib/libclangAnalysis.a lib/libclangASTMatchers.a lib/libLLVMFrontendHLSL.a
lib/libclangEdit.a lib/libclangSupport.a lib/libclangAST.a
lib/libLLVMFrontendOpenMP.a lib/libLLVMScalarOpts.a
lib/libLLVMAggressiveInstCombine.a lib/libLLVMInstCombine.a
lib/libLLVMTransformUtils.a lib/libLLVMAnalysis.a lib/libLLVMProfileData.a
lib/libLLVMSymbolize.a lib/libLLVMDebugInfoDWARF.a lib/libLLVMDebugInfoPDB.a
lib/libLLVMObject.a lib/libLLVMMCParser.a lib/libLLVMMC.a lib/libLLVMIRReader.a
lib/libLLVMBitReader.a lib/libLLVMAsmParser.a lib/libLLVMTextAPI.a
lib/libLLVMDebugInfoCodeView.a lib/libLLVMDebugInfoMSF.a lib/libLLVMCore.a
lib/libLLVMBinaryFormat.a lib/libLLVMRemarks.a lib/libLLVMBitstreamReader.a
lib/libclangFormat.a lib/libclangToolingInclusions.a lib/libclangToolingCore.a
lib/libclangRewrite.a lib/libclangLex.a lib/libclangBasic.a
lib/libLLVMTargetParser.a lib/libLLVMSupport.a lib/libLLVMDemangle.a
so/libz.so.1 so/libtinfo.so.6.4 so/libstdc++.so.6.0.32 so/libm.so.6
so/libgcc_s.so.1 -lgcc --start-group so/libc.so.6
/home/gnu/powerpc64le-linux-gnu/usr/lib64/libc_nonshared.a so/ld64.so.2
--end-group so/libgcc_s.so.1 -lgcc
/usr/local/lib/gcc/powerpc64le-linux-gnu/12.2.0/crtend.o
/home/gnu/powerpc64le-linux-gnu/usr/lib64/crtn.o

This is the command line passed to the linker by g++-12 as shown by adding -v
to the g++ command line, with unneeded plugin and library path stuff removed
and modified to pick up your shared libraries.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]