summaryrefslogtreecommitdiff
path: root/libffi/src
diff options
context:
space:
mode:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2009-12-10 10:09:17 +0000
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2009-12-10 10:09:17 +0000
commit4f2e543b64c3127ecf1848c1a4266848472c537a (patch)
treecedc3dd866ec0e6cef9c80c0ac58b2854ac5f139 /libffi/src
parent584093b1aed85fc56046919b682a7d9dd61be423 (diff)
downloadgcc-4f2e543b64c3127ecf1848c1a4266848472c537a.tar.gz
PR libffi/40700
* src/closures.c [X86_64 && __sun__ && __svr4__] (FFI_MMAP_EXEC_WRIT): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155124 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libffi/src')
-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