public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: libgcj/1736
@ 2001-04-01  0:00 Robert Boehne
  0 siblings, 0 replies; 14+ messages in thread
From: Robert Boehne @ 2001-04-01  0:00 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: Robert Boehne <rboehne@ricardo-us.com>
To: Bryce McKinlay <bryce@waitaki.otago.ac.nz>
Cc: gcc-gnats@gcc.gnu.org, David.Billinghurst@riotinto.com, java@gcc.gnu.org,
        libtool@gnu.org
Subject: Re: libgcj/1736
Date: Tue, 06 Mar 2001 08:22:34 -0600

 Bryce:
 
 I submitted two patches to fix the "Arg length too long" problems.
 The first will work around link lines created by libtool that are
 too long to execute, the second uses the -objectlist FILE option
 in link mode to allow a file containing a list of *.lo objects
 rather than the list of objects itself.
 These patches have only been committed to the multi-language-branch
 at this time, but could be applied to the MAIN/HEAD branch as well.
 The -objectlist patch was committed yesterday, so you probably just
 need an update.
 
 Robert
 
 Bryce McKinlay wrote:
 > 
 > 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  <rboehne@ricardo-us.com>
 > 
 >         * 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
 
 -- 
 Robert Boehne             Software Engineer
 Ricardo Software   Chicago Technical Center
 TEL: (630)789-0003 x. 238
 FAX: (630)789-0127
 email:  rboehne@ricardo-us.com


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

* Re: libgcj/1736
@ 2001-04-01  0:00 Bryce McKinlay
  0 siblings, 0 replies; 14+ messages in thread
From: Bryce McKinlay @ 2001-04-01  0:00 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: Bryce McKinlay <bryce@albatross.co.nz>
To: Alexandre Oliva <aoliva@redhat.com>
Cc: Bryce McKinlay <bryce@waitaki.otago.ac.nz>, gcc-gnats@gcc.gnu.org,
        David.Billinghurst@riotinto.com, nobody@gcc.gnu.org, java@gcc.gnu.org,
        rboehne@ricardo-us.com, libtool@gnu.org
Subject: Re: libgcj/1736
Date: Fri, 09 Mar 2001 16:51:34 +1300

 Alexandre Oliva wrote:
 
 > On Mar  6, 2001, Bryce McKinlay <bryce@waitaki.otago.ac.nz> wrote:
 >
 > > Perhaps it would suffice to simply clear "wl" when entering the
 > > incremental mode, assuming we know the linker will always be called
 > > directly when doing incremental.
 >
 > Yep.  Please try this patch.
 
 The patch doesn't work. I think thats because at this point, $libobjs has already been evaluated taking into
 account the $wl value (around about line 3068).
 
 regards
 
   [ bryce ]
 
 


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

* Re: libgcj/1736
@ 2001-04-01  0:00 Alexandre Oliva
  0 siblings, 0 replies; 14+ messages in thread
From: Alexandre Oliva @ 2001-04-01  0:00 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: Alexandre Oliva <aoliva@redhat.com>
To: Bryce McKinlay <bryce@waitaki.otago.ac.nz>
Cc: gcc-gnats@gcc.gnu.org, David.Billinghurst@riotinto.com, nobody@gcc.gnu.org,
        java@gcc.gnu.org, rboehne@ricardo-us.com, libtool@gnu.org
Subject: Re: libgcj/1736
Date: 08 Mar 2001 04:13:14 -0300

 On Mar  8, 2001, Alexandre Oliva <aoliva@redhat.com> wrote:
 
 > -	if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
 > -	  eval cmds=\"$archive_expsym_cmds\"
 > -	else
 > -	  eval cmds=\"$archive_cmds\"
 > -	fi
 > +if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
 > +eval cmds=\"$archive_expsym_cmds\"
 > +else
 > +eval cmds=\"$archive_cmds\"
 > +fi
 
 Oops.  This was not supposed to be part of the patch :-)
 
 -- 
 Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
 Red Hat GCC Developer                  aoliva@{cygnus.com, redhat.com}
 CS PhD student at IC-Unicamp        oliva@{lsd.ic.unicamp.br, gnu.org}
 Free Software Evangelist    *Please* write to mailing lists, not to me


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

* RE: libgcj/1736
@ 2001-03-27 22:26 Billinghurst, David (CRTS)
  0 siblings, 0 replies; 14+ messages in thread
From: Billinghurst, David (CRTS) @ 2001-03-27 22:26 UTC (permalink / raw)
  To: bryce; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: "Billinghurst, David (CRTS)" <David.Billinghurst@riotinto.com>
