CVS commit: src/external/mit/xorg/server/xorg-server

2021-08-11 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Wed Aug 11 23:02:39 UTC 2021

Modified Files:
src/external/mit/xorg/server/xorg-server/glamor: Makefile
src/external/mit/xorg/server/xorg-server/hw/xfree86/Xorg: Makefile

Log Message:
Fix glamor - don't use stub functions
${LDADD.gbm} seems to be empty - use -lgbm directly (couldn't find a better
fix)


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/external/mit/xorg/server/xorg-server/glamor/Makefile
cvs rdiff -u -r1.18 -r1.19 \
src/external/mit/xorg/server/xorg-server/hw/xfree86/Xorg/Makefile

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

Modified files:

Index: src/external/mit/xorg/server/xorg-server/glamor/Makefile
diff -u src/external/mit/xorg/server/xorg-server/glamor/Makefile:1.3 src/external/mit/xorg/server/xorg-server/glamor/Makefile:1.4
--- src/external/mit/xorg/server/xorg-server/glamor/Makefile:1.3	Fri Sep  2 03:58:59 2016
+++ src/external/mit/xorg/server/xorg-server/glamor/Makefile	Wed Aug 11 23:02:39 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.3 2016/09/02 03:58:59 jakllsch Exp $
+#	$NetBSD: Makefile,v 1.4 2021/08/11 23:02:39 maya Exp $
 
 .include "../Makefile.serverlib"
 .include "../Makefile.servermod"
@@ -42,13 +42,19 @@ SRCS= \
 	glamor_sync.c
 SRCS+= \
 	glamor_xv.c
+.if ${HAVE_XORG_GLAMOR} == "no"
 SRCS+= \
 	glamor_egl_stubs.c
-SRCS.EGL= \
-	glamor_egl.c
+.else
+SRCS+= \
+	glamor_egl.c \
+	glamor_eglmodule.c
+.endif
 
 CPPFLAGS+=  -I${DESTDIR}${X11INCDIR}/xorg \
 		-I${DESTDIR}${X11INCDIR}/pixman-1 \
+		-I${DESTDIR}${X11INCDIR}/libdrm \
+		-I${X11SRCDIR.xorg-server}/glamor \
 		-I${X11SRCDIR.xorg-server}/../include
 CPPFLAGS+=  ${X11FLAGS.DIX}
 

Index: src/external/mit/xorg/server/xorg-server/hw/xfree86/Xorg/Makefile
diff -u src/external/mit/xorg/server/xorg-server/hw/xfree86/Xorg/Makefile:1.18 src/external/mit/xorg/server/xorg-server/hw/xfree86/Xorg/Makefile:1.19
--- src/external/mit/xorg/server/xorg-server/hw/xfree86/Xorg/Makefile:1.18	Sun Sep 13 23:01:02 2020
+++ src/external/mit/xorg/server/xorg-server/hw/xfree86/Xorg/Makefile	Wed Aug 11 23:02:39 2021
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.18 2020/09/13 23:01:02 mrg Exp $
+#	$NetBSD: Makefile,v 1.19 2021/08/11 23:02:39 maya Exp $
 
 .include 
 
@@ -33,7 +33,7 @@ LDADD+=	${LDADD.dix}
 LDADD+=	${LDADD.config}
 LDADD+=	${LDADD.dbe}
 .if ${HAVE_XORG_GLAMOR} != "no"  
-LDADD+=	${LDADD.glamor} ${LDADD.gbm}
+LDADD+=	${LDADD.glamor} -lgbm
 .endif
 LDADD+=	${LDADD.record}
 LDADD+=	${LDADD.hw/xfree86/loader}



CVS commit: src/usr.bin/mkdep

2021-08-11 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Wed Aug 11 20:48:16 UTC 2021

Modified Files:
src/usr.bin/mkdep: findcc.c

Log Message:
mkdep: document possible undefined behavior

If findcc is called with a constant string, as its prototype suggests,
the process crashes with a segmentation fault.  Luckily, neither mkdep
nor lint do that, but the function prototype is nevertheless confusing.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/usr.bin/mkdep/findcc.c

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/mkdep/findcc.c
diff -u src/usr.bin/mkdep/findcc.c:1.6 src/usr.bin/mkdep/findcc.c:1.7
--- src/usr.bin/mkdep/findcc.c:1.6	Sun Sep  4 20:30:06 2011
+++ src/usr.bin/mkdep/findcc.c	Wed Aug 11 20:48:16 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: findcc.c,v 1.6 2011/09/04 20:30:06 joerg Exp $ */
+/* $NetBSD: findcc.c,v 1.7 2021/08/11 20:48:16 rillig Exp $ */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
 #if !defined(lint)
 __COPYRIGHT("@(#) Copyright (c) 1999 The NetBSD Foundation, Inc.\
  All rights reserved.");
-__RCSID("$NetBSD: findcc.c,v 1.6 2011/09/04 20:30:06 joerg Exp $");
+__RCSID("$NetBSD: findcc.c,v 1.7 2021/08/11 20:48:16 rillig Exp $");
 #endif /* not lint */
 
 #include 
