From a28412b0db08a88906b9c6503a1b42fe5fe27013 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Sat, 24 Jun 2017 18:37:51 +0000 Subject: [PATCH] Clean up stale dependencies after r320278 Our current approach to dependency tracking cannot cope with switching generated asm syscall stubs into C wrappers. Perpetuate the hack in Makefile.inc1 to paper over the problem until we can take a holistic approach to fixing dependency problems. Differential Revision: https://reviews.freebsd.org/D11344 --- Makefile.inc1 | 18 +++++++++++------- UPDATING | 5 +---- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 585697d38931..a3189cd84644 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -762,14 +762,18 @@ _worldtmp: .PHONY .else rm -rf ${WORLDTMP}/legacy/usr/include .endif -# Dependencies cannot cope with certain source tree changes, particularly -# with respect to removing source files and replacing generated files. -# Handle these cases here in an ad-hoc fashion. -# 20160829 remove stale dependencies for ptrace stub, rewritten in C -# in r305012 -.for f in ptrace + +# Our current approach to dependency tracking cannot cope with certain source +# tree changes, particularly with respect to removing source files and +# replacing generated files. Handle these cases here in an ad-hoc fashion. +# +# Syscall stubs rewritten in C +# Date SVN Rev Syscalls +# 20160829 r305012 ptrace +# 20170624 r320278 fstat fstatat fstatfs getdirentries getfsstat statfs +.for f in fstat fstatat fstatfs getdirentries getfsstat ptrace statfs .if exists(${OBJTREE}${.CURDIR}/lib/libc/.depend.${f}.o) - @if egrep -q '/${f}.[sS]' \ + @if egrep -qw '${f}\.[sS]' \ ${OBJTREE}${.CURDIR}/lib/libc/.depend.${f}.o; then \ echo Removing stale dependencies for ${f} syscall wrappers; \ rm -f ${OBJTREE}${.CURDIR}/lib/libc/.depend.${f}.* \ diff --git a/UPDATING b/UPDATING index d5840dbbe5e2..ed08c78df016 100644 --- a/UPDATING +++ b/UPDATING @@ -57,10 +57,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: fashion. This prevents many of the common foot-shooting actions in the upgrade as well as the limited ability to roll back the kernel across the ino64 upgrade. Complicated use cases may not work properly, though - enough simpler ones work to allow recovery in most situations. There is an - issue with dependencies which may not properly rebuild everything needed - when doing a NO_CLEAN build. Removing *stat*o in lib/libc obj tree is - sufficient to avoid this issue. + enough simpler ones work to allow recovery in most situations. 20170620: Switch back to the BSDL dtc (Device Tree Compiler). Set WITH_GPL_DTC