To: "'Bryce McKinlay'" <bryce@albatross.co.nz>
Cc: "'gcc-gnats@gcc.gnu.org'" <gcc-gnats@gcc.gnu.org>
Subject: RE: libgcj/1736
Date: Mon, 26 Mar 2001 23:59:25 -0000

 Attached is a patch to Makefile.am for this.  It isn't fully tested, as I am
 having autotools problems. However:
 *	it is similar to the existing code
 *	corresponding changes to the Makefile did the right thing and 
 *	I could generate a reasonable Makefile.in.
 
 The change to the libffi_files macro works around a quoting problem.
 
 Unfortunately this just reveals another libtool problem, which I haven't
 looked at yet.  Still, it is progress.
 
 Index: Makefile.am
 ===================================================================
 RCS file: /cvs/gcc/egcs/libjava/Makefile.am,v
 retrieving revision 1.134
 diff -c -r1.134 Makefile.am
 *** Makefile.am	2001/03/23 05:18:16	1.134
 --- Makefile.am	2001/03/26 23:56:11
 ***************
 *** 132,138 ****
   x_javao_files = $(x_java_source_files:.java=.lo)
   
   ## Extract the libffi object file names.
 ! libffi_files = `$(AR) t ../libffi/.libs/libffi.a 2>/dev/null | sed
 's/\.o/\.lo/g' | sed 's/^/..\/libffi\//g'`
   
   libgcj_la_SOURCES = prims.cc posix.cc jni.cc exception.cc \
   	resolve.cc defineclass.cc interpret.cc name-finder.cc \
 --- 132,138 ----
   x_javao_files = $(x_java_source_files:.java=.lo)
   
   ## Extract the libffi object file names.
 ! libffi_files = $shell($(AR) t ../libffi/.libs/libffi.a 2>/dev/null | sed
 's/\.o/\.lo/g' | sed 's/^/..\/libffi\//g')
   
   libgcj_la_SOURCES = prims.cc posix.cc jni.cc exception.cc \
   	resolve.cc defineclass.cc interpret.cc name-finder.cc \
 ***************
 *** 265,272 ****
   ## Pass the list of object files to libtool in a temporary file to 
   ## avoid tripping platform command line length limits.
   libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
 ! 	@echo $(libgcj_la_OBJECTS) > libgcj.objectlist;
 ! 	@echo $(libgcj_la_LIBADD) >> libgcj.objectlist;
   	$(libgcj_la_LINK) -objectlist libgcj.objectlist -rpath
 $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
   
   libgcjx.la: $(libgcjx_la_OBJECTS) $(libgcjx_la_DEPENDENCIES)
 --- 265,273 ----
   ## Pass the list of object files to libtool in a temporary file to 
   ## avoid tripping platform command line length limits.
   libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
 ! 	@:  $(shell echo Creating list of object files ...) \
 ! 	$(shell rm -f libgcj.objectlist || :) \
 ! 	$(foreach libgcj.object,$+,$(shell echo $(libgcj.object) >>
 libgcj.objectlist))
   	$(libgcj_la_LINK) -objectlist libgcj.objectlist -rpath
 $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
   
   libgcjx.la: $(libgcjx_la_OBJECTS) $(libgcjx_la_DEPENDENCIES)
 
 
 > -----Original Message-----
 > From:	Bryce McKinlay [SMTP:bryce@albatross.co.nz]
 > Sent:	Saturday, 24 March 2001 9:05
 > To:	Billinghurst, David (CRTS)
 > Cc:	bryce@gcc.gnu.org; gcc-prs@gcc.gnu.org
 > Subject:	Re: libgcj/1736
 > 
 > OK, Tom and Oliva thought that might happen.
 > 
 > In Makefile.am, theres a line that says:
 > 
 > ## Create a list of all Java sources, without exceeding any shell limits.
 > 
 > followed by some code that uses a foreach loop to echo the filenames one
 > at a
 > time.
 > 
 > Could you try adapting that code to work for the objectlist case?
 > 
 > regards
 > 
 >   [ bryce ]
 > 


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

* RE: libgcj/1736
@ 2001-03-27 22:16 Billinghurst, David (CRTS)
  0 siblings, 0 replies; 14+ messages in thread
From: Billinghurst, David (CRTS) @ 2001-03-27 22:16 UTC (permalink / raw)
  To: bryce; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: "Billinghurst, David (CRTS)" <David.Billinghurst@riotinto.com>
