public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* Error when compiling binutils with gold
@ 2020-08-27 12:10 Christer Solskogen
  2020-08-27 20:21 ` Cary Coutant
  0 siblings, 1 reply; 3+ messages in thread
From: Christer Solskogen @ 2020-08-27 12:10 UTC (permalink / raw)
  To: binutils

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




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Error when compiling binutils with gold
  2020-08-27 12:10 Error when compiling binutils with gold Christer Solskogen
@ 2020-08-27 20:21 ` Cary Coutant
  2020-08-28  5:53   ` Christer Solskogen
  0 siblings, 1 reply; 3+ messages in thread
From: Cary Coutant @ 2020-08-27 20:21 UTC (permalink / raw)
  To: Christer Solskogen; +Cc: Binutils

This sounds like PR 11182:

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

Also see PR 16341, which was marked as a duplicate of the above, but
contains some additional discussion and a slightly different use case:

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

Neither Ian nor I ever did get around to fixing this, unfortunately.
The complicating factor is that gold caches the directory listings for
search directories, making it more challenging to do search for a path
that contains a '/'. Since it's popped up again, I'll take another
look.

-cary

On Thu, Aug 27, 2020 at 5:10 AM Christer Solskogen via Binutils
<binutils@sourceware.org> wrote:
>
> 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
>
>
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Error when compiling binutils with gold
  2020-08-27 20:21 ` Cary Coutant
@ 2020-08-28  5:53   ` Christer Solskogen
  0 siblings, 0 replies; 3+ messages in thread
From: Christer Solskogen @ 2020-08-28  5:53 UTC (permalink / raw)
  To: binutils

On 27.08.2020 22:21, Cary Coutant via Binutils wrote:
> This sounds like PR 11182:
> 
>    https://sourceware.org/bugzilla/show_bug.cgi?id=11182
> 
> Also see PR 16341, which was marked as a duplicate of the above, but
> contains some additional discussion and a slightly different use case:
> 
>    https://sourceware.org/bugzilla/show_bug.cgi?id=16341
> 
> Neither Ian nor I ever did get around to fixing this, unfortunately.
> The complicating factor is that gold caches the directory listings for
> search directories, making it more challenging to do search for a path
> that contains a '/'. Since it's popped up again, I'll take another
> look.
> 

Thanks!

-- 
chs



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-08-28  5:53 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-27 12:10 Error when compiling binutils with gold Christer Solskogen
2020-08-27 20:21 ` Cary Coutant
2020-08-28  5:53   ` Christer Solskogen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).