[Bug binutils/23573] "Too many open files" and binutils 2.31.1-1

2019-06-21 Thread benjamin.redelings at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=23573

Benjamin Redelings  changed:

   What|Removed |Added

 CC||benjamin.redelings at gmail 
dot co
   ||m

--- Comment #9 from Benjamin Redelings  ---
I got this bug with binutils 2.32, so I do not think this is fixed.

/usr/bin/x86_64-w64-mingw32-g++  -o rb.exe
'rb@exe/src_revlanguage_main.cpp.obj' -L/home/bredelings/win_root/mingw64/lib
-Wl,-O1 -Wl,--start-group librb-core.a librb-revlanguage.a librb-lib.a
-lboost_regex-mt -lboost_program_options-mt -lboost_thread-mt -lboost_system-mt
-lboost_filesystem-mt -lboost_date_time-mt -lboost_serialization-mt -pthread
-mconsole -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32
-luuid -lcomdlg32 -ladvapi32 -Wl,--end-group
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lstdc++
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingw32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_s
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmoldname
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingwex
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmsvcrt
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lpthread
/usr/bin/x86_64-w64-mingw32-ld: cannot find -ladvapi32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lshell32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -luser32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lkernel32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingw32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_s
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmoldname
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingwex
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmsvcrt
/usr/bin/x86_64-w64-mingw32-ld: cannot find
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtend.o: Too many open files
collect2: error: ld returned 1 exit status

Versions look like this:

$ uname -a
Linux name 5.0.0-trunk-amd64 #1 SMP Debian 5.0.2-1~exp1 (2019-03-18) x86_64
GNU/Linux

$ /usr/bin/x86_64-w64-mingw32-g++ -v
Using built-in specs.
COLLECT_GCC=/usr/bin/x86_64-w64-mingw32-g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/lto-wrapper
Target: x86_64-w64-mingw32
Configured with: ../../src/configure --build=x86_64-linux-gnu --prefix=/usr
--includedir='/usr/include' --mandir='/usr/share/man'
--infodir='/usr/share/info' --sysconfdir=/etc --localstatedir=/var
--disable-silent-rules --libdir='/usr/lib/x86_64-linux-gnu'
--libexecdir='/usr/lib/x86_64-linux-gnu' --disable-maintainer-mode
--disable-dependency-tracking --prefix=/usr --enable-shared --enable-static
--disable-multilib --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --libdir=/usr/lib --enable-libstdcxx-time=yes
--with-tune=generic --with-headers=/usr/x86_64-w64-mingw32/include
--enable-version-specific-runtime-libs --enable-fully-dynamic-string
--enable-libgomp --enable-languages=c,c++,fortran,objc,obj-c++,ada --enable-lto
--enable-threads=win32 --program-suffix=-win32
--program-prefix=x86_64-w64-mingw32- --target=x86_64-w64-mingw32
--with-as=/usr/bin/x86_64-w64-mingw32-as
--with-ld=/usr/bin/x86_64-w64-mingw32-ld --enable-libatomic
--enable-libstdcxx-filesystem-ts=yes
Thread model: win32
gcc version 8.3-win32 20190428 (GCC) 

$ /usr/bin/x86_64-w64-mingw32-ld --version
GNU ld (GNU Binutils) 2.32
Copyright (C) 2019 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.

The ld command-line that is failing looks like this:
/usr/bin/x86_64-w64-mingw32-ld -plugin
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/liblto_plugin.so
-plugin-opt=/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/lto-wrapper
-plugin-opt=-fresolution=/tmp/ccXUMZS3.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=-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 -m
i386pep --subsystem console -Bdynamic -o rb.exe
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib/crt2.o
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtbegin.o
-L/home/bredelings/win_root/mingw64/lib
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib
rb@exe/src_revlanguage_main.

[Bug binutils/23573] "Too many open files" and binutils 2.31.1-1

2019-06-21 Thread benjamin.redelings at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=23573

--- Comment #10 from Benjamin Redelings  
---
Created attachment 11859
  --> https://sourceware.org/bugzilla/attachment.cgi?id=11859&action=edit
strace of ld while failing

Here's an strace of the command line 

/usr/bin/x86_64-w64-mingw32-ld -plugin
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/liblto_plugin.so
-plugin-opt=/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/lto-wrapper
-plugin-opt=-fresolution=/tmp/ccXUMZS3.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=-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 -m
i386pep --subsystem console -Bdynamic -o rb.exe
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib/crt2.o
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtbegin.o
-L/home/bredelings/win_root/mingw64/lib
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib
rb@exe/src_revlanguage_main.cpp.obj -O1 --start-group librb-core.a
librb-revlanguage.a librb-lib.a -lboost_regex-mt -lboost_program_options-mt
-lboost_thread-mt -lboost_system-mt -lboost_filesystem-mt -lboost_date_time-mt
-lboost_serialization-mt -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32
-lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 --end-group -lstdc++ -lmingw32
-lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32
-luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtend.o

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug ld/24723] New: Linker fails with "too many open files"