@@ -55,6 +55,11 @@ findcc(const char *progname)
 	char   buffer[MAXPATHLEN];
 
 	if ((next = strchr(progname, ' ')) != NULL) {
+		/*
+		 * FIXME: writing to a 'const char *' invokes undefined
+		 * behavior.  The call to 'strchr' subtly hides the unconst
+		 * cast from the compiler.
+		 */
 		*next = '\0';
 	}
 



CVS commit: src

2021-08-11 Thread Roland Illig
Module Name:src
Committed By:   rillig
Date:   Wed Aug 11 20:42:26 UTC 2021

Modified Files:
src/distrib/sets/lists/tests: mi
src/tests/usr.bin/mkdep: Makefile
Added Files:
src/tests/usr.bin/mkdep: h_findcc.c t_findcc.sh

Log Message:
tests/mkdep: test findcc

This function is used by both mkdep and lint.


To generate a diff of this commit:
cvs rdiff -u -r1.1109 -r1.1110 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.1 -r1.2 src/tests/usr.bin/mkdep/Makefile
cvs rdiff -u -r0 -r1.1 src/tests/usr.bin/mkdep/h_findcc.c \
src/tests/usr.bin/mkdep/t_findcc.sh

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/tests/mi
diff -u src/distrib/sets/lists/tests/mi:1.1109 src/distrib/sets/lists/tests/mi:1.1110
--- src/distrib/sets/lists/tests/mi:1.1109	Mon Aug  9 20:07:23 2021
+++ src/distrib/sets/lists/tests/mi	Wed Aug 11 20:42:26 2021
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1109 2021/08/09 20:07:23 rillig Exp $
+# $NetBSD: mi,v 1.1110 2021/08/11 20:42:26 rillig Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -5972,6 +5972,8 @@
 ./usr/tests/usr.bin/mkdeptests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/mkdep/Atffile			tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/mkdep/Kyuafile			tests-usr.bin-tests	compattestfile,atf,kyua
+./usr/tests/usr.bin/mkdep/h_findcc			tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/mkdep/t_findcc			tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/mkdep/t_mkdep			tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/nbperftests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/nbperf/Atffile			tests-usr.bin-tests	compattestfile,atf

Index: src/tests/usr.bin/mkdep/Makefile
diff -u src/tests/usr.bin/mkdep/Makefile:1.1 src/tests/usr.bin/mkdep/Makefile:1.2
--- src/tests/usr.bin/mkdep/Makefile:1.1	Mon May 30 18:14:11 2011
+++ src/tests/usr.bin/mkdep/Makefile	Wed Aug 11 20:42:26 2021
@@ -1,9 +1,17 @@
-# $NetBSD: Makefile,v 1.1 2011/05/30 18:14:11 njoly Exp $
+# $NetBSD: Makefile,v 1.2 2021/08/11 20:42:26 rillig Exp $
 
 .include 
 
 TESTSDIR=	${TESTSBASE}/usr.bin/mkdep
 
-TESTS_SH=	t_mkdep
+TESTS_SH=	t_findcc
+TESTS_SH+=	t_mkdep
+
+BINDIR=		${TESTSDIR}
+PROG=		h_findcc
+.PATH:  	${NETBSDSRCDIR}/usr.bin/mkdep
+SRCS=		h_findcc.c findcc.c
+CPPFLAGS+=	-I${NETBSDSRCDIR}/usr.bin/mkdep
+MAN.h_findcc=	# none
 
 .include 

Added files:

