diff options
| author | David Rubin <daviru007@icloud.com> | 2024-04-03 00:15:56 -0700 |
|---|---|---|
| committer | David Rubin <daviru007@icloud.com> | 2024-05-11 02:17:11 -0700 |
| commit | 6740c1f0849dd2615859e4d65df355087165e073 (patch) | |
| tree | 71e28e23a53dea1dd6a882a2c737ed1ad3a3c14c /lib/std/start.zig | |
| parent | 9d0bb6371df31dd25e86b7ef4161852740f39f07 (diff) | |
| download | zig-6740c1f0849dd2615859e4d65df355087165e073.tar.gz zig-6740c1f0849dd2615859e4d65df355087165e073.zip | |
riscv: big rewrite to use latest liveness
this one is even harder to document then the last large overhaul.
TLDR;
- split apart Emit.zig into an Emit.zig and a Lower.zig
- created seperate files for the encoding, and now adding a new instruction
is as simple as just adding it to a couple of switch statements and providing the encoding.
- relocs are handled in a more sane maner, and we have a clear defining boundary between
lea_symbol and load_symbol now.
- a lot of different abstractions for things like the stack, memory, registers, and others.
- we're using x86_64's FrameIndex now, which simplifies a lot of the tougher design process.
- a lot more that I don't have the energy to document. at this point, just read the commit itself :p
Diffstat (limited to 'lib/std/start.zig')
| -rw-r--r-- | lib/std/start.zig | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/std/start.zig b/lib/std/start.zig index 0228ffdc2b..5fad443956 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -208,8 +208,7 @@ fn wasi_start() callconv(.C) void { } fn riscv_start() callconv(.C) noreturn { - const code = @call(.always_inline, callMain, .{}); - std.process.exit(code); + std.process.exit(@call(.always_inline, callMain, .{})); } fn EfiMain(handle: uefi.Handle, system_table: *uefi.tables.SystemTable) callconv(.C) usize { |