2019-06-23 Thread benjamin.redelings at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=24723

Bug ID: 24723
   Summary: Linker fails with "too many open files"
   Product: binutils
   Version: 2.32
Status: UNCONFIRMED
  Severity: normal
  Priority: P2
 Component: ld
  Assignee: unassigned at sourceware dot org
  Reporter: benjamin.redelings at gmail dot com
  Target Milestone: ---

When trying to link a large program, the linker fails with "Too many open
files".
This occurs with binutils 2.32, so the previous similar bugreport with 2.31 may
not apply (#23573).

/usr/bin/x86_64-w64-mingw32-g++  -o rb.exe
'rb@exe/src_revlanguage_main.cpp.obj' -L/home/bredelings/win_root/mingw64/lib
-Wl,-O1 -Wl,--start-group librb-core.a librb-revlanguage.a librb-lib.a
-lboost_regex-mt -lboost_program_options-mt -lboost_thread-mt -lboost_system-mt
-lboost_filesystem-mt -lboost_date_time-mt -lboost_serialization-mt -pthread
-mconsole -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32
-luuid -lcomdlg32 -ladvapi32 -Wl,--end-group
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lstdc++
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingw32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_s
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmoldname
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingwex
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmsvcrt
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lpthread
/usr/bin/x86_64-w64-mingw32-ld: cannot find -ladvapi32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lshell32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -luser32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lkernel32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingw32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_s
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmoldname
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingwex
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmsvcrt
/usr/bin/x86_64-w64-mingw32-ld: cannot find
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtend.o: Too many open files
collect2: error: ld returned 1 exit status

Versions look like this:

$ uname -a
Linux name 5.0.0-trunk-amd64 #1 SMP Debian 5.0.2-1~exp1 (2019-03-18) x86_64
GNU/Linux

$ /usr/bin/x86_64-w64-mingw32-g++ -v
Using built-in specs.
COLLECT_GCC=/usr/bin/x86_64-w64-mingw32-g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/lto-wrapper
Target: x86_64-w64-mingw32
Configured with: ../../src/configure --build=x86_64-linux-gnu --prefix=/usr
--includedir='/usr/include' --mandir='/usr/share/man'
--infodir='/usr/share/info' --sysconfdir=/etc --localstatedir=/var
--disable-silent-rules --libdir='/usr/lib/x86_64-linux-gnu'
--libexecdir='/usr/lib/x86_64-linux-gnu' --disable-maintainer-mode
--disable-dependency-tracking --prefix=/usr --enable-shared --enable-static
--disable-multilib --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --libdir=/usr/lib --enable-libstdcxx-time=yes
--with-tune=generic --with-headers=/usr/x86_64-w64-mingw32/include
--enable-version-specific-runtime-libs --enable-fully-dynamic-string
--enable-libgomp --enable-languages=c,c++,fortran,objc,obj-c++,ada --enable-lto
--enable-threads=win32 --program-suffix=-win32
--program-prefix=x86_64-w64-mingw32- --target=x86_64-w64-mingw32
--with-as=/usr/bin/x86_64-w64-mingw32-as
--with-ld=/usr/bin/x86_64-w64-mingw32-ld --enable-libatomic
--enable-libstdcxx-filesystem-ts=yes
Thread model: win32
gcc version 8.3-win32 20190428 (GCC) 

$ /usr/bin/x86_64-w64-mingw32-ld --version
GNU ld (GNU Binutils) 2.32
Copyright (C) 2019 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) a later version.
This program has absolutely no warranty.

The ld command-line that is failing looks like this:
/usr/bin/x86_64-w64-mingw32-ld -plugin
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/liblto_plugin.so
-plugin-opt=/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/lto-wrapper
-plugin-opt=-fresolution=/tmp/ccXUMZS3.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=-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 -m
i386pep --subsystem console -Bdynamic -o rb.exe
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib/crt2.o
/usr/lib/gcc

[Bug ld/24723] Linker fails with "too many open files"

2019-06-23 Thread benjamin.redelings at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=24723

--- Comment #1 from Benjamin Redelings  ---
Created attachment 11860
  --> https://sourceware.org/bugzilla/attachment.cgi?id=11860&action=edit
An strace log of the linker running out of open files.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/23573] "Too many open files" and binutils 2.31.1-1

2019-06-28 Thread benjamin.redelings at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=23573

--- Comment #12 from Benjamin Redelings  
---
Hi Nick,

Thanks for the input.  So far I've just looked at the strace log that I
uploaded, and you are right that archives are getting opened repeatedly.  There
are three archive filesand they get opened a lot of times:
* librb-core.a: opened 787 times
* librb-revlanguage.a: opened 581 times
* librb-lib.a: opened 20 times

This seems to be related to the number of objects in each archive:

