* FYI Patch: java/41991: Use -allow_stack_execute on Darwin
@ 2009-12-09 18:55 Bryce McKinlay
0 siblings, 0 replies; only message in thread
From: Bryce McKinlay @ 2009-12-09 18:55 UTC (permalink / raw)
To: Jack Howarth; +Cc: java, java-patches
[-- Attachment #1: Type: text/plain, Size: 916 bytes --]
On Sat, Dec 5, 2009 at 6:54 AM, Jack Howarth <howarth@bromo.med.uc.edu> wrote:
> Bryce,
> Your patch eliminates the crashes in gcj completely for gcc trunk
> on x86_64-apple-darwin9 if I also regress out r154282 and r154283
> so that the FSF libgcc's unwinder is used again. So we are starting
> to peel the layers off of the problem. Your patch definitely should
> go into gcc trunk and gcc 4.4 branch (where it will be immediately
> useful on darwin9 since the libgcc_ext changes don't exist there).
Thanks for testing, Jack. I have checked this patch in to both trunk
and 4.4 branch.
2009-12-09 Bryce McKinlay <bmckinlay@gmail.com>
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.
Bryce
[-- Attachment #2: libjava-darwin-stack.patch --]
[-- Type: application/octet-stream, Size: 5694 bytes --]
Index: Makefile.in
===================================================================
--- Makefile.in (revision 155110)
+++ Makefile.in (working copy)
@@ -819,7 +819,6 @@
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 @@
$(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
Index: configure.ac
===================================================================
--- configure.ac (revision 155110)
+++ configure.ac (working copy)
@@ -889,6 +889,9 @@
SYSTEMSPEC="-lunicows $SYSTEMSPEC"
fi
;;
+ *-*-darwin[[912]]*)
+ SYSTEMSPEC="-allow_stack_execute"
+ ;;
*)
SYSTEMSPEC=
;;
@@ -919,9 +922,6 @@
# 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 @@
;;
esac
AC_SUBST(extra_ldflags_libjava)
-AC_SUBST(extra_gij_ldflags)
AC_SUBST(extra_ldflags)
AC_SUBST(LIBSTDCXXSPEC)
Index: include/Makefile.in
===================================================================
--- include/Makefile.in (revision 155110)
+++ include/Makefile.in (working copy)
@@ -283,7 +283,6 @@
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@
Index: ChangeLog
===================================================================
--- ChangeLog (revision 155110)
+++ ChangeLog (working copy)
@@ -1,3 +1,12 @@
+2009-12-09 Bryce McKinlay <bmckinlay@gmail.com>
+
+ 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 <ebotcazou@adacore.com>
* configure.host (sparc*-sun-solaris2.*): New case.
Index: testsuite/Makefile.in
===================================================================
--- testsuite/Makefile.in (revision 155110)
+++ testsuite/Makefile.in (working copy)
@@ -258,7 +258,6 @@
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@
Index: configure
===================================================================
--- configure (revision 155110)
+++ configure (working copy)
@@ -704,7 +704,6 @@
LIBGCJTESTSPEC
LIBSTDCXXSPEC
extra_ldflags
-extra_gij_ldflags
extra_ldflags_libjava
X_EXTRA_LIBS
X_LIBS
@@ -13245,7 +13244,7 @@
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 @@
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 @@
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 @@
SYSTEMSPEC="-lunicows $SYSTEMSPEC"
fi
;;
+ *-*-darwin[912]*)
+ SYSTEMSPEC="-allow_stack_execute"
+ ;;
*)
SYSTEMSPEC=
;;
@@ -20297,9 +20299,6 @@
# 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 @@
-
# 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; }
Index: gcj/Makefile.in
===================================================================
--- gcj/Makefile.in (revision 155110)
+++ gcj/Makefile.in (working copy)
@@ -283,7 +283,6 @@
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@
Index: Makefile.am
===================================================================
--- Makefile.am (revision 155110)
+++ Makefile.am (working copy)
@@ -1065,8 +1065,7 @@
## 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
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2009-12-09 18:55 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-09 18:55 FYI Patch: java/41991: Use -allow_stack_execute on Darwin Bryce McKinlay
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).