To: "'Bryce McKinlay'" <bryce@albatross.co.nz>
Cc: "'gcc-gnats@gcc.gnu.org'" <gcc-gnats@gcc.gnu.org>
Subject: RE: libgcj/1736
Date: Mon, 26 Mar 2001 23:59:25 -0000

 Attached is a patch to Makefile.am for this.  It isn't fully tested, as I am
 having autotools problems. However:
 *	it is similar to the existing code
 *	corresponding changes to the Makefile did the right thing and 
 *	I could generate a reasonable Makefile.in.
 
 The change to the libffi_files macro works around a quoting problem.
 
 Unfortunately this just reveals another libtool problem, which I haven't
 looked at yet.  Still, it is progress.
 
 Index: Makefile.am
 ===================================================================
 RCS file: /cvs/gcc/egcs/libjava/Makefile.am,v
 retrieving revision 1.134
 diff -c -r1.134 Makefile.am
 *** Makefile.am	2001/03/23 05:18:16	1.134
 --- Makefile.am	2001/03/26 23:56:11
 ***************
 *** 132,138 ****
   x_javao_files = $(x_java_source_files:.java=.lo)
   
   ## Extract the libffi object file names.
 ! libffi_files = `$(AR) t ../libffi/.libs/libffi.a 2>/dev/null | sed
 's/\.o/\.lo/g' | sed 's/^/..\/libffi\//g'`
   
   libgcj_la_SOURCES = prims.cc posix.cc jni.cc exception.cc \
   	resolve.cc defineclass.cc interpret.cc name-finder.cc \
 --- 132,138 ----
   x_javao_files = $(x_java_source_files:.java=.lo)
   
   ## Extract the libffi object file names.
 ! libffi_files = $shell($(AR) t ../libffi/.libs/libffi.a 2>/dev/null | sed
 's/\.o/\.lo/g' | sed 's/^/..\/libffi\//g')
   
   libgcj_la_SOURCES = prims.cc posix.cc jni.cc exception.cc \
   	resolve.cc defineclass.cc interpret.cc name-finder.cc \
 ***************
 *** 265,272 ****
   ## Pass the list of object files to libtool in a temporary file to 
   ## avoid tripping platform command line length limits.
   libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
 ! 	@echo $(libgcj_la_OBJECTS) > libgcj.objectlist;
 ! 	@echo $(libgcj_la_LIBADD) >> libgcj.objectlist;
   	$(libgcj_la_LINK) -objectlist libgcj.objectlist -rpath
 $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
   
   libgcjx.la: $(libgcjx_la_OBJECTS) $(libgcjx_la_DEPENDENCIES)
 --- 265,273 ----
   ## Pass the list of object files to libtool in a temporary file to 
   ## avoid tripping platform command line length limits.
   libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
 ! 	@:  $(shell echo Creating list of object files ...) \
 ! 	$(shell rm -f libgcj.objectlist || :) \
 ! 	$(foreach libgcj.object,$+,$(shell echo $(libgcj.object) >>
 libgcj.objectlist))
   	$(libgcj_la_LINK) -objectlist libgcj.objectlist -rpath
 $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
   
   libgcjx.la: $(libgcjx_la_OBJECTS) $(libgcjx_la_DEPENDENCIES)
 
 
 > -----Original Message-----
 > From:	Bryce McKinlay [SMTP:bryce@albatross.co.nz]
 > Sent:	Saturday, 24 March 2001 9:05
 > To:	Billinghurst, David (CRTS)
 > Cc:	bryce@gcc.gnu.org; gcc-prs@gcc.gnu.org
 > Subject:	Re: libgcj/1736
 > 
 > OK, Tom and Oliva thought that might happen.
 > 
 > In Makefile.am, theres a line that says:
 > 
 > ## Create a list of all Java sources, without exceeding any shell limits.
 > 
 > followed by some code that uses a foreach loop to echo the filenames one
 > at a
 > time.
 > 
 > Could you try adapting that code to work for the objectlist case?
 > 
 > regards
 > 
 >   [ bryce ]
 > 


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

* RE: libgcj/1736
@ 2001-03-27  5:16 Billinghurst, David (CRTS)
  0 siblings, 0 replies; 14+ messages in thread
From: Billinghurst, David (CRTS) @ 2001-03-27  5:16 UTC (permalink / raw)
  To: bryce; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: "Billinghurst, David (CRTS)" <David.Billinghurst@riotinto.com>
