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