libtool linking libgcj
David Daney
ddaney@avtrex.com
Mon Sep 29 23:12:00 GMT 2003
Bryce McKinlay wrote:
> On Tuesday, Sep 30, 2003, at 04:22 Pacific/Auckland, Andrew Haley wrote:
>
>> When linking libgcj, the libtool shell script consumes more than two
>> minutes of CPU time on my box, a 1200MHz processor. This is a lot
>> more time than the link itself takes.
>
>
> Yes, its getting pretty ridiculous. We need to get rid of libtool. We
> should build libgcj package-by-package, with the option of either
> building each package with a single compiler command, or multiple
> compiler invocations linked into a package .o with "ld -r". This
> strategy will make the command line length problems a non-issue, and
> incremental rebuilds should be fast.
On some platforms (MIPS o32) it has been said that this type of
incremental linking (and the current way that libtool does it also) is
the cause of GOT overflow problems, for which the only known work around
is to enable a large GOT which results in slower code.
My $0.02 is that perhaps libgcj should be broken into several separate
shared objects.
Another thought is to add an option to ld to pass a "file list file"
similar to the @filelist that the M$ linker has (or at least used to
have). Those stuck with older versions of ld or non gnu-ld would still
have to suffer through the libtool slowness.
David Daney.
More information about the Java
mailing list