rdmpw3275m-changelog-20260926-2350-factor-llvm-lld-decoupling-devupdate-v216
rdmpw3275m-changelog-20260926-2350-factor-llvm-lld-decoupling-devupdate-v216
Factor Homebrew LLVM 23.1.2 upgrade, decoupled LLD/LLDB formula architecture, and Clang config into fleet setup and release dev_update.zsh v2.16.
Summary
Homebrew upgraded llvm (23.1.1 -> 23.1.2) and
decoupled lld and lldb into standalone
formulae. On rdmpw3275m (Cascade Lake Xeon),
lld 23.1.2 was compiled and tuned for
-march=cascadelake (356 cascadelake instructions, 0
westmere, 213s) and pinned to match llvm 23.1.2. To prevent
multi-hour source builds if lldb is ever installed,
lldb and lldb@* were classified as heavy
compiler toolchains in Phase 4 TOOLCHAINS of
dev_update.zsh, advancing it to v2.16
(TASK-20260926-74). Clang configuration files in
/usr/local/etc/clang were verified against active Command
Line Tools SDKs (MacOSX26.sdk).
Scope
- Hosts:
rdmpw3275m(local execution and tuning),rdmsm4x(canonical hub promotion) - Components: Homebrew (
llvm,lld),dev_update.zsh(v2.15 -> v2.16),CLANG_CONFIGSDK mapping
Exact Files Touched
/Users/richh/dev/scripts/dev_update_v2.16.zsh(created v2.16 withlldb/lldb@*inTOOLCHAINS)/Users/richh/dev/scripts/dev_update.zsh->dev_update_v2.16.zsh/Users/richh/dev/scripts/devupdate.zsh->dev_update_v2.16.zsh/Users/richh/dev/scripts/fleet_update.zsh->dev_update_v2.16.zsh/Users/richh/dev/scripts/fleet_upgrade.zsh->dev_update_v2.16.zsh/Users/richh/dev/scripts/updatedev.zsh->dev_update_v2.16.zshrdmsm4x:/Users/richh/dev/scripts/dev_update_v2.16.zsh(promoted, identical sha256)rdmsm4x:/Users/richh/dev/scripts/{dev_update,devupdate,fleet_update,fleet_upgrade,updatedev}.zsh(repointed)/Users/richh/.local/state/fleet_update/tuned.tsv(recordedlld23.1.2 tuned)/Users/richh/dev/issues/resolved/TASK-20260926-74-fleet_update-classify-decoupled-lldb-lld.md(resolved)/Users/richh/.agent-coordination/checkins/agy-rdmpw3275m-devupdate-v216-20260926.json(published)
Architectural & Setup Factoring Analysis
- Decoupled LLD / LLDB:
lld: Standalone formula. Fast to build (~3.5 min on Cascade Lake 56-thread Xeon), links dynamically tolibLLVM.23.1.dylib. Kept tunable in Phase 4 so Mach-O and ELF linkers run with native AVX-512 acceleration.lldb: Standalone formula. Compiles for multiple hours with Python, Z3, and LLVM dependencies. Added toTOOLCHAINS = ["llvm", "llvm@*", "lldb", "lldb@*", ...]indev_update.zshv2.16 so it is skipped during regular fleet tuning passes unless--include-toolchainsis explicitly specified.
- Clang Configuration Files
(
CLANG_CONFIG_FILE_SYSTEM_DIR&USER_DIR):- System configs live in
/usr/local/etc/clang(Intel) //opt/homebrew/etc/clang(Apple Silicon). - Generated configuration files
(
x86_64-apple-darwin25.cfg) correctly set-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX26.sdk. - Verified
/usr/local/opt/llvm/bin/clang -vresolves SDK headers from/Library/Developer/CommandLineTools/SDKs/MacOSX26.sdk/usr/include. - If custom SDK paths or full Xcode SDKs are needed without CLT, user
configs can be placed in
~/.config/clang/<target>.cfg.
- System configs live in
- Keg-Only & Isolation Standard:
- Homebrew
llvmremains keg-only. - Global addition of Homebrew LLVM to
PATH,LDFLAGS, orCPPFLAGSis strictly avoided to protect Apple Clang toolchain isolation, Universal2 lipo gates (x86_64 arm64), and Swift package compatibility. - CMake consumers locate LLVM using
-DCMAKE_PREFIX_PATH="$(brew --prefix llvm)"orexport LLVM_DIR="$(brew --prefix llvm)/lib/cmake/llvm".
- Homebrew
- Z3 Solver Deprecation in LLVM 24:
- Upstream PR #205370 removes Z3 solver support in LLVM 24. Documented for future formula updates when LLVM 24 is tagged.
Verification Evidence
zsh -n /Users/richh/dev/scripts/dev_update_v2.16.zsh: syntax OK/Users/richh/dev/scripts/dev_update_v2.16.zsh --verify-embedded: payload materialise + verify OK/Users/richh/dev/scripts/dev_update_v2.16.zsh --self-test --plain: all 7 phases simulated cleanlyshasum -a256 /Users/richh/dev/scripts/dev_update_v2.16.zsh:94b17a6203e981af29e5adc48df58de2d97e3e503d6717e5e9c2cf3f7cbe3bd8on bothrdmpw3275mandrdmsm4xbrew linkage lld: verified links against/usr/local/opt/llvm/lib/libLLVM.23.1.dyliband/usr/local/opt/zstd/lib/libzstd.1.dylibld.lld -v:Homebrew LLD 23.1.2 (compatible with GNU linkers)wasm-ld -v:Homebrew LLD 23.1.2tuned.tsv:lld 23.1.2 tuned 356 0 213 1790480742 verified from /Users/richh/Library/Logs/Homebrew/lld
How to Undo
- To revert script symlinks to v2.15:
cd ~/dev/scripts && ln -sf dev_update_v2.15.zsh dev_update.zsh && ln -sf dev_update_v2.15.zsh devupdate.zsh && ln -sf dev_update_v2.15.zsh fleet_update.zsh && ln -sf dev_update_v2.15.zsh fleet_upgrade.zsh && ln -sf dev_update_v2.15.zsh updatedev.zsh - To unpin lld:
brew unpin lld
Outstanding Owner Actions
- None. All verification checks passed cleanly and state is synchronized to the hub.