Commit 5e93cc704d127c2c8ae7f5d2cef621145d43e777

aph 2009-06-16T17:41:47

2009-06-16 Andreas Tobler <a.tobler@schweiz.org> PR libffi/40444 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add allow_stack_execute for Darwin.

diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index 8c8d792..8275975 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,9 @@
+2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
+
+	PR libffi/40444
+	* testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
+	allow_stack_execute for Darwin.
+
 2009-06-16  Andrew Haley  <aph@redhat.com>
 
 	* configure.ac (TARGETDIR): Add missing blank lines.
diff --git a/libffi/testsuite/lib/libffi-dg.exp b/libffi/testsuite/lib/libffi-dg.exp
index 226893d..2f5e2f5 100644
--- a/libffi/testsuite/lib/libffi-dg.exp
+++ b/libffi/testsuite/lib/libffi-dg.exp
@@ -181,6 +181,13 @@ proc libffi_target_compile { source dest type options } {
     lappend options "additional_flags=-I${libffi_include} -I${srcdir}/../include  -I${libffi_include}/.."
     lappend options "additional_flags=${libffi_link_flags}"
 
+    # Darwin needs a stack execution allowed flag.
+
+    if { [istarget "*-*-darwin9*"] || [istarget "*-*-darwin1*"]
+	 || [istarget "*-*-darwin2*"] } {
+	lappend options "additional_flags=-Wl,-allow_stack_execute"
+    }
+
     # If you're building the compiler with --prefix set to a place
     # where it's not yet installed, then the linker won't be able to
     # find the libgcc used by libffi.dylib.  We could pass the