really 3.0.9rc12
This commit is contained in:
@@ -1,51 +0,0 @@
|
||||
--- src/closures.c
|
||||
+++ src/closures.c
|
||||
@@ -50,11 +50,6 @@
|
||||
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
|
||||
@@ -214,6 +209,8 @@
|
||||
|
||||
#if !(defined(X86_WIN32) || defined(X86_WIN64)) || defined (__CYGWIN__)
|
||||
|
||||
+#if FFI_MMAP_EXEC_SELINUX
|
||||
+
|
||||
/* A mutex used to synchronize access to *exec* variables in this file. */
|
||||
static pthread_mutex_t open_temp_exec_file_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
@@ -483,6 +480,27 @@
|
||||
return dlmmap_locked (start, length, prot, flags, offset);
|
||||
}
|
||||
|
||||
+#else
|
||||
+
|
||||
+static void *
|
||||
+dlmmap (void *start, size_t length, int prot,
|
||||
+ int flags, int fd, off_t offset)
|
||||
+{
|
||||
+
|
||||
+ assert (start == NULL && length % malloc_getpagesize == 0
|
||||
+ && prot == (PROT_READ | PROT_WRITE)
|
||||
+ && flags == (MAP_PRIVATE | MAP_ANONYMOUS)
|
||||
+ && fd == -1 && offset == 0);
|
||||
+
|
||||
+#if FFI_CLOSURE_TEST
|
||||
+ printf ("mapping in %zi\n", length);
|
||||
+#endif
|
||||
+
|
||||
+ return mmap (start, length, prot | PROT_EXEC, flags, fd, offset);
|
||||
+}
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
/* Release memory at the given address, as well as the corresponding
|
||||
executable page if it's separate. */
|
||||
static int
|
||||
@@ -1,18 +0,0 @@
|
||||
--- src/powerpc/ffi.c
|
||||
+++ src/powerpc/ffi.c
|
||||
@@ -186,6 +187,7 @@
|
||||
{
|
||||
*next_arg.f = (float) double_tmp;
|
||||
next_arg.u += 1;
|
||||
+ intarg_count++;
|
||||
}
|
||||
else
|
||||
*fpr_base.d++ = double_tmp;
|
||||
@@ -1224,6 +1227,7 @@
|
||||
{
|
||||
avalue[i] = pst;
|
||||
pst += 4;
|
||||
+ ng = 8;
|
||||
}
|
||||
break;
|
||||
}
|
||||
Reference in New Issue
Block a user