| ... | @@ -255,14 +255,6 @@ fn _start() callconv(.Naked) noreturn { | ... | @@ -255,14 +255,6 @@ fn _start() callconv(.Naked) noreturn { |
| 255 | : [tos] "={rax}" (-> *std.os.plan9.Tos), | 255 | : [tos] "={rax}" (-> *std.os.plan9.Tos), |
| 256 | ); | 256 | ); |
| 257 | } | 257 | } |
| 258 | switch (native_arch) { | | |
| 259 | // https://github.com/ziglang/zig/issues/16799 | | |
| 260 | .riscv64 => @export(argc_argv_ptr, .{ | | |
| 261 | .name = "__zig_argc_argv_ptr", | | |
| 262 | .visibility = .hidden, | | |
| 263 | }), | | |
| 264 | else => {}, | | |
| 265 | } | | |
| 266 | asm volatile (switch (native_arch) { | 258 | asm volatile (switch (native_arch) { |
| 267 | .x86_64 => | 259 | .x86_64 => |
| 268 | \\ xorl %%ebp, %%ebp | 260 | \\ xorl %%ebp, %%ebp |
| ... | @@ -293,8 +285,7 @@ fn _start() callconv(.Naked) noreturn { | ... | @@ -293,8 +285,7 @@ fn _start() callconv(.Naked) noreturn { |
| 293 | .riscv64 => | 285 | .riscv64 => |
| 294 | \\ li s0, 0 | 286 | \\ li s0, 0 |
| 295 | \\ li ra, 0 | 287 | \\ li ra, 0 |
| 296 | \\ lui a0, %hi(__zig_argc_argv_ptr) | 288 | \\ sd sp, %[argc_argv_ptr] |
| 297 | \\ sd sp, %lo(__zig_argc_argv_ptr)(a0) | | |
| 298 | \\ andi sp, sp, -16 | 289 | \\ andi sp, sp, -16 |
| 299 | \\ tail %[posixCallMainAndExit]@plt | 290 | \\ tail %[posixCallMainAndExit]@plt |
| 300 | , | 291 | , |