AFAIK, ld.gold is designed to output only ELF [1] binaries (and the specialization is what makes it superior to GNU ld when outputting ELF), while Windows use PE [2] binaries.
So you cannot. [1] https://en.wikipedia.org/wiki/Executable_and_Linkable_Format [2] https://en.wikipedia.org/wiki/Portable_Executable Martin Dne 15. 5. 2015 v 6:41 zhangxinghai napsal(a): > Hi,all > My OS is xp sp3 > I used the i686-4.9.2-release-posix-dwarf-rt_v4-rev2.7z build from site > http://sourceforge.net/projects/mingw-w64 > I write a helloworld.cpp program > #include<stdio.h> > #include<iostream> > int main() > { > int i1=1,i2=2; > int sum = i1 + i2; > printf("%d\n",sum); > return 0; > } > when I use g++ -o hello.exe hello.cpp,It works well.Now I want it to be > linked with ld.gold,I use g++ -o hello.exe hello.cpp -fuse-ld=gold -v,I get > following error,what is the problem and how to resolve it. > Great thanks > > > Using built-in specs. > COLLECT_GCC=g++ > COLLECT_LTO_WRAPPER=D:/mingw32-gcc-4.9.2/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.9.2/lto-wrapper.exe > Target: i686-w64-mingw32 > Configured with: ../../../src/gcc-4.9.2/configure --host=i686-w64-mingw32 > --build=i686-w64-mingw32 --target=i686-w64-mingw32 --prefix=/mingw32 > --with-sysroot=/c/mingw492/i686-492-posix-dwarf-rt_v4-rev2/mingw32 > --with-gxx-include-dir=/mingw32/i686-w64-mingw32/include/c++ --enable-shared > --enable-static --disable-multilib > --enable-languages=ada,c,c++,fortran,objc,obj-c++,lto > --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp > --enable-libatomic --enable-lto --enable-graphite --enable-checking=release > --enable-fully-dynamic-string --enable-version-specific-runtime-libs > --disable-sjlj-exceptions --with-dwarf2 --disable-isl-version-check > --disable-cloog-version-check --disable-libstdcxx-pch > --disable-libstdcxx-debug --enable-bootstrap --disable-rpath > --disable-win32-registry --disable-nls --disable-werror --disable-symvers > --with-gnu-as --with-gnu-ld --with-arch=i686 --with-tune=generic > --with-libiconv --with-system-zlib > --with-gmp=/c/mingw492/prerequisites/i686-w64-mingw32-static > --with-mpfr=/c/mingw492/prerequisites/i686-w64-mingw32-static > --with-mpc=/c/mingw492/prerequisites/i686-w64-mingw32-static > --with-isl=/c/mingw492/prerequisites/i686-w64-mingw32-static > --with-cloog=/c/mingw492/prerequisites/i686-w64-mingw32-static > --enable-cloog-backend=isl --with-pkgversion='i686-posix-dwarf-rev2, Built by > MinGW-W64 project' --with-bugurl=http://sourceforge.net/projects/mingw-w64 > CFLAGS='-O2 -pipe > -I/c/mingw492/i686-492-posix-dwarf-rt_v4-rev2/mingw32/opt/include > -I/c/mingw492/prerequisites/i686-zlib-static/include > -I/c/mingw492/prerequisites/i686-w64-mingw32-static/include' CXXFLAGS='-O2 > -pipe -I/c/mingw492/i686-492-posix-dwarf-rt_v4-rev2/mingw32/opt/include > -I/c/mingw492/prerequisites/i686-zlib-static/include > -I/c/mingw492/prerequisites/i686-w64-mingw32-static/include' CPPFLAGS= > LDFLAGS='-pipe -L/c/mingw492/i686-492-posix-dwarf-rt_v4-rev2/mingw32/opt/lib > -L/c/mingw492/prerequisites/i686-zlib-static/lib > -L/c/mingw492/prerequisites/i686-w64-mingw32-static/lib > -Wl,--large-address-aware' > Thread model: posix > gcc version 4.9.2 (i686-posix-dwarf-rev2, Built by MinGW-W64 project) > COLLECT_GCC_OPTIONS='-o' 'hello.exe' '-fuse-ld=gold' '-v' '-shared-libgcc' > '-mtune=generic' '-march=i686' > > D:/mingw32-gcc-4.9.2/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.9.2/cc1plus.exe > -quiet -v -iprefix > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/ > -D_REENTRANT hello.cpp -quiet -dumpbase hello.cpp -mtune=generic -march=i686 > -auxbase hello -version -fuse-ld=gold -o d:\tmp\ccEEmv6M.s > GNU C++ (i686-posix-dwarf-rev2, Built by MinGW-W64 project) version 4.9.2 > (i686-w64-mingw32) > compiled by GNU C version 4.9.2, GMP version 6.0.0, MPFR version 3.1.2-p9, > MPC version 1.0.2 > warning: MPFR header version 3.1.2-p9 differs from library version 3.1.2-p10. > GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 > ignoring duplicate directory > "D:/mingw32-gcc-4.9.2/mingw32/lib/gcc/../../lib/gcc/i686-w64-mingw32/4.9.2/include" > ignoring nonexistent directory > "C:/mingw492/i686-492-posix-dwarf-rt_v4-rev2/mingw32C:/msys64/mingw32/lib/gcc/i686-w64-mingw32/4.9.2/../../../../include" > ignoring duplicate directory > "D:/mingw32-gcc-4.9.2/mingw32/lib/gcc/../../lib/gcc/i686-w64-mingw32/4.9.2/include-fixed" > ignoring duplicate directory > "D:/mingw32-gcc-4.9.2/mingw32/lib/gcc/../../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/include" > ignoring nonexistent directory > "C:/mingw492/i686-492-posix-dwarf-rt_v4-rev2/mingw32/mingw/include" > #include "..." search starts here: > #include <...> search starts here: > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/include > > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/include-fixed > > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/include > D:/mingw32-gcc-4.9.2/mingw32/lib/gcc/../../i686-w64-mingw32/include/c++ > > D:/mingw32-gcc-4.9.2/mingw32/lib/gcc/../../i686-w64-mingw32/include/c++/i686-w64-mingw32 > > D:/mingw32-gcc-4.9.2/mingw32/lib/gcc/../../i686-w64-mingw32/include/c++/backward > End of search list. > GNU C++ (i686-posix-dwarf-rev2, Built by MinGW-W64 project) version 4.9.2 > (i686-w64-mingw32) > compiled by GNU C version 4.9.2, GMP version 6.0.0, MPFR version 3.1.2-p9, > MPC version 1.0.2 > warning: MPFR header version 3.1.2-p9 differs from library version 3.1.2-p10. > GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 > Compiler executable checksum: 02c898528467be35d3479d11b8b879c5 > COLLECT_GCC_OPTIONS='-o' 'hello.exe' '-fuse-ld=gold' '-v' '-shared-libgcc' > '-mtune=generic' '-march=i686' > > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/as.exe > -v -o d:\tmp\ccYFsnOU.o d:\tmp\ccEEmv6M.s > GNU assembler version 2.25 (i686-w64-mingw32) using BFD version (GNU > Binutils) 2.25 > COMPILER_PATH=D:/mingw32-gcc-4.9.2/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.9.2/;D:/mingw32-gcc-4.9.2/mingw32/bin/../libexec/gcc/;D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ > LIBRARY_PATH=D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/;D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/;D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/lib/../lib/;D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../lib/;D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/lib/;D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../ > COLLECT_GCC_OPTIONS='-o' 'hello.exe' '-fuse-ld=gold' '-v' '-shared-libgcc' > '-mtune=generic' '-march=i686' > > D:/mingw32-gcc-4.9.2/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.9.2/collect2.exe > -plugin > D:/mingw32-gcc-4.9.2/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.9.2/liblto_plugin-0.dll > > -plugin-opt=D:/mingw32-gcc-4.9.2/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.9.2/lto-wrapper.exe > -plugin-opt=-fresolution=d:\tmp\ccSpSuk1.res > -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s > -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname > -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt > -plugin-opt=-pass-through=-lpthread -plugin-opt=-pass-through=-ladvapi32 > -plugin-opt=-pass-through=-lshell32 -plugin-opt=-pass-through=-luser32 > -plugin-opt=-pass-through=-lkernel32 -plugin-opt=-pass-through=-liconv > -plugin-opt=-pass-through=-lmingw32 -plugin-opt=-pass-through=-lgcc_s > -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lmoldname > -plugin-opt=-pass-through=-lmingwex -plugin-opt=-pass-through=-lmsvcrt > --sysroot=C:/mingw492/i686-492-posix-dwarf-rt_v4-rev2/mingw32 -m i386pe > -Bdynamic -u ___register_frame_info -u ___deregister_frame_info -fuse-ld=gold > -o hello.exe > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/lib/../lib/crt2.o > > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/crtbegin.o > -LD:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2 > -LD:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc > -LD:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/lib/../lib > > -LD:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../lib > > -LD:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/lib > > -LD:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../.. > d:\tmp\ccYFsnOU.o -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex > -lmsvcrt -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -liconv > -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/crtend.o > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld.gold.exe: > error: > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/lib/../lib/crt2.o:1:2: > invalid character > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld.gold.exe: > error: > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/lib/../lib/crt2.o:1:2: > syntax error, unexpected $end > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld.gold.exe: > error: > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/lib/../lib/crt2.o: > not an object or archive > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld.gold.exe: > error: > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/crtbegin.o:1:2: > invalid character > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld.gold.exe: > error: > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/crtbegin.o:1:2: > syntax error, unexpected $end > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld.gold.exe: > error: > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/crtbegin.o: > not an object or archive > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld.gold.exe: > error: d:\tmp\ccYFsnOU.o:1:2: invalid character > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld.gold.exe: > error: d:\tmp\ccYFsnOU.o:1:2: syntax error, unexpected $end > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld.gold.exe: > error: d:\tmp\ccYFsnOU.o: not an object or archive > D:/mingw32-gcc-4.9.2/mingw32/bin/../lib/gcc/i686-w64-mingw32/4.9.2/../../../../i686-w64-mingw32/bin/ld.gold.exe: > internal error in target, at ../../../src/binutils-2.25/gold/parameters.h:105 > collect2.exe: error: ld returned 1 exit status > > > > > > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > > > _______________________________________________ > Mingw-w64-public mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/mingw-w64-public > ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
