summaryrefslogtreecommitdiff
path: root/dev-lang/ocaml/files
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/ocaml/files')
-rw-r--r--dev-lang/ocaml/files/ocaml-4.11.2-cflags.patch42
-rw-r--r--dev-lang/ocaml/files/ocaml-4.11.2-glibc-2.34.patch91
2 files changed, 0 insertions, 133 deletions
diff --git a/dev-lang/ocaml/files/ocaml-4.11.2-cflags.patch b/dev-lang/ocaml/files/ocaml-4.11.2-cflags.patch
deleted file mode 100644
index 7adb1ea0768d..000000000000
--- a/dev-lang/ocaml/files/ocaml-4.11.2-cflags.patch
+++ /dev/null
@@ -1,42 +0,0 @@
---- a/runtime/Makefile
-+++ b/runtime/Makefile
-@@ -335,7 +335,7 @@
- # (without the extension, which is added by the macro)
- define COMPILE_C_FILE
- $(1).$(O): %.c
-- $$(CC) -c $$(OC_CFLAGS) $$(OC_CPPFLAGS) $$(OUTPUTOBJ)$$@ $$<
-+ $$(CC) -c $$(OC_CFLAGS) $(CFLAGS) $$(OC_CPPFLAGS) $$(OUTPUTOBJ)$$@ $$<
- endef
-
- object_types := % %_b %_bd %_bi %_bpic %_n %_nd %_ni %_np %_npic
---- a/otherlibs/Makefile.otherlibs.common
-+++ b/otherlibs/Makefile.otherlibs.common
-@@ -138,4 +138,4 @@
- $(CAMLOPT) -c $(COMPFLAGS) $(OPTCOMPFLAGS) $<
-
- .c.$(O):
-- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
-+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
---- a/otherlibs/systhreads/Makefile
-+++ b/otherlibs/systhreads/Makefile
-@@ -102,10 +102,10 @@
- st_stubs_n.$(O): OC_CPPFLAGS += $(NATIVE_CPPFLAGS)
-
- st_stubs_b.$(O): st_stubs.c $(HEADER)
-- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
-+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
-
- st_stubs_n.$(O): st_stubs.c $(HEADER)
-- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
-+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
-
- partialclean:
- rm -f *.cm*
---- a/Makefile.common.in
-+++ b/Makefile.common.in
-@@ -79,4 +79,4 @@
- # general (it supports both .o and .obj)
-
- %.$(O): %.c
-- $(CC) -c $(OC_CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
-+ $(CC) -c $(OC_CFLAGS) $(CFLAGS) $(OC_CPPFLAGS) $(OUTPUTOBJ)$@ $<
diff --git a/dev-lang/ocaml/files/ocaml-4.11.2-glibc-2.34.patch b/dev-lang/ocaml/files/ocaml-4.11.2-glibc-2.34.patch
deleted file mode 100644
index 22cbb806e6ea..000000000000
--- a/dev-lang/ocaml/files/ocaml-4.11.2-glibc-2.34.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-https://gitlab.com/redhat/centos-stream/rpms/ocaml/-/raw/c9s/0006-Dynamically-allocate-the-alternate-signal-stack-1026.patch
-https://bugs.gentoo.org/804498
-
-From 24a9db7784ddfcf0af2d2be2f51616ed960ae7e8 Mon Sep 17 00:00:00 2001
-From: Xavier Leroy <xavierleroy@users.noreply.github.com>
-Date: Fri, 5 Mar 2021 19:14:07 +0100
-Subject: [PATCH 6/6] Dynamically allocate the alternate signal stack (#10266)
-
-In Glibc 2.34 and later, SIGSTKSZ may not be a compile-time constant.
-It is no longer possible to statically allocate the alternate signal
-stack for the main thread, as we've been doing for the last 25 years.
-
-This commit implements dynamic allocation of the alternate signal stack
-even for the main thread. It reuses the code already in place to allocate
-the alternate signal stack for other threads.
-
-Fixes: #10250.
-(cherry picked from commit fc9534746bf5d08a4c109f22e344cf49d5d46d54)
---- a/runtime/caml/signals.h
-+++ b/runtime/caml/signals.h
-@@ -82,7 +82,7 @@ void caml_set_action_pending (void);
- value caml_do_pending_actions_exn (void);
- value caml_process_pending_actions_with_root (value extra_root); // raises
- int caml_set_signal_action(int signo, int action);
--void caml_setup_stack_overflow_detection(void);
-+CAMLextern int caml_setup_stack_overflow_detection(void);
-
- CAMLextern void (*caml_enter_blocking_section_hook)(void);
- CAMLextern void (*caml_leave_blocking_section_hook)(void);
---- a/runtime/signals_byt.c
-+++ b/runtime/signals_byt.c
-@@ -86,4 +86,4 @@ int caml_set_signal_action(int signo, int action)
- return 0;
- }
-
--void caml_setup_stack_overflow_detection(void) {}
-+CAMLexport int caml_setup_stack_overflow_detection(void) { return 0; }
---- a/runtime/signals_nat.c
-+++ b/runtime/signals_nat.c
-@@ -195,8 +195,6 @@ DECLARE_SIGNAL_HANDLER(trap_handler)
- #error "CONTEXT_SP is required if HAS_STACK_OVERFLOW_DETECTION is defined"
- #endif
-
--static char sig_alt_stack[SIGSTKSZ];
--
- /* Code compiled with ocamlopt never accesses more than
- EXTRA_STACK bytes below the stack pointer. */
- #define EXTRA_STACK 256
-@@ -282,28 +280,33 @@ void caml_init_signals(void)
- #endif
-
- #ifdef HAS_STACK_OVERFLOW_DETECTION
-- {
-- stack_t stk;
-+ if (caml_setup_stack_overflow_detection() != -1) {
- struct sigaction act;
-- stk.ss_sp = sig_alt_stack;
-- stk.ss_size = SIGSTKSZ;
-- stk.ss_flags = 0;
- SET_SIGACT(act, segv_handler);
- act.sa_flags |= SA_ONSTACK | SA_NODEFER;
- sigemptyset(&act.sa_mask);
-- if (sigaltstack(&stk, NULL) == 0) { sigaction(SIGSEGV, &act, NULL); }
-+ sigaction(SIGSEGV, &act, NULL);
- }
- #endif
- }
-
--void caml_setup_stack_overflow_detection(void)
-+/* Allocate and select an alternate stack for handling signals,
-+ especially SIGSEGV signals.
-+ Each thread needs its own alternate stack.
-+ The alternate stack used to be statically-allocated for the main thread,
-+ but this is incompatible with Glibc 2.34 and newer, where SIGSTKSZ
-+ may not be a compile-time constant (issue #10250). */
-+
-+CAMLexport int caml_setup_stack_overflow_detection(void)
- {
- #ifdef HAS_STACK_OVERFLOW_DETECTION
- stack_t stk;
- stk.ss_sp = malloc(SIGSTKSZ);
-+ if (stk.ss_sp == NULL) return -1;
- stk.ss_size = SIGSTKSZ;
- stk.ss_flags = 0;
-- if (stk.ss_sp)
-- sigaltstack(&stk, NULL);
-+ return sigaltstack(&stk, NULL);
-+#else
-+ return 0;
- #endif
- }