From: Bryce McKinlay <bmckinlay@gmail.com>
To: Andrew Haley <aph@redhat.com>
Cc: Jack Howarth <howarth@bromo.med.uc.edu>,
"Boehm, Hans" <hans.boehm@hp.com>, borlum <thomas@borlum.dk>,
"java@gcc.gnu.org" <java@gcc.gnu.org>
Subject: Re: [patch] Fix oddity in personality routine
Date: Fri, 04 Dec 2009 15:57:00 -0000 [thread overview]
Message-ID: <7230133d0912040757n40546648qc03220c72b2a9e5d@mail.gmail.com> (raw)
In-Reply-To: <4B192F33.8000607@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 406 bytes --]
On Fri, Dec 4, 2009 at 3:48 PM, Andrew Haley <aph@redhat.com> wrote:
> Yes, which is why I suggested you use SYSTEMSPEC. (Twice now, I think. :-)
>
> SYSTEMSPEC should pass that flag to everything liked with gcj.
Jack,
Here's a patch that adds the allow_stack_execute flag to SYSTEMSPEC as
suggested by Andrew.
It does not fix the problem with ecj, but I agree it's a good idea.
Bryce
[-- Attachment #2: libgcj-darwin-systemspec.patch --]
[-- Type: application/octet-stream, Size: 11812 bytes --]
Index: Makefile.in
===================================================================
--- Makefile.in (revision 154954)
+++ 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@
@@ -8500,8 +8499,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 154954)
+++ 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: configure
===================================================================
--- configure (revision 154954)
+++ configure (working copy)
@@ -843,7 +843,6 @@
LIBGCJTESTSPEC
LIBSTDCXXSPEC
extra_ldflags
-extra_gij_ldflags
extra_ldflags_libjava
X_EXTRA_LIBS
X_LIBS
@@ -7511,13 +7510,13 @@
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:7514: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:7513: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:7517: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:7516: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:7520: output\"" >&5)
+ (eval echo "\"\$as_me:7519: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -8712,7 +8711,7 @@
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 8715 "configure"' > conftest.$ac_ext
+ echo '#line 8714 "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -10646,11 +10645,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:10649: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:10648: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:10653: \$? = $ac_status" >&5
+ echo "$as_me:10652: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -10985,11 +10984,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:10988: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:10987: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:10992: \$? = $ac_status" >&5
+ echo "$as_me:10991: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -11090,11 +11089,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:11093: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:11092: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:11097: \$? = $ac_status" >&5
+ echo "$as_me:11096: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -11145,11 +11144,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:11148: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:11147: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:11152: \$? = $ac_status" >&5
+ echo "$as_me:11151: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -13554,7 +13553,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 13557 "configure"
+#line 13556 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -13650,7 +13649,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 13653 "configure"
+#line 13652 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15612,11 +15611,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15615: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15614: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:15619: \$? = $ac_status" >&5
+ echo "$as_me:15618: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -15711,11 +15710,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15714: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15713: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:15718: \$? = $ac_status" >&5
+ echo "$as_me:15717: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -15763,11 +15762,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15766: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15765: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:15770: \$? = $ac_status" >&5
+ echo "$as_me:15769: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -17179,11 +17178,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17182: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17181: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:17186: \$? = $ac_status" >&5
+ echo "$as_me:17185: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -17512,11 +17511,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17515: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17514: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:17519: \$? = $ac_status" >&5
+ echo "$as_me:17518: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -17611,11 +17610,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17614: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17613: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:17618: \$? = $ac_status" >&5
+ echo "$as_me:17617: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -17663,11 +17662,11 @@
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:17666: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:17665: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:17670: \$? = $ac_status" >&5
+ echo "$as_me:17669: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -19265,7 +19264,7 @@
enableval=$enable_sjlj_exceptions; :
else
cat > conftest.$ac_ext << EOF
-#line 19268 "configure"
+#line 19267 "configure"
struct S { ~S(); };
void bar();
void foo()
@@ -19595,6 +19594,9 @@
SYSTEMSPEC="-lunicows $SYSTEMSPEC"
fi
;;
+ *-*-darwin[912]*)
+ SYSTEMSPEC="-allow_stack_execute"
+ ;;
*)
SYSTEMSPEC=
;;
@@ -20346,9 +20348,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
@@ -20367,7 +20366,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: Makefile.am
===================================================================
--- Makefile.am (revision 154954)
+++ 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
next prev parent reply other threads:[~2009-12-04 15:57 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-13 17:49 Eric Botcazou
2009-11-13 17:57 ` Andrew Haley
2009-11-13 18:36 ` Jack Howarth
2009-11-13 18:39 ` Andrew Haley
2009-11-13 19:18 ` Jack Howarth
2009-11-15 23:02 ` Bryce McKinlay
2009-11-16 14:22 ` Jack Howarth
2009-11-16 15:12 ` Jack Howarth
2009-11-16 15:17 ` Andrew Haley
2009-11-16 15:34 ` Jack Howarth
2009-11-16 16:59 ` Andrew Haley
2009-11-16 18:07 ` Jack Howarth
2009-11-16 19:10 ` Andrew Haley
2009-11-16 19:48 ` Jack Howarth
2009-11-17 0:48 ` Jack Howarth
2009-11-17 10:59 ` Andrew Haley
2009-11-17 14:05 ` Jack Howarth
2009-11-17 14:56 ` Andrew Haley
2009-11-17 16:18 ` Jack Howarth
2009-11-17 16:22 ` Andrew Haley
2009-11-17 17:07 ` Jack Howarth
2009-11-17 17:14 ` Andrew Haley
2009-11-17 17:38 ` Jack Howarth
2009-11-27 10:37 ` borlum
2009-11-27 10:40 ` Andrew Haley
2009-11-27 10:52 ` borlum
2009-11-27 14:20 ` Bryce McKinlay
2009-11-27 16:29 ` Jack Howarth
2009-11-27 21:51 ` Jack Howarth
2009-11-28 10:43 ` Andrew Haley
2009-11-29 17:48 ` Jack Howarth
2009-11-29 18:01 ` Andrew Haley
2009-11-29 18:48 ` Jack Howarth
2009-11-30 10:09 ` Andrew Haley
2009-11-30 16:01 ` Jack Howarth
2009-11-30 16:07 ` Andrew Haley
2009-12-01 5:02 ` Jack Howarth
2009-12-01 9:30 ` Andrew Haley
2009-12-01 17:04 ` Jack Howarth
2009-12-01 17:24 ` Andrew Haley
2009-12-01 23:29 ` Jack Howarth
2009-12-02 9:34 ` Andrew Haley
2009-12-03 1:08 ` Jack Howarth
2009-12-03 10:26 ` Andrew Haley
2009-12-03 14:03 ` Jack Howarth
2009-12-03 14:10 ` Andrew Haley
2009-12-03 19:18 ` Boehm, Hans
2009-12-03 21:25 ` Andrew Haley
2009-12-04 3:01 ` Jack Howarth
2009-12-04 9:45 ` Andrew Haley
2009-12-04 4:12 ` Jack Howarth
2009-12-04 9:44 ` Andrew Haley
2009-12-04 14:51 ` Jack Howarth
2009-12-04 14:59 ` Andrew Haley
2009-12-04 15:23 ` Jack Howarth
2009-12-04 15:48 ` Andrew Haley
2009-12-04 15:57 ` Bryce McKinlay [this message]
2009-12-05 4:37 ` Jack Howarth
2009-12-05 6:54 ` Jack Howarth
2009-12-04 15:59 ` Jack Howarth
2009-12-04 16:06 ` Andrew Haley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7230133d0912040757n40546648qc03220c72b2a9e5d@mail.gmail.com \
--to=bmckinlay@gmail.com \
--cc=aph@redhat.com \
--cc=hans.boehm@hp.com \
--cc=howarth@bromo.med.uc.edu \
--cc=java@gcc.gnu.org \
--cc=thomas@borlum.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).