Error when compiling binutils with gold

Christer Solskogen christer.solskogen@gmail.com
Thu Aug 27 12:10:24 GMT 2020


When using gold as default linker, I get into trouble when I'm building 
binutils with shared libraries.

libtool: link: gcc -shared  -fPIC -DPIC .libs/libbfd.la.lnkscript 
-L/tmp/binutils.build/bfd/../libiberty/pic -liberty -lz  -Wl,-lc 
-Wl,--as-needed -Wl,-lm -Wl,--no-as-needed   -Wl,-soname 
-Wl,libbfd-2.35.so -o .libs/libbfd-2.35.so
/usr/bin/ld: error: cannot find .libs/archive.o
/usr/bin/ld: error: cannot find .libs/archures.o
/usr/bin/ld: error: cannot find .libs/bfd.o
/usr/bin/ld: error: cannot find .libs/bfdio.o
/usr/bin/ld: error: cannot find .libs/bfdwin.o
/usr/bin/ld: error: cannot find .libs/cache.o
/usr/bin/ld: error: cannot find .libs/coff-bfd.o
/usr/bin/ld: error: cannot find .libs/compress.o
/usr/bin/ld: error: cannot find .libs/corefile.o
/usr/bin/ld: error: cannot find .libs/elf-properties.o
/usr/bin/ld: error: cannot find .libs/format.o
/usr/bin/ld: error: cannot find .libs/hash.o
/usr/bin/ld: error: cannot find .libs/init.o
/usr/bin/ld: error: cannot find .libs/libbfd.o
/usr/bin/ld: error: cannot find .libs/linker.o
/usr/bin/ld: error: cannot find .libs/merge.o
/usr/bin/ld: error: cannot find .libs/opncls.o
/usr/bin/ld: error: cannot find .libs/reloc.o
/usr/bin/ld: error: cannot find .libs/section.o
/usr/bin/ld: error: cannot find .libs/simple.o
/usr/bin/ld: error: cannot find .libs/stab-syms.o
/usr/bin/ld: error: cannot find .libs/stabs.o
/usr/bin/ld: error: cannot find .libs/syms.o
/usr/bin/ld: error: cannot find .libs/targets.o
/usr/bin/ld: error: cannot find .libs/binary.o
/usr/bin/ld: error: cannot find .libs/ihex.o
/usr/bin/ld: error: cannot find .libs/srec.o
/usr/bin/ld: error: cannot find .libs/tekhex.o
/usr/bin/ld: error: cannot find .libs/verilog.o
/usr/bin/ld: error: cannot find .libs/elf64-x86-64.o
/usr/bin/ld: error: cannot find .libs/elfxx-x86.o
/usr/bin/ld: error: cannot find .libs/elf-ifunc.o
/usr/bin/ld: error: cannot find .libs/elf-vxworks.o
/usr/bin/ld: error: cannot find .libs/elf64.o
/usr/bin/ld: error: cannot find .libs/elf.o
/usr/bin/ld: error: cannot find .libs/elflink.o
/usr/bin/ld: error: cannot find .libs/elf-attrs.o
/usr/bin/ld: error: cannot find .libs/elf-strtab.o
/usr/bin/ld: error: cannot find .libs/elf-eh-frame.o
/usr/bin/ld: error: cannot find .libs/dwarf1.o
/usr/bin/ld: error: cannot find .libs/dwarf2.o
/usr/bin/ld: error: cannot find .libs/elf32-i386.o
/usr/bin/ld: error: cannot find .libs/elf32.o
/usr/bin/ld: error: cannot find .libs/pei-i386.o
/usr/bin/ld: error: cannot find .libs/peigen.o
/usr/bin/ld: error: cannot find .libs/cofflink.o
/usr/bin/ld: error: cannot find .libs/coffgen.o
/usr/bin/ld: error: cannot find .libs/pei-x86_64.o
/usr/bin/ld: error: cannot find .libs/pex64igen.o
/usr/bin/ld: error: cannot find .libs/elf64-gen.o
/usr/bin/ld: error: cannot find .libs/elf32-gen.o
/usr/bin/ld: error: cannot find .libs/plugin.o
/usr/bin/ld: error: cannot find .libs/cpu-i386.o
/usr/bin/ld: error: cannot find .libs/cpu-iamcu.o
/usr/bin/ld: error: cannot find .libs/cpu-l1om.o
/usr/bin/ld: error: cannot find .libs/cpu-k1om.o
/usr/bin/ld: error: cannot find .libs/archive64.o
collect2: error: ld returned 1 exit status
make[4]: *** [Makefile:1284: libbfd.la] Error 1
make[4]: Leaving directory '/tmp/binutils.build/bfd'
make[3]: *** [Makefile:1648: all-recursive] Error 1
make[3]: Leaving directory '/tmp/binutils.build/bfd'
make[2]: *** [Makefile:1177: all] Error 2
make[2]: Leaving directory '/tmp/binutils.build/bfd'
make[1]: *** [Makefile:2767: all-bfd] Error 2
make[1]: Leaving directory '/tmp/binutils.build'
make: *** [Makefile:854: all] Error 2


This is the configure line:
/src/binutils-2.35/configure --prefix=/usr --enable-gold=default 
--enable-shared --disable-static --enable-deterministic-archives 
--enable-64-bit-bfd --enable-plugins --with-pic --with-mmap 
--with-system-zlib --disable-multilib