* librb-core.a: 633 objects
* librb-revlanguage.a: 594 objects
* librb-lib: 19 objects

However, its possible the number of opens is incomplete, since the later opens
started failing due to too many open files.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/23573] "Too many open files" and binutils 2.31.1-1

2019-06-28 Thread benjamin.redelings at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=23573

--- Comment #14 from Benjamin Redelings  
---
I tried running the linker under gdb, but apparently the debian package has
stripped out all the debug symbols.  Usually you can unstall them in a separate
*-dbg package, but I don't see one for the mingw binutils.  So, I can
investigate how to compile the mingw ld from source, but if there is a good
place to upload the archive files, I might wait on that.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/23573] "Too many open files" and binutils 2.31.1-1

2019-06-28 Thread benjamin.redelings at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=23573

--- Comment #13 from Benjamin Redelings  
---
The build directory is about 74Mb compressed, or 38M if I strip out unneeded
files.  Would there be a good place to upload this?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/23573] "Too many open files" and binutils 2.31.1-1

2019-07-05 Thread benjamin.redelings at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=23573

--- Comment #16 from Benjamin Redelings  
---
Hi Nick,

I was able to upload the files to here:

  https://www.dropbox.com/s/jyaapql2gj1r7br/gcc-win64.tar.gz?dl=0

Can you let me know if this works?

$ cd gcc-win64
$ /usr/bin/x86_64-w64-mingw32-ld -plugin
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/liblto_plugin.so
-plugin-opt=/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/lto-wrapper
-plugin-opt=-fresolution=/tmp/ccXUMZS3.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=-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 -m
i386pep --subsystem console -Bdynamic -o rb.exe
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib/crt2.o
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtbegin.o
-L/home/bredelings/win_root/mingw64/lib
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib
rb@exe/src_revlanguage_main.cpp.obj -O1 --start-group librb-core.a
librb-revlanguage.a librb-lib.a -lboost_regex-mt -lboost_program_options-mt
-lboost_thread-mt -lboost_system-mt -lboost_filesystem-mt -lboost_date_time-mt
-lboost_serialization-mt -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32
-lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 --end-group -lstdc++ -lmingw32
-lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32
-luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtend.o
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lstdc++
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingw32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_s
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmoldname
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingwex
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmsvcrt
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lpthread
/usr/bin/x86_64-w64-mingw32-ld: cannot find -ladvapi32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lshell32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -luser32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lkernel32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingw32
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc_s
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lgcc
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmoldname
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmingwex
/usr/bin/x86_64-w64-mingw32-ld: cannot find -lmsvcrt
/usr/bin/x86_64-w64-mingw32-ld: cannot find
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtend.o: Too many open files
$ /usr/bin/x86_64-w64-mingw32-ld  -m i386pep --subsystem console -Bdynamic -o
rb.exe
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib/crt2.o
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtbegin.o
-L/home/bredelings/win_root/mingw64/lib
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32
-L/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/../../../../x86_64-w64-mingw32/lib
rb@exe/src_revlanguage_main.cpp.obj -O1 --start-group librb-core.a
librb-revlanguage.a librb-lib.a -lboost_regex-mt -lboost_program_options-mt
-lboost_thread-mt -lboost_system-mt -lboost_filesystem-mt -lboost_date_time-mt
-lboost_serialization-mt -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32
-lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 --end-group -lstdc++ -lmingw32
-lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lpthread -ladvapi32 -lshell32
-luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt
/usr/lib/gcc/x86_64-w64-mingw32/8.3-win32/crtend.o
$
So removing the linker plugin arguments makes the command work.

I can put the linked binary from the no-linker-plugin version of the command in
the dropbox folder if that's helpful.  Its about 47Mb, 9Mb compressed.

-BenRI

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug binutils/23573] "Too many open files" and binutils 2.31.1-1

2019-07-22 Thread benjamin.redelings at gmail dot com
https://sourceware.org/bugzilla/show_bug.cgi?id=23573

--- Comment #18 from Benjamin Redelings  
---
Hi Nick,

Thank you so much for looking into this.  

I reran the exact same command and now it works with the linker plugin just
fine.  I also check using /proc, and the linker process has about 30 open
files.  I have done some package upgrades, and it looks like a patch for Debug
bug 928214 ("Configure LTO support correctly",
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=928214) may be the one that
fixed the problem.

In any case, for the benefit of any future triggerers of this bug:
1. The problem is probably with GCC, not binutils.
2. I was not using native mingw binutils, I was using Debian's linux-native
cross compiler.

Referring to the bug report above, one possible explanation is that
* the LTO plugin was misconfigured in autoconf
* this caused gcc to fall back to the lto-wrapper helper and NOT use the linker
plugin
* the lto-wrapper help creates N open file descriptors for an archive
containing N objects.
* the actual lto-plugin works fine.
This is somewhat speculative, but might hopefully give someone a path to
explore if they run into this again.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils