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
This commit is contained in:
Ed Maste 2017-06-24 18:37:51 +00:00
parent e22415906d
commit a28412b0db
2 changed files with 12 additions and 11 deletions

View File

@ -762,14 +762,18 @@ _worldtmp: .PHONY
.else .else
rm -rf ${WORLDTMP}/legacy/usr/include rm -rf ${WORLDTMP}/legacy/usr/include
.endif .endif
# Dependencies cannot cope with certain source tree changes, particularly
# with respect to removing source files and replacing generated files. # Our current approach to dependency tracking cannot cope with certain source
# Handle these cases here in an ad-hoc fashion. # tree changes, particularly with respect to removing source files and
# 20160829 remove stale dependencies for ptrace stub, rewritten in C # replacing generated files. Handle these cases here in an ad-hoc fashion.
# in r305012 #
.for f in ptrace # 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 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 \ ${OBJTREE}${.CURDIR}/lib/libc/.depend.${f}.o; then \
echo Removing stale dependencies for ${f} syscall wrappers; \ echo Removing stale dependencies for ${f} syscall wrappers; \
rm -f ${OBJTREE}${.CURDIR}/lib/libc/.depend.${f}.* \ rm -f ${OBJTREE}${.CURDIR}/lib/libc/.depend.${f}.* \

View File

@ -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 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 upgrade as well as the limited ability to roll back the kernel across
the ino64 upgrade. Complicated use cases may not work properly, though the ino64 upgrade. Complicated use cases may not work properly, though
enough simpler ones work to allow recovery in most situations. There is an enough simpler ones work to allow recovery in most situations.
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.
20170620: 20170620:
Switch back to the BSDL dtc (Device Tree Compiler). Set WITH_GPL_DTC Switch back to the BSDL dtc (Device Tree Compiler). Set WITH_GPL_DTC