Thu Jun 7 15:59:27 2018 UTC ()
Pull up following revision(s) (requested by christos in ticket #834):

	usr.bin/make/var.c: revision 1.219
	share/mk/bsd.obj.mk: revision 1.52
	usr.sbin/crash/Makefile: revision 1.40
	share/mk/sys.mk: revision 1.131
	share/mk/bsd.sys.mk: revision 1.276
	share/mk/bsd.sys.mk: revision 1.277

Prevent 'make obj' creating an objdir inside an objdir. This happens the
second time we call 'make obj' in /usr/src/rescue with MAKEOBJDIR set.
XXX: pullup-8
 -
Need to delete ${DESTDIR} for lint
XXX: pullup-8
 -
Fix reproducible builds
XXX: pullup-8
 -
Also substitute ${X11SRCDIR} for the random seed for reproducible builds so
that the random seed is consistent.
XXX: pullup-8
 -
Since ${MAKE} converts $$ -> $ during parsing we need to put it back to
preserve the original variable value with :Q.
XXX: pullup-8
 -
Be more selective about remapping object directories otherwise we pick
objdump and objcopy with the regex.
XXX: pullup-8


(martin)
diff -r1.51 -r1.51.6.1 src/share/mk/bsd.obj.mk
diff -r1.271 -r1.271.4.1 src/share/mk/bsd.sys.mk
diff -r1.129 -r1.129.8.1 src/share/mk/sys.mk
diff -r1.215 -r1.215.4.1 src/usr.bin/make/var.c
diff -r1.36.4.1 -r1.36.4.2 src/usr.sbin/crash/Makefile

cvs diff -r1.51 -r1.51.6.1 src/share/mk/bsd.obj.mk (expand / switch to context diff)
--- src/share/mk/bsd.obj.mk 2016/12/10 23:12:39 1.51
+++ src/share/mk/bsd.obj.mk 2018/06/07 15:59:27 1.51.6.1
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.obj.mk,v 1.51 2016/12/10 23:12:39 christos Exp $
+#	$NetBSD: bsd.obj.mk,v 1.51.6.1 2018/06/07 15:59:27 martin Exp $
 
 .if !defined(_BSD_OBJ_MK_)
 _BSD_OBJ_MK_=1
@@ -27,6 +27,7 @@
 		exit 1; \
 	fi;
 .endif
+.if ${.CURDIR} == ${.OBJDIR}
 	@if [ ! -d ${__objdir} ]; then \
 		mkdir -p ${__objdir}; \
 		if [ ! -d ${__objdir} ]; then \
@@ -34,6 +35,7 @@
 		fi; \
 		${_MKSHMSG} " objdir  ${__objdir}"; \
 	fi
+.endif
 .else
 PAWD?=		/bin/pwd
 

cvs diff -r1.271 -r1.271.4.1 src/share/mk/bsd.sys.mk (expand / switch to context diff)
--- src/share/mk/bsd.sys.mk 2017/04/20 09:29:11 1.271
+++ src/share/mk/bsd.sys.mk 2018/06/07 15:59:27 1.271.4.1
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.sys.mk,v 1.271 2017/04/20 09:29:11 ozaki-r Exp $
+#	$NetBSD: bsd.sys.mk,v 1.271.4.1 2018/06/07 15:59:27 martin Exp $
 #
 # Build definitions used for NetBSD source tree builds.
 
@@ -29,9 +29,12 @@
 REPROFLAGS+=	-fdebug-prefix-map=\$$NETBSDSRCDIR=/usr/src
 REPROFLAGS+=	-fdebug-prefix-map=\$$X11SRCDIR=/usr/xsrc
 LINTFLAGS+=	-R${NETBSDSRCDIR}=/usr/src -R${X11SRCDIR}=/usr/xsrc
+LINTFLAGS+=	-R${DESTDIR}=
 
-REPROFLAGS+=	-fdebug-regex-map='/usr/src/(.*)/obj.*=/usr/obj/\1'
-REPROFLAGS+=	-fdebug-regex-map='/usr/src/(.*)/obj.*/(.*)=/usr/obj/\1/\2'
+REPROFLAGS+=	-fdebug-regex-map='/usr/src/(.*)/obj$$=/usr/obj/\1'
+REPROFLAGS+=	-fdebug-regex-map='/usr/src/(.*)/obj/(.*)=/usr/obj/\1/\2'
+REPROFLAGS+=	-fdebug-regex-map='/usr/src/(.*)/obj\..*=/usr/obj/\1'
+REPROFLAGS+=	-fdebug-regex-map='/usr/src/(.*)/obj\..*/(.*)=/usr/obj/\1/\2'
 
 CFLAGS+=	${REPROFLAGS}
 CXXFLAGS+=	${REPROFLAGS}

cvs diff -r1.129 -r1.129.8.1 src/share/mk/sys.mk (expand / switch to context diff)
--- src/share/mk/sys.mk 2016/03/30 17:35:43 1.129
+++ src/share/mk/sys.mk 2018/06/07 15:59:27 1.129.8.1
@@ -1,4 +1,4 @@
-#	$NetBSD: sys.mk,v 1.129 2016/03/30 17:35:43 martin Exp $
+#	$NetBSD: sys.mk,v 1.129.8.1 2018/06/07 15:59:27 martin Exp $
 #	@(#)sys.mk	8.2 (Berkeley) 3/21/94
 #
 # This file contains the basic rules for make(1) and is read first
@@ -52,7 +52,8 @@
 __ALLSRC1=	${empty(DESTDIR):?${.ALLSRC}:${.ALLSRC:S|^${DESTDIR}|^destdir|}}
 __ALLSRC2=	${empty(MAKEOBJDIR):?${__ALLSRC1}:${__ALLSRC1:S|^${MAKEOBJDIR}|^obj|}}
 __ALLSRC3=	${empty(NETBSDSRCDIR):?${__ALLSRC2}:${__ALLSRC2:S|^${NETBSDSRCDIR}|^src|}}
-__BUILDSEED=	${BUILDSEED}/${__ALLSRC3:O}/${.TARGET}
+__ALLSRC4=	${empty(X11SRCDIR):?${__ALLSRC3}:${__ALLSRC3:S|^${X11SRCDIR}|^xsrc|}}
+__BUILDSEED=	${BUILDSEED}/${__ALLSRC4:O}/${.TARGET}
 _CXXSEED?=	${BUILDSEED:D-frandom-seed=${__BUILDSEED:hash}}
 
 COMPILE.cc?=	${CXX} ${_CXXSEED} ${CXXFLAGS} ${CPPFLAGS} -c

cvs diff -r1.215 -r1.215.4.1 src/usr.bin/make/var.c (expand / switch to context diff)
--- src/usr.bin/make/var.c 2017/04/16 21:39:49 1.215
+++ src/usr.bin/make/var.c 2018/06/07 15:59:27 1.215.4.1
@@ -1,4 +1,4 @@
-/*	$NetBSD: var.c,v 1.215 2017/04/16 21:39:49 riastradh Exp $	*/
+/*	$NetBSD: var.c,v 1.215.4.1 2018/06/07 15:59:27 martin Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,14 +69,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: var.c,v 1.215 2017/04/16 21:39:49 riastradh Exp $";
+static char rcsid[] = "$NetBSD: var.c,v 1.215.4.1 2018/06/07 15:59:27 martin Exp $";
 #else
 #include <sys/cdefs.h>
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)var.c	8.3 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: var.c,v 1.215 2017/04/16 21:39:49 riastradh Exp $");
+__RCSID("$NetBSD: var.c,v 1.215.4.1 2018/06/07 15:59:27 martin Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -2346,6 +2346,8 @@
 	if (isspace((unsigned char)*str) || ismeta((unsigned char)*str))
 	    Buf_AddByte(&buf, '\\');
 	Buf_AddByte(&buf, *str);
+	if (*str == '$')
+	    Buf_AddBytes(&buf, 2, "\\$");
     }
 
     str = Buf_Destroy(&buf, FALSE);

cvs diff -r1.36.4.1 -r1.36.4.2 src/usr.sbin/crash/Makefile (expand / switch to context diff)
--- src/usr.sbin/crash/Makefile 2017/07/25 02:11:14 1.36.4.1
+++ src/usr.sbin/crash/Makefile 2018/06/07 15:59:27 1.36.4.2
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.36.4.1 2017/07/25 02:11:14 snj Exp $
+#	$NetBSD: Makefile,v 1.36.4.2 2018/06/07 15:59:27 martin Exp $
 
 PROG=		crash
 MAN=		crash.8
@@ -83,10 +83,18 @@
 
 COPTS.db_output.c += -Wno-format-nonliteral
 
+.if ${MKREPRO} == "yes"
+.       if ${MKREPRO_TIMESTAMP:U0} != 0
+NVFLAGS+=-r ${MKREPRO_TIMESTAMP}
+.       else
+NVFLAGS+=-R
+.       endif
+.endif
+
 # vers.c
 SRCS+=	vers.c
 vers.c:	${S}/conf/newvers.sh ${_NETBSD_VERSION_DEPENDS}
-	${HOST_SH} ${S}/conf/newvers.sh -r -n
+	${HOST_SH} ${S}/conf/newvers.sh ${NVFLAGS} -n -m ${MACHINE} -i CRASH
 CLEANFILES+=	vers.c version
 
 .else				# } {