libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libgcj/1736


From: Bryce McKinlay
Subject: Re: libgcj/1736
Date: Tue, 06 Mar 2001 20:07:49 +1300

Synopsis:        [irix 6.5] Cannot create libgcj - Arg list too long

Okay, it appears that libtool has recently got the feature we need:

2001-02-22  Robert Boehne  <address@hidden>

        * ltconfig.in: Add a test to find the approximate limit
        to the length of command line arguments.  The number
        calculated here should always be lower than the actual
        limit.
        * ltmain.in: Test the length of the command line to be
        executed and use an incremtnal linking scheme if the
        command is too long to be interpreted without error.
        * doc: Test the length of the command line to be
        executed and use an incremtnal linking scheme if the
        command is too long to be interpreted without error.
        * doc/libtool.texi (Reloadable Objects): Added a few
        sentences to describe how piecewise linking is done
        for shared objects by creating reloadable object files.

So, I installed the latest libtool into my gcc tree, which sort-of
works, and happily incrementally linked a bunch of libgcj-1.la...
libgcj-2.la... etc files when I hacked it to think that it could only
use short command lines.

(Side note/bug report: on the last one it got:

ld: unrecognized option `-Wl,--whole-archive'
ld: use the --help option for usage information

So, it's trying to pass the compiler -Wl flag directly to the linker
for some reason. I hacked the libtool script a bit and everything
worked.)

But then I realised that this doesn't help us at all - regardless of
what libtool does the command line that _make_ is passing to libtool
is still too long! The only realistic solutions I can think of are to
1) adapt the build to use GCJ's multi-file compilation and have it
make one .o per package or something. Unfortunately, by doing that
we'd lose fine-grained dependency tracking amongst the java files, but
maybe the speed gain from multi-file compilation would at least
partially offset that loss. 2) Somehow pass the list of files to link
to libtool in a file rather than on the command line. I guess that
would also require an automake upgrade/change?

As a workaround for now, I'd suggest removing .java files from the
build that you don't need (AWT classes for example). Presumably, given
that it worked in the last release, we arn't all that far over IRIX's
limits. Alternatively, maybe you could install a less brain dead
shell? ;-)

regards

  [ bryce ]

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=1736&database=gcc






reply via email to

[Prev in Thread] Current Thread [Next in Thread]