Commit 5cc4e34
committed
fix(bench): point the linker at the C runtime, and surface the error a tail buries
Two things the last matrix taught, one fixed and one made diagnosable.
1. cmake/linux/gcc still died in its own compiler probe with `cannot find
crt1.o`. My previous attempt — only pass `--sysroot` when crt1.o is under it
— was correct and changed nothing, and the CI log says why: neither
`--sysroot=` nor the STATUS line the other branch would have printed appears,
so `registry/subos/default` does not exist on the runner at all. The payload
gcc then fell back to a built-in prefix that is not there either.
The stable anchor is the PACKAGE: `subos/default/lib/crt1.o` is a symlink
into `xpkgs/xim-x-glibc/<ver>/lib/`, and xpkgs is where the compiler itself
was found, so it exists by construction — `xim-x-glibc` is present in the
failing job's own log. `--sysroot` is gone entirely; `-B` and `-L` ADD to the
search instead of replacing it, which is the property this needed from the
start.
HONEST LIMIT: I could not reproduce the runner's failure locally. A fake
MCPP_HOME with no subos reproduces the missing directory, but this machine's
payload gcc finds crt1.o by itself, so the pre-fix code configures there too.
What is verified is that the arm still configures with and without a subos,
and that the directory the fix names exists on the runner. Whether that is
sufficient, CI will say.
2. `xmake/clang` failed with `seed build exited 255` and the captured tail was
twenty lines of `generating.module.deps`. A tail is the wrong shape for a
tool that prints a line per translation unit: the cause is printed once,
hundreds of lines earlier. That cell cost a full matrix cycle and taught
nothing.
Failures now report the lines that LOOK like a cause, pulled from anywhere in
the log, with the tail after them as context. A keyword sieve rather than
per-engine parsing — approximately right for four different diagnostic
formats beats exactly right until one changes its wording. Verified against a
fake engine that prints an error and then 300 progress lines: the error is
surfaced, where before only progress was.1 parent f1add74 commit 5cc4e34
3 files changed
Lines changed: 97 additions & 25 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
259 | 259 | | |
260 | 260 | | |
261 | 261 | | |
262 | | - | |
| 262 | + | |
263 | 263 | | |
264 | | - | |
265 | | - | |
266 | | - | |
| 264 | + | |
| 265 | + | |
267 | 266 | | |
268 | 267 | | |
269 | 268 | | |
270 | 269 | | |
271 | 270 | | |
272 | | - | |
273 | | - | |
274 | | - | |
275 | | - | |
276 | | - | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
277 | 274 | | |
278 | | - | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
283 | | - | |
284 | | - | |
285 | | - | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
286 | 295 | | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
287 | 302 | | |
288 | | - | |
289 | | - | |
290 | | - | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
296 | 311 | | |
297 | 312 | | |
298 | 313 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
110 | 144 | | |
111 | 145 | | |
112 | 146 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
293 | 293 | | |
294 | 294 | | |
295 | 295 | | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
296 | 319 | | |
297 | 320 | | |
298 | 321 | | |
| |||
0 commit comments