CVS commit: src/usr.bin/make/unit-tests

2023-09-06 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Thu Sep  7 05:36:33 UTC 2023

Modified Files:
src/usr.bin/make/unit-tests: cond-cmp-numeric-eq.mk
cond-cmp-numeric-ge.mk cond-cmp-numeric-gt.mk
cond-cmp-numeric-le.mk cond-cmp-numeric-lt.mk
cond-cmp-numeric-ne.mk

Log Message:
tests/make: fix test for conditions of the form 'a > b'


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/usr.bin/make/unit-tests/cond-cmp-numeric-eq.mk
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/cond-cmp-numeric-ge.mk \
src/usr.bin/make/unit-tests/cond-cmp-numeric-gt.mk \
src/usr.bin/make/unit-tests/cond-cmp-numeric-le.mk \
src/usr.bin/make/unit-tests/cond-cmp-numeric-lt.mk \
src/usr.bin/make/unit-tests/cond-cmp-numeric-ne.mk

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

Modified files:

Index: src/usr.bin/make/unit-tests/cond-cmp-numeric-eq.mk
diff -u src/usr.bin/make/unit-tests/cond-cmp-numeric-eq.mk:1.6 src/usr.bin/make/unit-tests/cond-cmp-numeric-eq.mk:1.7
--- src/usr.bin/make/unit-tests/cond-cmp-numeric-eq.mk:1.6	Thu Jun  1 20:56:35 2023
+++ src/usr.bin/make/unit-tests/cond-cmp-numeric-eq.mk	Thu Sep  7 05:36:33 2023
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-numeric-eq.mk,v 1.6 2023/06/01 20:56:35 rillig Exp $
+# $NetBSD: cond-cmp-numeric-eq.mk,v 1.7 2023/09/07 05:36:33 rillig Exp $
 #
 # Tests for numeric comparisons with the == operator in .if conditions.
 
@@ -40,7 +40,7 @@
 .  error
 .endif
 
-# As of 2020-08-23, numeric comparison is implemented as parsing both sides
+# Numeric comparison works by parsing both sides
 # as double, and then performing a normal comparison.  The range of double is
 # typically 16 or 17 significant digits, therefore these two numbers seem to
 # be equal.
@@ -78,6 +78,3 @@
 .else
 .  error
 .endif
-
-all:
-	@:;

Index: src/usr.bin/make/unit-tests/cond-cmp-numeric-ge.mk
diff -u src/usr.bin/make/unit-tests/cond-cmp-numeric-ge.mk:1.2 src/usr.bin/make/unit-tests/cond-cmp-numeric-ge.mk:1.3
--- src/usr.bin/make/unit-tests/cond-cmp-numeric-ge.mk:1.2	Sat Oct 24 08:46:08 2020
+++ src/usr.bin/make/unit-tests/cond-cmp-numeric-ge.mk	Thu Sep  7 05:36:33 2023
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-numeric-ge.mk,v 1.2 2020/10/24 08:46:08 rillig Exp $
+# $NetBSD: cond-cmp-numeric-ge.mk,v 1.3 2023/09/07 05:36:33 rillig Exp $
 #
 # Tests for numeric comparisons with the >= operator in .if conditions.
 
@@ -62,7 +62,7 @@
 .  error
 .endif
 
-# As of 2020-08-23, numeric comparison is implemented as parsing both sides
+# Numeric comparison works by parsing both sides
 # as double, and then performing a normal comparison.  The range of double is
 # typically 16 or 17 significant digits, therefore these two numbers seem to
 # be equal.
Index: src/usr.bin/make/unit-tests/cond-cmp-numeric-gt.mk
diff -u src/usr.bin/make/unit-tests/cond-cmp-numeric-gt.mk:1.2 src/usr.bin/make/unit-tests/cond-cmp-numeric-gt.mk:1.3
--- src/usr.bin/make/unit-tests/cond-cmp-numeric-gt.mk:1.2	Sat Oct 24 08:46:08 2020
+++ src/usr.bin/make/unit-tests/cond-cmp-numeric-gt.mk	Thu Sep  7 05:36:33 2023
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-numeric-gt.mk,v 1.2 2020/10/24 08:46:08 rillig Exp $
+# $NetBSD: cond-cmp-numeric-gt.mk,v 1.3 2023/09/07 05:36:33 rillig Exp $
 #
 # Tests for numeric comparisons with the > operator in .if conditions.
 
@@ -61,11 +61,11 @@
 .  error
 .endif
 
-# As of 2020-08-23, numeric comparison is implemented as parsing both sides
+# Numeric comparison works by parsing both sides
 # as double, and then performing a normal comparison.  The range of double is
 # typically 16 or 17 significant digits, therefore these two numbers seem to
 # be equal.
-.if 1.01 > 1.02
+.if 1.02 > 1.01
 .  error
 .endif
 
Index: src/usr.bin/make/unit-tests/cond-cmp-numeric-le.mk
diff -u src/usr.bin/make/unit-tests/cond-cmp-numeric-le.mk:1.2 src/usr.bin/make/unit-tests/cond-cmp-numeric-le.mk:1.3
--- src/usr.bin/make/unit-tests/cond-cmp-numeric-le.mk:1.2	Sat Oct 24 08:46:08 2020
+++ src/usr.bin/make/unit-tests/cond-cmp-numeric-le.mk	Thu Sep  7 05:36:33 2023
@@ -1,4 +1,4 @@
-# $NetBSD: cond-cmp-numeric-le.mk,v 1.2 2020/10/24 08:46:08 rillig Exp $
+# $NetBSD: cond-cmp-numeric-le.mk,v 1.3 2023/09/07 05:36:33 rillig Exp $
 #
 # Tests for numeric comparisons with the <= operator in .if conditions.
 
@@ -62,7 +62,7 @@
 .  error
 .endif
 
-# As of 2020-08-23, numeric comparison is implemented as parsing both sides
+# Numeric comparison works by parsing both sides
 # as double, and then performing a normal comparison.  The range of double is
 # typically 16 or 17 significant digits, therefore these two numbers seem to
 # be equal.
Index: src/usr.bin/make/unit-tests/cond-cmp-numeric-lt.mk
diff -u src/usr.bin/make/unit-tests/cond-cmp-numeric-lt.mk:1.2 src/usr.bin/make/unit-tests/cond-cmp-numeric-lt.mk:1.3
--- 

CVS commit: src/usr.bin/make/unit-tests

2023-09-06 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Thu Sep  7 05:36:33 UTC 2023

Modified Files:
src/usr.bin/make/unit-tests: cond-cmp-numeric-eq.mk
cond-cmp-numeric-ge.mk cond-cmp-numeric-gt.mk
cond-cmp-numeric-le.mk cond-cmp-numeric-lt.mk
cond-cmp-numeric-ne.mk

Log Message:
tests/make: fix test for conditions of the form 'a > b'


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/usr.bin/make/unit-tests/cond-cmp-numeric-eq.mk
cvs rdiff -u -r1.2 -r1.3 src/usr.bin/make/unit-tests/cond-cmp-numeric-ge.mk \
src/usr.bin/make/unit-tests/cond-cmp-numeric-gt.mk \
src/usr.bin/make/unit-tests/cond-cmp-numeric-le.mk \
src/usr.bin/make/unit-tests/cond-cmp-numeric-lt.mk \
src/usr.bin/make/unit-tests/cond-cmp-numeric-ne.mk

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



CVS commit: src

2023-09-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep  6 23:44:43 UTC 2023

Modified Files:
src/crypto/external/bsd/heimdal/lib: Makefile
src/crypto/external/bsd/netpgp/lib: Makefile
src/external/bsd/atf/lib: Makefile
src/external/bsd/elftoolchain/lib: Makefile
src/external/bsd/libevent/lib: Makefile
src/external/bsd/openldap/lib: Makefile
src/lib: Makefile
Added Files:
src/crypto/external/bsd/heimdal/lib: Makefile.subdir
src/crypto/external/bsd/netpgp/lib: Makefile.subdir
src/external/bsd/atf/lib: Makefile.subdir
src/external/bsd/elftoolchain/lib: Makefile.subdir
src/external/bsd/libevent/lib: Makefile.subdir
src/external/bsd/openldap/lib: Makefile.subdir

Log Message:
lib: Handle various external lib directories with build_install.

This way, update builds track shlib major bumps correctly.

For example, suppose you had built Heimdal's libkrb5.so.27 and
libgssapi.so.11 linked against it, and then you updated past the recent
shlib major bump raising them to libkrb5.so.28 and libgssapi.so.12.

Without this change, the build will make the following sequence of
targets (interleaved with some others):

1. make dependall in libkrb5
2. make dependall in libgssapi
3. make install in libkrb5
4. make install in libgssapi

The existing .WAIT tags in SUBDIR ensure that (1) happens before (2)
and (3) happens before (4).  Unfortunately, this sequence is wrong,
because it will produce the following effect:

1. make dependall in libkrb5 builds libkrb5.so.28
2. make dependall in libgssapi builds libgssapi.so.12, linked against
   libkrb5.so.27
3. make install in libkrb5 installs libkrb5.so.28
4. make install in libgssapi installs libgssapi.so.12

Why the out-of-date libkrb5.so.27 in step (2)?  Because we just pass
-L${DESTDIR}/usr/lib -lkrb5 to the linker (or the equivalent with
--sysroot and implied -L/usr/lib), and ${DESTDIR}/usr/lib still has
only libkrb5.so.27 by the time of step (2), not libkrb5.so.28.

Now any applications that link against libkrb5.so _and_ libgssapi.so
will get libkrb5.so.28 and libgssapi.so.12 -- but transitively, via
libgssapi.so.12, they will also get libkrb5.so.27, which is a recipe
for disaster.

Splicing the Heimdal library subdirectories into lib/Makefile, as
this does, ensures that we run make dependall _and_ make install in
libkrb5 _before_ make dependall in libgssapi, giving the following
correct sequence:

1. make dependall in libkrb5 builds libkrb5.so.28
2. make install in libkrb5 installs libkrb5.so.28
3. make dependall in libgssapi builds libgssapi.so.12, linked against
   libkrb5.so.28
4. make install in libgssapi installs libgssapi.so.12

Note that LIBDPLIBS isn't enough here, as implemented.  LIBDPLIBS
ensures that the incremental build will remake libgssapi.so.  But it
doesn't ensure that the new libkrb5.so.28 is available before then,
so it doesn't prevent this problem.

We use the same mechanism for crypto/external/bsd/openssl/lib
already; this just extends it to other external library collections.

As an alternative, in principle perhaps we could teach LIBDPLIBS to
ensure that libkrb5.so comes out of the libkrb5 objdir, and not out
of ${DESTDIR}/usr/lib.  But that requires some work to make happen,
and make it reliable, whereas this approach we've already confirmed
works without other adverse consequences (besides leaving
grody-looking mechanism lying around) for the libcrypto major bump
already.  We need to get this pulled up to the branch so all the
other major bumps it required are handled correctly by update builds.

XXX pullup-10


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/crypto/external/bsd/heimdal/lib/Makefile
cvs rdiff -u -r0 -r1.1 src/crypto/external/bsd/heimdal/lib/Makefile.subdir
cvs rdiff -u -r1.17 -r1.18 src/crypto/external/bsd/netpgp/lib/Makefile
cvs rdiff -u -r0 -r1.1 src/crypto/external/bsd/netpgp/lib/Makefile.subdir
cvs rdiff -u -r1.2 -r1.3 src/external/bsd/atf/lib/Makefile
cvs rdiff -u -r0 -r1.1 src/external/bsd/atf/lib/Makefile.subdir
cvs rdiff -u -r1.2 -r1.3 src/external/bsd/elftoolchain/lib/Makefile
cvs rdiff -u -r0 -r1.1 src/external/bsd/elftoolchain/lib/Makefile.subdir
cvs rdiff -u -r1.4 -r1.5 src/external/bsd/libevent/lib/Makefile
cvs rdiff -u -r0 -r1.1 src/external/bsd/libevent/lib/Makefile.subdir
cvs rdiff -u -r1.2 -r1.3 src/external/bsd/openldap/lib/Makefile
cvs rdiff -u -r0 -r1.1 src/external/bsd/openldap/lib/Makefile.subdir
cvs rdiff -u -r1.296 -r1.297 src/lib/Makefile

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

Modified files:

Index: src/crypto/external/bsd/heimdal/lib/Makefile
diff -u src/crypto/external/bsd/heimdal/lib/Makefile:1.2 src/crypto/external/bsd/heimdal/lib/Makefile:1.3
--- src/crypto/external/bsd/heimdal/lib/Makefile:1.2	Wed May 25 19:21:17 2011
+++ src/crypto/external/bsd/heimdal/lib/Makefile	Wed Sep  6 23:44:42 2023
@@ 

CVS commit: src

2023-09-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep  6 23:44:43 UTC 2023

Modified Files:
src/crypto/external/bsd/heimdal/lib: Makefile
src/crypto/external/bsd/netpgp/lib: Makefile
src/external/bsd/atf/lib: Makefile
src/external/bsd/elftoolchain/lib: Makefile
src/external/bsd/libevent/lib: Makefile
src/external/bsd/openldap/lib: Makefile
src/lib: Makefile
Added Files:
src/crypto/external/bsd/heimdal/lib: Makefile.subdir
src/crypto/external/bsd/netpgp/lib: Makefile.subdir
src/external/bsd/atf/lib: Makefile.subdir
src/external/bsd/elftoolchain/lib: Makefile.subdir
src/external/bsd/libevent/lib: Makefile.subdir
src/external/bsd/openldap/lib: Makefile.subdir

Log Message:
lib: Handle various external lib directories with build_install.

This way, update builds track shlib major bumps correctly.

For example, suppose you had built Heimdal's libkrb5.so.27 and
libgssapi.so.11 linked against it, and then you updated past the recent
shlib major bump raising them to libkrb5.so.28 and libgssapi.so.12.

Without this change, the build will make the following sequence of
targets (interleaved with some others):

1. make dependall in libkrb5
2. make dependall in libgssapi
3. make install in libkrb5
4. make install in libgssapi

The existing .WAIT tags in SUBDIR ensure that (1) happens before (2)
and (3) happens before (4).  Unfortunately, this sequence is wrong,
because it will produce the following effect:

1. make dependall in libkrb5 builds libkrb5.so.28
2. make dependall in libgssapi builds libgssapi.so.12, linked against
   libkrb5.so.27
3. make install in libkrb5 installs libkrb5.so.28
4. make install in libgssapi installs libgssapi.so.12

Why the out-of-date libkrb5.so.27 in step (2)?  Because we just pass
-L${DESTDIR}/usr/lib -lkrb5 to the linker (or the equivalent with
--sysroot and implied -L/usr/lib), and ${DESTDIR}/usr/lib still has
only libkrb5.so.27 by the time of step (2), not libkrb5.so.28.