/tmp/binutils.build # ld -v
GNU gold (GNU Binutils 2.35) 1.16

If I rather use use ld.bfd as /usr/bin/ld, it builds fine.
Am I doing something wrong, or is this a bug?
The files that libtool thinks don't exist really do.
/tmp/binutils.build # ls -l bfd/.libs/
total 10896
-rw-r--r--    1 0        0           215624 Aug 27 12:09 archive.o
-rw-r--r--    1 0        0           114128 Aug 27 12:09 archive64.o
-rw-r--r--    1 0        0           117816 Aug 27 12:09 archures.o
-rw-r--r--    1 0        0           216832 Aug 27 12:09 bfd.o
-rw-r--r--    1 0        0           122744 Aug 27 12:09 bfdio.o
-rw-r--r--    1 0        0           108992 Aug 27 12:09 bfdwin.o
-rw-r--r--    1 0        0           121504 Aug 27 12:09 binary.o
-rw-r--r--    1 0        0           124800 Aug 27 12:09 cache.o
-rw-r--r--    1 0        0           121608 Aug 27 12:09 coff-bfd.o
-rw-r--r--    1 0        0           238328 Aug 27 12:09 coffgen.o
-rw-r--r--    1 0        0           218576 Aug 27 12:09 cofflink.o
-rw-r--r--    1 0        0           124832 Aug 27 12:09 compress.o
-rw-r--r--    1 0        0           105480 Aug 27 12:09 corefile.o
-rw-r--r--    1 0        0            16248 Aug 27 12:09 cpu-i386.o
-rw-r--r--    1 0        0             7680 Aug 27 12:09 cpu-iamcu.o
-rw-r--r--    1 0        0             7680 Aug 27 12:09 cpu-k1om.o
-rw-r--r--    1 0        0             7680 Aug 27 12:09 cpu-l1om.o
-rw-r--r--    1 0        0           139920 Aug 27 12:09 dwarf1.o
-rw-r--r--    1 0        0           338184 Aug 27 12:09 dwarf2.o
-rw-r--r--    1 0        0           166808 Aug 27 12:09 elf-attrs.o
-rw-r--r--    1 0        0           238432 Aug 27 12:09 elf-eh-frame.o
-rw-r--r--    1 0        0           145536 Aug 27 12:09 elf-ifunc.o
-rw-r--r--    1 0        0           161704 Aug 27 12:09 elf-properties.o
-rw-r--r--    1 0        0           139336 Aug 27 12:09 elf-strtab.o
-rw-r--r--    1 0        0           156632 Aug 27 12:09 elf-vxworks.o
-rw-r--r--    1 0        0           975896 Aug 27 12:09 elf.o
-rw-r--r--    1 0        0           154224 Aug 27 12:09 elf32-gen.o
-rw-r--r--    1 0        0           311160 Aug 27 12:09 elf32-i386.o
-rw-r--r--    1 0        0           208992 Aug 27 12:09 elf32.o
-rw-r--r--    1 0        0           154224 Aug 27 12:09 elf64-gen.o
-rw-r--r--    1 0        0           495984 Aug 27 12:09 elf64-x86-64.o
-rw-r--r--    1 0        0           208976 Aug 27 12:09 elf64.o
-rw-r--r--    1 0        0           996848 Aug 27 12:09 elflink.o
-rw-r--r--    1 0        0           232888 Aug 27 12:09 elfxx-x86.o
-rw-r--r--    1 0        0           120840 Aug 27 12:09 format.o
-rw-r--r--    1 0        0           125784 Aug 27 12:09 hash.o
-rw-r--r--    1 0        0           140144 Aug 27 12:09 ihex.o
-rw-r--r--    1 0        0             3328 Aug 27 12:09 init.o
-rw-r--r--    1 0        0              930 Aug 27 12:10 libbfd.la.lnkscript
-rw-r--r--    1 0        0           139584 Aug 27 12:09 libbfd.o
-rw-r--r--    1 0        0           215240 Aug 27 12:09 linker.o
-rw-r--r--    1 0        0           154656 Aug 27 12:09 merge.o
-rw-r--r--    1 0        0           185896 Aug 27 12:09 opncls.o
-rw-r--r--    1 0        0           275400 Aug 27 12:09 pei-i386.o
-rw-r--r--    1 0        0           314448 Aug 27 12:09 pei-x86_64.o
-rw-r--r--    1 0        0           313520 Aug 27 12:09 peigen.o
-rw-r--r--    1 0        0           315544 Aug 27 12:09 pex64igen.o
-rw-r--r--    1 0        0           144480 Aug 27 12:09 plugin.o
-rw-r--r--    1 0        0           289200 Aug 27 12:09 reloc.o
-rw-r--r--    1 0        0           137984 Aug 27 12:09 section.o
-rw-r--r--    1 0        0           118632 Aug 27 12:09 simple.o
-rw-r--r--    1 0        0           160224 Aug 27 12:09 srec.o
-rw-r--r--    1 0        0            14768 Aug 27 12:09 stab-syms.o
-rw-r--r--    1 0        0           128800 Aug 27 12:09 stabs.o
-rw-r--r--    1 0        0           145664 Aug 27 12:09 syms.o
-rw-r--r--    1 0        0           121432 Aug 27 12:09 targets.o
-rw-r--r--    1 0        0           143088 Aug 27 12:09 tekhex.o
-rw-r--r--    1 0        0           118888 Aug 27 12:09 verilog.o





More information about the Binutils mailing list