Zig ELF Linker Improvements Devlog
3 hours ago
- #systems-programming
- #compiler
- #zig
- New ELF linker in Zig 0.16.0 now supports incremental compilation, enabling fast rebuilds even with external libraries like LLVM and LLD.
- Build system rework separates configurer and maker processes, improving performance by caching configurations and compiling only user build logic.
- Incremental compilation now works with LLVM backend, speeding up error feedback and successful builds.
- Type resolution redesign makes compiler lazier, improves dependency loop error messages, and fixes incremental compilation bugs.
- Experimental std.Io.Evented implementations using io_uring and Grand Central Dispatch allow switching I/O backends with minimal code changes.
- Package management changes store dependencies locally in zig-pkg for easy editing and globally compressed for caching; new --fork flag overrides packages.
- Zig standard library now prefers Windows native APIs (ntdll.dll) over higher-level ones (kernel32.dll) for better performance and reliability.
- Zig libc project replaces vendored C code with Zig wrappers, reducing compilation time, binary size, and improving integration.