To: "'Bryce McKinlay'" <bryce@albatross.co.nz>
Cc: "'gcc-gnats@gcc.gnu.org'" <gcc-gnats@gcc.gnu.org>
Subject: RE: libgcj/1736
Date: Mon, 26 Mar 2001 23:59:25 -0000

 Attached is a patch to Makefile.am for this.  It isn't fully tested, as I am
 having autotools problems. However:
 *	it is similar to the existing code
 *	corresponding changes to the Makefile did the right thing and 
 *	I could generate a reasonable Makefile.in.
 
 The change to the libffi_files macro works around a quoting problem.
 
 Unfortunately this just reveals another libtool problem, which I haven't
 looked at yet.  Still, it is progress.
 
 Index: Makefile.am
 ===================================================================
 RCS file: /cvs/gcc/egcs/libjava/Makefile.am,v
 retrieving revision 1.134
 diff -c -r1.134 Makefile.am
 *** Makefile.am	2001/03/23 05:18:16	1.134
 --- Makefile.am	2001/03/26 23:56:11
 ***************
 *** 132,138 ****
   x_javao_files = $(x_java_source_files:.java=.lo)
   
   ## Extract the libffi object file names.
 ! libffi_files = `$(AR) t ../libffi/.libs/libffi.a 2>/dev/null | sed
 's/\.o/\.lo/g' | sed 's/^/..\/libffi\//g'`
   
   libgcj_la_SOURCES = prims.cc posix.cc jni.cc exception.cc \
   	resolve.cc defineclass.cc interpret.cc name-finder.cc \
 --- 132,138 ----
   x_javao_files = $(x_java_source_files:.java=.lo)
   
   ## Extract the libffi object file names.
 ! libffi_files = $shell($(AR) t ../libffi/.libs/libffi.a 2>/dev/null | sed
 's/\.o/\.lo/g' | sed 's/^/..\/libffi\//g')
   
   libgcj_la_SOURCES = prims.cc posix.cc jni.cc exception.cc \
   	resolve.cc defineclass.cc interpret.cc name-finder.cc \
 ***************
 *** 265,272 ****
   ## Pass the list of object files to libtool in a temporary file to 
   ## avoid tripping platform command line length limits.
   libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
 ! 	@echo $(libgcj_la_OBJECTS) > libgcj.objectlist;
 ! 	@echo $(libgcj_la_LIBADD) >> libgcj.objectlist;
   	$(libgcj_la_LINK) -objectlist libgcj.objectlist -rpath
 $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
   
   libgcjx.la: $(libgcjx_la_OBJECTS) $(libgcjx_la_DEPENDENCIES)
 --- 265,273 ----
   ## Pass the list of object files to libtool in a temporary file to 
   ## avoid tripping platform command line length limits.
   libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
 ! 	@:  $(shell echo Creating list of object files ...) \
 ! 	$(shell rm -f libgcj.objectlist || :) \
 ! 	$(foreach libgcj.object,$+,$(shell echo $(libgcj.object) >>
 libgcj.objectlist))
   	$(libgcj_la_LINK) -objectlist libgcj.objectlist -rpath
 $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
   
   libgcjx.la: $(libgcjx_la_OBJECTS) $(libgcjx_la_DEPENDENCIES)
 
 
 > -----Original Message-----
 > From:	Bryce McKinlay [SMTP:bryce@albatross.co.nz]
 > Sent:	Saturday, 24 March 2001 9:05
 > To:	Billinghurst, David (CRTS)
 > Cc:	bryce@gcc.gnu.org; gcc-prs@gcc.gnu.org
 > Subject:	Re: libgcj/1736
 > 
 > OK, Tom and Oliva thought that might happen.
 > 
 > In Makefile.am, theres a line that says:
 > 
 > ## Create a list of all Java sources, without exceeding any shell limits.
 > 
 > followed by some code that uses a foreach loop to echo the filenames one
 > at a
 > time.
 > 
 > Could you try adapting that code to work for the objectlist case?
 > 
 > regards
 > 
 >   [ bryce ]
 > 


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

* RE: libgcj/1736
@ 2001-03-27  4:06 Billinghurst, David (CRTS)
  0 siblings, 0 replies; 14+ messages in thread
From: Billinghurst, David (CRTS) @ 2001-03-27  4:06 UTC (permalink / raw)
  To: bryce; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: "Billinghurst, David (CRTS)" <David.Billinghurst@riotinto.com>
