Commit Graph

5 Commits

Author SHA1 Message Date
Eman Resu
2351a8df54 minimal-bootstrap: only create one derivation for mes sources
Co-authored-by: Aleksi Hannula <ahannula4+nixgit@gmail.com>
2026-05-13 21:09:50 -04:00
r-vdp
33a22fc16b minimal-bootstrap.mes: convert sources from Nix to JSON
Replace sources.nix with sources.json, consumed via lib.importJSON.
Update gen-sources.sh to emit JSON using jq for correctness.
2026-03-03 10:06:52 +01:00
Aleksi Hannula
839e2de5d8 minimal-bootstrap.mes: Support x86_64-linux
Some changes made here are specific to x86_64, while others are applied
only to support an upgraded tinycc version later on.

x86_64-related:
- We use ${arch} over "x86" in various places.
- gen-sources.sh changed to support x86_64; sources.nix regenerated.
- nyacc was downgraded. Newer nyacc introduces a known regression that
  causes incompatibility with mes, specifically on x86_64.
  This is honestly a mes bug, but it is hard to patch.
- The x86_64 longjmp/setjmp infrastructure from mes-libc is replaced with a
  custom implementation. The original implementation handles stack-related
  registers incorrectly, and it's hard to fix without resorting to asm.
- Assorted bugfixes for mes-libc; see mes/default.nix for explanation.

To upgrade tinycc:
- We download an implementation of ldexpl from an upstream development version.
2025-12-13 11:27:13 +02:00
Emily Trau
e88693d8e4 minimal-bootstrap.mes: reformat sources.nix for better diffs 2023-11-29 06:42:36 +00:00
Emily Trau
1e88aa2594 minimal-bootstrap.mes: generate list of source files 2023-05-03 14:31:40 +10:00