Module Name:    src
Committed By:   thorpej
Date:           Tue Nov  2 06:54:10 UTC 2021

Modified Files:
        src/lib/libc/compat/arch/powerpc64/sys: compat_missing.c
        src/lib/libc/compat/include: signal.h
        src/sys/external/bsd/compiler_rt/dist/lib/interception:
            interception_linux.cc
        src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common:
            sanitizer_platform_limits_netbsd.h
            sanitizer_signal_interceptors.inc

Log Message:
Adjust for new __sigaction_siginfo symbol.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 \
    src/lib/libc/compat/arch/powerpc64/sys/compat_missing.c
cvs rdiff -u -r1.2 -r1.3 src/lib/libc/compat/include/signal.h
cvs rdiff -u -r1.1.1.1 -r1.2 \
    src/sys/external/bsd/compiler_rt/dist/lib/interception/interception_linux.cc
cvs rdiff -u -r1.4 -r1.5 \
    
src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
cvs rdiff -u -r1.1.1.1 -r1.2 \
    
src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_signal_interceptors.inc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/compat/arch/powerpc64/sys/compat_missing.c
diff -u src/lib/libc/compat/arch/powerpc64/sys/compat_missing.c:1.1 src/lib/libc/compat/arch/powerpc64/sys/compat_missing.c:1.2
--- src/lib/libc/compat/arch/powerpc64/sys/compat_missing.c:1.1	Sun Sep 20 20:14:50 2020
+++ src/lib/libc/compat/arch/powerpc64/sys/compat_missing.c	Tue Nov  2 06:54:10 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: compat_missing.c,v 1.1 2020/09/20 20:14:50 christos Exp $	*/
+/*	$NetBSD: compat_missing.c,v 1.2 2021/11/02 06:54:10 thorpej Exp $	*/
 
 /*-
  * Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: compat_missing.c,v 1.1 2020/09/20 20:14:50 christos Exp $");
+__RCSID("$NetBSD: compat_missing.c,v 1.2 2021/11/02 06:54:10 thorpej Exp $");
 
 /*
  * define symbols that autoconf is supposed to find
@@ -50,14 +50,14 @@ __warn_references(sigsuspend,
 
 int sigaction(int, const struct sigaction * restrict,
     struct sigaction * restrict);
-int __sigaction14(int, const struct sigaction * restrict,
+int __sigaction_siginfo(int, const struct sigaction * restrict,
     struct sigaction * restrict);
 
 int
 sigaction(int sig, const struct sigaction * restrict act,
     struct sigaction * restrict oact)
 {
-	return __sigaction14(sig, act, oact);
+	return __sigaction_siginfo(sig, act, oact);
 }
 
 int sigpending(sigset_t *);

Index: src/lib/libc/compat/include/signal.h
diff -u src/lib/libc/compat/include/signal.h:1.2 src/lib/libc/compat/include/signal.h:1.3
--- src/lib/libc/compat/include/signal.h:1.2	Sun Jan 11 02:46:25 2009
+++ src/lib/libc/compat/include/signal.h	Tue Nov  2 06:54:10 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: signal.h,v 1.2 2009/01/11 02:46:25 christos Exp $	*/
+/*	$NetBSD: signal.h,v 1.3 2021/11/02 06:54:10 thorpej Exp $	*/
 
 /*-
  * Copyright (c) 1991, 1993
@@ -39,7 +39,7 @@
 __BEGIN_DECLS
 int	sigaction(int, const struct sigaction13 * __restrict,
     struct sigaction13 * __restrict);
-int	__sigaction14(int, const struct sigaction * __restrict,
+int	__sigaction_siginfo(int, const struct sigaction * __restrict,
     struct sigaction * __restrict);
 int	sigaddset(sigset13_t *, int);
 int	__sigaddset14(sigset_t *, int);

Index: src/sys/external/bsd/compiler_rt/dist/lib/interception/interception_linux.cc
diff -u src/sys/external/bsd/compiler_rt/dist/lib/interception/interception_linux.cc:1.1.1.1 src/sys/external/bsd/compiler_rt/dist/lib/interception/interception_linux.cc:1.2
--- src/sys/external/bsd/compiler_rt/dist/lib/interception/interception_linux.cc:1.1.1.1	Tue Jan  8 05:40:32 2019
+++ src/sys/external/bsd/compiler_rt/dist/lib/interception/interception_linux.cc	Tue Nov  2 06:54:10 2021
@@ -28,7 +28,8 @@ bool GetRealFunctionAddress(const char *
     uptr real, uptr wrapper) {
 #if SANITIZER_NETBSD
   // XXX: Find a better way to handle renames
-  if (internal_strcmp(func_name, "sigaction") == 0) func_name = "__sigaction14";
+  // XXX: Do we have to handle the old __sigaction14 name here too?
+  if (internal_strcmp(func_name, "sigaction") == 0) func_name = "__sigaction_siginfo";
 #endif
   *func_addr = (uptr)dlsym(RTLD_NEXT, func_name);
   if (!*func_addr) {

Index: src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
diff -u src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h:1.4 src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h:1.5
--- src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h:1.4	Tue Dec 24 19:51:00 2019
+++ src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h	Tue Nov  2 06:54:10 2021
@@ -2384,7 +2384,8 @@ struct __sanitizer_cdbw {
   COMPILER_CHECK(offsetof(struct __sanitizer_##CLASS, MEMBER) ==         \
                  offsetof(struct CLASS, MEMBER))
 
-#define SIGACTION_SYMNAME __sigaction14
+// XXX: Do we need to handle the old __sigaction14 name here too?
+#define SIGACTION_SYMNAME __sigaction_siginfo
 
 #endif  // SANITIZER_NETBSD
 

Index: src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_signal_interceptors.inc
diff -u src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_signal_interceptors.inc:1.1.1.1 src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_signal_interceptors.inc:1.2
--- src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_signal_interceptors.inc:1.1.1.1	Tue Jan  8 05:40:30 2019
+++ src/sys/external/bsd/compiler_rt/dist/lib/sanitizer_common/sanitizer_signal_interceptors.inc	Tue Nov  2 06:54:10 2021
@@ -19,7 +19,8 @@
 using namespace __sanitizer;
 
 #if SANITIZER_NETBSD
-#define sigaction_symname __sigaction14
+// XXX: Do we need to handle the old __sigaction14 name here too?
+#define sigaction_symname __sigaction_siginfo
 #else
 #define sigaction_symname sigaction
 #endif

Reply via email to