git: 07e6bfeae5a1 - main - depend-cleanup.sh: Remove everything before the last build epoch.

From: Warner Losh <imp_at_FreeBSD.org>
Date: Sun, 16 Nov 2025 04:10:43 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=07e6bfeae5a1cf3266d3859e7a10f426b5d301aa

commit 07e6bfeae5a1cf3266d3859e7a10f426b5d301aa
Author:     Warner Losh <imp@FreeBSD.org>
AuthorDate: 2025-11-16 04:10:07 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2025-11-16 04:10:07 +0000

    depend-cleanup.sh: Remove everything before the last build epoch.
    
    We were deleting the .a files for llvm when it was build in bootstrap,
    but this caused us to rebuild all the bootstrap things since the
    bootstrap compiler changed, making the build time 25 minutes instead of
    77 seconds on one of my systems. Items before the last rebuild from
    scratch epoch are no longer relevant because you have to rebuild
    entirely, so the incremental conditions that lead up to them being
    needed are no longer true.
    
    Sponsored by:           Netflix
    Reviewed by:            jrtc27, emaste
    Differential Revision:  https://reviews.freebsd.org/D53693
---
 tools/build/depend-cleanup.sh | 209 +-----------------------------------------
 1 file changed, 2 insertions(+), 207 deletions(-)

diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh
index d751118a79a2..88b9c3b2e17d 100755
--- a/tools/build/depend-cleanup.sh
+++ b/tools/build/depend-cleanup.sh
@@ -260,213 +260,8 @@ check_epoch
 
 # Date      Rev      Description
 
