serenity
serenity copied to clipboard
Ports: Add zig port

Shoutouts to IdanHo for the flock ideas, Daniel for various syscall implementations, and timschumi for the awesome LibC work.
Yak stack:
- [x] Do not hardcode constants in
serenity.zig. Instead, bundle agenerate-serenity-constants.zigfile with the port, and use that to generate constant values during the build by importingLibCheaders from Zig. - [x] Symlink the appropriate LLVM patches from
Toolchain/LLVMinstead of bundling them. This can't be done for thelibcxxpatch as it needs to be adapted for Zig. - [ ] (Optional) Figure out how to properly let go of the TLS segment of the program during
execveso thatzig runworks.
Need to fix PTHREAD_STACK_MAX being needed by LibELF in Lagom.