To: "'Bryce McKinlay'" <bryce@albatross.co.nz>
Cc: "'gcc-gnats@gcc.gnu.org'" <gcc-gnats@gcc.gnu.org>
Subject: RE: libgcj/1736
Date: Mon, 26 Mar 2001 23:59:25 -0000

 Attached is a patch to Makefile.am for this.  It isn't fully tested, as I am
 having autotools problems. However:
 *	it is similar to the existing code
 *	corresponding changes to the Makefile did the right thing and 
 *	I could generate a reasonable Makefile.in.
 
 The change to the libffi_files macro works around a quoting problem.
 
 Unfortunately this just reveals another libtool problem, which I haven't
 looked at yet.  Still, it is progress.
 
 Index: Makefile.am
 ===================================================================
 RCS file: /cvs/gcc/egcs/libjava/Makefile.am,v
 retrieving revision 1.134
 diff -c -r1.134 Makefile.am
 *** Makefile.am	2001/03/23 05:18:16	1.134
 --- Makefile.am	2001/03/26 23:56:11
 ***************
 *** 132,138 ****
   x_javao_files = $(x_java_source_files:.java=.lo)
   
   ## Extract the libffi object file names.
 ! libffi_files = `$(AR) t ../libffi/.libs/libffi.a 2>/dev/null | sed
 's/\.o/\.lo/g' | sed 's/^/..\/libffi\//g'`
   
   libgcj_la_SOURCES = prims.cc posix.cc jni.cc exception.cc \
   	resolve.cc defineclass.cc interpret.cc name-finder.cc \
 --- 132,138 ----
   x_javao_files = $(x_java_source_files:.java=.lo)
   
   ## Extract the libffi object file names.
 ! libffi_files = $shell($(AR) t ../libffi/.libs/libffi.a 2>/dev/null | sed
 's/\.o/\.lo/g' | sed 's/^/..\/libffi\//g')
   
   libgcj_la_SOURCES = prims.cc posix.cc jni.cc exception.cc \
   	resolve.cc defineclass.cc interpret.cc name-finder.cc \
 ***************
 *** 265,272 ****
   ## Pass the list of object files to libtool in a temporary file to 
   ## avoid tripping platform command line length limits.
   libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
 ! 	@echo $(libgcj_la_OBJECTS) > libgcj.objectlist;
 ! 	@echo $(libgcj_la_LIBADD) >> libgcj.objectlist;
   	$(libgcj_la_LINK) -objectlist libgcj.objectlist -rpath
 $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
   
   libgcjx.la: $(libgcjx_la_OBJECTS) $(libgcjx_la_DEPENDENCIES)
 --- 265,273 ----
   ## Pass the list of object files to libtool in a temporary file to 
   ## avoid tripping platform command line length limits.
   libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
 ! 	@:  $(shell echo Creating list of object files ...) \
 ! 	$(shell rm -f libgcj.objectlist || :) \
 ! 	$(foreach libgcj.object,$+,$(shell echo $(libgcj.object) >>
 libgcj.objectlist))
   	$(libgcj_la_LINK) -objectlist libgcj.objectlist -rpath
 $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
   
   libgcjx.la: $(libgcjx_la_OBJECTS) $(libgcjx_la_DEPENDENCIES)
 
 
 > -----Original Message-----
 > From:	Bryce McKinlay [SMTP:bryce@albatross.co.nz]
 > Sent:	Saturday, 24 March 2001 9:05
 > To:	Billinghurst, David (CRTS)
 > Cc:	bryce@gcc.gnu.org; gcc-prs@gcc.gnu.org
 > Subject:	Re: libgcj/1736
 > 
 > OK, Tom and Oliva thought that might happen.
 > 
 > In Makefile.am, theres a line that says:
 > 
 > ## Create a list of all Java sources, without exceeding any shell limits.
 > 
 > followed by some code that uses a foreach loop to echo the filenames one
 > at a
 > time.
 > 
 > Could you try adapting that code to work for the objectlist case?
 > 
 > regards
 > 
 >   [ bryce ]
 > 


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

* Re: libgcj/1736
@ 2001-03-26 18:26 Bryce McKinlay
  0 siblings, 0 replies; 14+ messages in thread
From: Bryce McKinlay @ 2001-03-26 18:26 UTC (permalink / raw)
  To: bryce; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: Bryce McKinlay <bryce@albatross.co.nz>
