@@ -291,6 +291,24 @@ sources = [
291291 # block found the same wall at `_tlv_bootstrap`, which is why this line is a
292292 # copy of that one rather than a new idea.
293293 " llvm/compiler-rt/lib/builtins/emutls.c" ,
294+ # ⭐ THE STACK PROBE, AND IT IS `.S` RATHER THAN `.c` — WHICH IS WHY THE GLOB
295+ # ABOVE MISSES IT.
296+ #
297+ # The compiler emits a call to `___chkstk_ms` before a frame large enough to
298+ # skip a guard page, and on this format that is a routine of the compiler's
299+ # runtime rather than of the C library. compiler-rt has it, in the
300+ # architecture's own directory: `x86_64/chkstk.S`.
301+ #
302+ # ⚠️ Measured 2026-08-22, after `-lgcc` came off `openkal-musl`'s link line for
303+ # this format — that archive is GCC's, and it had been quietly supplying this
304+ # to a link whose compiler is clang:
305+ #
306+ # ld.lld: error: undefined symbol: ___chkstk_ms
307+ #
308+ # ⚠️ ONE FILE FROM THAT DIRECTORY AND NOT THE DIRECTORY. `x86_64/` also holds
309+ # `floatdidf.c` and its neighbours, which the generic list above already
310+ # supplies; taking the whole directory would define each of them twice.
311+ " llvm/compiler-rt/lib/builtins/x86_64/chkstk.S" ,
294312 " !llvm/compiler-rt/lib/builtins/atomic*.c" ,
295313 " !llvm/compiler-rt/lib/builtins/clear_cache.c" ,
296314 # ⚠️ AND THE EXCLUSION IS DELETED RATHER THAN LEFT BELOW THE INCLUSION — an
0 commit comments