[libc-commits] [libc] [libc] add SIG_HOLD for linux/gpu (PR #165007)
Connector Switch via libc-commits
libc-commits at lists.llvm.org
Fri Oct 24 20:09:23 PDT 2025
https://github.com/c8ef updated https://github.com/llvm/llvm-project/pull/165007
>From 5dbd97dbd10c9c10cfe53dde792b5d992a47fb1c Mon Sep 17 00:00:00 2001
From: c8ef <c8ef at outlook.com>
Date: Sat, 25 Oct 2025 00:08:18 +0800
Subject: [PATCH 1/2] [libc] add SIG_HOLD for linux/gpu
---
libc/include/llvm-libc-macros/gpu/signal-macros.h | 7 ++++---
libc/include/llvm-libc-macros/linux/signal-macros.h | 7 ++++---
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/libc/include/llvm-libc-macros/gpu/signal-macros.h b/libc/include/llvm-libc-macros/gpu/signal-macros.h
index f0d49ea34fe0e..4c458b7c2000e 100644
--- a/libc/include/llvm-libc-macros/gpu/signal-macros.h
+++ b/libc/include/llvm-libc-macros/gpu/signal-macros.h
@@ -16,9 +16,10 @@
#define SIGSEGV 11
#define SIGTERM 15
-#define SIG_DFL ((void (*)(int))(0))
-#define SIG_IGN ((void (*)(int))(1))
-#define SIG_ERR ((void (*)(int))(-1))
+#define SIG_ERR __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), -1)
+#define SIG_DFL __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), 0)
+#define SIG_IGN __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), 1)
+#define SIG_HOLD __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), 2)
// Max signal number
#define NSIG 64
diff --git a/libc/include/llvm-libc-macros/linux/signal-macros.h b/libc/include/llvm-libc-macros/linux/signal-macros.h
index d220241a38206..a010adef272d4 100644
--- a/libc/include/llvm-libc-macros/linux/signal-macros.h
+++ b/libc/include/llvm-libc-macros/linux/signal-macros.h
@@ -86,9 +86,10 @@
#error "Signal stack sizes not defined for your platform."
#endif
-#define SIG_DFL ((void (*)(int))0)
-#define SIG_IGN ((void (*)(int))1)
-#define SIG_ERR ((void (*)(int))(-1))
+#define SIG_ERR __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), -1)
+#define SIG_DFL __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), 0)
+#define SIG_IGN __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), 1)
+#define SIG_HOLD __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), 2)
// SIGCHLD si_codes
#define CLD_EXITED 1 // child has exited
>From 8e601f870b5a414a1897f46b602d112bdbbf7970 Mon Sep 17 00:00:00 2001
From: c8ef <c8ef at outlook.com>
Date: Sat, 25 Oct 2025 11:09:11 +0800
Subject: [PATCH 2/2] fix header
---
libc/include/llvm-libc-macros/gpu/signal-macros.h | 10 ++++++----
libc/include/llvm-libc-macros/linux/signal-macros.h | 10 ++++++----
2 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/libc/include/llvm-libc-macros/gpu/signal-macros.h b/libc/include/llvm-libc-macros/gpu/signal-macros.h
index 4c458b7c2000e..76488e9796fc4 100644
--- a/libc/include/llvm-libc-macros/gpu/signal-macros.h
+++ b/libc/include/llvm-libc-macros/gpu/signal-macros.h
@@ -9,6 +9,8 @@
#ifndef LLVM_LIBC_MACROS_GPU_SIGNAL_MACROS_H
#define LLVM_LIBC_MACROS_GPU_SIGNAL_MACROS_H
+#include "__llvm-libc-common.h"
+
#define SIGINT 2
#define SIGILL 4
#define SIGABRT 6
@@ -16,10 +18,10 @@
#define SIGSEGV 11
#define SIGTERM 15
-#define SIG_ERR __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), -1)
-#define SIG_DFL __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), 0)
-#define SIG_IGN __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), 1)
-#define SIG_HOLD __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), 2)
+#define SIG_ERR __LLVM_LIBC_CAST(reinterpret_cast, void (*)(int), -1)
+#define SIG_DFL __LLVM_LIBC_CAST(reinterpret_cast, void (*)(int), 0)
+#define SIG_IGN __LLVM_LIBC_CAST(reinterpret_cast, void (*)(int), 1)
+#define SIG_HOLD __LLVM_LIBC_CAST(reinterpret_cast, void (*)(int), 2)
// Max signal number
#define NSIG 64
diff --git a/libc/include/llvm-libc-macros/linux/signal-macros.h b/libc/include/llvm-libc-macros/linux/signal-macros.h
index a010adef272d4..e7f268df87cba 100644
--- a/libc/include/llvm-libc-macros/linux/signal-macros.h
+++ b/libc/include/llvm-libc-macros/linux/signal-macros.h
@@ -9,6 +9,8 @@
#ifndef LLVM_LIBC_MACROS_LINUX_SIGNAL_MACROS_H
#define LLVM_LIBC_MACROS_LINUX_SIGNAL_MACROS_H
+#include "__llvm-libc-common.h"
+
#define SIGHUP 1
#define SIGINT 2
#define SIGQUIT 3
@@ -86,10 +88,10 @@
#error "Signal stack sizes not defined for your platform."
#endif
-#define SIG_ERR __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), -1)
-#define SIG_DFL __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), 0)
-#define SIG_IGN __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), 1)
-#define SIG_HOLD __LLVM_LIBC_CAST(reinterpret_cast, (void (*)(int)), 2)
+#define SIG_ERR __LLVM_LIBC_CAST(reinterpret_cast, void (*)(int), -1)
+#define SIG_DFL __LLVM_LIBC_CAST(reinterpret_cast, void (*)(int), 0)
+#define SIG_IGN __LLVM_LIBC_CAST(reinterpret_cast, void (*)(int), 1)
+#define SIG_HOLD __LLVM_LIBC_CAST(reinterpret_cast, void (*)(int), 2)
// SIGCHLD si_codes
#define CLD_EXITED 1 // child has exited
More information about the libc-commits
mailing list