Now any applications that link against libkrb5.so _and_ libgssapi.so
will get libkrb5.so.28 and libgssapi.so.12 -- but transitively, via
libgssapi.so.12, they will also get libkrb5.so.27, which is a recipe
for disaster.

Splicing the Heimdal library subdirectories into lib/Makefile, as
this does, ensures that we run make dependall _and_ make install in
libkrb5 _before_ make dependall in libgssapi, giving the following
correct sequence:

1. make dependall in libkrb5 builds libkrb5.so.28
2. make install in libkrb5 installs libkrb5.so.28
3. make dependall in libgssapi builds libgssapi.so.12, linked against
   libkrb5.so.28
4. make install in libgssapi installs libgssapi.so.12

Note that LIBDPLIBS isn't enough here, as implemented.  LIBDPLIBS
ensures that the incremental build will remake libgssapi.so.  But it
doesn't ensure that the new libkrb5.so.28 is available before then,
so it doesn't prevent this problem.

We use the same mechanism for crypto/external/bsd/openssl/lib
already; this just extends it to other external library collections.

As an alternative, in principle perhaps we could teach LIBDPLIBS to
ensure that libkrb5.so comes out of the libkrb5 objdir, and not out
of ${DESTDIR}/usr/lib.  But that requires some work to make happen,
and make it reliable, whereas this approach we've already confirmed
works without other adverse consequences (besides leaving
grody-looking mechanism lying around) for the libcrypto major bump
already.  We need to get this pulled up to the branch so all the
other major bumps it required are handled correctly by update builds.

XXX pullup-10


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/crypto/external/bsd/heimdal/lib/Makefile
cvs rdiff -u -r0 -r1.1 src/crypto/external/bsd/heimdal/lib/Makefile.subdir
cvs rdiff -u -r1.17 -r1.18 src/crypto/external/bsd/netpgp/lib/Makefile
cvs rdiff -u -r0 -r1.1 src/crypto/external/bsd/netpgp/lib/Makefile.subdir
cvs rdiff -u -r1.2 -r1.3 src/external/bsd/atf/lib/Makefile
cvs rdiff -u -r0 -r1.1 src/external/bsd/atf/lib/Makefile.subdir
cvs rdiff -u -r1.2 -r1.3 src/external/bsd/elftoolchain/lib/Makefile
cvs rdiff -u -r0 -r1.1 src/external/bsd/elftoolchain/lib/Makefile.subdir
cvs rdiff -u -r1.4 -r1.5 src/external/bsd/libevent/lib/Makefile
cvs rdiff -u -r0 -r1.1 src/external/bsd/libevent/lib/Makefile.subdir
cvs rdiff -u -r1.2 -r1.3 src/external/bsd/openldap/lib/Makefile
cvs rdiff -u -r0 -r1.1 src/external/bsd/openldap/lib/Makefile.subdir
cvs rdiff -u -r1.296 -r1.297 src/lib/Makefile

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



CVS commit: src/libexec/mail.local

2023-09-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Sep  6 22:08:38 UTC 2023

Modified Files:
src/libexec/mail.local: mail.local.c

Log Message:
use the correct constant


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/libexec/mail.local/mail.local.c

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



CVS commit: src/libexec/mail.local

2023-09-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Sep  6 22:08:38 UTC 2023

Modified Files:
src/libexec/mail.local: mail.local.c

Log Message:
use the correct constant


To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/libexec/mail.local/mail.local.c

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

Modified files:

Index: src/libexec/mail.local/mail.local.c
diff -u src/libexec/mail.local/mail.local.c:1.32 src/libexec/mail.local/mail.local.c:1.33
--- src/libexec/mail.local/mail.local.c:1.32	Wed Sep  6 18:08:06 2023
+++ src/libexec/mail.local/mail.local.c	Wed Sep  6 18:08:38 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: mail.local.c,v 1.32 2023/09/06 22:08:06 christos Exp $	*/
+/*	$NetBSD: mail.local.c,v 1.33 2023/09/06 22:08:38 christos Exp $	*/
 
 /*-
  * Copyright (c) 1990, 1993, 1994
@@ -36,7 +36,7 @@ __COPYRIGHT("@(#) Copyright (c) 1990, 19
 #if 0
 static char sccsid[] = "@(#)mail.local.c	8.22 (Berkeley) 6/21/95";
 #else
-__RCSID("$NetBSD: mail.local.c,v 1.32 2023/09/06 22:08:06 christos Exp $");
+__RCSID("$NetBSD: mail.local.c,v 1.33 2023/09/06 22:08:38 christos Exp $");
 #endif
 #endif /* not lint */
 
@@ -197,7 +197,7 @@ deliver(int fd, char *name, int lockfile
 	struct stat sb, nsb;
 	struct passwd pwres, *pw;
 	char pwbuf[1024];
-	int created = 0, mbfd = -1, nr, nw, off, rval = EX_ERR, lfd = -1;
+	int created = 0, mbfd = -1, nr, nw, off, rval = EX_OSERR, lfd = -1;
 	char biffmsg[100], buf[8*1024], path[MAXPATHLEN], lpath[MAXPATHLEN];
 	off_t curoff;
 



CVS commit: src/libexec/mail.local

2023-09-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Sep  6 22:08:06 UTC 2023

Modified Files:
src/libexec/mail.local: mail.local.c

Log Message:
fix merge botch


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/libexec/mail.local/mail.local.c

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

Modified files:

Index: src/libexec/mail.local/mail.local.c
diff -u src/libexec/mail.local/mail.local.c:1.31 src/libexec/mail.local/mail.local.c:1.32
--- src/libexec/mail.local/mail.local.c:1.31	Wed Sep  6 16:16:04 2023
+++ src/libexec/mail.local/mail.local.c	Wed Sep  6 18:08:06 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: mail.local.c,v 1.31 2023/09/06 20:16:04 christos Exp $	*/
+/*	$NetBSD: mail.local.c,v 1.32 2023/09/06 22:08:06 christos Exp $	*/
 
 /*-
  * Copyright (c) 1990, 1993, 1994
@@ -36,7 +36,7 @@ __COPYRIGHT("@(#) Copyright (c) 1990, 19
 #if 0
 static char sccsid[] = "@(#)mail.local.c	8.22 (Berkeley) 6/21/95";
 #else
-__RCSID("$NetBSD: mail.local.c,v 1.31 2023/09/06 20:16:04 christos Exp $");
+__RCSID("$NetBSD: mail.local.c,v 1.32 2023/09/06 22:08:06 christos Exp $");
 #endif
 #endif /* not lint */
 
@@ -197,7 +197,7 @@ deliver(int fd, char *name, int lockfile
 	struct stat sb, nsb;
 	struct passwd pwres, *pw;
 	char pwbuf[1024];
-	int created = 0, mbfd = -1, nr, nw, off, rval=EX_OK, lfd = -1;
+	int created = 0, mbfd = -1, nr, nw, off, rval = EX_ERR, lfd = -1;
 	char biffmsg[100], buf[8*1024], path[MAXPATHLEN], lpath[MAXPATHLEN];
 	off_t curoff;
 



CVS commit: src/libexec/mail.local

2023-09-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Sep  6 22:08:06 UTC 2023

Modified Files:
src/libexec/mail.local: mail.local.c

Log Message:
fix merge botch


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/libexec/mail.local/mail.local.c

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



CVS commit: src/lib/libc/atomic

2023-09-06 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Wed Sep  6 20:17:43 UTC 2023

Modified Files:
src/lib/libc/atomic: atomic_ops.3

Log Message:
Node that aarch64 implements CAS.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/lib/libc/atomic/atomic_ops.3

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/atomic/atomic_ops.3
diff -u src/lib/libc/atomic/atomic_ops.3:1.8 src/lib/libc/atomic/atomic_ops.3:1.9
--- src/lib/libc/atomic/atomic_ops.3:1.8	Sat Jun 16 08:11:32 2018
+++ src/lib/libc/atomic/atomic_ops.3	Wed Sep  6 20:17:42 2023
@@ -1,10 +1,10 @@
-.\"	$NetBSD: atomic_ops.3,v 1.8 2018/06/16 08:11:32 dholland Exp $
+.\"	$NetBSD: atomic_ops.3,v 1.9 2023/09/06 20:17:42 ad Exp $
 .\"
-.\" Copyright (c) 2007, 2008 The NetBSD Foundation, Inc.
+.\" Copyright (c) 2007, 2008, 2020, 2023 The NetBSD Foundation, Inc.
 .\" All rights reserved.
 .\"
 .\" This code is derived from software contributed to The NetBSD Foundation
-.\" by Jason R. Thorpe.
+.\" by Jason R. Thorpe, and by Andrew Doran.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd February 7, 2018
+.Dd September 6, 2023
 .Dt ATOMIC_OPS 3
 .Os
 .Sh NAME
@@ -68,7 +68,7 @@ spinlock.
 The chosen method is not ordinarily distinguishable by or visible to users
 of the interface.
 The following architectures can be assumed to provide CAS in hardware:
-alpha, amd64, i386, powerpc, powerpc64, sparc64.
+aarch64, alpha, amd64, i386, powerpc, powerpc64, sparc64.
 .Ss Scope and Restrictions
 If hardware CAS is available, the atomic operations are globally atomic:
 operations within a memory region shared between processes are



CVS commit: src/lib/libc/atomic

2023-09-06 Thread Andrew Doran
Module Name:src
Committed By:   ad
Date:   Wed Sep  6 20:17:43 UTC 2023

Modified Files:
src/lib/libc/atomic: atomic_ops.3

Log Message:
Node that aarch64 implements CAS.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/lib/libc/atomic/atomic_ops.3

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



CVS commit: src/libexec/mail.local

2023-09-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Sep  6 20:16:05 UTC 2023

Modified Files:
src/libexec/mail.local: mail.local.c

Log Message:
KNF, clarify/provide warning messages, set rval to fail initially and only
set to success once everything works.


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/libexec/mail.local/mail.local.c

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

Modified files:

Index: src/libexec/mail.local/mail.local.c
diff -u src/libexec/mail.local/mail.local.c:1.30 src/libexec/mail.local/mail.local.c:1.31
--- src/libexec/mail.local/mail.local.c:1.30	Wed Sep  6 04:12:09 2023
+++ src/libexec/mail.local/mail.local.c	Wed Sep  6 16:16:04 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: mail.local.c,v 1.30 2023/09/06 08:12:09 shm Exp $	*/
+/*	$NetBSD: mail.local.c,v 1.31 2023/09/06 20:16:04 christos Exp $	*/
 
 /*-
  * Copyright (c) 1990, 1993, 1994
@@ -36,7 +36,7 @@ __COPYRIGHT("@(#) Copyright (c) 1990, 19
 #if 0
 static char sccsid[] = "@(#)mail.local.c	8.22 (Berkeley) 6/21/95";
 #else
-__RCSID("$NetBSD: mail.local.c,v 1.30 2023/09/06 08:12:09 shm Exp $");
+__RCSID("$NetBSD: mail.local.c,v 1.31 2023/09/06 20:16:04 christos Exp $");
 #endif
 #endif /* not lint */
 
@@ -125,7 +125,7 @@ main(int argc, char *argv[])
 		if (eval == EX_OK && rval != EX_OK)
 			eval = rval;
 	}
-	exit (eval);
+	return eval;
 }
 
 static int
@@ -173,7 +173,7 @@ store(const char *from)
 	if ((fd = dup(fd)) == -1) 
 		logerr(EX_OSERR, "dup failed");
 	(void)fclose(fp);
-	return(fd);
+	return fd;
 }
 
 static bool
