Commit 45e7611
authored
feat(compat): the farm carries only what its runtime can reach, and a moved pin is carried down the chain (#383)
Three farms move to 2026.09.11 and the consumers that pin them move with them:
compat.glfw 3.4.0.1, compat.opencl 2026.09.11, compat.vulkan 1.4.357.2,
compat.sycl-runtime 2026.09.11. An installed copy records the pin it resolved
with, so every link in sycl-runtime -> opencl -> opencl-runtime needs its own
key or the farm at the end never arrives.
`libnvidia-pkcs11*` leaves both farms, and the OpenSSL declaration it was the
only reason for leaves with it. It is a PKCS#11 token module, loaded by an
application's own configuration and by nothing in a GPU driver's dispatch; it
was in the farm because its name matched `libnvidia*.so.*`. Measured with
`LD_DEBUG=libs` AND A CONTROL: `pkcs11` appears zero times on both the Vulkan
and the SYCL/OpenCL run, while `libnvidia-glvkspirv` appears six times and the
OpenCL adapter twenty-three -- so the zero is a reading rather than a silence.
An earlier criterion -- remove the member, see whether the example still runs --
measured nothing: removing glvkspirv left the example working too, because the
binary under test and the farm being edited were different objects.
Three defects that only appear when the code is executed:
* `never_farm_patterns` was iterated and then ignored: the loop bound `pat`
and passed a literal `libnvidia-gtk*`, so the table read like a list and
behaved like one entry. Adding pkcs11 to it did nothing at all.
* `readelf -d` is not transitive, so one round does not close the farm. The
pass this replaced asked `ldd`, whose answer is the whole closure. Measured
on glx-runtime's first real install: 52 members became 77 and were still
nine sonames short, `libLLVM.so.20.1` and `libstdc++.so.6` among them. Now
iterated to a fixed point, bounded so a cycle cannot spin.
* a missing `readelf` returned an empty answer, which reads exactly like a
closed farm. It warns now, and glx-runtime's tool lookup reaches the xim
store before PATH.
Measured on this host, with the driver: glx-runtime 86 members, 0 gaps, and NO
direct host reach -- four entries route through xim:nvidia-gl-host-link,
twenty-four through other xim payloads, the rest through the subos view. The
SYCL example records members 49, walked 49, no findings; the Vulkan example 56,
56, no findings; both compute the right answer on an RTX 4080.1 parent 12c61d0 commit 45e7611
8 files changed
Lines changed: 360 additions & 39 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
10 | 52 | | |
11 | 53 | | |
12 | 54 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
12 | 25 | | |
13 | 26 | | |
14 | 27 | | |
| |||
18 | 31 | | |
19 | 32 | | |
20 | 33 | | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
21 | 47 | | |
22 | 48 | | |
23 | 49 | | |
| |||
27 | 53 | | |
28 | 54 | | |
29 | 55 | | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
30 | 69 | | |
31 | 70 | | |
32 | 71 | | |
| |||
80 | 119 | | |
81 | 120 | | |
82 | 121 | | |
83 | | - | |
| 122 | + | |
84 | 123 | | |
85 | 124 | | |
86 | 125 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
59 | 71 | | |
60 | 72 | | |
61 | 73 | | |
| |||
369 | 381 | | |
370 | 382 | | |
371 | 383 | | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
372 | 402 | | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
373 | 406 | | |
374 | 407 | | |
375 | 408 | | |
| |||
385 | 418 | | |
386 | 419 | | |
387 | 420 | | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
388 | 424 | | |
389 | 425 | | |
390 | 426 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
51 | 54 | | |
52 | | - | |
| 55 | + | |
53 | 56 | | |
54 | | - | |
| 57 | + | |
55 | 58 | | |
56 | 59 | | |
57 | 60 | | |
| |||
64 | 67 | | |
65 | 68 | | |
66 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
67 | 82 | | |
68 | 83 | | |
69 | 84 | | |
| |||
199 | 214 | | |
200 | 215 | | |
201 | 216 | | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
202 | 243 | | |
203 | 244 | | |
204 | 245 | | |
| |||
232 | 273 | | |
233 | 274 | | |
234 | 275 | | |
235 | | - | |
236 | 276 | | |
237 | 277 | | |
238 | 278 | | |
| |||
482 | 522 | | |
483 | 523 | | |
484 | 524 | | |
485 | | - | |
| 525 | + | |
486 | 526 | | |
487 | 527 | | |
488 | 528 | | |
| |||
496 | 536 | | |
497 | 537 | | |
498 | 538 | | |
499 | | - | |
500 | | - | |
501 | | - | |
502 | | - | |
503 | | - | |
504 | | - | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
505 | 544 | | |
506 | 545 | | |
507 | 546 | | |
508 | | - | |
509 | 547 | | |
510 | | - | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
511 | 570 | | |
512 | 571 | | |
513 | 572 | | |
| |||
520 | 579 | | |
521 | 580 | | |
522 | 581 | | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
523 | 585 | | |
524 | 586 | | |
525 | 587 | | |
| |||
607 | 669 | | |
608 | 670 | | |
609 | 671 | | |
610 | | - | |
| 672 | + | |
611 | 673 | | |
612 | 674 | | |
613 | 675 | | |
| |||
0 commit comments