This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Use libgcj_convenience.la ( Re: libjava bootstrap failure on sparc-sun-solaris2.8)


On Tue, Jun 04, 2002 at 04:42:43PM -0600, Tom Tromey wrote:
> >>>>> "H.J." == H J Lu <hjl@lucon.org> writes:
> 
> H.J.> 	* Makefile.am (libgcj_convenience.la): New target.
> H.J.> 	(libgcj.la): Depend on libgcj_convenience.la.
> H.J.> 	* Makefile.in: Regenerated.
> 
> H.J.>  ## Pass the list of object files to libtool in a temporary file to 
> H.J.>  ## avoid tripping platform command line length limits.
> H.J.> -libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
> H.J.> +libgcj_convenience.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
> 
> Assuming this actually helps, please add a comment here explaining why
> libgcj_convenience.la exists.  Otherwise we won't remember it later
> on.  With that change, this is ok.  Thanks.
> 

Here is the patch I checked in.


H.J.
---
2002-06-04  H.J. Lu  (hjl@gnu.org)

	* Makefile.am (libgcj_convenience.la): New target.
	(libgcj.la): Depend on libgcj_convenience.la.
	* Makefile.in: Regenerated.

--- libjava/Makefile.am.link	Sun May 19 21:49:47 2002
+++ libjava/Makefile.am	Tue Jun  4 15:37:25 2002
@@ -239,10 +239,16 @@ $(javao_files) $(x_javao_files): %.lo: %
 	$(GCJCOMPILE) -o $@ $<
 
 ## 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)
+## avoid tripping platform command line length limits. We also use
+# libgcj_convenience.la to avoid creating a long linker command line
+# which causes problems on some OSes and makes it almost impossible to
+# debug the linker under a debugger.
+libgcj_convenience.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
 	@: $(shell echo Creating list of files to link...) $(shell rm -f libgcj.objectlist || :) $(shell touch libgcj.objectlist) $(foreach object,$(libgcj_la_OBJECTS) $(libgcj_la_LIBADD),$(shell echo $(object) >> libgcj.objectlist))
-	$(libgcj_la_LINK) -objectlist libgcj.objectlist \
+	$(libgcj_la_LINK) -objectlist libgcj.objectlist
+
+libgcj.la: libgcj_convenience.la
+	$(libgcj_la_LINK) libgcj_convenience.la \
 	@GCLIBS@ @LIBFFI@ @ZLIBS@ \
 	-rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]