Index: src/tests/usr.bin/mkdep/h_findcc.c
diff -u /dev/null src/tests/usr.bin/mkdep/h_findcc.c:1.1
--- /dev/null	Wed Aug 11 20:42:26 2021
+++ src/tests/usr.bin/mkdep/h_findcc.c	Wed Aug 11 20:42:26 2021
@@ -0,0 +1,16 @@
+/*	$NetBSD: h_findcc.c,v 1.1 2021/08/11 20:42:26 rillig Exp $	*/
+
+#include 
+#include 
+
+#include "findcc.h"
+
+int
+main(int argc, char **argv)
+{
+	const char *cc;
+
+	assert(argc == 2);
+	cc = findcc(argv[1]);
+	printf("%s\n", cc != NULL ? cc : "(not found)");
+}
Index: src/tests/usr.bin/mkdep/t_findcc.sh
diff -u /dev/null src/tests/usr.bin/mkdep/t_findcc.sh:1.1
--- /dev/null	Wed Aug 11 20:42:26 2021
+++ src/tests/usr.bin/mkdep/t_findcc.sh	Wed Aug 11 20:42:26 2021
@@ -0,0 +1,117 @@
+# $NetBSD: t_findcc.sh,v 1.1 2021/08/11 20:42:26 rillig Exp $
+#
+# Copyright (c) 2021 The NetBSD Foundation, Inc.
+# All rights reserved.
+#
+# This code is derived from software contributed to The NetBSD Foundation
+# by Roland Illig.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#notice, this list of conditions and the following disclaimer in the
+#documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+n='
+'
+
+# A plain program name is searched in the PATH.  Since in this case, the
+# environment is empty, nothing is found.
+#
+atf_test_case base_not_found
+base_not_found_body() {
+	atf_check -o 

CVS commit: [netbsd-8] src/doc

2021-08-11 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Aug 11 17:25:54 UTC 2021

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

Log Message:
Ticket #1690


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.94 -r1.1.2.95 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.94 src/doc/CHANGES-8.3:1.1.2.95
--- src/doc/CHANGES-8.3:1.1.2.94	Wed Jul 14 17:55:18 2021
+++ src/doc/CHANGES-8.3	Wed Aug 11 17:25:54 2021
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-8.3,v 1.1.2.94 2021/07/14 17:55:18 martin Exp $
+# $NetBSD: CHANGES-8.3,v 1.1.2.95 2021/08/11 17:25:54 martin Exp $
 
 A complete list of changes from the NetBSD 8.2 release to the NetBSD 8.3
 release:
@@ -1988,3 +1988,9 @@ sys/arch/hppa/dev/sti_sgc.c			1.3
 	PR 52162: Fix silent freeze on probing sti(4) framebuffer on 712/60.
 	[tsutsui, ticket #1689]
 
+sys/netinet6/in6_src.c1.88
+
+	PR 56348: MTU discovery fails with IPv6 sockets bound to IPv4
+	mapped address.
+	[kardel, ticket #1690]
+



CVS commit: [netbsd-8] src/sys/netinet6

2021-08-11 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Aug 11 17:24:43 UTC 2021

Modified Files:
src/sys/netinet6 [netbsd-8]: in6_src.c

Log Message:
Pull up following revision(s) (requested by kardel in ticket #1690):

sys/netinet6/in6_src.c: revision 1.88

PR kern/56348

MTU discovery fails with IPv6 sockets bound to IPv4 mapped address
pick up the IPv4 route for IPv4 mapped IPv6 address to get the correct
MTU and not any unrelated/inappropriate MTU from IPv6 routes. IPv4 mapped
IPv6 addresses are always handled by the IPv4 stack and MTU discovery
is solely handled with the IPv4 routing table.


To generate a diff of this commit:
cvs rdiff -u -r1.79.6.2 -r1.79.6.3 src/sys/netinet6/in6_src.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/netinet6/in6_src.c
diff -u src/sys/netinet6/in6_src.c:1.79.6.2 src/sys/netinet6/in6_src.c:1.79.6.3
--- src/sys/netinet6/in6_src.c:1.79.6.2	Sun Dec 10 09:24:30 2017
+++ src/sys/netinet6/in6_src.c	Wed Aug 11 17:24:42 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: in6_src.c,v 1.79.6.2 2017/12/10 09:24:30 snj Exp $	*/
+/*	$NetBSD: in6_src.c,v 1.79.6.3 2021/08/11 17:24:42 martin Exp $	*/
 /*	$KAME: in6_src.c,v 1.159 2005/10/19 01:40:32 t-momose Exp $	*/
 
 /*
@@ -66,7 +66,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: in6_src.c,v 1.79.6.2 2017/12/10 09:24:30 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: in6_src.c,v 1.79.6.3 2021/08/11 17:24:42 martin Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -608,6 +608,7 @@ in6_selectroute(struct sockaddr_in6 *dst
 	struct rtentry *rt = NULL;
 	union {
 		struct sockaddr		dst;
+		struct sockaddr_in	dst4;
 		struct sockaddr_in6	dst6;
 	} u;
 
@@ -674,9 +675,17 @@ in6_selectroute(struct sockaddr_in6 *dst
 	 * Use a cached route if it exists and is valid, else try to allocate
 	 * a new one.  Note that we should check the address family of the
 	 * cached destination, in case of sharing the cache with IPv4.
+	 *
+	 * for V4 mapped addresses we want to pick up the v4 route
+	 * see PR kern/56348
 	 */
-	u.dst6 = *dstsock;
-	u.dst6.sin6_scope_id = 0;
+	if (IN6_IS_ADDR_V4MAPPED(>sin6_addr)) {
+		in6_sin6_2_sin(, dstsock);
+	} else {
+		u.dst6 = *dstsock;
+		u.dst6.sin6_scope_id = 0;
+	}
+
 	rt = rtcache_lookup1(*ro, , 1);
 
 	if (rt == NULL)



CVS commit: [netbsd-9] src/doc

2021-08-11 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Aug 11 17:23:19 UTC 2021

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

Log Message:
Tickets #1330 - #1332


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.20 -r1.1.2.21 src/doc/CHANGES-9.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-9.3
diff -u src/doc/CHANGES-9.3:1.1.2.20 src/doc/CHANGES-9.3:1.1.2.21
--- src/doc/CHANGES-9.3:1.1.2.20	Sun Aug  8 10:23:51 2021
+++ src/doc/CHANGES-9.3	Wed Aug 11 17:23:19 2021
@@ -1,4 +1,4 @@
-# $NetBSD: CHANGES-9.3,v 1.1.2.20 2021/08/08 10:23:51 martin Exp $
+# $NetBSD: CHANGES-9.3,v 1.1.2.21 2021/08/11 17:23:19 martin Exp $
 
 A complete list of changes from the NetBSD 9.2 release to the NetBSD 9.3
 release:
@@ -463,3 +463,102 @@ sys/external/bsd/compiler_rt/dist/lib/bu
 	arm: align stack pointer to 8-byte boundary as required by EABI.
 	[skrll, ticket #1329]
 
+common/lib/libc/arch/arm/atomic/atomic_add_16.S	1.4,1.5
+common/lib/libc/arch/arm/atomic/atomic_add_32.S	1.9,1.10
+common/lib/libc/arch/arm/atomic/atomic_add_64.S	1.13,1.14
+common/lib/libc/arch/arm/atomic/atomic_add_8.S	1.4,1.5
+common/lib/libc/arch/arm/atomic/atomic_and_16.S	1.4,1.5
+common/lib/libc/arch/arm/atomic/atomic_and_32.S	1.9,1.10
+common/lib/libc/arch/arm/atomic/atomic_and_64.S	1.12,1.13
+common/lib/libc/arch/arm/atomic/atomic_and_8.S	1.4,1.5
+common/lib/libc/arch/arm/atomic/atomic_cas_16.S	1.3
+common/lib/libc/arch/arm/atomic/atomic_cas_32.S	1.8
+common/lib/libc/arch/arm/atomic/atomic_cas_64.S	1.12
+common/lib/libc/arch/arm/atomic/atomic_cas_8.S	1.9
+common/lib/libc/arch/arm/atomic/atomic_cas_up.S	1.8
+common/lib/libc/arch/arm/atomic/atomic_dec_32.S	1.6
+common/lib/libc/arch/arm/atomic/atomic_dec_32.S	1.7
+common/lib/libc/arch/arm/atomic/atomic_dec_64.S	1.8,1.9
+common/lib/libc/arch/arm/atomic/atomic_inc_32.S	1.8,1.9
+common/lib/libc/arch/arm/atomic/atomic_inc_64.S	1.10,1.11
+common/lib/libc/arch/arm/atomic/atomic_nand_16.S 1.4,1.5
+common/lib/libc/arch/arm/atomic/atomic_nand_32.S 1.4,1.5
+common/lib/libc/arch/arm/atomic/atomic_nand_64.S 1.6,1.7
+common/lib/libc/arch/arm/atomic/atomic_nand_8.S	1.4,1.5
+common/lib/libc/arch/arm/atomic/atomic_op_asm.h	1.9,1.10
+common/lib/libc/arch/arm/atomic/atomic_or_16.S	1.4,1.5
+common/lib/libc/arch/arm/atomic/atomic_or_32.S	1.9,1.10
+common/lib/libc/arch/arm/atomic/atomic_or_64.S	1.13,1.14
+common/lib/libc/arch/arm/atomic/atomic_or_8.S	1.4,1.5
+common/lib/libc/arch/arm/atomic/atomic_sub_64.S	1.4,1.5
+common/lib/libc/arch/arm/atomic/atomic_swap.S	1.18,1.19
+common/lib/libc/arch/arm/atomic/atomic_swap_16.S 1.6,1.7
+common/lib/libc/arch/arm/atomic/atomic_swap_64.S 1.14
+common/lib/libc/arch/arm/atomic/atomic_xor_16.S	1.4,1.5
+common/lib/libc/arch/arm/atomic/atomic_xor_32.S	1.4,1.5
+common/lib/libc/arch/arm/atomic/atomic_xor_64.S	1.6,1.7
+common/lib/libc/arch/arm/atomic/atomic_xor_8.S	1.4,1.5
+common/lib/libc/arch/arm/atomic/membar_ops.S	1.8,1.9
+common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_1.S 1.4
+common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_2.S 1.4
+common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_4.S 1.4
+common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_8.S 1.5
+common/lib/libc/arch/arm/atomic/sync_fetch_and_add_8.S 1.6
+common/lib/libc/arch/arm/atomic/sync_fetch_and_and_8.S 1.6
+common/lib/libc/arch/arm/atomic/sync_fetch_and_nand_8.S 1.6
+common/lib/libc/arch/arm/atomic/sync_fetch_and_or_8.S 1.6
+common/lib/libc/arch/arm/atomic/sync_fetch_and_sub_8.S 1.6
+common/lib/libc/arch/arm/atomic/sync_fetch_and_xor_8.S 1.6
+
+	arm: various fixes for atomic ops.
+	[skrll, ticket #1330]
+
+common/lib/libc/arch/aarch64/atomic/atomic_add_16.S 1.2
+common/lib/libc/arch/aarch64/atomic/atomic_add_32.S 1.2
+common/lib/libc/arch/aarch64/atomic/atomic_add_64.S 1.2
+common/lib/libc/arch/aarch64/atomic/atomic_add_8.S 1.2
+common/lib/libc/arch/aarch64/atomic/atomic_and_16.S 1.2
+common/lib/libc/arch/aarch64/atomic/atomic_and_32.S 1.2
+common/lib/libc/arch/aarch64/atomic/atomic_and_64.S 1.2
+common/lib/libc/arch/aarch64/atomic/atomic_and_8.S 1.2
+common/lib/libc/arch/aarch64/atomic/atomic_cas_16.S 1.2,1.4
+common/lib/libc/arch/aarch64/atomic/atomic_cas_32.S 1.2,1.4
+common/lib/libc/arch/aarch64/atomic/atomic_cas_64.S 1.4,1.6
+common/lib/libc/arch/aarch64/atomic/atomic_cas_8.S 1.2,1.4
+common/lib/libc/arch/aarch64/atomic/atomic_dec_32.S 1.2
+common/lib/libc/arch/aarch64/atomic/atomic_dec_64.S 1.2
+common/lib/libc/arch/aarch64/atomic/atomic_inc_32.S 1.2
+common/lib/libc/arch/aarch64/atomic/atomic_inc_64.S 1.2
+common/lib/libc/arch/aarch64/atomic/atomic_nand_16.S 1.2,1.5
+common/lib/libc/arch/aarch64/atomic/atomic_nand_32.S 1.2,1.5
+common/lib/libc/arch/aarch64/atomic/atomic_nand_64.S 1.2,1.5
+common/lib/libc/arch/aarch64/atomic/atomic_nand_8.S 1.2,1.5
+common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h 1.5

CVS commit: [netbsd-9] src/sys/netinet6

2021-08-11 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Aug 11 17:22:17 UTC 2021

Modified Files:
src/sys/netinet6 [netbsd-9]: in6_src.c

Log Message:
Pull up following revision(s) (requested by kardel in ticket #1332):

sys/netinet6/in6_src.c: revision 1.88

PR kern/56348

MTU discovery fails with IPv6 sockets bound to IPv4 mapped address
pick up the IPv4 route for IPv4 mapped IPv6 address to get the correct
MTU and not any unrelated/inappropriate MTU from IPv6 routes. IPv4 mapped
IPv6 addresses are always handled by the IPv4 stack and MTU discovery
is solely handled with the IPv4 routing table.


To generate a diff of this commit:
cvs rdiff -u -r1.85 -r1.85.6.1 src/sys/netinet6/in6_src.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/netinet6/in6_src.c
diff -u src/sys/netinet6/in6_src.c:1.85 src/sys/netinet6/in6_src.c:1.85.6.1
--- src/sys/netinet6/in6_src.c:1.85	Tue May  1 07:21:39 2018
+++ src/sys/netinet6/in6_src.c	Wed Aug 11 17:22:17 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: in6_src.c,v 1.85 2018/05/01 07:21:39 maxv Exp $	*/
+/*	$NetBSD: in6_src.c,v 1.85.6.1 2021/08/11 17:22:17 martin Exp $	*/
 /*	$KAME: in6_src.c,v 1.159 2005/10/19 01:40:32 t-momose Exp $	*/
 
 /*
@@ -66,7 +66,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: in6_src.c,v 1.85 2018/05/01 07:21:39 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: in6_src.c,v 1.85.6.1 2021/08/11 17:22:17 martin Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -612,6 +612,7 @@ in6_selectroute(struct sockaddr_in6 *dst
 	struct rtentry *rt = NULL;
 	union {
 		struct sockaddr		dst;
+		struct sockaddr_in	dst4;
 		struct sockaddr_in6	dst6;
 	} u;
 
@@ -678,9 +679,17 @@ in6_selectroute(struct sockaddr_in6 *dst
 	 * Use a cached route if it exists and is valid, else try to allocate
 	 * a new one.  Note that we should check the address family of the
 	 * cached destination, in case of sharing the cache with IPv4.
+	 *
+	 * for V4 mapped addresses we want to pick up the v4 route
+	 * see PR kern/56348
 	 */
-	u.dst6 = *dstsock;
-	u.dst6.sin6_scope_id = 0;
+	if (IN6_IS_ADDR_V4MAPPED(>sin6_addr)) {
+		in6_sin6_2_sin(, dstsock);
+	} else {
+		u.dst6 = *dstsock;
+		u.dst6.sin6_scope_id = 0;
+	}
+
 	rt = rtcache_lookup1(*ro, , 1);
 
 	if (rt == NULL)



CVS commit: [netbsd-9] src/common/lib/libc/arch/aarch64/atomic

2021-08-11 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Aug 11 17:19:01 UTC 2021

Modified Files:
src/common/lib/libc/arch/aarch64/atomic [netbsd-9]: atomic_add_16.S
atomic_add_32.S atomic_add_64.S atomic_add_8.S atomic_and_16.S
atomic_and_32.S atomic_and_64.S atomic_and_8.S atomic_cas_16.S
atomic_cas_32.S atomic_cas_64.S atomic_cas_8.S atomic_dec_32.S
atomic_dec_64.S atomic_inc_32.S atomic_inc_64.S atomic_nand_16.S
atomic_nand_32.S atomic_nand_64.S atomic_nand_8.S atomic_op_asm.h
atomic_or_16.S atomic_or_32.S atomic_or_64.S atomic_or_8.S
atomic_sub_16.S atomic_sub_32.S atomic_sub_64.S atomic_sub_8.S
atomic_swap_16.S atomic_swap_32.S atomic_swap_64.S atomic_swap_8.S
atomic_xor_16.S atomic_xor_32.S atomic_xor_64.S atomic_xor_8.S
membar_ops.S

Log Message:
Pull up following revision(s) (requested by skrll in ticket #1331):

common/lib/libc/arch/aarch64/atomic/atomic_add_8.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_sub_8.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_sub_64.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_swap_64.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_swap_64.S: revision 1.5
common/lib/libc/arch/aarch64/atomic/atomic_inc_32.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_or_64.S: revision 1.3
common/lib/libc/arch/aarch64/atomic/atomic_and_16.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_xor_64.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_and_32.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_nand_8.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_add_64.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h: revision 1.5
common/lib/libc/arch/aarch64/atomic/atomic_swap_8.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_op_asm.h: revision 1.6
common/lib/libc/arch/aarch64/atomic/atomic_cas_64.S: revision 1.4
common/lib/libc/arch/aarch64/atomic/atomic_nand_8.S: revision 1.5
common/lib/libc/arch/aarch64/atomic/atomic_sub_16.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_cas_64.S: revision 1.6
common/lib/libc/arch/aarch64/atomic/atomic_swap_8.S: revision 1.5
common/lib/libc/arch/aarch64/atomic/atomic_sub_32.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_swap_32.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_nand_64.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_swap_16.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_xor_8.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_swap_32.S: revision 1.5
common/lib/libc/arch/aarch64/atomic/atomic_or_32.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_nand_64.S: revision 1.5
common/lib/libc/arch/aarch64/atomic/atomic_swap_16.S: revision 1.5
common/lib/libc/arch/aarch64/atomic/atomic_or_8.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_or_16.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_cas_16.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_xor_16.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_cas_32.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_cas_16.S: revision 1.4
common/lib/libc/arch/aarch64/atomic/atomic_add_32.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_cas_8.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_xor_32.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_dec_64.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_cas_32.S: revision 1.4
common/lib/libc/arch/aarch64/atomic/atomic_add_16.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_cas_8.S: revision 1.4
common/lib/libc/arch/aarch64/atomic/membar_ops.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_nand_16.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_nand_32.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_nand_16.S: revision 1.5
common/lib/libc/arch/aarch64/atomic/atomic_nand_32.S: revision 1.5
common/lib/libc/arch/aarch64/atomic/atomic_inc_64.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_dec_32.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_and_8.S: revision 1.2
common/lib/libc/arch/aarch64/atomic/atomic_and_64.S: revision 1.2

Part I of ad@'s performance improvements for aarch64
- Remove memory barriers from the atomic ops.  I don't understand why thos=
e
   are there.  Is it some architectural thing, or for a CPU bug, or just
   over-caution maybe?  They're not needed for 

CVS commit: [netbsd-9] src/common/lib/libc/arch/arm/atomic

2021-08-11 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Wed Aug 11 17:05:42 UTC 2021

Modified Files:
src/common/lib/libc/arch/arm/atomic [netbsd-9]: atomic_add_16.S
atomic_add_32.S atomic_add_64.S atomic_add_8.S atomic_and_16.S
atomic_and_32.S atomic_and_64.S atomic_and_8.S atomic_cas_16.S
atomic_cas_32.S atomic_cas_64.S atomic_cas_8.S atomic_cas_up.S
atomic_dec_32.S atomic_dec_64.S atomic_inc_32.S atomic_inc_64.S
atomic_nand_16.S atomic_nand_32.S atomic_nand_64.S atomic_nand_8.S
atomic_op_asm.h atomic_or_16.S atomic_or_32.S atomic_or_64.S
atomic_or_8.S atomic_sub_64.S atomic_swap.S atomic_swap_16.S
atomic_swap_64.S atomic_xor_16.S atomic_xor_32.S atomic_xor_64.S
atomic_xor_8.S membar_ops.S sync_bool_compare_and_swap_1.S
sync_bool_compare_and_swap_2.S sync_bool_compare_and_swap_4.S
sync_bool_compare_and_swap_8.S sync_fetch_and_add_8.S
sync_fetch_and_and_8.S sync_fetch_and_nand_8.S
sync_fetch_and_or_8.S sync_fetch_and_sub_8.S sync_fetch_and_xor_8.S

Log Message:
Pull up following revision(s) (requested by skrll in ticket #1330):

common/lib/libc/arch/arm/atomic/atomic_swap.S: revision 1.18
common/lib/libc/arch/arm/atomic/atomic_and_16.S: revision 1.5
common/lib/libc/arch/arm/atomic/atomic_swap.S: revision 1.19
common/lib/libc/arch/arm/atomic/atomic_xor_64.S: revision 1.6
common/lib/libc/arch/arm/atomic/atomic_inc_32.S: revision 1.8
common/lib/libc/arch/arm/atomic/atomic_and_32.S: revision 1.9
common/lib/libc/arch/arm/atomic/atomic_add_8.S: revision 1.4
common/lib/libc/arch/arm/atomic/atomic_xor_64.S: revision 1.7
common/lib/libc/arch/arm/atomic/atomic_inc_32.S: revision 1.9
common/lib/libc/arch/arm/atomic/atomic_cas_up.S: revision 1.8
common/lib/libc/arch/arm/atomic/atomic_add_8.S: revision 1.5
common/lib/libc/arch/arm/atomic/atomic_op_asm.h: revision 1.9
common/lib/libc/arch/arm/atomic/membar_ops.S: revision 1.8
common/lib/libc/arch/arm/atomic/membar_ops.S: revision 1.9
common/lib/libc/arch/arm/atomic/atomic_op_asm.h: revision 1.10
common/lib/libc/arch/arm/atomic/atomic_and_32.S: revision 1.10
common/lib/libc/arch/arm/atomic/atomic_cas_16.S: revision 1.3
common/lib/libc/arch/arm/atomic/sync_fetch_and_and_8.S: revision 1.6
common/lib/libc/arch/arm/atomic/atomic_xor_32.S: revision 1.4
common/lib/libc/arch/arm/atomic/atomic_xor_32.S: revision 1.5
common/lib/libc/arch/arm/atomic/atomic_nand_64.S: revision 1.6
common/lib/libc/arch/arm/atomic/atomic_xor_16.S: revision 1.4
common/lib/libc/arch/arm/atomic/atomic_swap_16.S: revision 1.6
common/lib/libc/arch/arm/atomic/atomic_nand_64.S: revision 1.7
common/lib/libc/arch/arm/atomic/atomic_cas_32.S: revision 1.8
common/lib/libc/arch/arm/atomic/atomic_xor_16.S: revision 1.5
common/lib/libc/arch/arm/atomic/atomic_swap_16.S: revision 1.7
common/lib/libc/arch/arm/atomic/atomic_add_32.S: revision 1.10
common/lib/libc/arch/arm/atomic/sync_fetch_and_add_8.S: revision 1.6
common/lib/libc/arch/arm/atomic/atomic_dec_64.S: revision 1.8
common/lib/libc/arch/arm/atomic/atomic_add_16.S: revision 1.4
common/lib/libc/arch/arm/atomic/sync_fetch_and_sub_8.S: revision 1.6
common/lib/libc/arch/arm/atomic/atomic_xor_8.S: revision 1.4
common/lib/libc/arch/arm/atomic/atomic_dec_64.S: revision 1.9
common/lib/libc/arch/arm/atomic/atomic_add_16.S: revision 1.5
common/lib/libc/arch/arm/atomic/atomic_xor_8.S: revision 1.5
common/lib/libc/arch/arm/atomic/atomic_or_64.S: revision 1.13
common/lib/libc/arch/arm/atomic/atomic_add_32.S: revision 1.9
common/lib/libc/arch/arm/atomic/atomic_or_64.S: revision 1.14
common/lib/libc/arch/arm/atomic/atomic_or_16.S: revision 1.4
common/lib/libc/arch/arm/atomic/atomic_or_16.S: revision 1.5
common/lib/libc/arch/arm/atomic/sync_fetch_and_nand_8.S: revision 1.6
common/lib/libc/arch/arm/atomic/atomic_nand_16.S: revision 1.4
common/lib/libc/arch/arm/atomic/atomic_nand_16.S: revision 1.5
common/lib/libc/arch/arm/atomic/sync_fetch_and_or_8.S: revision 1.6
common/lib/libc/arch/arm/atomic/atomic_nand_32.S: revision 1.4
common/lib/libc/arch/arm/atomic/atomic_or_32.S: revision 1.9
common/lib/libc/arch/arm/atomic/atomic_nand_32.S: revision 1.5
common/lib/libc/arch/arm/atomic/atomic_cas_8.S: revision 1.9
common/lib/libc/arch/arm/atomic/atomic_inc_64.S: revision 1.10
common/lib/libc/arch/arm/atomic/atomic_inc_64.S: revision 1.11
common/lib/libc/arch/arm/atomic/atomic_cas_64.S: revision 1.12
common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_8.S: 
revision 1.5

CVS commit: src/external/cddl/osnet/dev/fbt/x86

2021-08-11 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Aug 11 11:16:49 UTC 2021

Modified Files:
src/external/cddl/osnet/dev/fbt/x86: fbt_isa.c

Log Message:
PR/56355: Brad Harder: dtrace triggers double-fault in supervisor mode


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/external/cddl/osnet/dev/fbt/x86/fbt_isa.c

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

Modified files:

Index: src/external/cddl/osnet/dev/fbt/x86/fbt_isa.c
diff -u src/external/cddl/osnet/dev/fbt/x86/fbt_isa.c:1.3 src/external/cddl/osnet/dev/fbt/x86/fbt_isa.c:1.4
--- src/external/cddl/osnet/dev/fbt/x86/fbt_isa.c:1.3	Sat May  2 07:37:17 2020
+++ src/external/cddl/osnet/dev/fbt/x86/fbt_isa.c	Wed Aug 11 07:16:49 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: fbt_isa.c,v 1.3 2020/05/02 11:37:17 maxv Exp $	*/
+/*	$NetBSD: fbt_isa.c,v 1.4 2021/08/11 11:16:49 christos Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -251,8 +251,9 @@ fbt_provide_module_cb(const char *name, 
 	/*
 	 * Exclude some more symbols which can be called from probe context.
 	 */
-	if (strcmp(name, "x86_curcpu") == 0 ||
-	strcmp(name, "x86_curlwp") == 0) {
+	if (strncmp(name, "trap", 4) ||
+	strncmp(name, "x86_curcpu", 10) == 0 ||
+	strncmp(name, "x86_curlwp", 10) == 0) {
 		return 0;
 	}
 #endif



CVS commit: src/lib/libpam/libpam

2021-08-11 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Aug 11 09:12:07 UTC 2021

Modified Files:
src/lib/libpam/libpam: Makefile

Log Message:
cast from strchr fixed.


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/lib/libpam/libpam/Makefile

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

Modified files:

Index: src/lib/libpam/libpam/Makefile
diff -u src/lib/libpam/libpam/Makefile:1.27 src/lib/libpam/libpam/Makefile:1.28
--- src/lib/libpam/libpam/Makefile:1.27	Wed Aug 11 01:23:05 2021
+++ src/lib/libpam/libpam/Makefile	Wed Aug 11 05:12:07 2021
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.27 2021/08/11 05:23:05 rillig Exp $
+# $NetBSD: Makefile,v 1.28 2021/08/11 09:12:07 christos Exp $
 #-
 # Copyright (c) 1998 Juniper Networks, Inc.
 # All rights reserved.
@@ -54,8 +54,6 @@ NOPROFILE=
 
 WARNS=		6
 LINTFLAGS+=	-w
-# warning: call to 'strchr' effectively discards 'const' from argument
-LINTFLAGS.pam_putenv.c+= -X 346
 
 CPPFLAGS+= -DLIB_MAJ=${SHLIB_MAJOR} -DHAVE_CONFIG_H -I${.CURDIR}
 #CPPFLAGS+= -DOPENPAM_DEBUG



CVS commit: src/external/bsd/openpam/dist/lib/libpam

2021-08-11 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Aug 11 09:11:05 UTC 2021

Modified Files:
src/external/bsd/openpam/dist/lib/libpam: pam_putenv.c

Log Message:
use const for strchr assignment.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/external/bsd/openpam/dist/lib/libpam/pam_putenv.c

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/openpam/dist/lib/libpam/pam_putenv.c
diff -u src/external/bsd/openpam/dist/lib/libpam/pam_putenv.c:1.3 src/external/bsd/openpam/dist/lib/libpam/pam_putenv.c:1.4
--- src/external/bsd/openpam/dist/lib/libpam/pam_putenv.c:1.3	Sat May  6 15:50:10 2017
+++ src/external/bsd/openpam/dist/lib/libpam/pam_putenv.c	Wed Aug 11 05:11:04 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: pam_putenv.c,v 1.3 2017/05/06 19:50:10 christos Exp $	*/
+/*	$NetBSD: pam_putenv.c,v 1.4 2021/08/11 09:11:04 christos Exp $	*/
 
 /*-
  * Copyright (c) 2002-2003 Networks Associates Technology, Inc.
@@ -42,7 +42,7 @@
 #endif
 
 #include 
-__RCSID("$NetBSD: pam_putenv.c,v 1.3 2017/05/06 19:50:10 christos Exp $");
+__RCSID("$NetBSD: pam_putenv.c,v 1.4 2021/08/11 09:11:04 christos Exp $");
 
 #include 
 #include 
@@ -63,7 +63,8 @@ int
 pam_putenv(pam_handle_t *pamh,
 	const char *namevalue)
 {
-	char **env, *p;
+	char **env; 
+	const char *p;
 	size_t env_size;
 	int i;
 
@@ -78,10 +79,11 @@ pam_putenv(pam_handle_t *pamh,
 	/* see if the variable is already in the environment */
 	if ((i = openpam_findenv(pamh, namevalue,
 	(size_t)(p - namevalue))) >= 0) {
-		if ((p = strdup(namevalue)) == NULL)
+		char *q;
+		if ((q = strdup(namevalue)) == NULL)
 			RETURNC(PAM_BUF_ERR);
 		FREE(pamh->env[i]);
-		pamh->env[i] = p;
+		pamh->env[i] = q;
 		RETURNC(PAM_SUCCESS);
 	}