From 9e2da5f62a35ec814b4f58e2c849006344a21c44 Mon Sep 17 00:00:00 2001 From: thorpej Date: Wed, 27 Oct 2021 05:18:51 +0000 Subject: [PATCH] The stupid CPP has proven me too clever by half. --- sys/arch/vax/include/signal.h | 7 +++++- sys/sys/signal.h | 46 ++++++++++++++++++----------------- 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/sys/arch/vax/include/signal.h b/sys/arch/vax/include/signal.h index 1faadee683e9..d0f949288c74 100644 --- a/sys/arch/vax/include/signal.h +++ b/sys/arch/vax/include/signal.h @@ -1,4 +1,4 @@ -/* $NetBSD: signal.h,v 1.20 2021/10/27 04:10:48 thorpej Exp $ */ +/* $NetBSD: signal.h,v 1.21 2021/10/27 05:18:51 thorpej Exp $ */ /* * Copyright (c) 1982, 1986, 1989, 1991 Regents of the University of California. @@ -42,6 +42,11 @@ /* VAX versioned its sigcontext trampoline ABI (Sept 2002). */ #define __SIGTRAMP_SIGCONTEXT_VERSION_MAX 2 +#define __SIGTRAMP_SIGCONTEXT_VERSION 2 + +#define __SIGTRAMP_SIGINFO_VERSION_MIN 3 +#define __SIGTRAMP_SIGINFO_VERSION_MAX 3 +#define __SIGTRAMP_SIGINFO_VERSION 3 typedef int sig_atomic_t; diff --git a/sys/sys/signal.h b/sys/sys/signal.h index 3d3711b6f3e6..e08febd34ea6 100644 --- a/sys/sys/signal.h +++ b/sys/sys/signal.h @@ -1,4 +1,4 @@ -/* $NetBSD: signal.h,v 1.73 2021/10/27 04:10:47 thorpej Exp $ */ +/* $NetBSD: signal.h,v 1.74 2021/10/27 05:18:51 thorpej Exp $ */ /* * Copyright (c) 1982, 1986, 1989, 1991, 1993 @@ -163,21 +163,21 @@ struct sigaction { * style handlers pre-dates support for the platform. * * Some architectures have, in the past, needed to version the "sigcontext" - * trampoline; an override mechanism (__SIGTRAMP_SIGCONTEXT_VERSION_MAX) is - * provided for this purpose. No more changes to the old "sigcontext" - * trampoline ABI will ever be performed, and support for it should not be - * included when adding support for new architectures. Those architectures - * that support the "sigcontext" trampoline must define - * __HAVE_STRUCT_SIGCONTEXT in . If a 64-bit architecture - * needs to support "sigcontext" trampolines only for 32-bit compatibility, - * then __HAVE_STRUCT_SIGCONTEXT can be conditional on _KERNEL. + * trampoline; an override mechanism is provided for this purpose. No more + * changes to the old "sigcontext" trampoline ABI will ever be performed, + * and support for it should not be included when adding support for new + * architectures. Those architectures that support the "sigcontext" + * trampoline must define __HAVE_STRUCT_SIGCONTEXT in . + * If a 64-bit architecture needs to support "sigcontext" trampolines only + * for 32-bit compatibility, then __HAVE_STRUCT_SIGCONTEXT can be conditional + * on _KERNEL. * * If an architecture defines a sigcontext structure in , * it should be visible only for _KERNEL and _LIBC. * * In the unlikely event that an an architecture needs to version - * the "siginfo" trampoline, it can achieve this by overriding - * __SIGTRAMP_SIGINFO_VERSION_MAX. + * the "siginfo" trampoline, it can achieve this by overriding the + * various __SIGTRAMP_SIGINFO_VERSION-related constants. */ #include /* sigcontext; codes for SIGILL, SIGFPE */ @@ -187,31 +187,33 @@ struct sigaction { #define __SIGTRAMP_SIGCONTEXT_VERSION_MIN 1 #ifndef __SIGTRAMP_SIGCONTEXT_VERSION_MAX -#define __SIGTRAMP_SIGCONTEXT_VERSION_MAX __SIGTRAMP_SIGCONTEXT_VERSION_MIN +#define __SIGTRAMP_SIGCONTEXT_VERSION_MAX 1 +#endif + +#ifndef __SIGTRAMP_SIGCONTEXT_VERSION +#define __SIGTRAMP_SIGCONTEXT_VERSION 1 #endif #if __SIGTRAMP_SIGCONTEXT_VERSION_MAX < __SIGTRAMP_SIGCONTEXT_VERSION_MIN #error invalid __SIGTRAMP_SIGCONTEXT_VERSION_MAX #endif -#define __SIGTRAMP_SIGINFO_VERSION_MIN (__SIGTRAMP_SIGCONTEXT_VERSION_MAX + 1) +#ifndef __SIGTRAMP_SIGINFO_VERSION_MIN +#define __SIGTRAMP_SIGINFO_VERSION_MIN 2 +#endif #ifndef __SIGTRAMP_SIGINFO_VERSION_MAX -#define __SIGTRAMP_SIGINFO_VERSION_MAX __SIGTRAMP_SIGINFO_VERSION_MIN +#define __SIGTRAMP_SIGINFO_VERSION_MAX 2 +#endif + +#ifndef __SIGTRAMP_SIGINFO_VERSION +#define __SIGTRAMP_SIGINFO_VERSION 2 #endif #if __SIGTRAMP_SIGINFO_VERSION_MAX < __SIGTRAMP_SIGINFO_VERSION_MIN #error invalid __SIGTRAMP_SIGINFO_VERSION_MAX #endif -#ifndef __SIGTRAMP_SIGCONTEXT_VERSION -#define __SIGTRAMP_SIGCONTEXT_VERSION __SIGTRAMP_SIGCONTEXT_VERSION_MAX -#endif - -#ifndef __SIGTRAMP_SIGINFO_VERSION -#define __SIGTRAMP_SIGINFO_VERSION __SIGTRAMP_SIGINFO_VERSION_MAX -#endif - #if (defined(_XOPEN_SOURCE) && defined(_XOPEN_SOURCE_EXTENDED)) || \ (_XOPEN_SOURCE - 0) >= 500 || defined(_NETBSD_SOURCE) #define SA_ONSTACK 0x0001 /* take signal on signal stack */