aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Richardson <arichardson@FreeBSD.org>2020-08-11 16:46:48 +0000
committerAlex Richardson <arichardson@FreeBSD.org>2020-08-11 16:46:48 +0000
commitf57b27e3f85b468033c3c91c7f2f2e90aa2e8a04 (patch)
tree45961909e4dd631b2abe2de1e57c7bf7b3531488
parent14267d398f875341144c3ad66a5bc690bd14b475 (diff)
downloadsrc-f57b27e3f85b468033c3c91c7f2f2e90aa2e8a04.tar.gz
src-f57b27e3f85b468033c3c91c7f2f2e90aa2e8a04.zip
Fix -DBUILD_WITH_STRICT_TMPPATH dtrace builds
Some of the scripts used for libdtrace invoke nawk instead of awk (for example cddl/contrib/opensolaris/lib/libdtrace/common/mknames.sh). When bootstrapping all tools, we get the nawk -> awk link while building usr.bin/awk, but when linking/copying the dependencies from the host we were only adding awk but not nawk. This was silently generating invalid files when building libdtrace with BUILD_WITH_STRICT_TMPPATH=1 since those scripts invoke nawk instead of awk. In addition to adding the missing link this commit also adds set -e to those scripts to catch errors like this in the future. Reviewed By: markj, emaste Differential Revision: https://reviews.freebsd.org/D26025
Notes
Notes: svn path=/head/; revision=364123
-rw-r--r--Makefile.inc16
-rwxr-xr-xcddl/contrib/opensolaris/lib/libdtrace/common/mkerrno.sh1
-rw-r--r--cddl/contrib/opensolaris/lib/libdtrace/common/mkerrtags.sh1
-rw-r--r--cddl/contrib/opensolaris/lib/libdtrace/common/mknames.sh1
-rwxr-xr-xcddl/contrib/opensolaris/lib/libdtrace/common/mksignal.sh1
5 files changed, 9 insertions, 1 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index f85f0326da25..9223123b1e1b 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -2240,9 +2240,13 @@ ${_bt}-usr.bin/mandoc: ${_bt}-lib/libopenbsd
_basic_bootstrap_tools_multilink=usr.bin/grep grep,egrep,fgrep
_basic_bootstrap_tools_multilink+=bin/test test,[
# bootstrap tools needed by buildworld:
-_basic_bootstrap_tools=usr.bin/awk usr.bin/cut bin/expr usr.bin/gencat \
+_basic_bootstrap_tools=usr.bin/cut bin/expr usr.bin/gencat \
usr.bin/join usr.bin/mktemp bin/rmdir usr.bin/sed usr.bin/sort \
usr.bin/truncate usr.bin/tsort
+# Some build scripts use nawk instead of awk (this happens at least in
+# cddl/contrib/opensolaris/lib/libdtrace/common/mknames.sh) so we need both awk
+# and nawk in ${WORLDTMP}/legacy/bin.
+_basic_bootstrap_tools_multilink+=usr.bin/awk awk,nawk
# file2c is required for building usr.sbin/config:
_basic_bootstrap_tools+=usr.bin/file2c
# uuencode/uudecode required for share/tabset
diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/mkerrno.sh b/cddl/contrib/opensolaris/lib/libdtrace/common/mkerrno.sh
index 50b7f1c1b908..c9fb9e04fe00 100755
--- a/cddl/contrib/opensolaris/lib/libdtrace/common/mkerrno.sh
+++ b/cddl/contrib/opensolaris/lib/libdtrace/common/mkerrno.sh
@@ -25,6 +25,7 @@
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
+set -e
echo "\
/*\n\
diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/mkerrtags.sh b/cddl/contrib/opensolaris/lib/libdtrace/common/mkerrtags.sh
index d5651ff727fc..cc3ef3cc9617 100644
--- a/cddl/contrib/opensolaris/lib/libdtrace/common/mkerrtags.sh
+++ b/cddl/contrib/opensolaris/lib/libdtrace/common/mkerrtags.sh
@@ -25,6 +25,7 @@
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
+set -e
BSDECHO=-e
diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/mknames.sh b/cddl/contrib/opensolaris/lib/libdtrace/common/mknames.sh
index 2fdc2fa636d5..5bb47cb1781f 100644
--- a/cddl/contrib/opensolaris/lib/libdtrace/common/mknames.sh
+++ b/cddl/contrib/opensolaris/lib/libdtrace/common/mknames.sh
@@ -25,6 +25,7 @@
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
+set -e
BSDECHO=-e
diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/mksignal.sh b/cddl/contrib/opensolaris/lib/libdtrace/common/mksignal.sh
index 1bffa6468c2b..dce06a0e1797 100755
--- a/cddl/contrib/opensolaris/lib/libdtrace/common/mksignal.sh
+++ b/cddl/contrib/opensolaris/lib/libdtrace/common/mksignal.sh
@@ -25,6 +25,7 @@
# Use is subject to license terms.
#
#ident "%Z%%M% %I% %E% SMI"
+set -e
echo "\
/*\n\