aboutsummaryrefslogtreecommitdiffstats
path: root/community/erlang/0070-hipe_x86_signal-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'community/erlang/0070-hipe_x86_signal-fix.patch')
-rw-r--r--community/erlang/0070-hipe_x86_signal-fix.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/community/erlang/0070-hipe_x86_signal-fix.patch b/community/erlang/0070-hipe_x86_signal-fix.patch
new file mode 100644
index 0000000000..728d47da55
--- /dev/null
+++ b/community/erlang/0070-hipe_x86_signal-fix.patch
@@ -0,0 +1,21 @@
+--- otp_src_18.1-orig/erts/emulator/hipe/hipe_x86_signal.c
++++ otp_src_18.1-fixed/erts/emulator/hipe/hipe_x86_signal.c
+@@ -221,16 +221,15 @@
+ #include <dlfcn.h>
+ static int (*__next_sigaction)(int, const struct sigaction*, struct sigaction*);
+ #define init_done() (__next_sigaction != 0)
+-#define __SIGACTION _sigaction
++#define __SIGACTION __sigaction
+ static void do_init(void)
+ {
+- __next_sigaction = dlsym(RTLD_NEXT, "_sigaction");
++ __next_sigaction = dlsym(RTLD_NEXT, "__sigaction");
+ if (__next_sigaction != 0)
+ return;
+ perror("dlsym");
+ abort();
+ }
+-#define _NSIG NSIG
+ #define INIT() do { if (!init_done()) do_init(); } while (0)
+ #endif /* not glibc or darwin */
+