@@ -207,11 +207,11 @@ deliver(int fd, char *name, int lockfile
 	 */
 	if ((getpwnam_r(name, , pwbuf, sizeof(pwbuf), )) != 0) {
 		logwarn("unable to find user %s: %s", name, strerror(errno));
-		return(EX_TEMPFAIL);
+		return EX_TEMPFAIL;
 	}
 	if (pw == NULL) {
 		logwarn("unknown name: %s", name);
-		return(EX_NOUSER);
+		return EX_NOUSER;
 	}
 
 	(void)snprintf(path, sizeof path, "%s/%s", _PATH_MAILDIR, name);
@@ -222,21 +222,19 @@ deliver(int fd, char *name, int lockfile
 
 		if((lfd = open(lpath, O_CREAT|O_WRONLY|O_EXCL,
 		S_IRUSR|S_IWUSR)) < 0) {
-			logwarn("%s: %s", lpath, strerror(errno));
-			return(EX_OSERR);
+			logwarn("%s: can't create: %s", lpath, strerror(errno));
+			return EX_OSERR;
 		}
 	}
 
 	if (lstat(path, ) == -1) {
-	if (errno != ENOENT) {
-		logwarn("%s: %s", path, strerror(errno));
-		rval = EX_OSERR;
-		goto bad;
-	}
-	memset(, 0, sizeof(sb));
-	sb.st_dev = NODEV;
+		if (errno != ENOENT) {
+			logwarn("%s: can't stat: %s", path, strerror(errno));
+			goto bad;
+		}
+		memset(, 0, sizeof(sb));
+		sb.st_dev = NODEV;
 	} else if (badfile(path, )) {
-		rval = EX_OSERR;
 		goto bad;
 	}
 	
@@ -246,57 +244,55 @@ deliver(int fd, char *name, int lockfile
 		if (errno != ENOENT ||
 		   (mbfd = open(path, O_APPEND|O_CREAT|O_WRONLY|O_EXLOCK|O_EXCL,
 		 S_IRUSR|S_IWUSR)) == -1) {
-			logwarn("%s: %s", path, strerror(errno));
-			rval = EX_OSERR;
+			logwarn("%s: can't create: %s", path, strerror(errno));
 			goto bad;
 		}
 		created = 1;
 	} else {
 		/* opened existing file, check for TOCTTOU */
 		if (fstat(mbfd, ) == -1) {
-			rval = EX_OSERR;
+			logwarn("%s: can't stat: %s", path, strerror(errno));
 			goto bad;
 		}
 
 		if (badfile(path, )) {
-			rval = EX_OSERR;
 			goto bad;
 		}
 
 		/* file is not what we expected */
 		if (nsb.st_ino != sb.st_ino || nsb.st_dev != sb.st_dev) {
 			logwarn("%s: file has changed", path);
-			rval = EX_OSERR;
 			goto bad;
 		}
 	}
 
 	if ((curoff = lseek(mbfd, 0, SEEK_END)) == (off_t)-1) {
-		logwarn("%s: %s", path, strerror(errno));
-		rval = EX_OSERR;
+		logwarn("%s: can't seek: %s", path, strerror(errno));
 		goto bad;
 	}
 
 	(void)snprintf(biffmsg, sizeof biffmsg, "%s@%lld\n", name,
 	(long long)curoff);
 	if (lseek(fd, 0, SEEK_SET) == (off_t)-1) {
-		logwarn("temporary file: %s", strerror(errno));
-		rval = EX_OSERR;
+		logwarn("can't seek: %s", strerror(errno));
 		goto bad;
 	}
 
 	while ((nr = read(fd, buf, sizeof(buf))) > 0)
 		for (off = 0; off < nr;  off += nw)
 			if ((nw = write(mbfd, buf + off, nr - off)) < 0) {
-logwarn("%s: %s", path, strerror(errno));
+logwarn("%s: can't write: %s", path,
+strerror(errno));
 goto trunc;
 			}
+
 	if (nr < 0) {
-		logwarn("temporary file: %s", strerror(errno));
+		logwarn("can't read: %s", strerror(errno));
 trunc:		(void)ftruncate(mbfd, curoff);
-		rval = EX_OSERR;
+		goto bad;
 	}
 
+	rval = EX_OK;
 	/*
 	 * Set the owner and group.  Historically, binmail repeated this at
 	 * each mail delivery.  We no longer do this, assuming that if the



CVS commit: src/libexec/mail.local

2023-09-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Sep  6 20:16:05 UTC 2023

Modified Files:
src/libexec/mail.local: mail.local.c

Log Message:
KNF, clarify/provide warning messages, set rval to fail initially and only
set to success once everything works.


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 src/libexec/mail.local/mail.local.c

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



CVS commit: src/share/misc

2023-09-06 Thread Jan Schaumann
Module Name:src
Committed By:   jschauma
Date:   Wed Sep  6 19:56:57 UTC 2023

Modified Files:
src/share/misc: acronyms.comp

Log Message:
+DAEdeterministic authenticated encryption


To generate a diff of this commit:
cvs rdiff -u -r1.361 -r1.362 src/share/misc/acronyms.comp

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

Modified files:

Index: src/share/misc/acronyms.comp
diff -u src/share/misc/acronyms.comp:1.361 src/share/misc/acronyms.comp:1.362
--- src/share/misc/acronyms.comp:1.361	Mon Aug 28 15:50:17 2023
+++ src/share/misc/acronyms.comp	Wed Sep  6 19:56:57 2023
@@ -1,4 +1,4 @@
-$NetBSD: acronyms.comp,v 1.361 2023/08/28 15:50:17 jschauma Exp $
+$NetBSD: acronyms.comp,v 1.362 2023/09/06 19:56:57 jschauma Exp $
 3WHS	three-way handshake
 8VSB	8-state vestigial side band modulation
 AA	anti-aliasing
@@ -357,6 +357,7 @@ DAB	digital audio broadcasting
 DAC	digital [to] analog converter
 DAC	discretionary access control
 DAD	duplicate address detection
+DAE	deterministic authenticated encryption
 DANE	DNS-based Authentication of Named Entities
 DAO	disk at once
 DAP	Directory Access Protocol



CVS commit: src/share/misc

2023-09-06 Thread Jan Schaumann
Module Name:src
Committed By:   jschauma
Date:   Wed Sep  6 19:56:57 UTC 2023

Modified Files:
src/share/misc: acronyms.comp

Log Message:
+DAEdeterministic authenticated encryption


To generate a diff of this commit:
cvs rdiff -u -r1.361 -r1.362 src/share/misc/acronyms.comp

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



CVS commit: src/sys/lib/libkern

2023-09-06 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Wed Sep  6 19:14:52 UTC 2023

Modified Files:
src/sys/lib/libkern: libkern.h

Log Message:
fix the example for container_of().

needs to be a pointer into the containing structure, not the
value of a pointer inside the structure.


To generate a diff of this commit:
cvs rdiff -u -r1.144 -r1.145 src/sys/lib/libkern/libkern.h

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

Modified files:

Index: src/sys/lib/libkern/libkern.h
diff -u src/sys/lib/libkern/libkern.h:1.144 src/sys/lib/libkern/libkern.h:1.145
--- src/sys/lib/libkern/libkern.h:1.144	Fri Dec 31 14:19:57 2021
+++ src/sys/lib/libkern/libkern.h	Wed Sep  6 19:14:52 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: libkern.h,v 1.144 2021/12/31 14:19:57 riastradh Exp $	*/
+/*	$NetBSD: libkern.h,v 1.145 2023/09/06 19:14:52 mrg Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -335,7 +335,7 @@ tolower(int ch)
  *	};
  *
  *	struct bar b;
- *	struct foo *fp = b.b_foo;
+ *	struct foo *fp = _foo;
  *
  * Now we can get at b from fp by:
  *



CVS commit: src/sys/lib/libkern

2023-09-06 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Wed Sep  6 19:14:52 UTC 2023

Modified Files:
src/sys/lib/libkern: libkern.h

Log Message:
fix the example for container_of().

needs to be a pointer into the containing structure, not the
value of a pointer inside the structure.


To generate a diff of this commit:
cvs rdiff -u -r1.144 -r1.145 src/sys/lib/libkern/libkern.h

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



CVS commit: [netbsd-10] src/doc

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 15:14:20 UTC 2023

Modified Files:
src/doc [netbsd-10]: CHANGES-10.0

Log Message:
Tickets #350 - #352


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.117 -r1.1.2.118 src/doc/CHANGES-10.0

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



CVS commit: [netbsd-10] src/doc

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 15:14:20 UTC 2023

Modified Files:
src/doc [netbsd-10]: CHANGES-10.0

Log Message:
Tickets #350 - #352


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.117 -r1.1.2.118 src/doc/CHANGES-10.0

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

Modified files:

Index: src/doc/CHANGES-10.0
diff -u src/doc/CHANGES-10.0:1.1.2.117 src/doc/CHANGES-10.0:1.1.2.118
--- src/doc/CHANGES-10.0:1.1.2.117	Wed Sep  6 08:01:09 2023
+++ src/doc/CHANGES-10.0	Wed Sep  6 15:14:20 2023
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-10.0,v 1.1.2.117 2023/09/06 08:01:09 martin Exp $
+# $NetBSD: CHANGES-10.0,v 1.1.2.118 2023/09/06 15:14:20 martin Exp $
 
 A complete list of changes from the initial NetBSD 10.0 branch on 2022-12-16
 until the 10.0 release:
@@ -11762,3 +11762,34 @@ crypto/external/bsd/openssl/dist/crypto/
 	openssl: PR 57594: fix SPARC v8/v9 detection code.
 	[mrg, ticket #349]
 
+tests/usr.sbin/certctl/t_certctl.sh		1.9,1.10
+usr.sbin/certctl/certctl.sh			1.5
+
+	certctl(8): Fix permissions on ca-certificates.crt
+	[riastradh, ticket #350]
+
+distrib/sets/lists/base/shl.mi			1.971 (patch)
+distrib/sets/lists/debug/shl.mi			1.332 (patch)
+libexec/httpd/libbozohttpd/shlib_version	1.2 (patch)
+libexec/httpd/lua/shlib_version			1.2 (patch)
+
+	libbozohttpd(3): Bump major for openssl3.
+	[riastradh, ticket #351]
+
+distrib/sets/lists/base/ad.aarch64		1.45 (patch)
+distrib/sets/lists/base/ad.arm			1.87 (patch)
+distrib/sets/lists/base/ad.mips			1.93 (patch)
+distrib/sets/lists/base/md.i386			1.159 (patch)
+distrib/sets/lists/base/shl.mi			1.945,1.970 (patch)
+distrib/sets/lists/comp/shl.mi			1.354 (patch)
+distrib/sets/lists/debug/ad.aarch64		1.37 (patch)
+distrib/sets/lists/debug/ad.arm			1.81 (patch)
+distrib/sets/lists/debug/ad.mips		1.83 (patch)
+distrib/sets/lists/debug/md.i386		1.21 (patch)
+distrib/sets/lists/debug/shl.mi			1.330,1.331 (patch)
+distrib/sets/lists/xdebug/md.amd64		1.64 (patch)
+distrib/sets/lists/xdebug/md.i386		1.61 (patch)
+
+	lists: more shlib obsolete fixes
+	[riastradh, ticket #352]
+



CVS commit: [netbsd-10] src/distrib/sets/lists

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 15:11:27 UTC 2023

Modified Files:
src/distrib/sets/lists/base [netbsd-10]: ad.aarch64 ad.arm ad.mips
md.i386 shl.mi
src/distrib/sets/lists/comp [netbsd-10]: shl.mi
src/distrib/sets/lists/debug [netbsd-10]: ad.aarch64 ad.arm ad.mips
md.i386 shl.mi
src/distrib/sets/lists/xdebug [netbsd-10]: md.amd64 md.i386

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #352):

distrib/sets/lists/base/ad.mips: revision 1.93
distrib/sets/lists/debug/ad.aarch64: revision 1.37
distrib/sets/lists/base/shl.mi: revision 1.970
distrib/sets/lists/base/ad.aarch64: revision 1.45
distrib/sets/lists/debug/md.i386: revision 1.21
distrib/sets/lists/base/md.i386: revision 1.159
distrib/sets/lists/base/shl.mi: revision 1.945
distrib/sets/lists/debug/ad.mips: revision 1.83
distrib/sets/lists/xdebug/md.i386: revision 1.61
distrib/sets/lists/base/ad.arm: revision 1.87
distrib/sets/lists/xdebug/md.amd64: revision 1.64
distrib/sets/lists/debug/shl.mi: revision 1.330
distrib/sets/lists/debug/shl.mi: revision 1.331
distrib/sets/lists/comp/shl.mi: revision 1.354
distrib/sets/lists/debug/ad.arm: revision 1.81
(all via patch)

un-obsolete ./usr/lib/libisns.so*.  it's normal for these to be
symlinks in this case, and they also exist in the case that
MKDYNAMICROOT is not set.

also fixes running "makefs" against a destdir and it's METALOG*.

lists: Remove more bogus shlib obsolete entries.

Too much trouble to have to remember about libuv.so, libgmp.so, 
Just apply the rule uniformly.

All that's left is test libraries and loadable modules.
Searched with:
git grep 'lib.*\.so\.[0-9][0-9]*.*obsolete' distrib/sets/lists | grep -v 
'/modules/' | grep -v '/locale/lib/' | grep -v '/lib/npf/' | grep -v 
'/lib/librump' | grep -v '/lib/netbsd/libclang_rt' | grep -v '/runemodule/'
revive the ./usr/libdata/debug/usr/lib/libisns.so.0.0.debug entry
however, remove the 'obsolete' tag from it.

fixes the amd64 build (at least).


To generate a diff of this commit:
cvs rdiff -u -r1.36.2.2 -r1.36.2.3 src/distrib/sets/lists/base/ad.aarch64
cvs rdiff -u -r1.86 -r1.86.2.1 src/distrib/sets/lists/base/ad.arm
cvs rdiff -u -r1.83.6.2 -r1.83.6.3 src/distrib/sets/lists/base/ad.mips
cvs rdiff -u -r1.157.2.1 -r1.157.2.2 src/distrib/sets/lists/base/md.i386
cvs rdiff -u -r1.942.2.10 -r1.942.2.11 src/distrib/sets/lists/base/shl.mi
cvs rdiff -u -r1.349 -r1.349.2.1 src/distrib/sets/lists/comp/shl.mi
cvs rdiff -u -r1.33 -r1.33.2.1 src/distrib/sets/lists/debug/ad.aarch64
cvs rdiff -u -r1.80 -r1.80.2.1 src/distrib/sets/lists/debug/ad.arm
cvs rdiff -u -r1.81 -r1.81.2.1 src/distrib/sets/lists/debug/ad.mips
cvs rdiff -u -r1.20 -r1.20.8.1 src/distrib/sets/lists/debug/md.i386
cvs rdiff -u -r1.298.2.11 -r1.298.2.12 src/distrib/sets/lists/debug/shl.mi
cvs rdiff -u -r1.61 -r1.61.2.1 src/distrib/sets/lists/xdebug/md.amd64
cvs rdiff -u -r1.57 -r1.57.2.1 src/distrib/sets/lists/xdebug/md.i386

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



CVS commit: [netbsd-10] src/distrib/sets/lists

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 15:11:27 UTC 2023

Modified Files:
src/distrib/sets/lists/base [netbsd-10]: ad.aarch64 ad.arm ad.mips
md.i386 shl.mi
src/distrib/sets/lists/comp [netbsd-10]: shl.mi
src/distrib/sets/lists/debug [netbsd-10]: ad.aarch64 ad.arm ad.mips
md.i386 shl.mi
src/distrib/sets/lists/xdebug [netbsd-10]: md.amd64 md.i386

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #352):

distrib/sets/lists/base/ad.mips: revision 1.93
distrib/sets/lists/debug/ad.aarch64: revision 1.37
distrib/sets/lists/base/shl.mi: revision 1.970
distrib/sets/lists/base/ad.aarch64: revision 1.45
distrib/sets/lists/debug/md.i386: revision 1.21
distrib/sets/lists/base/md.i386: revision 1.159
distrib/sets/lists/base/shl.mi: revision 1.945
distrib/sets/lists/debug/ad.mips: revision 1.83
distrib/sets/lists/xdebug/md.i386: revision 1.61
distrib/sets/lists/base/ad.arm: revision 1.87
distrib/sets/lists/xdebug/md.amd64: revision 1.64
distrib/sets/lists/debug/shl.mi: revision 1.330
distrib/sets/lists/debug/shl.mi: revision 1.331
distrib/sets/lists/comp/shl.mi: revision 1.354
distrib/sets/lists/debug/ad.arm: revision 1.81
(all via patch)

un-obsolete ./usr/lib/libisns.so*.  it's normal for these to be
symlinks in this case, and they also exist in the case that
MKDYNAMICROOT is not set.

also fixes running "makefs" against a destdir and it's METALOG*.

lists: Remove more bogus shlib obsolete entries.

Too much trouble to have to remember about libuv.so, libgmp.so, 
Just apply the rule uniformly.

All that's left is test libraries and loadable modules.
Searched with:
git grep 'lib.*\.so\.[0-9][0-9]*.*obsolete' distrib/sets/lists | grep -v 
'/modules/' | grep -v '/locale/lib/' | grep -v '/lib/npf/' | grep -v 
'/lib/librump' | grep -v '/lib/netbsd/libclang_rt' | grep -v '/runemodule/'
revive the ./usr/libdata/debug/usr/lib/libisns.so.0.0.debug entry
however, remove the 'obsolete' tag from it.

fixes the amd64 build (at least).


To generate a diff of this commit:
cvs rdiff -u -r1.36.2.2 -r1.36.2.3 src/distrib/sets/lists/base/ad.aarch64
cvs rdiff -u -r1.86 -r1.86.2.1 src/distrib/sets/lists/base/ad.arm
cvs rdiff -u -r1.83.6.2 -r1.83.6.3 src/distrib/sets/lists/base/ad.mips
cvs rdiff -u -r1.157.2.1 -r1.157.2.2 src/distrib/sets/lists/base/md.i386
cvs rdiff -u -r1.942.2.10 -r1.942.2.11 src/distrib/sets/lists/base/shl.mi
cvs rdiff -u -r1.349 -r1.349.2.1 src/distrib/sets/lists/comp/shl.mi
cvs rdiff -u -r1.33 -r1.33.2.1 src/distrib/sets/lists/debug/ad.aarch64
cvs rdiff -u -r1.80 -r1.80.2.1 src/distrib/sets/lists/debug/ad.arm
cvs rdiff -u -r1.81 -r1.81.2.1 src/distrib/sets/lists/debug/ad.mips
cvs rdiff -u -r1.20 -r1.20.8.1 src/distrib/sets/lists/debug/md.i386
cvs rdiff -u -r1.298.2.11 -r1.298.2.12 src/distrib/sets/lists/debug/shl.mi
cvs rdiff -u -r1.61 -r1.61.2.1 src/distrib/sets/lists/xdebug/md.amd64
cvs rdiff -u -r1.57 -r1.57.2.1 src/distrib/sets/lists/xdebug/md.i386

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

Modified files:

Index: src/distrib/sets/lists/base/ad.aarch64
diff -u src/distrib/sets/lists/base/ad.aarch64:1.36.2.2 src/distrib/sets/lists/base/ad.aarch64:1.36.2.3
--- src/distrib/sets/lists/base/ad.aarch64:1.36.2.2	Fri Aug 11 16:22:06 2023
+++ src/distrib/sets/lists/base/ad.aarch64	Wed Sep  6 15:11:27 2023
@@ -1,4 +1,4 @@
-# $NetBSD: ad.aarch64,v 1.36.2.2 2023/08/11 16:22:06 martin Exp $
+# $NetBSD: ad.aarch64,v 1.36.2.3 2023/09/06 15:11:27 martin Exp $
 ./lib/eabi	base-compat-lib		compat,llvm
 ./lib/eabi/npf	base-compat-lib		compat,llvm
 ./lib/eabihf	base-compat-lib		compat,llvm
@@ -42,10 +42,6 @@
 ./usr/lib/eabihf/security			base-compat-lib		compat,llvm
 ./usr/lib/oabi	base-obsolete		obsolete
 ./usr/lib/oabi/i18nbase-obsolete		obsolete
-./usr/lib/oabi/libarm.so.0			base-obsolete		obsolete
-./usr/lib/oabi/libarm.so.0.0			base-obsolete		obsolete
-./usr/lib/oabi/libc_vfp.so.0			base-obsolete		obsolete
-./usr/lib/oabi/libc_vfp.so.0.0			base-obsolete		obsolete
 ./usr/lib/oabi/luabase-obsolete		obsolete
 ./usr/lib/oabi/lua/5.4base-obsolete		obsolete
 ./usr/lib/oabi/securitybase-obsolete		obsolete

Index: src/distrib/sets/lists/base/ad.arm
diff -u src/distrib/sets/lists/base/ad.arm:1.86 src/distrib/sets/lists/base/ad.arm:1.86.2.1
--- src/distrib/sets/lists/base/ad.arm:1.86	Mon Jun  7 17:11:16 2021
+++ src/distrib/sets/lists/base/ad.arm	Wed Sep  6 15:11:27 2023
@@ -1,4 +1,4 @@
-# $NetBSD: ad.arm,v 1.86 2021/06/07 17:11:16 christos Exp $
+# $NetBSD: ad.arm,v 1.86.2.1 2023/09/06 15:11:27 martin Exp $
 ./libexec/ld.elf_so-oabi			base-obsolete		obsolete
 ./sbin/ldconfig	base-sysutil-root	pic,endian=1234
 ./usr/bin/fdformatbase-util-bin
@@ -6,10 +6,6 @@
 ./usr/lib/libarm.so.0

CVS commit: [netbsd-10] src

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 15:07:37 UTC 2023

Modified Files:
src/distrib/sets/lists/base [netbsd-10]: shl.mi
src/distrib/sets/lists/debug [netbsd-10]: shl.mi
src/libexec/httpd/libbozohttpd [netbsd-10]: shlib_version
src/libexec/httpd/lua [netbsd-10]: shlib_version

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #351):

libexec/httpd/lua/shlib_version: revision 1.2
distrib/sets/lists/base/shl.mi: revision 1.971
libexec/httpd/libbozohttpd/shlib_version: revision 1.2
distrib/sets/lists/debug/shl.mi: revision 1.332
(all via patch)

libbozohttpd, libluabozohttpd: Bump major for libssl.so bump.
libluabozohttpd doesn't appear to be installed, but let's bump the
major just in case.

PR lib/57603


To generate a diff of this commit:
cvs rdiff -u -r1.942.2.9 -r1.942.2.10 src/distrib/sets/lists/base/shl.mi
cvs rdiff -u -r1.298.2.10 -r1.298.2.11 src/distrib/sets/lists/debug/shl.mi
cvs rdiff -u -r1.1.1.1 -r1.1.1.1.62.1 \
src/libexec/httpd/libbozohttpd/shlib_version
cvs rdiff -u -r1.1.1.1 -r1.1.1.1.62.1 src/libexec/httpd/lua/shlib_version

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

Modified files:

Index: src/distrib/sets/lists/base/shl.mi
diff -u src/distrib/sets/lists/base/shl.mi:1.942.2.9 src/distrib/sets/lists/base/shl.mi:1.942.2.10
--- src/distrib/sets/lists/base/shl.mi:1.942.2.9	Tue Sep  5 17:26:24 2023
+++ src/distrib/sets/lists/base/shl.mi	Wed Sep  6 15:07:37 2023
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.942.2.9 2023/09/05 17:26:24 martin Exp $
+# $NetBSD: shl.mi,v 1.942.2.10 2023/09/06 15:07:37 martin Exp $
 #
 # Note:	Don't delete entries from here - mark them as "obsolete" instead,
 #	unless otherwise stated below.
@@ -240,8 +240,8 @@
 ./usr/lib/libbluetooth.so.4			base-sys-shlib		compatfile
 ./usr/lib/libbluetooth.so.4.2			base-sys-shlib		compatfile
 ./usr/lib/libbozohttpd.so 			base-sys-shlib		compatfile
-./usr/lib/libbozohttpd.so.0			base-sys-shlib		compatfile
-./usr/lib/libbozohttpd.so.0.0			base-sys-shlib		compatfile
+./usr/lib/libbozohttpd.so.1			base-sys-shlib		compatfile
+./usr/lib/libbozohttpd.so.1.0			base-sys-shlib		compatfile
 ./usr/lib/libbsdmalloc.so			base-sys-shlib		compatfile
 ./usr/lib/libbsdmalloc.so.0			base-sys-shlib		compatfile
 ./usr/lib/libbsdmalloc.so.0.0			base-sys-shlib		compatfile

Index: src/distrib/sets/lists/debug/shl.mi
diff -u src/distrib/sets/lists/debug/shl.mi:1.298.2.10 src/distrib/sets/lists/debug/shl.mi:1.298.2.11
--- src/distrib/sets/lists/debug/shl.mi:1.298.2.10	Tue Sep  5 17:26:24 2023
+++ src/distrib/sets/lists/debug/shl.mi	Wed Sep  6 15:07:37 2023
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.298.2.10 2023/09/05 17:26:24 martin Exp $
+# $NetBSD: shl.mi,v 1.298.2.11 2023/09/06 15:07:37 martin Exp $
 ./usr/lib/libbfd_g.a		comp-c-debuglib	debuglib,compatfile,binutils
 ./usr/libdata/debug/lib		base-sys-usr	debug,dynamicroot,compatdir
 ./usr/libdata/debug/lib/libavl.so.0.0.debug			comp-zfs-debug	debug,dynamicroot,zfs
@@ -77,7 +77,7 @@
 ./usr/libdata/debug/usr/lib/libbind9.so.20.0.debug		comp-bind-debug	debug,compatfile
 ./usr/libdata/debug/usr/lib/libblocklist.so.0.0.debug		comp-sys-debug	debug,compatfile
 ./usr/libdata/debug/usr/lib/libbluetooth.so.4.2.debug		comp-sys-debug	debug,compatfile
-./usr/libdata/debug/usr/lib/libbozohttpd.so.0.0.debug		comp-sys-debug	debug,compatfile
+./usr/libdata/debug/usr/lib/libbozohttpd.so.1.0.debug		comp-sys-debug	debug,compatfile
 ./usr/libdata/debug/usr/lib/libbsdmalloc.so.0.0.debug		comp-sys-debug	debug,compatfile
 ./usr/libdata/debug/usr/lib/libbz2.so.1.1.debug			comp-sys-debug	debug,compatfile
 ./usr/libdata/debug/usr/lib/libc++.so.1.0.debug			comp-sys-debug	debug,compatfile,libcxx

Index: src/libexec/httpd/libbozohttpd/shlib_version
diff -u src/libexec/httpd/libbozohttpd/shlib_version:1.1.1.1 src/libexec/httpd/libbozohttpd/shlib_version:1.1.1.1.62.1
--- src/libexec/httpd/libbozohttpd/shlib_version:1.1.1.1	Mon May 10 03:30:04 2010
+++ src/libexec/httpd/libbozohttpd/shlib_version	Wed Sep  6 15:07:37 2023
@@ -1,2 +1,2 @@
-major=0
+major=1
 minor=0

Index: src/libexec/httpd/lua/shlib_version
diff -u src/libexec/httpd/lua/shlib_version:1.1.1.1 src/libexec/httpd/lua/shlib_version:1.1.1.1.62.1
--- src/libexec/httpd/lua/shlib_version:1.1.1.1	Mon May 10 03:30:04 2010
+++ src/libexec/httpd/lua/shlib_version	Wed Sep  6 15:07:37 2023
@@ -1,2 +1,2 @@
-major=0
+major=1
 minor=0



CVS commit: [netbsd-10] src

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 15:07:37 UTC 2023

Modified Files:
src/distrib/sets/lists/base [netbsd-10]: shl.mi
src/distrib/sets/lists/debug [netbsd-10]: shl.mi
src/libexec/httpd/libbozohttpd [netbsd-10]: shlib_version
src/libexec/httpd/lua [netbsd-10]: shlib_version

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #351):

libexec/httpd/lua/shlib_version: revision 1.2
distrib/sets/lists/base/shl.mi: revision 1.971
libexec/httpd/libbozohttpd/shlib_version: revision 1.2
distrib/sets/lists/debug/shl.mi: revision 1.332
(all via patch)

libbozohttpd, libluabozohttpd: Bump major for libssl.so bump.
libluabozohttpd doesn't appear to be installed, but let's bump the
major just in case.

PR lib/57603


To generate a diff of this commit:
cvs rdiff -u -r1.942.2.9 -r1.942.2.10 src/distrib/sets/lists/base/shl.mi
cvs rdiff -u -r1.298.2.10 -r1.298.2.11 src/distrib/sets/lists/debug/shl.mi
cvs rdiff -u -r1.1.1.1 -r1.1.1.1.62.1 \
src/libexec/httpd/libbozohttpd/shlib_version
cvs rdiff -u -r1.1.1.1 -r1.1.1.1.62.1 src/libexec/httpd/lua/shlib_version

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



CVS commit: [netbsd-10] src

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 15:04:33 UTC 2023

Modified Files:
src/tests/usr.sbin/certctl [netbsd-10]: t_certctl.sh
src/usr.sbin/certctl [netbsd-10]: certctl.sh

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #350):

tests/usr.sbin/certctl/t_certctl.sh: revision 1.10
usr.sbin/certctl/certctl.sh: revision 1.5
tests/usr.sbin/certctl/t_certctl.sh: revision 1.9

certctl(8): Test permissions of ca-certificates.crt.

Inadvertently created 0600 instead of 0644 due to copying file
created by mktemp(1) with cp(1).

certctl(8): Fix permissions on ca-certificates.crt bundle: 0644.

While here, write it atomically: write to .tmp first, then rename
when done; this way applications never see a partially-written bundle
at /etc/openssl/certs/ca-certificates.crt.


To generate a diff of this commit:
cvs rdiff -u -r1.8.2.2 -r1.8.2.3 src/tests/usr.sbin/certctl/t_certctl.sh
cvs rdiff -u -r1.4.2.2 -r1.4.2.3 src/usr.sbin/certctl/certctl.sh

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

Modified files:

Index: src/tests/usr.sbin/certctl/t_certctl.sh
diff -u src/tests/usr.sbin/certctl/t_certctl.sh:1.8.2.2 src/tests/usr.sbin/certctl/t_certctl.sh:1.8.2.3
--- src/tests/usr.sbin/certctl/t_certctl.sh:1.8.2.2	Mon Sep  4 17:33:27 2023
+++ src/tests/usr.sbin/certctl/t_certctl.sh	Wed Sep  6 15:04:33 2023
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-#	$NetBSD: t_certctl.sh,v 1.8.2.2 2023/09/04 17:33:27 martin Exp $
+#	$NetBSD: t_certctl.sh,v 1.8.2.3 2023/09/06 15:04:33 martin Exp $
 #
 # Copyright (c) 2023 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -150,11 +150,14 @@ checks()
 		done
 	done
 
-	# Verify the certificate bundle is there and delete it.
+	# Verify the certificate bundle is there with the right
+	# permissions (0644) and delete it.
 	#
 	# XXX Verify its content.
 	atf_check -s exit:0 test -f certs/ca-certificates.crt
 	atf_check -s exit:0 test ! -h certs/ca-certificates.crt
+	atf_check -s exit:0 -o inline:'100644\n' \
+	stat -f %p certs/ca-certificates.crt
 	rm certs/ca-certificates.crt
 
 	# Make sure after deleting everything there's nothing left.

Index: src/usr.sbin/certctl/certctl.sh
diff -u src/usr.sbin/certctl/certctl.sh:1.4.2.2 src/usr.sbin/certctl/certctl.sh:1.4.2.3
--- src/usr.sbin/certctl/certctl.sh:1.4.2.2	Mon Sep  4 17:33:27 2023
+++ src/usr.sbin/certctl/certctl.sh	Wed Sep  6 15:04:33 2023
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-#	$NetBSD: certctl.sh,v 1.4.2.2 2023/09/04 17:33:27 martin Exp $
+#	$NetBSD: certctl.sh,v 1.4.2.3 2023/09/06 15:04:33 martin Exp $
 #
 # Copyright (c) 2023 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -493,7 +493,8 @@ rehash()
 	vbundle=$(printf '%s' "$bundle" | vis -M)
 	$vflag && printf '# create %s\n' "$vbundle"
 	if ! $nflag; then
-		cp -- "$tmpfile" "$bundle"
+		(umask 0022; cat <$tmpfile >${bundle}.tmp)
+		mv -f -- "${bundle}.tmp" "$bundle"
 		rm -f -- "$tmpfile"
 		tmpfile=
 	fi



CVS commit: [netbsd-10] src

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 15:04:33 UTC 2023

Modified Files:
src/tests/usr.sbin/certctl [netbsd-10]: t_certctl.sh
src/usr.sbin/certctl [netbsd-10]: certctl.sh

Log Message:
Pull up following revision(s) (requested by riastradh in ticket #350):

tests/usr.sbin/certctl/t_certctl.sh: revision 1.10
usr.sbin/certctl/certctl.sh: revision 1.5
tests/usr.sbin/certctl/t_certctl.sh: revision 1.9

certctl(8): Test permissions of ca-certificates.crt.

Inadvertently created 0600 instead of 0644 due to copying file
created by mktemp(1) with cp(1).

certctl(8): Fix permissions on ca-certificates.crt bundle: 0644.

While here, write it atomically: write to .tmp first, then rename
when done; this way applications never see a partially-written bundle
at /etc/openssl/certs/ca-certificates.crt.


To generate a diff of this commit:
cvs rdiff -u -r1.8.2.2 -r1.8.2.3 src/tests/usr.sbin/certctl/t_certctl.sh
cvs rdiff -u -r1.4.2.2 -r1.4.2.3 src/usr.sbin/certctl/certctl.sh

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



CVS commit: src/usr.sbin/postinstall

2023-09-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep  6 13:38:54 UTC 2023

Modified Files:
src/usr.sbin/postinstall: postinstall.in

Log Message:
postinstall(8): Modify default certs.conf.

When manually configured /etc/openssl/certs is detected, just
uncomment the `#manual' line in the default certs.conf rather than
writing a new one.  That way, you can switch to certctl-managed and
still get the default path by just deleting /etc/openssl/certs and
re-commenting the `manual' line.


To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.56 src/usr.sbin/postinstall/postinstall.in

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

Modified files:

Index: src/usr.sbin/postinstall/postinstall.in
diff -u src/usr.sbin/postinstall/postinstall.in:1.55 src/usr.sbin/postinstall/postinstall.in:1.56
--- src/usr.sbin/postinstall/postinstall.in:1.55	Sun Sep  3 18:31:36 2023
+++ src/usr.sbin/postinstall/postinstall.in	Wed Sep  6 13:38:54 2023
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $NetBSD: postinstall.in,v 1.55 2023/09/03 18:31:36 riastradh Exp $
+# $NetBSD: postinstall.in,v 1.56 2023/09/06 13:38:54 riastradh Exp $
 #
 # Copyright (c) 2002-2022 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -1668,7 +1668,7 @@ do_named()
 additem opensslcertsconf "ensure TLS trust anchor configuration exists"
 do_opensslcertsconf()
 {
-	local certsdir certsconf defaultconf
+	local certsdir certsconf defaultconf manualmsg
 
 	[ -n "$1" ] || err 3 "USAGE: do_opensslcertsconf fix|check"
 
@@ -1701,15 +1701,40 @@ do_opensslcertsconf()
 			-maxdepth 0 -type d -empty -exit 1)
 		then
 			msg "/etc/openssl/certs appears manually configured"
-			cat <${certsconf}.tmp
-netbsd-certctl 20230816
-
-# existing /etc/openssl/certs configuration detected by postinstall(8)
-manual
-EOF
+			manualmsg="[existing /etc/openssl/certs configuration"
+			manualmsg="$manualmsg detected by postinstall(8)]"
+# Change the commented-out `#manual' line to
+# uncommented `manual', or print an error
+# message if there is no `#manual' line and put
+# `manual' at the end.
+awk -v defaultconf="$defaultconf" \
+			-v manualmsg="$manualmsg" '
+BEGIN {
+	manual = 0
+}
+/^#manual/ && !manual {
+	manual = 1
+	sub(/^#/, "")
+	print
+	print "#", manualmsg
+	next
+}
+{
+	print
+}
+END {
+	if (!manual) {
+		printf "warning: %s %s?\n", \
+		"corrupt", defaultconf \
+		>"/dev/stderr"
+		print "manual"
+		print "#", manualmsg
+	}
+}
+			' <$defaultconf >${certsconf}.tmp
 		else
 			msg "installing default /etc/openssl/certs.conf"
-			cp -- "$defaultconf" "${certsconf}.tmp"
+			cat <$defaultconf >${certsconf}.tmp
 		fi && mv -f -- "${certsconf}.tmp" "$certsconf"
 		;;
 	*)	err 3 "USAGE: do_opensslcerts fix|check"



CVS commit: src/usr.sbin/postinstall

2023-09-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep  6 13:38:54 UTC 2023

Modified Files:
src/usr.sbin/postinstall: postinstall.in

Log Message:
postinstall(8): Modify default certs.conf.

When manually configured /etc/openssl/certs is detected, just
uncomment the `#manual' line in the default certs.conf rather than
writing a new one.  That way, you can switch to certctl-managed and
still get the default path by just deleting /etc/openssl/certs and
re-commenting the `manual' line.


To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.56 src/usr.sbin/postinstall/postinstall.in

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



CVS commit: src

2023-09-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep  6 12:48:15 UTC 2023

Modified Files:
src/external/bsd/atf/lib/libatf-c: shlib_version
src/external/bsd/atf/lib/libatf-c++: shlib_version
src/external/bsd/jemalloc/lib: shlib_version
src/external/bsd/lutok/lib/liblutok: shlib_version
src/external/bsd/unbound/lib/libunbound: shlib_version
src/external/mit/lua/lib/liblua: shlib_version
src/lib/libexecinfo: shlib_version

Log Message:
*/shlib_version: Ensure a boring line between RCS id and all else.

This makes cherry-picks easier by avoiding conflicts between the RCS
id and the interesting changes.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/external/bsd/atf/lib/libatf-c/shlib_version
cvs rdiff -u -r1.3 -r1.4 src/external/bsd/atf/lib/libatf-c++/shlib_version
cvs rdiff -u -r1.1 -r1.2 src/external/bsd/jemalloc/lib/shlib_version
cvs rdiff -u -r1.3 -r1.4 src/external/bsd/lutok/lib/liblutok/shlib_version
cvs rdiff -u -r1.4 -r1.5 \
src/external/bsd/unbound/lib/libunbound/shlib_version
cvs rdiff -u -r1.4 -r1.5 src/external/mit/lua/lib/liblua/shlib_version
cvs rdiff -u -r1.1 -r1.2 src/lib/libexecinfo/shlib_version

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

Modified files:

Index: src/external/bsd/atf/lib/libatf-c/shlib_version
diff -u src/external/bsd/atf/lib/libatf-c/shlib_version:1.1 src/external/bsd/atf/lib/libatf-c/shlib_version:1.2
--- src/external/bsd/atf/lib/libatf-c/shlib_version:1.1	Wed Jul 11 22:40:16 2012
+++ src/external/bsd/atf/lib/libatf-c/shlib_version	Wed Sep  6 12:48:15 2023
@@ -1,3 +1,4 @@
-# $NetBSD: shlib_version,v 1.1 2012/07/11 22:40:16 jmmv Exp $
+# $NetBSD: shlib_version,v 1.2 2023/09/06 12:48:15 riastradh Exp $
+#
 major=0
 minor=0

Index: src/external/bsd/atf/lib/libatf-c++/shlib_version
diff -u src/external/bsd/atf/lib/libatf-c++/shlib_version:1.3 src/external/bsd/atf/lib/libatf-c++/shlib_version:1.4
--- src/external/bsd/atf/lib/libatf-c++/shlib_version:1.3	Fri Oct  6 19:19:36 2017
+++ src/external/bsd/atf/lib/libatf-c++/shlib_version	Wed Sep  6 12:48:15 2023
@@ -1,3 +1,4 @@
-# $NetBSD: shlib_version,v 1.3 2017/10/06 19:19:36 christos Exp $
+# $NetBSD: shlib_version,v 1.4 2023/09/06 12:48:15 riastradh Exp $
+#
 major=2
 minor=0

Index: src/external/bsd/jemalloc/lib/shlib_version
diff -u src/external/bsd/jemalloc/lib/shlib_version:1.1 src/external/bsd/jemalloc/lib/shlib_version:1.2
--- src/external/bsd/jemalloc/lib/shlib_version:1.1	Mon Mar  4 17:29:49 2019
+++ src/external/bsd/jemalloc/lib/shlib_version	Wed Sep  6 12:48:15 2023
@@ -1,3 +1,4 @@
-#	$NetBSD: shlib_version,v 1.1 2019/03/04 17:29:49 christos Exp $
+#	$NetBSD: shlib_version,v 1.2 2023/09/06 12:48:15 riastradh Exp $
+#
 major=0
 minor=0

Index: src/external/bsd/lutok/lib/liblutok/shlib_version
diff -u src/external/bsd/lutok/lib/liblutok/shlib_version:1.3 src/external/bsd/lutok/lib/liblutok/shlib_version:1.4
--- src/external/bsd/lutok/lib/liblutok/shlib_version:1.3	Mon Sep  4 18:16:19 2023
+++ src/external/bsd/lutok/lib/liblutok/shlib_version	Wed Sep  6 12:48:15 2023
@@ -1,3 +1,4 @@
-# $NetBSD: shlib_version,v 1.3 2023/09/04 18:16:19 riastradh Exp $
+# $NetBSD: shlib_version,v 1.4 2023/09/06 12:48:15 riastradh Exp $
+#
 major=3
 minor=0

Index: src/external/bsd/unbound/lib/libunbound/shlib_version
diff -u src/external/bsd/unbound/lib/libunbound/shlib_version:1.4 src/external/bsd/unbound/lib/libunbound/shlib_version:1.5
--- src/external/bsd/unbound/lib/libunbound/shlib_version:1.4	Mon Sep  4 18:12:47 2023
+++ src/external/bsd/unbound/lib/libunbound/shlib_version	Wed Sep  6 12:48:15 2023
@@ -1,3 +1,4 @@
-#	$NetBSD: shlib_version,v 1.4 2023/09/04 18:12:47 riastradh Exp $
+#	$NetBSD: shlib_version,v 1.5 2023/09/06 12:48:15 riastradh Exp $
+#
 major=8
 minor=0

Index: src/external/mit/lua/lib/liblua/shlib_version
diff -u src/external/mit/lua/lib/liblua/shlib_version:1.4 src/external/mit/lua/lib/liblua/shlib_version:1.5
--- src/external/mit/lua/lib/liblua/shlib_version:1.4	Thu Jun  8 21:12:08 2023
+++ src/external/mit/lua/lib/liblua/shlib_version	Wed Sep  6 12:48:15 2023
@@ -1,3 +1,4 @@
-# $NetBSD: shlib_version,v 1.4 2023/06/08 21:12:08 nikita Exp $
+# $NetBSD: shlib_version,v 1.5 2023/09/06 12:48:15 riastradh Exp $
+#
 major=6
 minor=1

Index: src/lib/libexecinfo/shlib_version
diff -u src/lib/libexecinfo/shlib_version:1.1 src/lib/libexecinfo/shlib_version:1.2
--- src/lib/libexecinfo/shlib_version:1.1	Sat May 26 22:02:29 2012
+++ src/lib/libexecinfo/shlib_version	Wed Sep  6 12:48:15 2023
@@ -1,3 +1,4 @@
-#	$NetBSD: shlib_version,v 1.1 2012/05/26 22:02:29 christos Exp $
+#	$NetBSD: shlib_version,v 1.2 2023/09/06 12:48:15 riastradh Exp $
+#
 major=0
 minor=0



CVS commit: src

2023-09-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep  6 12:48:15 UTC 2023

Modified Files:
src/external/bsd/atf/lib/libatf-c: shlib_version
src/external/bsd/atf/lib/libatf-c++: shlib_version
src/external/bsd/jemalloc/lib: shlib_version
src/external/bsd/lutok/lib/liblutok: shlib_version
src/external/bsd/unbound/lib/libunbound: shlib_version
src/external/mit/lua/lib/liblua: shlib_version
src/lib/libexecinfo: shlib_version

Log Message:
*/shlib_version: Ensure a boring line between RCS id and all else.

This makes cherry-picks easier by avoiding conflicts between the RCS
id and the interesting changes.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/external/bsd/atf/lib/libatf-c/shlib_version
cvs rdiff -u -r1.3 -r1.4 src/external/bsd/atf/lib/libatf-c++/shlib_version
cvs rdiff -u -r1.1 -r1.2 src/external/bsd/jemalloc/lib/shlib_version
cvs rdiff -u -r1.3 -r1.4 src/external/bsd/lutok/lib/liblutok/shlib_version
cvs rdiff -u -r1.4 -r1.5 \
src/external/bsd/unbound/lib/libunbound/shlib_version
cvs rdiff -u -r1.4 -r1.5 src/external/mit/lua/lib/liblua/shlib_version
cvs rdiff -u -r1.1 -r1.2 src/lib/libexecinfo/shlib_version

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



CVS commit: src

2023-09-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep  6 12:44:45 UTC 2023

Modified Files:
src/distrib/sets/lists/base: shl.mi
src/distrib/sets/lists/debug: shl.mi
src/libexec/httpd/libbozohttpd: shlib_version
src/libexec/httpd/lua: shlib_version

Log Message:
libbozohttpd, libluabozohttpd: Bump major for libssl.so bump.

libluabozohttpd doesn't appear to be installed, but let's bump the
major just in case.

PR lib/57603

XXX pullup-10


To generate a diff of this commit:
cvs rdiff -u -r1.970 -r1.971 src/distrib/sets/lists/base/shl.mi
cvs rdiff -u -r1.331 -r1.332 src/distrib/sets/lists/debug/shl.mi
cvs rdiff -u -r1.1.1.1 -r1.2 src/libexec/httpd/libbozohttpd/shlib_version
cvs rdiff -u -r1.1.1.1 -r1.2 src/libexec/httpd/lua/shlib_version

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

Modified files:

Index: src/distrib/sets/lists/base/shl.mi
diff -u src/distrib/sets/lists/base/shl.mi:1.970 src/distrib/sets/lists/base/shl.mi:1.971
--- src/distrib/sets/lists/base/shl.mi:1.970	Mon Sep  4 21:36:31 2023
+++ src/distrib/sets/lists/base/shl.mi	Wed Sep  6 12:44:45 2023
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.970 2023/09/04 21:36:31 riastradh Exp $
+# $NetBSD: shl.mi,v 1.971 2023/09/06 12:44:45 riastradh Exp $
 #
 # Note:	Don't delete entries from here - mark them as "obsolete" instead,
 #	unless otherwise stated below.
@@ -242,8 +242,8 @@
 ./usr/lib/libbluetooth.so.4			base-sys-shlib		compatfile
 ./usr/lib/libbluetooth.so.4.2			base-sys-shlib		compatfile
 ./usr/lib/libbozohttpd.so 			base-sys-shlib		compatfile
-./usr/lib/libbozohttpd.so.0			base-sys-shlib		compatfile
-./usr/lib/libbozohttpd.so.0.0			base-sys-shlib		compatfile
+./usr/lib/libbozohttpd.so.1			base-sys-shlib		compatfile
+./usr/lib/libbozohttpd.so.1.0			base-sys-shlib		compatfile
 ./usr/lib/libbsdmalloc.so			base-sys-shlib		compatfile
 ./usr/lib/libbsdmalloc.so.0			base-sys-shlib		compatfile
 ./usr/lib/libbsdmalloc.so.0.1			base-sys-shlib		compatfile

Index: src/distrib/sets/lists/debug/shl.mi
diff -u src/distrib/sets/lists/debug/shl.mi:1.331 src/distrib/sets/lists/debug/shl.mi:1.332
--- src/distrib/sets/lists/debug/shl.mi:1.331	Tue Sep  5 03:41:49 2023
+++ src/distrib/sets/lists/debug/shl.mi	Wed Sep  6 12:44:45 2023
@@ -1,4 +1,4 @@
-# $NetBSD: shl.mi,v 1.331 2023/09/05 03:41:49 mrg Exp $
+# $NetBSD: shl.mi,v 1.332 2023/09/06 12:44:45 riastradh Exp $
 ./usr/lib/libbfd_g.a		comp-c-debuglib	debuglib,compatfile,binutils
 ./usr/libdata/debug/lib		base-sys-usr	debug,dynamicroot,compatdir
 ./usr/libdata/debug/lib/libavl.so.0.0.debug			comp-zfs-debug	debug,dynamicroot,zfs
@@ -78,7 +78,7 @@
 ./usr/libdata/debug/usr/lib/libbind9.so.20.0.debug		comp-bind-debug	debug,compatfile
 ./usr/libdata/debug/usr/lib/libblocklist.so.0.0.debug		comp-sys-debug	debug,compatfile
 ./usr/libdata/debug/usr/lib/libbluetooth.so.4.2.debug		comp-sys-debug	debug,compatfile
-./usr/libdata/debug/usr/lib/libbozohttpd.so.0.0.debug		comp-sys-debug	debug,compatfile
+./usr/libdata/debug/usr/lib/libbozohttpd.so.1.0.debug		comp-sys-debug	debug,compatfile
 ./usr/libdata/debug/usr/lib/libbsdmalloc.so.0.1.debug		comp-sys-debug	debug,compatfile
 ./usr/libdata/debug/usr/lib/libbz2.so.1.1.debug			comp-sys-debug	debug,compatfile
 ./usr/libdata/debug/usr/lib/libc++.so.1.0.debug			comp-sys-debug	debug,compatfile,libcxx

Index: src/libexec/httpd/libbozohttpd/shlib_version
diff -u src/libexec/httpd/libbozohttpd/shlib_version:1.1.1.1 src/libexec/httpd/libbozohttpd/shlib_version:1.2
--- src/libexec/httpd/libbozohttpd/shlib_version:1.1.1.1	Mon May 10 03:30:04 2010
+++ src/libexec/httpd/libbozohttpd/shlib_version	Wed Sep  6 12:44:45 2023
@@ -1,2 +1,2 @@
-major=0
+major=1
 minor=0

Index: src/libexec/httpd/lua/shlib_version
diff -u src/libexec/httpd/lua/shlib_version:1.1.1.1 src/libexec/httpd/lua/shlib_version:1.2
--- src/libexec/httpd/lua/shlib_version:1.1.1.1	Mon May 10 03:30:04 2010
+++ src/libexec/httpd/lua/shlib_version	Wed Sep  6 12:44:45 2023
@@ -1,2 +1,2 @@
-major=0
+major=1
 minor=0



CVS commit: src

2023-09-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep  6 12:44:45 UTC 2023

Modified Files:
src/distrib/sets/lists/base: shl.mi
src/distrib/sets/lists/debug: shl.mi
src/libexec/httpd/libbozohttpd: shlib_version
src/libexec/httpd/lua: shlib_version

Log Message:
libbozohttpd, libluabozohttpd: Bump major for libssl.so bump.

libluabozohttpd doesn't appear to be installed, but let's bump the
major just in case.

PR lib/57603

XXX pullup-10


To generate a diff of this commit:
cvs rdiff -u -r1.970 -r1.971 src/distrib/sets/lists/base/shl.mi
cvs rdiff -u -r1.331 -r1.332 src/distrib/sets/lists/debug/shl.mi
cvs rdiff -u -r1.1.1.1 -r1.2 src/libexec/httpd/libbozohttpd/shlib_version
cvs rdiff -u -r1.1.1.1 -r1.2 src/libexec/httpd/lua/shlib_version

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



CVS commit: src/sys/sys

2023-09-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep  6 12:31:49 UTC 2023

Modified Files:
src/sys/sys: param.h

Log Message:
sys/param.h: Welcome to 10.99.8!

Courtesy of nestable heartbeat_suspend/resume, which changed struct
cpu_info.


To generate a diff of this commit:
cvs rdiff -u -r1.730 -r1.731 src/sys/sys/param.h

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

Modified files:

Index: src/sys/sys/param.h
diff -u src/sys/sys/param.h:1.730 src/sys/sys/param.h:1.731
--- src/sys/sys/param.h:1.730	Sun Jul 30 20:34:44 2023
+++ src/sys/sys/param.h	Wed Sep  6 12:31:49 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: param.h,v 1.730 2023/07/30 20:34:44 christos Exp $	*/
+/*	$NetBSD: param.h,v 1.731 2023/09/06 12:31:49 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 1982, 1986, 1989, 1993
@@ -67,7 +67,7 @@
  *	2.99.9		(299000900)
  */
 
-#define	__NetBSD_Version__	1099000700	/* NetBSD 10.99.7 */
+#define	__NetBSD_Version__	1099000800	/* NetBSD 10.99.8 */
 
 #define __NetBSD_Prereq__(M,m,p) (M) * 1) + \
 (m) * 100) + (p) * 100) <= __NetBSD_Version__)



