Commit a6348e0
committed
fix(toolchain): a record naming a payload that is gone is not an authority
CI's log gave the answer directly:
probe: runtime 'glibc@2.39' is not installed in this home
The machine had one glibc payload, 2.44, and a compatibility record naming
2.39. specs, cfg and PT_INTERP are all RECORDS of a past state -- written at
some install, some fixup -- and nothing revisits them when the payload
underneath is replaced. The probe matches exactly and never falls back, quite
deliberately, so it refused; no payload paths resolved; no --dynamic-linker
reached the link line; the artifact took the host loader and the hermetic
check rejected it.
Each record is now checked against the payloads actually installed, and a
record naming an absent one is skipped rather than trusted. Where two payloads
exist and a record names one of them, that still wins -- it is the value the
artifact would load. Where nothing present is named, silence.
Two more, both from the full local e2e rather than the targeted subset:
- musl targets were getting the glibc payload's lib dir and loader. The
sysroot branch pushed them unconditionally, but a musl sysroot is
self-contained and the glibc payload there belongs to the HOST toolchain,
merely probed alongside. ld then pulled glibc's static libc.a into a musl
link: `undefined reference to _DYNAMIC` out of dl-reloc-static-pie.o
(e2e 103). The musl guard the header branch already had now covers
libraries and the loader too.
- The new "vendored xlings is behind the pin" note went to stdout, and
`mcpp test --json` promises every stdout line is NDJSON (e2e 155). It is a
remark about the environment, not output of the command; stderr.
tests/unit/test_runtime_binding_fallback.cpp +3 (8 total)
66 unit tests; e2e 103/155/184/201/86/28/30 pass.1 parent 7b3b540 commit a6348e0
4 files changed
Lines changed: 112 additions & 26 deletions
File tree
- src
- fallback
- toolchain
- tests/unit
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
68 | 69 | | |
69 | 70 | | |
70 | 71 | | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
71 | 77 | | |
72 | | - | |
| 78 | + | |
| 79 | + | |
73 | 80 | | |
74 | 81 | | |
75 | 82 | | |
76 | 83 | | |
77 | 84 | | |
78 | 85 | | |
79 | | - | |
| 86 | + | |
| 87 | + | |
80 | 88 | | |
81 | 89 | | |
82 | 90 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
344 | 344 | | |
345 | 345 | | |
346 | 346 | | |
347 | | - | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
348 | 358 | | |
349 | 359 | | |
350 | 360 | | |
351 | | - | |
| 361 | + | |
352 | 362 | | |
353 | 363 | | |
354 | 364 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
614 | 614 | | |
615 | 615 | | |
616 | 616 | | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
617 | 645 | | |
618 | 646 | | |
619 | 647 | | |
| |||
624 | 652 | | |
625 | 653 | | |
626 | 654 | | |
627 | | - | |
| 655 | + | |
628 | 656 | | |
629 | 657 | | |
630 | 658 | | |
631 | 659 | | |
632 | 660 | | |
633 | 661 | | |
634 | 662 | | |
635 | | - | |
| 663 | + | |
636 | 664 | | |
637 | 665 | | |
638 | 666 | | |
| |||
649 | 677 | | |
650 | 678 | | |
651 | 679 | | |
652 | | - | |
| 680 | + | |
653 | 681 | | |
654 | 682 | | |
655 | 683 | | |
| |||
664 | 692 | | |
665 | 693 | | |
666 | 694 | | |
667 | | - | |
668 | | - | |
669 | | - | |
670 | | - | |
671 | | - | |
672 | | - | |
673 | | - | |
674 | | - | |
675 | | - | |
676 | | - | |
677 | | - | |
678 | | - | |
679 | | - | |
680 | | - | |
681 | | - | |
682 | | - | |
683 | | - | |
684 | | - | |
685 | | - | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
686 | 700 | | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
687 | 706 | | |
688 | 707 | | |
689 | 708 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
69 | 118 | | |
0 commit comments