diff --git a/lang/sbcl/files/patch-src_runtime_bsd-os.c b/lang/sbcl/files/patch-src_runtime_bsd-os.c index a602974be9e2..3bdafd457b51 100644 --- a/lang/sbcl/files/patch-src_runtime_bsd-os.c +++ b/lang/sbcl/files/patch-src_runtime_bsd-os.c @@ -1,42 +1,15 @@ -commit c76381656baeee9bdeddd899cb595c2b45294597 -Author: Dimitry Andric -Date: 2023-05-29 19:50:57 +0200 - - lang/sbcl: fix build with clang 16 - - Clang 16 has a new error about incompatible function types, which shows - up when building lang/sbcl: - - bsd-os.c:285:50: error: incompatible function pointer types passing '__siginfohandler_t *' (aka 'void (*)(int, struct __siginfo *, void *)') to parameter of type 'interrupt_handler_t' (aka 'void (*)(int, struct __siginfo *, struct __ucontext *)') [-Wincompatible-function-pointer-types] - (__siginfohandler_t *) - ^~~~~~~~~~~~~~~~~~~~~~ - ./interrupt.h:123:64: note: passing argument to parameter 'handler' here - extern void ll_install_handler(int signal, interrupt_handler_t handler); - ^ - - Indeed the __siginfohandler_t type is incompatible, but that is caused - by the cast itself, which does not seem to be good for anything. Remove - it, so the mismatch is gone. - -diff --git a/lang/sbcl/files/patch-src_runtime_bsd-os.c b/lang/sbcl/files/patch-src_runtime_bsd-os.c -new file mode 100644 -index 000000000000..3faf2f345709 ---- /dev/null -+++ b/lang/sbcl/files/patch-src_runtime_bsd-os.c -@@ -0,0 +1,15 @@ -+--- src/runtime/bsd-os.c.orig 2023-04-30 08:33:10 UTC -++++ src/runtime/bsd-os.c -+@@ -280,11 +280,7 @@ os_install_interrupt_handlers(void) -+ os_install_interrupt_handlers(void) -+ { -+ if (INSTALL_SIG_MEMORY_FAULT_HANDLER) { -+- ll_install_handler(SIG_MEMORY_FAULT, -+-#if defined(LISP_FEATURE_FREEBSD) && !defined(__GLIBC__) -+- (__siginfohandler_t *) -+-#endif -+- memory_fault_handler); -++ ll_install_handler(SIG_MEMORY_FAULT, memory_fault_handler); -+ -+ #ifdef LISP_FEATURE_DARWIN -+ /* Unmapped pages get this and not SIGBUS. */ - +--- src/runtime/bsd-os.c.orig 2023-05-28 10:34:18 UTC ++++ src/runtime/bsd-os.c +@@ -283,11 +283,7 @@ os_install_interrupt_handlers(void) + os_install_interrupt_handlers(void) + { + if (INSTALL_SIG_MEMORY_FAULT_HANDLER) { +- ll_install_handler(SIG_MEMORY_FAULT, +-#if defined(LISP_FEATURE_FREEBSD) && !defined(__GLIBC__) +- (__siginfohandler_t *) +-#endif +- memory_fault_handler); ++ ll_install_handler(SIG_MEMORY_FAULT, memory_fault_handler); + + #ifdef LISP_FEATURE_DARWIN + /* Unmapped pages get this and not SIGBUS. */