This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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)