The gcj compiler needs to pass -no_pie for linkage on darwin11 due to the new
-pie
default of the linker. The attached patch accomplishes this by passing -no_pie
on SYSTEMSPEC
for *-*-darwin[12]*. Since Darwin10 supports -no_pie in its linker, I included
it in the
triplet match to simplify the syntax. Bootstrap and tested on
x86_64-apple-darwin11.
Okay for gcc trunk with PR added to comment as requested?
Jack
ps This change also works for gcc-4_6-branch in concert with a backport of
r175089 and r175108.
2011-06-17 Jack Howarth <[email protected]>
PR target/49461
* libjava/configure.ac (SYSTEMSPEC): Pass -no_pie for darwin11.
* libjava/configure: Regenerate.
Index: libjava/configure.ac
===================================================================
--- libjava/configure.ac (revision 175131)
+++ libjava/configure.ac (working copy)
@@ -898,9 +898,12 @@ case "${host}" in
SYSTEMSPEC="-lunicows $SYSTEMSPEC"
fi
;;
- *-*-darwin[[912]]*)
+ *-*-darwin9*)
SYSTEMSPEC="%{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}"
;;
+ *-*-darwin[[12]]*)
+ SYSTEMSPEC="-no_pie %{!Zdynamiclib:%{!Zbundle:-allow_stack_execute}}"
+ ;;
*)
SYSTEMSPEC=
;;