To: "Billinghurst, David (CRTS)" <David.Billinghurst@riotinto.com>
Cc: "'gcc-gnats@gcc.gnu.org'" <gcc-gnats@gcc.gnu.org>
Subject: Re: libgcj/1736
Date: Tue, 27 Mar 2001 14:32:38 +1200

 This is a multi-part message in MIME format.
 --------------66D64A85B340CEDFCCA8D529
 Content-Type: text/plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit
 
 Here's a modified patch that seems to work for me. Its also a bit
 cleaner/simpler IMO, assuming it works for irix as well. Can you try it out?
 
 regards
 
   [ bryce ]
 
 
 
 --------------66D64A85B340CEDFCCA8D529
 Content-Type: text/plain; charset=us-ascii;
  name="libgcj-objectlist-2.patch"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline;
  filename="libgcj-objectlist-2.patch"
 
 2001-03-27  Bryce McKinlay  <bryce@albatross.co.nz>
 	    David Billinghurst  <David.Billinghurst@riotinto.com>
 
 	* Makefile.am (libffi_files): Use $(shell) wrapper instead of back
 	quotes.
 	(libgcj.la): Echo the list of object files one at a time, using a 
 	for loop.
 	(libgcjx.la): Likewise.
 	* Makefile.in: Rebuilt.
 
 Index: Makefile.am
 ===================================================================
 RCS file: /cvs/gcc/gcc/libjava/Makefile.am,v
 retrieving revision 1.129.2.5
 diff -u -r1.129.2.5 Makefile.am
 --- Makefile.am	2001/03/27 00:17:01	1.129.2.5
 +++ Makefile.am	2001/03/27 02:15:01
 @@ -132,7 +132,7 @@
  x_javao_files = $(x_java_source_files:.java=.lo)
  
  ## Extract the libffi object file names.
 -libffi_files = `find ../libffi/ \-name '*.lo'`
 +libffi_files = $(shell find ../libffi/ \-name '*.lo')
  
  libgcj_la_SOURCES = prims.cc posix.cc jni.cc exception.cc \
  	resolve.cc defineclass.cc interpret.cc name-finder.cc \
 @@ -265,13 +265,19 @@
  ## Pass the list of object files to libtool in a temporary file to 
  ## avoid tripping platform command line length limits.
  libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
 -	@echo $(libgcj_la_OBJECTS) > libgcj.objectlist;
 -	@echo $(libgcj_la_LIBADD) >> libgcj.objectlist;
 +	@echo "Creating list of libgcj object files...";
 +	@rm -f libgcj.objectlist;
 +	@for f in $(libgcj_la_OBJECTS) $(libgcj_la_LIBADD); do \
 +	  echo $$f >> libgcj.objectlist; \
 +	done
  	$(libgcj_la_LINK) -objectlist libgcj.objectlist -rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
  
  libgcjx.la: $(libgcjx_la_OBJECTS) $(libgcjx_la_DEPENDENCIES)
 -	@echo $(libgcjx_la_OBJECTS) > libgcjx.objectlist;
 -	@echo $(libgcjx_la_LIBADD) >> libgcjx.objectlist;
 +	@echo "Creating list of libgcjx object files...";
 +	@rm -f libgcjx.objectlist;
 +	@for f in $(libgcjx_la_OBJECTS) $(libgcjx_la_LIBADD); do \
 +	  echo $$f >> libgcjx.objectlist; \
 +	done
  	$(libgcjx_la_LINK) -objectlist libgcjx.objectlist -rpath $(toolexeclibdir) $(libgcjx_la_LDFLAGS) $(LIBS)
  
  
 
 --------------66D64A85B340CEDFCCA8D529--
 


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

* Re: libgcj/1736
@ 2001-03-26 16:56 Bryce McKinlay
  0 siblings, 0 replies; 14+ messages in thread
From: Bryce McKinlay @ 2001-03-26 16:56 UTC (permalink / raw)
  To: bryce; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: Bryce McKinlay <bryce@albatross.co.nz>
To: "Billinghurst, David (CRTS)" <David.Billinghurst@riotinto.com>
Cc: "'gcc-gnats@gcc.gnu.org'" <gcc-gnats@gcc.gnu.org>
Subject: Re: libgcj/1736
Date: Tue, 27 Mar 2001 13:06:16 +1200

 "Billinghurst, David (CRTS)" wrote:
 
 > Attached is a patch to Makefile.am for this.  It isn't fully tested, as I am
 > having autotools problems. However:
 > *       it is similar to the existing code
 > *       corresponding changes to the Makefile did the right thing and
 > *       I could generate a reasonable Makefile.in.
 
 I tried this, and it nearly works, but somehow libgcj.jar and
 libltdl/libltdlc.la are ending up in the objectlist file. I'll investigate...
 
 regards
 
   [ bryce ]
 
 


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

* Re: libgcj/1736
@ 2001-03-26 16:16 Bryce McKinlay
  0 siblings, 0 replies; 14+ messages in thread
From: Bryce McKinlay @ 2001-03-26 16:16 UTC (permalink / raw)
  To: bryce; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: Bryce McKinlay <bryce@albatross.co.nz>
To: "Billinghurst, David (CRTS)" <David.Billinghurst@riotinto.com>
Cc: "'gcc-gnats@gcc.gnu.org'" <gcc-gnats@gcc.gnu.org>
Subject: Re: libgcj/1736
Date: Tue, 27 Mar 2001 12:22:40 +1200

 "Billinghurst, David (CRTS)" wrote:
 
 > Unfortunately this just reveals another libtool problem, which I haven't
 > looked at yet.  Still, it is progress.
 
 If you mean the libffi invalid libtool object thing, I just broke it and am
 testing a fix now...
 
 regards
 
   [ bryce ]
 
 


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

* RE: libgcj/1736
@ 2001-03-26 16:06 Billinghurst, David (CRTS)
  0 siblings, 0 replies; 14+ messages in thread
From: Billinghurst, David (CRTS) @ 2001-03-26 16:06 UTC (permalink / raw)
  To: bryce; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: "Billinghurst, David (CRTS)" <David.Billinghurst@riotinto.com>
