macOS LLVM fingerprinting (D1b)
Goal
On macos an unchanged rebuild is a cache hit and a swapped llvm installation is a cache miss.
Implementation Sketch
Derived from compiler_repo/docs/ori_lang/proposals/approved/cache-lifecycle-proposal.md. Implement the work items below in order; each maps to a design bullet in the approved proposal.
Spec References
- Approved proposal:
compiler_repo/docs/ori_lang/proposals/approved/cache-lifecycle-proposal.md - Umbrella invariant T4:
compiler_repo/docs/ori_lang/proposals/approved/toolchain-philosophy-proposal.md
Work Items
- Add the macOS arm to
llvm_runtime_digest()via_dyld_image_count()/_dyld_get_image_name(), selectinglibLLVM-prefixed images and foldinglibrary-path/library-size/library-sha256under the identical Linux domain string - Return
Err(bypass) when nolibLLVMimage is found — never infer static linkage from a missing image, since the shipped build force-dynamically links LLVM on allcfg(not(windows)); assert quiescent enumeration - Verification: a macOS build hits the cache on an unchanged rebuild and misses after swapping the LLVM installation