rumpk/.zig-cache/h
Markus Maiwald 5c3a8e3713 feat(rumpk): Pure Zig libc stubs - Freestanding Doctrine
THE GHOST IN THE MACHINE IS EXORCISED
======================================

Rumpk now builds with ZERO C source files.
All libc functions are implemented in pure Zig.

WHAT CHANGED
------------
- NEW: hal/stubs.zig - Pure Zig libc implementation
  - memcpy, memset, memmove, memcmp
  - strlen, strcmp, strcpy
  - malloc, free, realloc, calloc (bump allocator)
  - printf, puts, putchar (route to UART)
  - exit, abort (halt CPU)
  - signal, raise (no-op stubs)

- REMOVED: core/cstubs.c dependency from build
  - C code is now only Nim's generated IR

- UPDATED: kernel.nim
  - Removed malloc/free/realloc exports
  - Now imports from Zig stubs

- UPDATED: build.sh
  - Compiles hal/stubs.zig separately
  - Links stubs.o with hal.o and nimcache/*.o

DOCTRINE DOCUMENT
-----------------
- .agents/steering/FREESTANDING-DOCTRINE.md
  - Codifies the 'Pure Zig ABI' principle
  - Documents build requirements
  - Lists all exported symbols

VERIFICATION
------------
$ file build/rumpk.elf
ELF 64-bit LSB executable, ARM aarch64, statically linked

$ qemu-system-aarch64 -M virt -kernel build/rumpk.elf
[Rumpk L0] Zig HAL Initialized
[Rumpk L1] Nim Kernel Alive!
[Rumpk L1] The Rubicon is crossed.
[Rumpk L1] Zig + Nim = Sovereign Metal.

This proves:
- POSIX is optional
- GCC is optional
- glibc/musl is optional
- We are the standard library now
2025-12-31 20:18:47 +01:00
..
0a64cd7fc924d0745fbebcf8642cadb2.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
0c278431c339b63e58f4d1a9632c00c4.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
2bb5384278e3635f9596a0f4561dc60b.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
2dd03dd551b501566e01376c59e6a0b2.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
02fc3980a397922bf22c467cdf85c417.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
3e9e172c812431252087c10509575051.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
3f459f43a7af6ee1804337dffe6f92e7.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
4b0049e41322c7fb6072deb2f296caa3.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
5abff1d7cbebae8fd1862bcf24223633.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
6d9f0be17de1af7b745d6998e870c337.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
6e0a8127591085862b4d6068134b6647.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
12ee0e4810abca08afc62e5eddd3149c.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
29ccdd6e0e3e128a826fb5b85de28496.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
31afbe4fe5efd3464e5dd4f75b1648d5.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
42a82410c6e7cdd9b74bb29aa44181eb.txt feat(rumpk): Pure Zig libc stubs - Freestanding Doctrine 2025-12-31 20:18:47 +01:00
56c403f94e22697a735a2d135dab7e14.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
99f1da27432490c6cfafb6e9b4542aca.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
375cab0cac613e01f9b1d662518db283.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
515bf8800ad0d8793ed9aa8ac551ce62.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
731cde91cedf3d4c07b5d85bbd72b0be.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
2808ed6492cc82041ae1ce45f409be2f.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
6502deccb53f7a14a573eab46f9d2af0.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
47725e190f302cff500c1ac354ce8991.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
00066305ba037d3e77f79e27ed01cec7.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
75675ae5c32c249252977108a116aa76.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
793748e481317b95a0cc6c75591d57f1.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
5185954eff7f7c6c82121d2fd2e2d4fd.txt feat: Initialize Rumpk Modular Unikernel 2025-12-31 20:18:47 +01:00
6704432bf0677ed9dfac8e08ac41f82d.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
a3050bfe2e6725925e20bf66079fa3e5.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
aaa1734de2f74cfff4220bdb3760069c.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
ab450aed57d8b1c6b500c568f5860a12.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
aea3b3995c0fc1f526942c3329d9de88.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
b009ca1d82d4ca73be750d992c4c72d8.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
b9fe1badad4c839fb2d23033332e90c9.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
b1390b84e6c555d8303b5788080173fb.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
bb365b5d78e1eae7658e988607c64df1.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
bb4555d3bec557086b79af08c5474fc8.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
be9b8a5c2c8eb1d0a83eb82783c5742c.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
bf9d795bc7dc4550cc1e89fcaff2990c.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
cfdcb932e5ccc266cfe0d06e28501ea5.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
d237517b385d4920cdc9e706a9b27be5.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
dc44fb14e21561a38b4d1e885ff76dfd.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
dd3e1674f986515f873b3aea84fe18f7.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
e5a2e33497cb3e586b30b85aa6aa3d80.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
ebb07b69b476d2783984bf7c8240458c.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
f2ffa09dbb79c04c6bf02401f0519e1e.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
f559ee795071d86fa21386476ea3a597.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
f5640a47f6ce715a32238c9a4d07fb39.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
fb7beed00ef1052c9fe3e9a1e54d5822.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
fba9b6a03e0a5e27c46e209f57066e6a.txt feat(rumpk): First successful Zig+Nim boot on QEMU ARM64 2025-12-31 20:18:47 +01:00
timestamp feat: Initialize Rumpk Modular Unikernel 2025-12-31 20:18:47 +01:00