From: Charles W. <cwi...@us...> - 2008-02-14 03:33:31
|
Danny Smith wrote: > Ralf wrote: >> Danny Smith wrote on Wed, Feb 13, 2008 at 01:18:01AM CET: >>> Java needs lots (>1GB) memory and an upstream libtool >> >> Is that due to the -DDLL_EXPORT bug in the libtool version in GCC >> currently (PR 33085), or other issues as well? > > The libtool problem is PR33085. > The ld memory problem is exposed by the huge number of exports in libgcj > due to lack of def file and --export-all (exporting private as well as > public symbols.) Also, I think a large part of the problem is the way binutils/ld constructs import libs. Every symbol gets its own bfd, instead of one bfd per object file, with lots of symbols bundled together. That eats memory in a hurry. This is one reason why link-directly-to-dll-on-the-fly is faster -- if you can do it [*] -- than using import libs on cygwin/mingw. [*] that is, your import lib doesn't have any fancy non-import code. Violators of this include: cygwin's own import lib, the gcc runtime import lib when libgcc is built shared, etc. -- Chuck |