[PATCH v2] Linux: Add missing si_code constants from Linux kernel

Thiago Jung Bauermann thiago.bauermann@linaro.org
Thu Sep 4 02:26:21 GMT 2025


This brings the si_codes listed in siginfo-consts.h up-to-date with
Linux v6.16's include/uapi/asm-generic/siginfo.h.

Tested on aarch64-linux-gnu and x86_64-linux-gnu.

Suggested-by: Carlos O'Donell <carlos@redhat.com>
---

Change in v2:
- Surrounded enum of SIGSYS s_codes with #ifdef __USE_GNU, as suggested
  by Carlos to fix the conform failures in signal.h and wait.h.

 sysdeps/unix/sysv/linux/bits/siginfo-consts.h | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/sysdeps/unix/sysv/linux/bits/siginfo-consts.h b/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
index fd38bb3147f7..4ce88aef304b 100644
--- a/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
+++ b/sysdeps/unix/sysv/linux/bits/siginfo-consts.h
@@ -168,8 +168,10 @@ enum
 #  define TRAP_BRANCH	TRAP_BRANCH
   TRAP_HWBKPT,			/* Hardware breakpoint/watchpoint.  */
 #  define TRAP_HWBKPT	TRAP_HWBKPT
-  TRAP_UNK			/* Undiagnosed trap.  */
+  TRAP_UNK,			/* Undiagnosed trap.  */
 #  define TRAP_UNK	TRAP_UNK
+  TRAP_PERF			/* Perf event with sigtrap=1.  */
+#  define TRAP_PERF	TRAP_PERF
 };
 # endif
 
@@ -209,6 +211,18 @@ enum
 };
 # endif
 
+/* The Linux-specific SIGSYS values are all considered GNU extensions.  */
+#ifdef __USE_GNU
+/* `si_code' values for SIGSYS signal.  */
+enum
+{
+  SYS_SECCOMP = 1,		/* Seccomp triggered.  */
+#  define SYS_SECCOMP	SYS_SECCOMP
+  SYS_USER_DISPATCH			/* Syscall user dispatch triggered.  */
+#  define SYS_USER_DISPATCH	SYS_USER_DISPATCH
+};
+#endif
+
 /* Architectures might also add architecture-specific constants.
    These are all considered GNU extensions.  */
 #ifdef __USE_GNU


More information about the Libc-alpha mailing list