From: Bryce McKinlay Date: Wed, 9 Dec 2009 18:45:13 +0000 (+0000) Subject: re PR java/41991 (gcj segfaults on i686-apple-darwin9 and x86_64-apple-darwin9) X-Git-Tag: releases/gcc-4.5.0~1722 X-Git-Url: https://gcc.gnu.org/git/?a=commitdiff_plain;h=5df19a915e5519446f457d5be782066f178da12d;p=gcc.git re PR java/41991 (gcj segfaults on i686-apple-darwin9 and x86_64-apple-darwin9) 2009-12-09 Bryce McKinlay PR java/41991 * configure.ac (SYSTEMSPEC): Pass -allow_stack_execute to Darwin linker. * Makefile.am (gij_LDFLAGS): Remove extra_gij_ldflags. * configure: Regenerate. * Makefile.in: Regenerate. From-SVN: r155113 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 22e2bf58442e..632d66a93e57 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,12 @@ +2009-12-09 Bryce McKinlay + + PR java/41991 + * configure.ac (SYSTEMSPEC): Pass -allow_stack_execute to Darwin + linker. + * Makefile.am (gij_LDFLAGS): Remove extra_gij_ldflags. + * configure: Regenerate. + * Makefile.in: Regenerate. + 2009-12-08 Eric Botcazou * configure.host (sparc*-sun-solaris2.*): New case. diff --git a/libjava/Makefile.am b/libjava/Makefile.am index 3c0423e64f88..f1076845c723 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -1065,8 +1065,7 @@ gij_SOURCES = ## need this because we are explicitly using libtool to link using the ## `.la' file. gij_LDFLAGS = -rpath $(dbexecdir) -rpath $(toolexeclibdir) \ - -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags) \ - $(extra_gij_ldflags) + -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags) gij_LINK = $(GCJLINK) $(gij_LDFLAGS) ## See jv_convert_LDADD. gij_LDADD = -L$(here)/.libs libgij.la diff --git a/libjava/Makefile.in b/libjava/Makefile.in index 5216364502df..188b055bf066 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -819,7 +819,6 @@ dbexecdir = @dbexecdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ -extra_gij_ldflags = @extra_gij_ldflags@ extra_ldflags = @extra_ldflags@ extra_ldflags_libjava = @extra_ldflags_libjava@ $(am__append_9) gcc_suffix = @gcc_suffix@ @@ -8499,8 +8498,7 @@ gc_analyze_DEPENDENCIES = libgcj-tools.la libgcj.la libgcj.spec \ $(am__append_28) gij_SOURCES = gij_LDFLAGS = -rpath $(dbexecdir) -rpath $(toolexeclibdir) \ - -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags) \ - $(extra_gij_ldflags) + -shared-libgcc $(THREADLDFLAGS) $(extra_ldflags) gij_LINK = $(GCJLINK) $(gij_LDFLAGS) gij_LDADD = -L$(here)/.libs libgij.la diff --git a/libjava/configure b/libjava/configure index 9c1e00ac2ba4..1a7d625c96da 100755 --- a/libjava/configure +++ b/libjava/configure @@ -704,7 +704,6 @@ GCLIBS LIBGCJTESTSPEC LIBSTDCXXSPEC extra_ldflags -extra_gij_ldflags extra_ldflags_libjava X_EXTRA_LIBS X_LIBS @@ -13245,7 +13244,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 13248 "configure" +#line 13247 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -13351,7 +13350,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 13354 "configure" +#line 13353 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -19216,7 +19215,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then : enableval=$enable_sjlj_exceptions; : else cat > conftest.$ac_ext << EOF -#line 19219 "configure" +#line 19218 "configure" struct S { ~S(); }; void bar(); void foo() @@ -19546,6 +19545,9 @@ case "${host}" in SYSTEMSPEC="-lunicows $SYSTEMSPEC" fi ;; + *-*-darwin[912]*) + SYSTEMSPEC="-allow_stack_execute" + ;; *) SYSTEMSPEC= ;; @@ -20297,9 +20299,6 @@ case "${host}" in # on Darwin -single_module speeds up loading of the dynamic libraries. extra_ldflags_libjava=-Wl,-single_module ;; -*-*-darwin[912]*) - extra_gij_ldflags=-Wl,-allow_stack_execute - ;; arm*linux*eabi) # Some of the ARM unwinder code is actually in libstdc++. We # could in principle replicate it in libgcj, but it's better to @@ -20318,7 +20317,6 @@ esac - # Allow the GC to be disabled. Can be useful when debugging. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for garbage collector to use" >&5 $as_echo_n "checking for garbage collector to use... " >&6; } diff --git a/libjava/configure.ac b/libjava/configure.ac index 42c84ec611e2..d8cb6103fea0 100644 --- a/libjava/configure.ac +++ b/libjava/configure.ac @@ -889,6 +889,9 @@ case "${host}" in SYSTEMSPEC="-lunicows $SYSTEMSPEC" fi ;; + *-*-darwin[[912]]*) + SYSTEMSPEC="-allow_stack_execute" + ;; *) SYSTEMSPEC= ;; @@ -919,9 +922,6 @@ case "${host}" in # on Darwin -single_module speeds up loading of the dynamic libraries. extra_ldflags_libjava=-Wl,-single_module ;; -*-*-darwin[[912]]*) - extra_gij_ldflags=-Wl,-allow_stack_execute - ;; arm*linux*eabi) # Some of the ARM unwinder code is actually in libstdc++. We # could in principle replicate it in libgcj, but it's better to @@ -935,7 +935,6 @@ arm*linux*eabi) ;; esac AC_SUBST(extra_ldflags_libjava) -AC_SUBST(extra_gij_ldflags) AC_SUBST(extra_ldflags) AC_SUBST(LIBSTDCXXSPEC) diff --git a/libjava/gcj/Makefile.in b/libjava/gcj/Makefile.in index 4132f706ff5f..55524392d985 100644 --- a/libjava/gcj/Makefile.in +++ b/libjava/gcj/Makefile.in @@ -283,7 +283,6 @@ dbexecdir = @dbexecdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ -extra_gij_ldflags = @extra_gij_ldflags@ extra_ldflags = @extra_ldflags@ extra_ldflags_libjava = @extra_ldflags_libjava@ gcc_suffix = @gcc_suffix@ diff --git a/libjava/include/Makefile.in b/libjava/include/Makefile.in index 04b2ca8052d8..539dd01f1880 100644 --- a/libjava/include/Makefile.in +++ b/libjava/include/Makefile.in @@ -283,7 +283,6 @@ dbexecdir = @dbexecdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ -extra_gij_ldflags = @extra_gij_ldflags@ extra_ldflags = @extra_ldflags@ extra_ldflags_libjava = @extra_ldflags_libjava@ gcc_suffix = @gcc_suffix@ diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in index 60af961657a5..5086016cfaf2 100644 --- a/libjava/testsuite/Makefile.in +++ b/libjava/testsuite/Makefile.in @@ -258,7 +258,6 @@ dbexecdir = @dbexecdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ -extra_gij_ldflags = @extra_gij_ldflags@ extra_ldflags = @extra_ldflags@ extra_ldflags_libjava = @extra_ldflags_libjava@ gcc_suffix = @gcc_suffix@