Re: Should changes in src/usr.sbin/bhyve/ trigger an llvm rebuild?

From: Alexander Leidinger <Alexander_at_Leidinger.net>
Date: Mon, 29 Jan 2024 09:50:18 UTC
Am 2024-01-29 00:00, schrieb Mark Millard:

> I would have to see make -dM output from (D) to
> find the specific timing relationships that lead
> to that. There is way to much to analyze the
> specifics manually, especially because dependency
> chains have to be considered.

Not -stable, but -current (no change to src, buildworld after 
installworld to a new BE and booting this new BE):
# grep newer buildworld_debug.log | grep -E 
'amd64.amd64/tmp/(usr|legacy)/' | cut -d : -f 3 | sort -u
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/include/roken.h' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/asn1_compile' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/awk' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/basename' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/cap_mkdb' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/cat' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/clang-tblgen' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/compile_et' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/cp' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/crunchgen' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/crunchide' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/dd' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/env' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/file2c' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/gencat' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/grep' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/gzip' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/jot' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/lex' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/lldb-tblgen' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/llvm-min-tblgen' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/llvm-tblgen' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/ln' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/m4' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/make-roken' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/mkcsmapper' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/mkesdb' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/mv' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/rm' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/sed' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/sh' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/touch' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/truncate' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/uudecode' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/uuencode' 
is newer than the target...
  file 
'/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/usr/bin/objcopy' 
is newer than the target...

There is no dependency to outside the obj tree.

Would it make sense to exclude the tmp/legacy/usr/sbin/... dependencies? 
Or a subset? The tmp/usr/bin/objcopy is probably in the middle of a 
rebuild, but the name legacy gives the impression that not a lot of 
features are needed from those (basics to build our own version?).

Note, grep for "newer" gives >12000 hits.

Bye,
Alexander.

-- 
http://www.Leidinger.net Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org    netchild@FreeBSD.org  : PGP 0x8F31830F9F2772BF