From 60b92d702890eae310fddaf1dac424743ce5292b Mon Sep 17 00:00:00 2001 From: Roger Sayle Date: Sat, 5 Mar 2005 16:32:59 +0000 Subject: [PATCH] re PR bootstrap/20155 (libgcj build fails with "execvp: /bin/sh: Argument list too long") 2005-03-05 Roger Sayle Alexandre Oliva Kelley Cook 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 Co-Authored-By: Kelley Cook From-SVN: r95934 --- libjava/ChangeLog | 11 +++++++++++ libjava/Makefile.am | 15 +++++++++++++++ libjava/Makefile.in | 16 +++++++++++++--- 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index c3be3104326..713fb89b2b5 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,14 @@ +2005-03-05 Roger Sayle + Alexandre Oliva + Kelley Cook + + 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 * java/lang/dtoa.c (_dtoa_r): Initialize variables ilim, ilim1 and diff --git a/libjava/Makefile.am b/libjava/Makefile.am index cd6f0b3aa64..44e1b34377c 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -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) diff --git a/libjava/Makefile.in b/libjava/Makefile.in index 4e114c7dc97..86285aa39ca 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -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) -- 2.30.2