To: "'Bryce McKinlay'" <bryce@albatross.co.nz>
Cc: "'gcc-gnats@gcc.gnu.org'" <gcc-gnats@gcc.gnu.org>
Subject: RE: libgcj/1736
Date: Mon, 26 Mar 2001 23:59:25 -0000

 Attached is a patch to Makefile.am for this.  It isn't fully tested, as I am
 having autotools problems. However:
 *	it is similar to the existing code
 *	corresponding changes to the Makefile did the right thing and 
 *	I could generate a reasonable Makefile.in.
 
 The change to the libffi_files macro works around a quoting problem.
 
 Unfortunately this just reveals another libtool problem, which I haven't
 looked at yet.  Still, it is progress.
 
 Index: Makefile.am
 ===================================================================
 RCS file: /cvs/gcc/egcs/libjava/Makefile.am,v
 retrieving revision 1.134
 diff -c -r1.134 Makefile.am
 *** Makefile.am	2001/03/23 05:18:16	1.134
 --- Makefile.am	2001/03/26 23:56:11
 ***************
 *** 132,138 ****
   x_javao_files = $(x_java_source_files:.java=.lo)
   
   ## Extract the libffi object file names.
 ! libffi_files = `$(AR) t ../libffi/.libs/libffi.a 2>/dev/null | sed
 's/\.o/\.lo/g' | sed 's/^/..\/libffi\//g'`
   
   libgcj_la_SOURCES = prims.cc posix.cc jni.cc exception.cc \
   	resolve.cc defineclass.cc interpret.cc name-finder.cc \
 --- 132,138 ----
   x_javao_files = $(x_java_source_files:.java=.lo)
   
   ## Extract the libffi object file names.
 ! libffi_files = $shell($(AR) t ../libffi/.libs/libffi.a 2>/dev/null | sed
 's/\.o/\.lo/g' | sed 's/^/..\/libffi\//g')
   
   libgcj_la_SOURCES = prims.cc posix.cc jni.cc exception.cc \
   	resolve.cc defineclass.cc interpret.cc name-finder.cc \
 ***************
 *** 265,272 ****
   ## Pass the list of object files to libtool in a temporary file to 
   ## avoid tripping platform command line length limits.
   libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
 ! 	@echo $(libgcj_la_OBJECTS) > libgcj.objectlist;
 ! 	@echo $(libgcj_la_LIBADD) >> libgcj.objectlist;
   	$(libgcj_la_LINK) -objectlist libgcj.objectlist -rpath
 $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
   
   libgcjx.la: $(libgcjx_la_OBJECTS) $(libgcjx_la_DEPENDENCIES)
 --- 265,273 ----
   ## Pass the list of object files to libtool in a temporary file to 
   ## avoid tripping platform command line length limits.
   libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
 ! 	@:  $(shell echo Creating list of object files ...) \
 ! 	$(shell rm -f libgcj.objectlist || :) \
 ! 	$(foreach libgcj.object,$+,$(shell echo $(libgcj.object) >>
 libgcj.objectlist))
   	$(libgcj_la_LINK) -objectlist libgcj.objectlist -rpath
 $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
   
   libgcjx.la: $(libgcjx_la_OBJECTS) $(libgcjx_la_DEPENDENCIES)
 
 
 > -----Original Message-----
 > From:	Bryce McKinlay [SMTP:bryce@albatross.co.nz]
 > Sent:	Saturday, 24 March 2001 9:05
 > To:	Billinghurst, David (CRTS)
 > Cc:	bryce@gcc.gnu.org; gcc-prs@gcc.gnu.org
 > Subject:	Re: libgcj/1736
 > 
 > OK, Tom and Oliva thought that might happen.
 > 
 > In Makefile.am, theres a line that says:
 > 
 > ## Create a list of all Java sources, without exceeding any shell limits.
 > 
 > followed by some code that uses a foreach loop to echo the filenames one
 > at a
 > time.
 > 
 > Could you try adapting that code to work for the objectlist case?
 > 
 > regards
 > 
 >   [ bryce ]
 > 


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

* RE: libgcj/1736
@ 2001-03-23  5:16 Billinghurst, David (CRTS)
  0 siblings, 0 replies; 14+ messages in thread
From: Billinghurst, David (CRTS) @ 2001-03-23  5:16 UTC (permalink / raw)
  To: bryce; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: "Billinghurst, David (CRTS)" <David.Billinghurst@riotinto.com>
To: "'bryce@gcc.gnu.org'" <bryce@gcc.gnu.org>, gcc-gnats@gcc.gnu.org,
        nobody@gcc.gnu.org
