re PR bootstrap/20155 (libgcj build fails with "execvp: /bin/sh: Argument list too...
authorRoger Sayle <roger@eyesopen.com>
Sat, 5 Mar 2005 16:32:59 +0000 (16:32 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Sat, 5 Mar 2005 16:32:59 +0000 (16:32 +0000)
2005-03-05  Roger Sayle  <roger@eyesopen.com>
    Alexandre Oliva  <aoliva@redhat.com>
    Kelley Cook  <kcook@gcc.gnu.org>

PR libgcj/20155
* Makefile.am (libgcj0_convenience.la): New rule to create a file
of the object files to link to avoid exceeding the command line
length limits on some platforms.
(clean-local): Clean up objectlist files.
* Makefile.in: Regenerate.

Co-Authored-By: Alexandre Oliva <aoliva@redhat.com>
Co-Authored-By: Kelley Cook <kcook@gcc.gnu.org>
From-SVN: r95934

libjava/ChangeLog
libjava/Makefile.am
libjava/Makefile.in

index c3be31043265137c5f5ba8d0d4d40b7be285a757..713fb89b2b5763c1cfbe17b94fe6f0175a484b0d 100644 (file)
@@ -1,3 +1,14 @@
+2005-03-05  Roger Sayle  <roger@eyesopen.com>
+           Alexandre Oliva  <aoliva@redhat.com>
+           Kelley Cook  <kcook@gcc.gnu.org>
+
+       PR libgcj/20155
+       * Makefile.am (libgcj0_convenience.la): New rule to create a file
+       of the object files to link to avoid exceeding the command line
+       length limits on some platforms.
+       (clean-local): Clean up objectlist files.
+       * Makefile.in: Regenerate.
+
 2005-03-05  Andreas Tobler  <a.tobler@schweiz.ch>
 
        * java/lang/dtoa.c (_dtoa_r): Initialize variables ilim, ilim1 and
index cd6f0b3aa6479f390f9cb9765c25d7ae56650cda..44e1b34377ca2d9a20a336395bc9169ab8a3270b 100644 (file)
@@ -226,6 +226,9 @@ libgcj0_convenience_la_SOURCES = prims.cc jni.cc exception.cc \
        $(POSIX_PLATFORM_SRC) $(WIN32_PLATFORM_SRC) $(ECOS_PLATFORM_SRC) \
        $(DARWIN_CRT_SRC) \
        $(POSIX_THREAD_SRC) $(WIN32_THREAD_SRC) $(NO_THREAD_SRC)
+libgcj0_convenience_la_LDFLAGS = 
+libgcj0_convenience_la_LIBADD =
+libgcj0_convenience_la_LINK = $(LIBLINK)
 noinst_LTLIBRARIES = libgcj0_convenience.la
 
 libgcj_la_SOURCES =
@@ -577,6 +580,8 @@ mostlyclean-local:
 clean-local:
 ## Remove every .class file that was created.
        find . -name '*.class' -print | xargs rm -f
+## Remove every .objectlist file that was created.
+       find . -name '*.objectlist' -print | xargs rm -f
 
 distclean-local:
 ## Remove every .d file that was created.
@@ -611,6 +616,16 @@ libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
        $(libgcj_la_LIBADD) \
        -rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
 
+## Pass the list of object files to libtool in a temporary file to
+## avoid tripping platform command line length limits.
+libgcj0_convenience.la: $(libgcj0_convenience_la_OBJECTS) $(libgcj0_convenience_la_DEPENDENCIES)
+       @echo Creating list of files to link...
+       @: $(call write_entries_to_file,$(libgcj0_convenience_la_OBJECTS),libgcj0_convenience.objectlist)
+       $(libgcj0_convenience_la_LINK) \
+       -objectlist libgcj0_convenience.objectlist \
+       $(libgcj0_convenience_la_LIBADD) \
+       -rpath $(toolexeclibdir) $(libgcj0_convenience_la_LDFLAGS) $(LIBS)
+
 lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPENDENCIES)
        @echo Creating list of files to link...
        @: $(call write_entries_to_file,$(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_LIBADD),lib_gnu_awt_xlib.objectlist)
index 4e114c7dc97ada1aa4f67e1d9180400fb099a22b..86285aa39ca110317da4700058b2242809a9981c 100644 (file)
@@ -329,7 +329,7 @@ am__DEPENDENCIES_2 = gnu/regexp/MessagesBundle.properties.lo \
 am__DEPENDENCIES_3 = $(am__DEPENDENCIES_2)
 am_libgcj_la_OBJECTS =
 libgcj_la_OBJECTS = $(am_libgcj_la_OBJECTS)
-libgcj0_convenience_la_LIBADD =
+libgcj0_convenience_la_DEPENDENCIES =
 am__libgcj0_convenience_la_SOURCES_DIST = prims.cc jni.cc exception.cc \
        link.cc defineclass.cc interpret.cc verify.cc \
        gnu/gcj/natCore.cc gnu/gcj/convert/JIS0208_to_Unicode.cc \
@@ -5173,6 +5173,9 @@ libgcj0_convenience_la_SOURCES = prims.cc jni.cc exception.cc \
        $(DARWIN_CRT_SRC) \
        $(POSIX_THREAD_SRC) $(WIN32_THREAD_SRC) $(NO_THREAD_SRC)
 
+libgcj0_convenience_la_LDFLAGS = 
+libgcj0_convenience_la_LIBADD = 
+libgcj0_convenience_la_LINK = $(LIBLINK)
 noinst_LTLIBRARIES = libgcj0_convenience.la
 libgcj_la_SOURCES = 
 nat_files = $(nat_source_files:.cc=.lo)
@@ -16144,8 +16147,6 @@ sysdep/$(DEPDIR)/$(am__dirstamp):
        @: > sysdep/$(DEPDIR)/$(am__dirstamp)
 sysdep/dwarf2-backtrace.lo: sysdep/$(am__dirstamp) \
        sysdep/$(DEPDIR)/$(am__dirstamp)
-libgcj0_convenience.la: $(libgcj0_convenience_la_OBJECTS) $(libgcj0_convenience_la_DEPENDENCIES) 
-       $(GCJLINK)  $(libgcj0_convenience_la_LDFLAGS) $(libgcj0_convenience_la_OBJECTS) $(libgcj0_convenience_la_LIBADD) $(LIBS)
 libgij.la: $(libgij_la_OBJECTS) $(libgij_la_DEPENDENCIES) 
        $(CXXLINK) -rpath $(toolexeclibdir) $(libgij_la_LDFLAGS) $(libgij_la_OBJECTS) $(libgij_la_LIBADD) $(LIBS)
 libjawt.la: $(libjawt_la_OBJECTS) $(libjawt_la_DEPENDENCIES) 
@@ -26669,6 +26670,7 @@ mostlyclean-local:
 
 clean-local:
        find . -name '*.class' -print | xargs rm -f
+       find . -name '*.objectlist' -print | xargs rm -f
 
 distclean-local:
        find . -name '*.d' -print | xargs rm -f
@@ -26693,6 +26695,14 @@ libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
        $(libgcj_la_LIBADD) \
        -rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
 
+libgcj0_convenience.la: $(libgcj0_convenience_la_OBJECTS) $(libgcj0_convenience_la_DEPENDENCIES)
+       @echo Creating list of files to link...
+       @: $(call write_entries_to_file,$(libgcj0_convenience_la_OBJECTS),libgcj0_convenience.objectlist)
+       $(libgcj0_convenience_la_LINK) \
+       -objectlist libgcj0_convenience.objectlist \
+       $(libgcj0_convenience_la_LIBADD) \
+       -rpath $(toolexeclibdir) $(libgcj0_convenience_la_LDFLAGS) $(LIBS)
+
 lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPENDENCIES)
        @echo Creating list of files to link...
        @: $(call write_entries_to_file,$(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_LIBADD),lib_gnu_awt_xlib.objectlist)