Skip to content

Commit 3a4c04a

Browse files
committed
ci(openkal-cross): say what the Windows host provides for the mingw target
The Windows job of this workflow was green with one sandbox lineage and red with the next on the same sources and the same runner image (PR #629: lld could not find -lntdll and its neighbours). On a Windows host openkal-windows's build program generates no import libraries, so where lld finds them is a property of the host, the sandbox or the payload, and nothing in the job said which. This step prints it.
1 parent 88bd313 commit 3a4c04a

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

.github/workflows/openkal-cross.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,27 @@ jobs:
187187
"$MCPP_UNDER_TEST" toolchain install llvm 22.1.8
188188
"$MCPP_UNDER_TEST" toolchain default 'llvm@22.1.8'
189189
190+
# WHAT THIS RUNNER ACTUALLY PROVIDES FOR THE mingw TARGET. On a Windows
191+
# host `openkal-windows`'s build program generates no import libraries
192+
# ("the system's own are present"), so `-lntdll` and its neighbours are
193+
# found by lld only where the host, the sandbox or the payload puts
194+
# them. This job was green with one sandbox lineage and red with the
195+
# next (2026-09-13, PR #629, same sources, same image), which is the
196+
# signature of a dependency on cached state nobody declared. The lines
197+
# below say where the libraries come from, so the next such reading is
198+
# diagnosed from the log rather than from a bisect over caches.
199+
- name: What this host provides for x86_64-w64-windows-gnu
200+
if: matrix.host == 'windows'
201+
run: |
202+
echo "PATH=$PATH" | tr ':' '\n' | head -40
203+
ls "${MCPP_HOME:-$HOME/.mcpp}/registry/data/xpkgs" 2>/dev/null || echo "(no xpkgs dir)"
204+
CLANG=$(ls "${MCPP_HOME:-$HOME/.mcpp}"/registry/data/xpkgs/xim-x-llvm/22.1.8/bin/clang++.exe 2>/dev/null | head -1)
205+
echo "clang=$CLANG"
206+
[ -n "$CLANG" ] && "$CLANG" --target=x86_64-w64-windows-gnu -print-search-dirs
207+
[ -n "$CLANG" ] && "$CLANG" --target=x86_64-w64-windows-gnu -print-file-name=libntdll.a
208+
[ -n "$CLANG" ] && "$CLANG" --target=x86_64-w64-windows-gnu -print-file-name=libkernel32.a
209+
command -v x86_64-w64-mingw32-gcc gcc 2>/dev/null || true
210+
190211
- name: The program — one source, three targets
191212
run: |
192213
set -euo pipefail

0 commit comments

Comments
 (0)