Repository navigation
Commit d38b841
committed
plan: three items measured rather than assumed, and one of them is not a new target
I1's premise, measured. Not "it breaks" but three of three, each of them
correct POSIX: `open("/dev/urandom")`, `fopen("/dev/null")` and a write under
`/tmp` all fail on x86_64-windows-gnu and all succeed on x86_64-linux-gnu.
Reading the port: `okm_resolve()` is the single chokepoint every path-taking
syscall passes through, so the synthetic nodes belong there and NOT in open ---
recognising them only in open leaves `stat("/dev/null")` failing, and POSIX
programs do stat it. `/tmp` is a directory mapping rather than a character
device and probably belongs to the preopen set instead.
I2's engine-side criterion, measured: a minimal C library declaring
`presents = "windows"` with llp64 and 16-bit wchar builds for
x86_64-windows-gnu with ZERO engine changes, and the consumer's own
translation unit asserts `_WIN32` present, `__unix__` absent,
`__MCPP_TARGET_WINDOWS__` present. What remains for I2 is the package.
I3 is new and is NOT a new target. `x86_64-windows-musl` already exists at
tier `preview`, and that row wrote its own promotion criterion: verified means
built AND RUN, and openkal's CI has the wine step. Measured here: it builds
and runs, LP64 with a 32-bit wchar and no `_WIN32`, into its own output
directory. The promotion still has to come from CI rather than from a laptop,
and the ecosystem is still on `-gnu` --- which puts the one thing this C
library is not into its identity, its output directory, its `cfg(env = ...)`
and its packed ABI tag. The descriptor-side risk is zero by enumeration:
`cfg(env = "gnu")` appears nowhere, and the three descriptors naming the
triple do so in comments. One of those comments matters: openkal-uefi's
consumer is a different use of the PE target and keeps `-gnu`, so the
retarget's scope is the openkal-musl stack, not every PE user.1 parent e9230df commit d38b841
1 file changed
Lines changed: 76 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
454 | 454 | | |
455 | 455 | | |
456 | 456 | | |
457 | | - | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
458 | 478 | | |
459 | 479 | | |
460 | 480 | | |
461 | 481 | | |
462 | 482 | | |
463 | | - | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
464 | 538 | | |
465 | 539 | | |
466 | 540 | | |
| |||
0 commit comments