File ffcall-trampoline.patch of Package ffcall

---
 callback/trampoline_r/trampoline.c |    6 ++++++
 trampoline/trampoline.c            |    6 ++++++
 2 files changed, 12 insertions(+)

--- callback/trampoline_r/trampoline.c
+++ callback/trampoline_r/trampoline.c	2017-06-26 08:51:46.787267290 +0000
@@ -83,6 +83,12 @@ extern void (*tramp_r) (); /* trampoline
       #define EXECUTABLE_VIA_MMAP_THEN_MPROTECT
     #elif defined(HAVE_MMAP_SHARED_CAN_EXEC)
       #define EXECUTABLE_VIA_MMAP_FILE_SHARED
+    #elif defined(HAVE_MMAP)
+      /* Use an mmap'ed page. */
+      #define EXECUTABLE_VIA_MMAP
+    #elif defined(HAVE_SHM)
+        /* Use an shmat'ed page. */
+      #define EXECUTABLE_VIA_SHM
     #else
       #error "Don't know how to make memory pages executable."
     #endif
--- trampoline/trampoline.c
+++ trampoline/trampoline.c	2017-06-26 08:50:21.820815116 +0000
@@ -83,6 +83,12 @@ extern void (*tramp) (); /* trampoline p
       #define EXECUTABLE_VIA_MMAP_THEN_MPROTECT
     #elif defined(HAVE_MMAP_SHARED_CAN_EXEC)
       #define EXECUTABLE_VIA_MMAP_FILE_SHARED
+    #elif defined(HAVE_MMAP)
+      /* Use an mmap'ed page. */
+      #define EXECUTABLE_VIA_MMAP
+    #elif defined(HAVE_SHM)
+        /* Use an shmat'ed page. */
+      #define EXECUTABLE_VIA_SHM
     #else
       #error "Don't know how to make memory pages executable."
     #endif
openSUSE Build Service is sponsored by