-# 20220326  fbc002cb72d2    move from bcmp.c to bcmp.S
-if [ "$MACHINE_ARCH" = "amd64" ]; then
-	clean_dep lib/libc bcmp c
-fi
-
-# 20220524  68fe988a40ca    kqueue_test binary replaced shell script
-if stat "$OBJTOP"/tests/sys/kqueue/libkqueue/*kqtest* \
-    "$OBJTOP"/tests/sys/kqueue/libkqueue/.depend.kqtest* >/dev/null 2>&1; then
-	echo "Removing old kqtest"
-	run rm -fv "$OBJTOP"/tests/sys/kqueue/libkqueue/.depend.* \
-	   "$OBJTOP"/tests/sys/kqueue/libkqueue/*
-fi
-
-# 20221115  42d10b1b56f2    move from rs.c to rs.cc
-clean_dep   usr.bin/rs      rs c
-
-# 20230110  bc42155199b5    usr.sbin/zic/zic -> usr.sbin/zic
-if [ -d "$OBJTOP"/usr.sbin/zic/zic ] ; then
-	echo "Removing old zic directory"
-	run rm -rf "$OBJTOP"/usr.sbin/zic/zic
-fi
-
-# 20230208  29c5f8bf9a01    move from mkmakefile.c to mkmakefile.cc
-clean_dep   usr.sbin/config  mkmakefile c
-# 20230209  83d7ed8af3d9    convert to main.cc and mkoptions.cc
-clean_dep   usr.sbin/config  main c
-clean_dep   usr.sbin/config  mkoptions c
-
-# 20230401  54579376c05e    kqueue1 from syscall to C wrapper
-clean_dep   lib/libc        kqueue1 S
-
-# 20230623  b077aed33b7b    OpenSSL 3.0 update
-if [ -f "$OBJTOP"/secure/lib/libcrypto/aria.o ]; then
-	echo "Removing old OpenSSL 1.1.1 tree"
-	for libcompat in "" $ALL_libcompats; do
-		dirprfx=${libcompat:+obj-lib${libcompat}/}
-		run rm -rf "$OBJTOP"/${dirprfx}secure/lib/libcrypto \
-		    "$OBJTOP"/${dirprfx}secure/lib/libssl
-	done
-fi
-
-# 20230714  ee8b0c436d72    replace ffs/fls implementations with clang builtins
-clean_dep   lib/libc        ffs   S
-clean_dep   lib/libc        ffsl  S
-clean_dep   lib/libc        ffsll S
-clean_dep   lib/libc        fls   S
-clean_dep   lib/libc        flsl  S
-clean_dep   lib/libc        flsll S
-
-# 20230815  28f6c2f29280    GoogleTest update
-if [ -e "$OBJTOP"/tests/sys/fs/fusefs/mockfs.o ] && \
-    grep -q '_ZN7testing8internal18g_linked_ptr_mutexE' "$OBJTOP"/tests/sys/fs/fusefs/mockfs.o; then
-	echo "Removing stale fusefs GoogleTest objects"
-	run rm -rf "$OBJTOP"/tests/sys/fs/fusefs
-fi
-
-# 20231031  0527c9bdc718    Remove forward compat ino64 stuff
-clean_dep   lib/libc        fstat         c
-clean_dep   lib/libc        fstatat       c
-clean_dep   lib/libc        fstatfs       c
-clean_dep   lib/libc        getdirentries c
-clean_dep   lib/libc        getfsstat     c
-clean_dep   lib/libc        statfs        c
-
-# 20240308  e6ffc7669a56    Remove pointless MD syscall(2)
-# 20240308  0ee0ae237324    Remove pointless MD syscall(2)
-# 20240308  7b3836c28188    Remove pointless MD syscall(2)
-if [ ${MACHINE} != i386 ]; then
-	libcompats=
-	for libcompat in $ALL_libcompats; do
-		if [ $MACHINE = amd64 ] && [ $libcompat = 32 ]; then
-			continue
-		fi
-		libcompats="${libcompats+$libcompats }$libcompat"
-	done
-	ALL_libcompats="$libcompats" clean_dep   lib/libsys  syscall S ".*/syscall\.S"
-	ALL_libcompats="$libcompats" clean_dep   lib/libc    syscall S ".*/syscall\.S"
-fi
-
-# 20240416  2fda3ab0ac19    WITH_NVME: Remove from broken
-if [ -f "$OBJTOP"/rescue/rescue/rescue.mk ] && \
-    ! grep -q 'nvme_util.o' "$OBJTOP"/rescue/rescue/rescue.mk; then
-	echo "removing rescue.mk without nvme_util.o"
-	run rm -fv "$OBJTOP"/rescue/rescue/rescue.mk
-fi
-
-# 20240910  e2df9bb44109
-clean_dep   cddl/lib/libzpool abd_os c "linux/zfs/abd_os\.c"
-
-# 20241007
-clean_dep   cddl/lib/libzpool zfs_debug c "linux/zfs/zfs_debug\.c"
-
-# 20241011
-clean_dep   cddl/lib/libzpool arc_os c "linux/zfs/arc_os\.c"
-
-# 20241018  1363acbf25de    libc/csu: Support IFUNCs on riscv
-if [ ${MACHINE} = riscv ]; then
-	for f in "$OBJTOP"/lib/libc/.depend.libc_start1.*o; do
-		if [ ! -f "$f" ]; then
-			continue
-		fi
-		if ! grep -q 'lib/libc/csu/riscv/reloc\.c' "$f"; then
-			echo "Removing stale dependencies and objects for libc_start1.c"
-			run rm -fv \
-			    "$OBJTOP"/lib/libc/.depend.libc_start1.* \
-			    "$OBJTOP"/lib/libc/libc_start1.*o
-			break
-		fi
-	done
-fi
-
-# 20241018  5deeebd8c6ca   Merge llvm-project release/19.x llvmorg-19.1.2-0-g7ba7d8e2f7b6
-p="$OBJTOP"/lib/clang/libclang/clang/Basic
-f="$p"/arm_mve_builtin_sema.inc
-if [ -e "$f" ]; then
-	if grep -q SemaBuiltinConstantArgRange "$f"; then
-		echo "Removing pre-llvm19 clang-tblgen output"
-		run rm -fv "$p"/*.inc
-	fi
-fi
-
-# 20241025  cb5e41b16083  Unbundle hash functions fom lib/libcrypt
-clean_obj   lib/libcrypt crypt-md5    c __MD5Init
-clean_obj   lib/libcrypt crypt-nthash c __MD4Init
-clean_obj   lib/libcrypt crypt-sha256 c __SHA256Init
-clean_obj   lib/libcrypt crypt-sha512 c __SHA512Init
-
-# 20241213  b55f5e1c4ae3  jemalloc: Move generated jemalloc.3 into lib/libc tree
-if [ -h "$OBJTOP"/lib/libc/jemalloc.3 ]; then
-	# Have to cleanup the jemalloc.3 in the obj tree since make gets
-	# confused and won't use the one in lib/libc/malloc/jemalloc/jemalloc.3
-	echo "Removing stale jemalloc.3 object"
-	run rm -fv "$OBJTOP"/lib/libc/jemalloc.3
-fi
-
-if [ $MACHINE_ARCH = aarch64 ]; then
-	# 20250110  5e7d93a60440  add strcmp SIMD implementation
-	ALL_libcompats= clean_dep   lib/libc strcmp S arm-optimized-routines
-	run rm -fv "$OBJTOP"/lib/libc/strcmp.S
-
-	# 20250110  b91003acffe7  add strspn optimized implementation
-	ALL_libcompats= clean_dep   lib/libc strspn c
-
-	# 20250110  f2bd390a54f1  add strcspn optimized implementation
-	ALL_libcompats= clean_dep   lib/libc strcspn c
-
-	# 20250110  89b3872376cb  add optimized strpbrk & strsep implementations
-	ALL_libcompats= clean_dep   lib/libc strpbrk c "libc.string.strpbrk.c"
-
-	# 20250110  79287d783c72  strcat enable use of SIMD
-	ALL_libcompats= clean_dep   lib/libc strcat c "libc.string.strcat.c"
-
-	# 20250110  756b7fc80837  add strlcpy SIMD implementation
-	ALL_libcompats= clean_dep   lib/libc strlcpy c
-
-	# 20250110  25c485e14769  add strncmp SIMD implementation
-	ALL_libcompats= clean_dep   lib/libc strncmp S arm-optimized-routines
-	run rm -fv "$OBJTOP"/lib/libc/strncmp.S
-
-	# 20250110  bad17991c06d  add memccpy SIMD implementation
-	ALL_libcompats= clean_dep   lib/libc memccpy c
-
-	# 20250110  3dc5429158cf  add strncat SIMD implementation
-	ALL_libcompats= clean_dep   lib/libc strncat c "libc.string.strncat.c"
-
-	# 20250110  bea89d038ac5  add strlcat SIMD implementation, and move memchr
-	ALL_libcompats= clean_dep   lib/libc strlcat c "libc.string.strlcat.c"
-	ALL_libcompats= clean_dep   lib/libc memchr S "[[:space:]]memchr.S"
-	run rm -fv "$OBJTOP"/lib/libc/memchr.S
-
-	# 20250110  3863fec1ce2d  add strlen SIMD implementation
-	ALL_libcompats= clean_dep   lib/libc strlen S arm-optimized-routines
-	run rm -fv "$OBJTOP"/lib/libc/strlen.S
-
-	# 20250110  79e01e7e643c  add bcopy & bzero wrapper
-	ALL_libcompats= clean_dep   lib/libc bcopy c "libc.string.bcopy.c"
-	ALL_libcompats= clean_dep   lib/libc bzero c "libc.string.bzero.c"
-
-	# 20250110  f2c98669fc1b  add ASIMD-enhanced timingsafe_bcmp implementation
-	ALL_libcompats= clean_dep   lib/libc timingsafe_bcmp c
-
-	# 20250110  3f224333af16  add timingsafe_memcmp() assembly implementation
-	ALL_libcompats= clean_dep   lib/libc timingsafe_memcmp c
-fi
-
-# 20250402  839d0755fea8    ctld converted to C++
-clean_dep   usr.sbin/ctld   ctld c
-clean_dep   usr.sbin/ctld   conf c
-clean_dep   usr.sbin/ctld   discovery c
-clean_dep   usr.sbin/ctld   isns c
-clean_dep   usr.sbin/ctld   kernel c
-clean_dep   usr.sbin/ctld   login c
-clean_dep   usr.sbin/ctld   uclparse c
-
-# 20250425  2e47f35be5dc    libllvm, libclang and liblldb became shared libraries
-if [ -f "$OBJTOP"/lib/clang/libllvm/libllvm.a ]; then
-	echo "Removing old static libllvm library"
-        run rm -fv "$OBJTOP"/lib/clang/libllvm/libllvm.a
-fi
-if [ -f "$OBJTOP"/lib/clang/libclang/libclang.a ]; then
-	echo "Removing old static libclang library"
-        run rm -fv "$OBJTOP"/lib/clang/libclang/libclang.a
-fi
-if [ -f "$OBJTOP"/lib/clang/liblldb/liblldb.a ]; then
-	echo "Removing old static liblldb library"
-        run rm -fv "$OBJTOP"/lib/clang/liblldb/liblldb.a
-fi
+# latest clean epoch:
+# 20250807	# All OpenSSL-using bits need rebuilt
 
 # 20250813  4f766afc1ca0    tcopy converted to C++
 clean_dep   usr.bin/tcopy   tcopy c