CVS commit: src/sys/sys

2023-09-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep  6 12:31:49 UTC 2023

Modified Files:
src/sys/sys: param.h

Log Message:
sys/param.h: Welcome to 10.99.8!

Courtesy of nestable heartbeat_suspend/resume, which changed struct
cpu_info.


To generate a diff of this commit:
cvs rdiff -u -r1.730 -r1.731 src/sys/sys/param.h

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



CVS commit: src/sys

2023-09-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep  6 12:29:14 UTC 2023

Modified Files:
src/sys/kern: kern_heartbeat.c
src/sys/sys: cpu_data.h sched.h

Log Message:
heartbeat(9): Make heartbeat_suspend/resume nestable.

And make them bind to the CPU as a side effect, instead of requiring
the caller to have already done so.

This lets us eliminate the assertions so we can use them in ddb even
when things are going haywire and we just want to get diagnostics.

XXX kernel revbump -- struct cpu_info change


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/kern/kern_heartbeat.c
cvs rdiff -u -r1.54 -r1.55 src/sys/sys/cpu_data.h
cvs rdiff -u -r1.93 -r1.94 src/sys/sys/sched.h

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

Modified files:

Index: src/sys/kern/kern_heartbeat.c
diff -u src/sys/kern/kern_heartbeat.c:1.9 src/sys/kern/kern_heartbeat.c:1.10
--- src/sys/kern/kern_heartbeat.c:1.9	Sat Sep  2 17:44:41 2023
+++ src/sys/kern/kern_heartbeat.c	Wed Sep  6 12:29:14 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_heartbeat.c,v 1.9 2023/09/02 17:44:41 riastradh Exp $	*/
+/*	$NetBSD: kern_heartbeat.c,v 1.10 2023/09/06 12:29:14 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2023 The NetBSD Foundation, Inc.
@@ -82,7 +82,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: kern_heartbeat.c,v 1.9 2023/09/02 17:44:41 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_heartbeat.c,v 1.10 2023/09/06 12:29:14 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ddb.h"
@@ -132,21 +132,26 @@ void *heartbeat_sih			__read_mostly;
  *
  *	Called after the current CPU has been marked offline but before
  *	it has stopped running, or after IPL has been raised for
- *	polling-mode console input.  Caller must have preemption
- *	disabled.  Non-nestable.  Reversed by heartbeat_resume.
+ *	polling-mode console input.  Binds to the current CPU as a side
+ *	effect.  Nestable (but only up to 2^32 times, so don't do this
+ *	in a loop).  Reversed by heartbeat_resume.
  */
 void
 heartbeat_suspend(void)
 {
-	struct cpu_info *ci = curcpu();
-	int s;
+	unsigned *p;
 
-	KASSERT(curcpu_stable());
-	KASSERT((ci->ci_schedstate.spc_flags & SPCF_HEARTBEATSUSPENDED) == 0);
-
-	s = splsched();
-	ci->ci_schedstate.spc_flags |= SPCF_HEARTBEATSUSPENDED;
-	splx(s);
+	/*
+	 * We could use curlwp_bind, but we'd have to record whether we
+	 * were already bound or not to pass to curlwp_bindx in
+	 * heartbeat_resume.  Using kpreempt_disable is simpler and
+	 * unlikely to have any adverse consequences, since this only
+	 * happens when we're about to go into a tight polling loop at
+	 * raised IPL anyway.
+	 */
+	kpreempt_disable();
+	p = ()->ci_heartbeat_suspend;
+	atomic_store_relaxed(p, *p + 1);
 }
 
 /*
@@ -180,26 +185,26 @@ heartbeat_resume_cpu(struct cpu_info *ci
  *
  *	Called after the current CPU has started running but before it
  *	has been marked online, or when ending polling-mode input
- *	before IPL is restored.  Caller must have preemption disabled.
+ *	before IPL is restored.  Reverses heartbeat_suspend.
  */
 void
 heartbeat_resume(void)
 {
 	struct cpu_info *ci = curcpu();
+	unsigned *p;
 	int s;
 
-	KASSERT(curcpu_stable());
-	KASSERT(ci->ci_schedstate.spc_flags & SPCF_HEARTBEATSUSPENDED);
-
 	/*
-	 * Block heartbeats while we reset the state so we don't
-	 * spuriously think we had a heart attack in the middle of
-	 * resetting the count and the uptime stamp.
+	 * Reset the state so nobody spuriously thinks we had a heart
+	 * attack as soon as the heartbeat checks resume.
 	 */
 	s = splsched();
-	ci->ci_schedstate.spc_flags &= ~SPCF_HEARTBEATSUSPENDED;
 	heartbeat_resume_cpu(ci);
 	splx(s);
+
+	p = >ci_heartbeat_suspend;
+	atomic_store_relaxed(p, *p - 1);
+	kpreempt_enable();
 }
 
 /*
@@ -223,10 +228,8 @@ heartbeat_timecounter_suspended(void)
 	 * iterating over all CPUs.
 	 */
 	for (CPU_INFO_FOREACH(cii, ci)) {
-		if (CPU_IS_PRIMARY(ci)) {
-			return ci->ci_schedstate.spc_flags &
-			SPCF_HEARTBEATSUSPENDED;
-		}
+		if (CPU_IS_PRIMARY(ci))
+			return atomic_load_relaxed(>ci_heartbeat_suspend);
 	}
 
 	/*
@@ -551,7 +554,7 @@ select_patient(void)
 	 * in the iteration order.
 	 */
 	for (CPU_INFO_FOREACH(cii, ci)) {
-		if (ci->ci_schedstate.spc_flags & SPCF_HEARTBEATSUSPENDED)
+		if (atomic_load_relaxed(>ci_heartbeat_suspend))
 			continue;
 		if (passedcur) {
 			/*
@@ -628,8 +631,7 @@ heartbeat(void)
 	period_secs = atomic_load_relaxed(_max_period_secs);
 	if (__predict_false(period_ticks == 0) ||
 	__predict_false(period_secs == 0) ||
-	__predict_false(curcpu()->ci_schedstate.spc_flags &
-		SPCF_HEARTBEATSUSPENDED))
+	__predict_false(curcpu()->ci_heartbeat_suspend))
 		return;
 
 	/*
@@ -716,8 +718,7 @@ heartbeat(void)
 	d = uptime - atomic_load_relaxed(>ci_heartbeat_uptime_cache);
 	if (__predict_false(d > period_secs) &&
 	__predict_false(d < UINT_MAX/2) &&
-	

CVS commit: src/sys

2023-09-06 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Sep  6 12:29:14 UTC 2023

Modified Files:
src/sys/kern: kern_heartbeat.c
src/sys/sys: cpu_data.h sched.h

Log Message:
heartbeat(9): Make heartbeat_suspend/resume nestable.

And make them bind to the CPU as a side effect, instead of requiring
the caller to have already done so.

This lets us eliminate the assertions so we can use them in ddb even
when things are going haywire and we just want to get diagnostics.

XXX kernel revbump -- struct cpu_info change


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/kern/kern_heartbeat.c
cvs rdiff -u -r1.54 -r1.55 src/sys/sys/cpu_data.h
cvs rdiff -u -r1.93 -r1.94 src/sys/sys/sched.h

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



CVS commit: src/sys/arch/macppc/dev

2023-09-06 Thread Michael Lorenz
Module Name:src
Committed By:   macallan
Date:   Wed Sep  6 08:14:42 UTC 2023

Modified Files:
src/sys/arch/macppc/dev: cuda.c

Log Message:
yet another tsleep/wakeup -> cv_*


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/macppc/dev/cuda.c

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

Modified files:

Index: src/sys/arch/macppc/dev/cuda.c
diff -u src/sys/arch/macppc/dev/cuda.c:1.29 src/sys/arch/macppc/dev/cuda.c:1.30
--- src/sys/arch/macppc/dev/cuda.c:1.29	Sat Aug  7 16:18:57 2021
+++ src/sys/arch/macppc/dev/cuda.c	Wed Sep  6 08:14:42 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: cuda.c,v 1.29 2021/08/07 16:18:57 thorpej Exp $ */
+/*	$NetBSD: cuda.c,v 1.30 2023/09/06 08:14:42 macallan Exp $ */
 
 /*-
  * Copyright (c) 2006 Michael Lorenz
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: cuda.c,v 1.29 2021/08/07 16:18:57 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cuda.c,v 1.30 2023/09/06 08:14:42 macallan Exp $");
 
 #include 
 #include 
@@ -93,7 +93,8 @@ struct cuda_softc {
 	/* time */
 	uint32_t sc_tod;
 	uint32_t sc_autopoll;
-	uint32_t sc_todev;
+	kcondvar_t sc_todev;
+	kmutex_t sc_todevmtx;
 	/* ADB */
 	void (*sc_adb_handler)(void *, int, uint8_t *);
 	void *sc_adb_cookie;
@@ -197,6 +198,9 @@ cuda_attach(device_t parent, device_t se
 	sc->sc_error = 0;
 	sc->sc_i2c_read_len = 0;
 
+	cv_init(>sc_todev, "cuda_event");
+	mutex_init(>sc_todevmtx, MUTEX_DEFAULT, IPL_NONE);
+
 	if (bus_space_map(sc->sc_memt, ca->ca_reg[0] + ca->ca_baseaddr,
 	ca->ca_reg[1], 0, >sc_memh) != 0) {
 
@@ -728,7 +732,8 @@ cuda_error_handler(void *cookie, int len
 	 * byte 3 seems to be the failed command
 	 */
 	sc->sc_error = 1;
-	wakeup(>sc_todev);
+	DPRINTF("cuda error %02x %02x %02x %02x\n", data[0], data[1], data[2], data[3]);
+	cv_signal(>sc_todev);
 	return 0;
 }
 
@@ -763,7 +768,7 @@ cuda_todr_handler(void *cookie, int len,
 			sc->sc_iic_done = len;
 			break;
 	}
-	wakeup(>sc_todev);
+	cv_signal(>sc_todev);
 	return 0;
 }
 
@@ -781,7 +786,10 @@ cuda_todr_get(todr_chip_handle_t tch, st
 		cuda_send(sc, 0, 2, cmd);
 
 		while ((sc->sc_tod == 0) && (cnt < 10)) {
-			tsleep(>sc_todev, 0, "todr", 10);
+			mutex_enter(>sc_todevmtx);
+			cv_timedwait(>sc_todev, >sc_todevmtx, hz);
+			mutex_exit(>sc_todevmtx);
+
 			cnt++;
 		}
 
@@ -817,7 +825,9 @@ cuda_todr_set(todr_chip_handle_t tch, st
 	sc->sc_tod = 0;
 	if (cuda_send(sc, 0, 6, cmd) == 0) {
 		while (sc->sc_tod == 0) {
-			tsleep(>sc_todev, 0, "todr", 10);
+			mutex_enter(>sc_todevmtx);
+			cv_timedwait(>sc_todev, >sc_todevmtx, hz);
+			mutex_exit(>sc_todevmtx);
 		}
 		return 0;
 	}
@@ -874,8 +884,11 @@ cuda_autopoll(void *cookie, int flag)
 	while(sc->sc_autopoll == -1) {
 		if (sc->sc_polling || cold) {
 			cuda_poll(sc);
-		} else
-			tsleep(>sc_todev, 0, "autopoll", 100);
+		} else {
+			mutex_enter(>sc_todevmtx);
+			cv_timedwait(>sc_todev, >sc_todevmtx, hz);
+			mutex_exit(>sc_todevmtx);
+		}
 	}
 }
 	
@@ -962,8 +975,11 @@ cuda_i2c_exec(void *cookie, i2c_op_t op,
 	while ((sc->sc_iic_done == 0) && (sc->sc_error == 0)) {
 		if (sc->sc_polling || cold) {
 			cuda_poll(sc);
-		} else
-			tsleep(>sc_todev, 0, "i2c", 1000);
+		} else {
+			mutex_enter(>sc_todevmtx);
+			cv_timedwait(>sc_todev, >sc_todevmtx, hz);
+			mutex_exit(>sc_todevmtx);
+		}
 	}
 
 	if (sc->sc_error) {
@@ -988,8 +1004,11 @@ cuda_i2c_exec(void *cookie, i2c_op_t op,
 		while ((sc->sc_iic_done == 0) && (sc->sc_error == 0)) {
 			if (sc->sc_polling || cold) {
 cuda_poll(sc);
-			} else
-tsleep(>sc_todev, 0, "i2c", 1000);
+			} else {
+mutex_enter(>sc_todevmtx);
+cv_timedwait(>sc_todev, >sc_todevmtx, hz);
+mutex_exit(>sc_todevmtx);
+			}
 		}
 
 		if (sc->sc_error) {



CVS commit: src/sys/arch/macppc/dev

2023-09-06 Thread Michael Lorenz
Module Name:src
Committed By:   macallan
Date:   Wed Sep  6 08:14:42 UTC 2023

Modified Files:
src/sys/arch/macppc/dev: cuda.c

Log Message:
yet another tsleep/wakeup -> cv_*


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/macppc/dev/cuda.c

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



CVS commit: src/libexec/mail.local

2023-09-06 Thread Mateusz Kocielski
Module Name:src
Committed By:   shm
Date:   Wed Sep  6 08:12:09 UTC 2023

Modified Files:
src/libexec/mail.local: mail.local.c

Log Message:
- remove lock file on error
- clarify diagnostic messages
- initialize struct stat if lstat(2) failed (from mhal at rbox dot co)
- ensure appending to a regular file


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/libexec/mail.local/mail.local.c

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



CVS commit: src/libexec/mail.local

2023-09-06 Thread Mateusz Kocielski
Module Name:src
Committed By:   shm
Date:   Wed Sep  6 08:12:09 UTC 2023

Modified Files:
src/libexec/mail.local: mail.local.c

Log Message:
- remove lock file on error
- clarify diagnostic messages
- initialize struct stat if lstat(2) failed (from mhal at rbox dot co)
- ensure appending to a regular file


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/libexec/mail.local/mail.local.c

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

Modified files:

Index: src/libexec/mail.local/mail.local.c
diff -u src/libexec/mail.local/mail.local.c:1.29 src/libexec/mail.local/mail.local.c:1.30
--- src/libexec/mail.local/mail.local.c:1.29	Tue May 17 11:18:58 2022
+++ src/libexec/mail.local/mail.local.c	Wed Sep  6 08:12:09 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: mail.local.c,v 1.29 2022/05/17 11:18:58 kre Exp $	*/
+/*	$NetBSD: mail.local.c,v 1.30 2023/09/06 08:12:09 shm Exp $	*/
 
 /*-
  * Copyright (c) 1990, 1993, 1994
@@ -36,7 +36,7 @@ __COPYRIGHT("@(#) Copyright (c) 1990, 19
 #if 0
 static char sccsid[] = "@(#)mail.local.c	8.22 (Berkeley) 6/21/95";
 #else
-__RCSID("$NetBSD: mail.local.c,v 1.29 2022/05/17 11:18:58 kre Exp $");
+__RCSID("$NetBSD: mail.local.c,v 1.30 2023/09/06 08:12:09 shm Exp $");
 #endif
 #endif /* not lint */
 
@@ -51,6 +51,7 @@ __RCSID("$NetBSD: mail.local.c,v 1.29 20
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -137,7 +138,7 @@ store(const char *from)
 
 	tn = strdup(_PATH_LOCTMP);
 	if (!tn)
-		logerr(EX_OSERR, "not enough core");
+		logerr(EX_OSERR, "not enough memory");
 	if ((fd = mkstemp(tn)) == -1 || !(fp = fdopen(fd, "w+")))
 		logerr(EX_OSERR, "unable to open temporary file");
 	(void)unlink(tn);
@@ -175,13 +176,28 @@ store(const char *from)
 	return(fd);
 }
 
+static bool
+badfile(const char *path, const struct stat *sb)
+{
+	if (!S_ISREG(sb->st_mode)) {
+		logwarn("%s: not a regular file", path);
+		return true;
+	}
+
+	if (sb->st_nlink != 1) {
+		logwarn("%s: linked file", path);
+		return true;
+	}
+	return false;
+}
+
 static int
 deliver(int fd, char *name, int lockfile)
 {
 	struct stat sb, nsb;
 	struct passwd pwres, *pw;
 	char pwbuf[1024];
-	int created = 0, mbfd, nr, nw, off, rval=EX_OK, lfd = -1;
+	int created = 0, mbfd = -1, nr, nw, off, rval=EX_OK, lfd = -1;
 	char biffmsg[100], buf[8*1024], path[MAXPATHLEN], lpath[MAXPATHLEN];
 	off_t curoff;
 
@@ -211,10 +227,17 @@ deliver(int fd, char *name, int lockfile
 		}
 	}
 
-	if ((lstat(path, ) != -1) &&
-	(sb.st_nlink != 1 || S_ISLNK(sb.st_mode))) {
-		logwarn("%s: linked file", path);
-		return(EX_OSERR);
+	if (lstat(path, ) == -1) {
+	if (errno != ENOENT) {
+		logwarn("%s: %s", path, strerror(errno));
+		rval = EX_OSERR;
+		goto bad;
+	}
+	memset(, 0, sizeof(sb));
+	sb.st_dev = NODEV;
+	} else if (badfile(path, )) {
+		rval = EX_OSERR;
+		goto bad;
 	}
 	
 	if ((mbfd = open(path, O_APPEND|O_WRONLY|O_EXLOCK|O_NOFOLLOW,
@@ -235,8 +258,14 @@ deliver(int fd, char *name, int lockfile
 			goto bad;
 		}
 
+		if (badfile(path, )) {
+			rval = EX_OSERR;
+			goto bad;
+		}
+
 		/* file is not what we expected */
 		if (nsb.st_ino != sb.st_ino || nsb.st_dev != sb.st_dev) {
+			logwarn("%s: file has changed", path);
 			rval = EX_OSERR;
 			goto bad;
 		}



CVS commit: [netbsd-8] src/doc

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 08:04:43 UTC 2023

Modified Files:
src/doc [netbsd-8]: CHANGES-8.3

Log Message:
Ticket #1895


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.195 -r1.1.2.196 src/doc/CHANGES-8.3

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

Modified files:

Index: src/doc/CHANGES-8.3
diff -u src/doc/CHANGES-8.3:1.1.2.195 src/doc/CHANGES-8.3:1.1.2.196
--- src/doc/CHANGES-8.3:1.1.2.195	Mon Sep  4 18:00:03 2023
+++ src/doc/CHANGES-8.3	Wed Sep  6 08:04:43 2023
@@ -1,4 +1,4 @@
- $NetBSD: CHANGES-8.3,v 1.1.2.195 2023/09/04 18:00:03 martin Exp $
+ $NetBSD: CHANGES-8.3,v 1.1.2.196 2023/09/06 08:04:43 martin Exp $
 
 A complete list of changes from the NetBSD 8.2 release to the NetBSD 8.3
 release:
@@ -3864,3 +3864,8 @@ sys/dev/pci/if_wmvar.h1.50
 	Print debug message correctly when WM_DEBUG is set.
 	[msaitoh, ticket #1894]
 
+crypto/external/bsd/openssl/dist/crypto/sparccpuid.S 1.11
+
+	openssl: PR 57594: fix SPARC v8/v9 detection code.
+	[mrg, ticket #1895]
+



CVS commit: [netbsd-8] src/doc

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 08:04:43 UTC 2023

Modified Files:
src/doc [netbsd-8]: CHANGES-8.3

Log Message:
Ticket #1895


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.195 -r1.1.2.196 src/doc/CHANGES-8.3

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



CVS commit: [netbsd-8] src/crypto/external/bsd/openssl/dist/crypto

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 08:03:45 UTC 2023

Modified Files:
src/crypto/external/bsd/openssl/dist/crypto [netbsd-8]: sparccpuid.S

Log Message:
Pull up following revision(s) (requested by mrg in ticket #1895):

crypto/external/bsd/openssl/dist/crypto/sparccpuid.S: revision 1.11

fix SPARC v8/v9 detection code.

this code uses a trick where the encoding on both v8 and v9 are
the same, and are not illegal instructions, but that the v9 one
has a detectable difference than v8.

the idea is that we perform a "subcc" (set condition codes) which
sets "%ccr" on v9, which is an unimplemented "%asr2" on v8, then
we read %ccr (v9) or %asr2 (v8), which will always be 0x99 on v9,
and .. is non-trapping but impleentation defined on v8.

for many implementations this returns the value of the %y reg.

as nothing actually sets %y in this path, it remains the value it
was most recently set to by something (anything), and if it just
happens to be 0x99 then the v9 paths will be taken on v8.

fix this by clearing the %y register before the potential read.

fixes PR port-sparc/57594.  tested on ss20 and in qemu.  this
version of the patch has been submitted upstream.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.6.6.1 \
src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S

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

Modified files:

Index: src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S
diff -u src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S:1.6 src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S:1.6.6.1
--- src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S:1.6	Fri Oct 14 16:23:17 2016
+++ src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S	Wed Sep  6 08:03:45 2023
@@ -40,10 +40,14 @@ OPENSSL_wipe_cpu:
 	subcc	%g0,1,%o0
 	! Following is V9 "rd %ccr,%o0" instruction. However! V8
 	! specification says that it ("rd %asr2,%o0" in V8 terms) does
-	! not cause illegal_instruction trap. It therefore can be used
-	! to determine if the CPU the code is executing on is V8- or
-	! V9-compliant, as V9 returns a distinct value of 0x99,
-	! "negative" and "borrow" bits set in both %icc and %xcc.
+	! not cause illegal_instruction trap, however it may read from
+	! the %y register. It therefore can be used to determine if the
+	! CPU the code is executing on is V8- or V9-compliant, as V9
+	! returns a distinct value of 0x99, "negative" and "borrow"
+	! bits set in both %icc and %xcc. The %y register needs to be
+	! set away from 0x99 to avoid false-positives matches.
+	! 
+	wr	0, %y
 	.word	0x91408000	!rd	%ccr,%o0
 	cmp	%o0,0x99
 	bne	.v8
@@ -171,6 +175,7 @@ _walk.reg.wins:
 OPENSSL_atomic_add:
 #ifndef ABI64
 	subcc	%g0,1,%o2
+	wr	0, %y
 	.word	0x95408000	!rd	%ccr,%o2, see comment above
 	cmp	%o2,0x99
 	be	.v9
@@ -219,7 +224,8 @@ OPENSSL_atomic_add:
 .align	32
 _sparcv9_rdtick:
 	subcc	%g0,1,%o0
-	.word	0x91408000	!rd	%ccr,%o0
+	wr	0, %y
+	.word	0x91408000	!rd	%ccr,%o0, see comment above
 	cmp	%o0,0x99
 	bne	.notick
 	xor	%o0,%o0,%o0
@@ -373,7 +379,8 @@ OPENSSL_cleanse:
 #ifndef ABI64
 	subcc	%g0,1,%g1
 	! see above for explanation
-	.word	0x83408000	!rd	%ccr,%g1
+	wr	0, %y
+	.word	0x83408000	!rd	%ccr,%g1, see comment above
 	cmp	%g1,0x99
 	bne	.v8lot
 	nop



CVS commit: [netbsd-8] src/crypto/external/bsd/openssl/dist/crypto

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 08:03:45 UTC 2023

Modified Files:
src/crypto/external/bsd/openssl/dist/crypto [netbsd-8]: sparccpuid.S

Log Message:
Pull up following revision(s) (requested by mrg in ticket #1895):

crypto/external/bsd/openssl/dist/crypto/sparccpuid.S: revision 1.11

fix SPARC v8/v9 detection code.

this code uses a trick where the encoding on both v8 and v9 are
the same, and are not illegal instructions, but that the v9 one
has a detectable difference than v8.

the idea is that we perform a "subcc" (set condition codes) which
sets "%ccr" on v9, which is an unimplemented "%asr2" on v8, then
we read %ccr (v9) or %asr2 (v8), which will always be 0x99 on v9,
and .. is non-trapping but impleentation defined on v8.

for many implementations this returns the value of the %y reg.

as nothing actually sets %y in this path, it remains the value it
was most recently set to by something (anything), and if it just
happens to be 0x99 then the v9 paths will be taken on v8.

fix this by clearing the %y register before the potential read.

fixes PR port-sparc/57594.  tested on ss20 and in qemu.  this
version of the patch has been submitted upstream.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.6.6.1 \
src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S

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



CVS commit: [netbsd-9] src/doc

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 08:03:07 UTC 2023

Modified Files:
src/doc [netbsd-9]: CHANGES-9.4

Log Message:
Ticket #1727


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.96 -r1.1.2.97 src/doc/CHANGES-9.4

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

Modified files:

Index: src/doc/CHANGES-9.4
diff -u src/doc/CHANGES-9.4:1.1.2.96 src/doc/CHANGES-9.4:1.1.2.97
--- src/doc/CHANGES-9.4:1.1.2.96	Mon Sep  4 17:56:39 2023
+++ src/doc/CHANGES-9.4	Wed Sep  6 08:03:07 2023
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-9.4,v 1.1.2.96 2023/09/04 17:56:39 martin Exp $
+# $NetBSD: CHANGES-9.4,v 1.1.2.97 2023/09/06 08:03:07 martin Exp $
 
 A complete list of changes from the NetBSD 9.3 release to the NetBSD 9.4
 release:
@@ -2101,3 +2101,8 @@ sys/dev/pci/if_wmvar.h1.50
 	Print debug message correctly when WM_DEBUG is set.
 	[msaitoh, ticket #1726]
 
+crypto/external/bsd/openssl/dist/crypto/sparccpuid.S 1.11
+
+	openssl: PR 57594: fix SPARC v8/v9 detection code.
+	[mrg, ticket #1727]
+



CVS commit: [netbsd-9] src/doc

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 08:03:07 UTC 2023

Modified Files:
src/doc [netbsd-9]: CHANGES-9.4

Log Message:
Ticket #1727


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.96 -r1.1.2.97 src/doc/CHANGES-9.4

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



CVS commit: [netbsd-9] src/crypto/external/bsd/openssl/dist/crypto

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 08:01:47 UTC 2023

Modified Files:
src/crypto/external/bsd/openssl/dist/crypto [netbsd-9]: sparccpuid.S

Log Message:
Pull up following revision(s) (requested by mrg in ticket #1727):

crypto/external/bsd/openssl/dist/crypto/sparccpuid.S: revision 1.11

fix SPARC v8/v9 detection code.

this code uses a trick where the encoding on both v8 and v9 are
the same, and are not illegal instructions, but that the v9 one
has a detectable difference than v8.

the idea is that we perform a "subcc" (set condition codes) which
sets "%ccr" on v9, which is an unimplemented "%asr2" on v8, then
we read %ccr (v9) or %asr2 (v8), which will always be 0x99 on v9,
and .. is non-trapping but impleentation defined on v8.

for many implementations this returns the value of the %y reg.

as nothing actually sets %y in this path, it remains the value it
was most recently set to by something (anything), and if it just
happens to be 0x99 then the v9 paths will be taken on v8.

fix this by clearing the %y register before the potential read.

fixes PR port-sparc/57594.  tested on ss20 and in qemu.  this
version of the patch has been submitted upstream.


To generate a diff of this commit:
cvs rdiff -u -r1.8.2.1 -r1.8.2.2 \
src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S

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

Modified files:

Index: src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S
diff -u src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S:1.8.2.1 src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S:1.8.2.2
--- src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S:1.8.2.1	Mon Apr 27 14:47:13 2020
+++ src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S	Wed Sep  6 08:01:47 2023
@@ -47,10 +47,14 @@ OPENSSL_wipe_cpu:
 	subcc	%g0,1,%o0
 	! Following is V9 "rd %ccr,%o0" instruction. However! V8
 	! specification says that it ("rd %asr2,%o0" in V8 terms) does
-	! not cause illegal_instruction trap. It therefore can be used
-	! to determine if the CPU the code is executing on is V8- or
-	! V9-compliant, as V9 returns a distinct value of 0x99,
-	! "negative" and "borrow" bits set in both %icc and %xcc.
+	! not cause illegal_instruction trap, however it may read from
+	! the %y register. It therefore can be used to determine if the
+	! CPU the code is executing on is V8- or V9-compliant, as V9
+	! returns a distinct value of 0x99, "negative" and "borrow"
+	! bits set in both %icc and %xcc. The %y register needs to be
+	! set away from 0x99 to avoid false-positives matches.
+	! 
+	wr	0, %y
 	.word	0x91408000	!rd	%ccr,%o0
 	cmp	%o0,0x99
 	bne	.v8
@@ -178,6 +182,7 @@ walk_reg_wins:
 OPENSSL_atomic_add:
 #ifndef ABI64
 	subcc	%g0,1,%o2
+	wr	0, %y
 	.word	0x95408000	!rd	%ccr,%o2, see comment above
 	cmp	%o2,0x99
 	be	.v9
@@ -226,7 +231,8 @@ OPENSSL_atomic_add:
 .align	32
 _sparcv9_rdtick:
 	subcc	%g0,1,%o0
-	.word	0x91408000	!rd	%ccr,%o0
+	wr	0, %y
+	.word	0x91408000	!rd	%ccr,%o0, see comment above
 	cmp	%o0,0x99
 	bne	.notick
 	xor	%o0,%o0,%o0
@@ -388,7 +394,8 @@ OPENSSL_cleanse:
 #ifndef ABI64
 	subcc	%g0,1,%g1
 	! see above for explanation
-	.word	0x83408000	!rd	%ccr,%g1
+	wr	0, %y
+	.word	0x83408000	!rd	%ccr,%g1, see comment above
 	cmp	%g1,0x99
 	bne	.v8lot
 	nop



CVS commit: [netbsd-9] src/crypto/external/bsd/openssl/dist/crypto

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 08:01:47 UTC 2023

Modified Files:
src/crypto/external/bsd/openssl/dist/crypto [netbsd-9]: sparccpuid.S

Log Message:
Pull up following revision(s) (requested by mrg in ticket #1727):

crypto/external/bsd/openssl/dist/crypto/sparccpuid.S: revision 1.11

fix SPARC v8/v9 detection code.

this code uses a trick where the encoding on both v8 and v9 are
the same, and are not illegal instructions, but that the v9 one
has a detectable difference than v8.

the idea is that we perform a "subcc" (set condition codes) which
sets "%ccr" on v9, which is an unimplemented "%asr2" on v8, then
we read %ccr (v9) or %asr2 (v8), which will always be 0x99 on v9,
and .. is non-trapping but impleentation defined on v8.

for many implementations this returns the value of the %y reg.

as nothing actually sets %y in this path, it remains the value it
was most recently set to by something (anything), and if it just
happens to be 0x99 then the v9 paths will be taken on v8.

fix this by clearing the %y register before the potential read.

fixes PR port-sparc/57594.  tested on ss20 and in qemu.  this
version of the patch has been submitted upstream.


To generate a diff of this commit:
cvs rdiff -u -r1.8.2.1 -r1.8.2.2 \
src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S

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



CVS commit: [netbsd-10] src/doc

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 08:01:09 UTC 2023

Modified Files:
src/doc [netbsd-10]: CHANGES-10.0

Log Message:
Ticket #349


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.116 -r1.1.2.117 src/doc/CHANGES-10.0

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

Modified files:

Index: src/doc/CHANGES-10.0
diff -u src/doc/CHANGES-10.0:1.1.2.116 src/doc/CHANGES-10.0:1.1.2.117
--- src/doc/CHANGES-10.0:1.1.2.116	Tue Sep  5 17:27:55 2023
+++ src/doc/CHANGES-10.0	Wed Sep  6 08:01:09 2023
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-10.0,v 1.1.2.116 2023/09/05 17:27:55 martin Exp $
+# $NetBSD: CHANGES-10.0,v 1.1.2.117 2023/09/06 08:01:09 martin Exp $
 
 A complete list of changes from the initial NetBSD 10.0 branch on 2022-12-16
 until the 10.0 release:
@@ -11757,3 +11757,8 @@ distrib/sets/lists/xdebug/shl.mi		1.69 (
 	Remove various bogus shlib obsolete lines.
 	[riastradh, ticket #348]
 
+crypto/external/bsd/openssl/dist/crypto/sparccpuid.S 1.11
+
+	openssl: PR 57594: fix SPARC v8/v9 detection code.
+	[mrg, ticket #349]
+



CVS commit: [netbsd-10] src/doc

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 08:01:09 UTC 2023

Modified Files:
src/doc [netbsd-10]: CHANGES-10.0

Log Message:
Ticket #349


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.116 -r1.1.2.117 src/doc/CHANGES-10.0

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



CVS commit: [netbsd-10] src/crypto/external/bsd/openssl/dist/crypto

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 08:00:12 UTC 2023

Modified Files:
src/crypto/external/bsd/openssl/dist/crypto [netbsd-10]: sparccpuid.S

Log Message:
Pull up following revision(s) (requested by mrg in ticket #349):

crypto/external/bsd/openssl/dist/crypto/sparccpuid.S: revision 1.11

fix SPARC v8/v9 detection code.

this code uses a trick where the encoding on both v8 and v9 are
the same, and are not illegal instructions, but that the v9 one
has a detectable difference than v8.

the idea is that we perform a "subcc" (set condition codes) which
sets "%ccr" on v9, which is an unimplemented "%asr2" on v8, then
we read %ccr (v9) or %asr2 (v8), which will always be 0x99 on v9,
and .. is non-trapping but impleentation defined on v8.

for many implementations this returns the value of the %y reg.

as nothing actually sets %y in this path, it remains the value it
was most recently set to by something (anything), and if it just
happens to be 0x99 then the v9 paths will be taken on v8.

fix this by clearing the %y register before the potential read.

fixes PR port-sparc/57594.  tested on ss20 and in qemu.  this
version of the patch has been submitted upstream.


To generate a diff of this commit:
cvs rdiff -u -r1.9.6.1 -r1.9.6.2 \
src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S

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



CVS commit: [netbsd-10] src/crypto/external/bsd/openssl/dist/crypto

2023-09-06 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Sep  6 08:00:12 UTC 2023

Modified Files:
src/crypto/external/bsd/openssl/dist/crypto [netbsd-10]: sparccpuid.S

Log Message:
Pull up following revision(s) (requested by mrg in ticket #349):

crypto/external/bsd/openssl/dist/crypto/sparccpuid.S: revision 1.11

fix SPARC v8/v9 detection code.

this code uses a trick where the encoding on both v8 and v9 are
the same, and are not illegal instructions, but that the v9 one
has a detectable difference than v8.

the idea is that we perform a "subcc" (set condition codes) which
sets "%ccr" on v9, which is an unimplemented "%asr2" on v8, then
we read %ccr (v9) or %asr2 (v8), which will always be 0x99 on v9,
and .. is non-trapping but impleentation defined on v8.

for many implementations this returns the value of the %y reg.

as nothing actually sets %y in this path, it remains the value it
was most recently set to by something (anything), and if it just
happens to be 0x99 then the v9 paths will be taken on v8.

fix this by clearing the %y register before the potential read.

fixes PR port-sparc/57594.  tested on ss20 and in qemu.  this
version of the patch has been submitted upstream.


To generate a diff of this commit:
cvs rdiff -u -r1.9.6.1 -r1.9.6.2 \
src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S

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

Modified files:

Index: src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S
diff -u src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S:1.9.6.1 src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S:1.9.6.2
--- src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S:1.9.6.1	Fri Aug 11 13:40:17 2023
+++ src/crypto/external/bsd/openssl/dist/crypto/sparccpuid.S	Wed Sep  6 08:00:12 2023
@@ -47,10 +47,14 @@ OPENSSL_wipe_cpu:
 	subcc	%g0,1,%o0
 	! Following is V9 "rd %ccr,%o0" instruction. However! V8
 	! specification says that it ("rd %asr2,%o0" in V8 terms) does
-	! not cause illegal_instruction trap. It therefore can be used
-	! to determine if the CPU the code is executing on is V8- or
-	! V9-compliant, as V9 returns a distinct value of 0x99,
-	! "negative" and "borrow" bits set in both %icc and %xcc.
+	! not cause illegal_instruction trap, however it may read from
+	! the %y register. It therefore can be used to determine if the
+	! CPU the code is executing on is V8- or V9-compliant, as V9
+	! returns a distinct value of 0x99, "negative" and "borrow"
+	! bits set in both %icc and %xcc. The %y register needs to be
+	! set away from 0x99 to avoid false-positives matches.
+	! 
+	wr	0, %y
 	.word	0x91408000	!rd	%ccr,%o0
 	cmp	%o0,0x99
 	bne	.v8
@@ -178,6 +182,7 @@ walk_reg_wins:
 OPENSSL_atomic_add:
 #ifndef ABI64
 	subcc	%g0,1,%o2
+	wr	0, %y
 	.word	0x95408000	!rd	%ccr,%o2, see comment above
 	cmp	%o2,0x99
 	be	.v9
@@ -226,7 +231,8 @@ OPENSSL_atomic_add:
 .align	32
 _sparcv9_rdtick:
 	subcc	%g0,1,%o0
-	.word	0x91408000	!rd	%ccr,%o0
+	wr	0, %y
+	.word	0x91408000	!rd	%ccr,%o0, see comment above
 	cmp	%o0,0x99
 	bne	.notick
 	xor	%o0,%o0,%o0
@@ -388,7 +394,8 @@ OPENSSL_cleanse:
 #ifndef ABI64
 	subcc	%g0,1,%g1
 	! see above for explanation
-	.word	0x83408000	!rd	%ccr,%g1
+	wr	0, %y
+	.word	0x83408000	!rd	%ccr,%g1, see comment above
 	cmp	%g1,0x99
 	bne	.v8lot
 	nop