summaryrefslogtreecommitdiff
path: root/libffi/src/closures.c
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2009-12-10 10:09:17 +0000
committerRainer Orth <ro@gcc.gnu.org>2009-12-10 10:09:17 +0000
commitdcb00f2e8e70792f01931899d0084682cdfd167b (patch)
treecedc3dd866ec0e6cef9c80c0ac58b2854ac5f139 /libffi/src/closures.c
parent6b2231910767d2819899bfba467c2307f92b802e (diff)
downloadgcc-dcb00f2e8e70792f01931899d0084682cdfd167b.tar.gz
re PR libffi/40700 (All amd64 libffi execution tests fail on Solaris 10/x86)
PR libffi/40700 * src/closures.c [X86_64 && __sun__ && __svr4__] (FFI_MMAP_EXEC_WRIT): Define. From-SVN: r155124
Diffstat (limited to 'libffi/src/closures.c')
-rw-r--r--libffi/src/closures.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libffi/src/closures.c b/libffi/src/closures.c
index f07ad06bf33..48cb41567a9 100644
--- a/libffi/src/closures.c
+++ b/libffi/src/closures.c
@@ -1,6 +1,6 @@
/* -----------------------------------------------------------------------
closures.c - Copyright (c) 2007 Red Hat, Inc.
- Copyright (C) 2007 Free Software Foundation, Inc
+ Copyright (C) 2007, 2009 Free Software Foundation, Inc
Code to allocate and deallocate memory for closures.
@@ -50,6 +50,11 @@
executable memory. */
# define FFI_MMAP_EXEC_WRIT 1
# endif
+# if defined(X86_64) && defined(__sun__) && defined(__svr4__)
+/* The data segment on 64-bit Solaris/x86 isn't executable, so use mmap
+ instead. */
+# define FFI_MMAP_EXEC_WRIT 1
+# endif
#endif
#if FFI_MMAP_EXEC_WRIT && !defined FFI_MMAP_EXEC_SELINUX