aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.inc113
-rw-r--r--UPDATING6
-rw-r--r--tools/build/Makefile27
3 files changed, 25 insertions, 21 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index 6d58e641fd00..00abab63d24b 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -2293,13 +2293,12 @@ ${_bt}-links: .PHONY
.for _tool in ${_bootstrap_tools_links}
${_bt}-link-${_tool}: .PHONY .MAKE
- @if [ ! -e "${WORLDTMP}/legacy/bin/${_tool}" ]; then \
- source_path=`which ${_tool}`; \
- if [ ! -e "$${source_path}" ] ; then \
- echo "Cannot find host tool '${_tool}'"; false; \
- fi; \
- ln -sfnv "$${source_path}" "${WORLDTMP}/legacy/bin/${_tool}"; \
- fi
+ @rm -f "${WORLDTMP}/legacy/bin/${_tool}"; \
+ source_path=`which ${_tool}`; \
+ if [ ! -e "$${source_path}" ] ; then \
+ echo "Cannot find host tool '${_tool}'"; false; \
+ fi; \
+ cp -f "$${source_path}" "${WORLDTMP}/legacy/bin/${_tool}"
${_bt}-links: ${_bt}-link-${_tool}
.endfor
diff --git a/UPDATING b/UPDATING
index 9cd27c5f4f37..206953b5b37b 100644
--- a/UPDATING
+++ b/UPDATING
@@ -26,6 +26,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW:
disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
+20200807:
+ Makefile.inc has been updated to work around the issue documented in
+ 20200729. It was a case where the optimization of using symbolic links
+ to point to binaries created a situation where we'd run new binaries
+ with old libraries starting midway through the installworld process.
+
20200729:
r363679 has redefined some undefined behavior in regcomp(3); notably,
extraneous escapes of most ordinary characters will no longer be
diff --git a/tools/build/Makefile b/tools/build/Makefile
index 0db3f8b2f11b..73eeac3ee09a 100644
--- a/tools/build/Makefile
+++ b/tools/build/Makefile
@@ -119,26 +119,25 @@ _host_abs_tools_to_symlink= ${_make_abs}:make ${_make_abs}:bmake
host-symlinks:
@echo "Linking host tools into ${DESTDIR}/bin"
.for _tool in ${_host_tools_to_symlink}
- @if [ ! -e "${DESTDIR}/bin/${_tool}" ]; then \
- source_path=`which ${_tool}`; \
- if [ ! -e "$${source_path}" ] ; then \
- echo "Cannot find host tool '${_tool}'"; false; \
- fi; \
- ln -sfnv "$${source_path}" "${DESTDIR}/bin/${_tool}"; \
- fi
+ @source_path=`which ${_tool}`; \
+ if [ ! -e "$${source_path}" ] ; then \
+ echo "Cannot find host tool '${_tool}'"; false; \
+ fi; \
+ rm -f "${DESTDIR}/bin/${_tool}"; \
+ cp -f "$${source_path}" "${DESTDIR}/bin/${_tool}"
.endfor
.for _tool in ${_host_abs_tools_to_symlink}
@source_path="${_tool:S/:/ /:[1]}"; \
target_path="${DESTDIR}/bin/${_tool:S/:/ /:[2]}"; \
- if [ ! -e "$${target_path}" ] ; then \
- if [ ! -e "$${source_path}" ] ; then \
- echo "Host tool '${src_path}' is missing"; false; \
- fi; \
- ln -sfnv "$${source_path}" "$${target_path}"; \
- fi
+ if [ ! -e "$${source_path}" ] ; then \
+ echo "Host tool '${src_path}' is missing"; false; \
+ fi; \
+ rm -f "$${target_path}"; \
+ cp -f "$${source_path}" "$${target_path}"
.endfor
.if exists(/usr/libexec/flua)
- ln -sf /usr/libexec/flua ${DESTDIR}/usr/libexec/flua
+ rm -f ${DESTDIR}/usr/libexec/flua
+ cp -f /usr/libexec/flua ${DESTDIR}/usr/libexec/flua
.endif
# Create all the directories that are needed during the legacy, bootstrap-tools