public inbox for java@gcc.gnu.org
 help / color / mirror / Atom feed
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

  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).