summaryrefslogtreecommitdiff
path: root/libffi
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
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')
-rw-r--r--libffi/ChangeLog6
-rw-r--r--libffi/src/closures.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/libffi/ChangeLog b/libffi/ChangeLog
index 950b7fd43fe..029735f49bd 100644
--- a/libffi/ChangeLog
+++ b/libffi/ChangeLog
@@ -1,3 +1,9 @@
+2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libffi/40700
+ * src/closures.c [X86_64 && __sun__ && __svr4__]
+ (FFI_MMAP_EXEC_WRIT): Define.
+
2009-12-08 David Daney <ddaney@caviumnetworks.com>
* testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
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