Cc:  
Subject: RE: libgcj/1736
Date: Fri, 23 Mar 2001 12:44:22 -0000

 Not there yet.  The problem is still in the rule for libgcj.la, but now the
 command line for echo is too long.  (libtool thinks that the maximum command
 line length is 9217.)
 
 I have progressively decomposed the rule to get
 
 libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
 	echo $(libgcj_la_OBJECTS) > libgcj.objectlist
 	echo $(special_java_source_files:.java=.lo)       >>
 libgcj.objectlist
 	echo $(ordinary_java_source_files:.java=.lo)       >>
 libgcj.objectlist
 	echo $(built_java_source_files:.java=.lo)       >> libgcj.objectlist
 	echo $(c_files)           >> libgcj.objectlist
 	echo $(GCOBJS)            >> libgcj.objectlist
 	echo $(LIBLTDL)           >> libgcj.objectlist
 	$(libgcj_la_LINK) -objectlist libgcj.objectlist -rpath
 $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
 
 However $(ordinary_java_source_files:.java=.lo) is still to long.   
 


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

* Re: libgcj/1736
@ 2001-03-22 21:26 bryce
  0 siblings, 0 replies; 14+ messages in thread
From: bryce @ 2001-03-22 21:26 UTC (permalink / raw)
  To: bryce; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: bryce@gcc.gnu.org
To: David.Billinghurst@riotinto.com, bryce@gcc.gnu.org, gcc-gnats@gcc.gnu.org,
  nobody@gcc.gnu.org
Cc:  
Subject: Re: libgcj/1736
Date: 23 Mar 2001 05:24:15 -0000

 Synopsis: [irix 6.5] Cannot create libgcj - Arg list too long
 
 Responsible-Changed-From-To: unassigned->bryce
 Responsible-Changed-By: bryce
 Responsible-Changed-When: Thu Mar 22 21:24:15 2001
 Responsible-Changed-Why:
     I looked at this.
 State-Changed-From-To: open->feedback
 State-Changed-By: bryce
 State-Changed-When: Thu Mar 22 21:24:15 2001
 State-Changed-Why:
     I've checked in an (untested) fix which makes use of the
     new libtool peicewise linking and "-objectlist" features.
     
     Please try it out and let us know if libgcj can now build
     on Irix - Thanks!
 
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=1736&database=gcc


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

* libgcj/1736
@ 2001-03-22 21:26 bryce
  0 siblings, 0 replies; 14+ messages in thread
From: bryce @ 2001-03-22 21:26 UTC (permalink / raw)
  To: bryce; +Cc: gcc-prs

The following reply was made to PR libgcj/1736; it has been noted by GNATS.

From: bryce@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: libgcj/1736
Date: 23 Mar 2001 05:18:16 -0000

 CVSROOT:	/cvs/gcc
 Module name:	egcs
 Changes by:	bryce@gcc.gnu.org	2001-03-22 21:18:16
 
 Modified files:
 	libjava        : Makefile.am Makefile.in ChangeLog 
 
 Log message:
 	Fix for PR libgcj/1736. Thanks to Robert Boehne and Alexandre Oliva
 	for libtool hacking.
 	* Makefile.am (libgcj.la): New explicit rule. Echo the list of objects
 	to a temporary file, then invoke libtool with the -objectlist
 	paramater.
 	(libgcjx.la): Likewise.
 	* Makefile.in: Rebuilt.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/libjava/Makefile.am.diff?cvsroot=gcc&r1=1.133&r2=1.134
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/libjava/Makefile.in.diff?cvsroot=gcc&r1=1.143&r2=1.144
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/libjava/ChangeLog.diff?cvsroot=gcc&r1=1.720&r2=1.721
 


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

end of thread, other threads:[~2001-04-01  0:00 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-04-01  0:00 libgcj/1736 Robert Boehne
  -- strict thread matches above, loose matches on Subject: below --
2001-04-01  0:00 libgcj/1736 Bryce McKinlay
2001-04-01  0:00 libgcj/1736 Alexandre Oliva
2001-03-27 22:26 libgcj/1736 Billinghurst, David (CRTS)
2001-03-27 22:16 libgcj/1736 Billinghurst, David (CRTS)
2001-03-27  5:16 libgcj/1736 Billinghurst, David (CRTS)
2001-03-27  4:06 libgcj/1736 Billinghurst, David (CRTS)
2001-03-26 18:26 libgcj/1736 Bryce McKinlay
2001-03-26 16:56 libgcj/1736 Bryce McKinlay
2001-03-26 16:16 libgcj/1736 Bryce McKinlay
2001-03-26 16:06 libgcj/1736 Billinghurst, David (CRTS)
2001-03-23  5:16 libgcj/1736 Billinghurst, David (CRTS)
2001-03-22 21:26 libgcj/1736 bryce
2001-03-22 21:26 libgcj/1736 bryce

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).