From 2b87cc7ed31062ca8d814f4971a77952a473703c Mon Sep 17 00:00:00 2001 From: Koakuma Date: Tue, 27 Oct 2020 22:46:18 +0700 Subject: [PATCH] starting_stack_ptr -> argc_argv_ptr to reflect actual use --- lib/std/start.zig | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/std/start.zig b/lib/std/start.zig index b1cbefcc67..4e1a9d71d4 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -11,7 +11,7 @@ const builtin = std.builtin; const assert = std.debug.assert; const uefi = std.os.uefi; -var starting_stack_ptr: [*]usize = undefined; +var argc_argv_ptr: [*]usize = undefined; const start_sym_name = if (builtin.arch.isMIPS()) "__start" else "_start"; @@ -102,26 +102,26 @@ fn _start() callconv(.Naked) noreturn { switch (builtin.arch) { .x86_64 => { - starting_stack_ptr = asm volatile ( + argc_argv_ptr = asm volatile ( \\ xor %%rbp, %%rbp : [argc] "={rsp}" (-> [*]usize) ); }, .i386 => { - starting_stack_ptr = asm volatile ( + argc_argv_ptr = asm volatile ( \\ xor %%ebp, %%ebp : [argc] "={esp}" (-> [*]usize) ); }, .aarch64, .aarch64_be, .arm, .armeb => { - starting_stack_ptr = asm volatile ( + argc_argv_ptr = asm volatile ( \\ mov fp, #0 \\ mov lr, #0 : [argc] "={sp}" (-> [*]usize) ); }, .riscv64 => { - starting_stack_ptr = asm volatile ( + argc_argv_ptr = asm volatile ( \\ li s0, 0 \\ li ra, 0 : [argc] "={sp}" (-> [*]usize) @@ -129,7 +129,7 @@ fn _start() callconv(.Naked) noreturn { }, .mips, .mipsel => { // The lr is already zeroed on entry, as specified by the ABI. - starting_stack_ptr = asm volatile ( + argc_argv_ptr = asm volatile ( \\ move $fp, $0 : [argc] "={sp}" (-> [*]usize) ); @@ -137,7 +137,7 @@ fn _start() callconv(.Naked) noreturn { .powerpc64le => { // Setup the initial stack frame and clear the back chain pointer. // TODO: Support powerpc64 (big endian) on ELFv2. - starting_stack_ptr = asm volatile ( + argc_argv_ptr = asm volatile ( \\ mr 4, 1 \\ li 0, 0 \\ stdu 0, -32(1) @@ -149,7 +149,7 @@ fn _start() callconv(.Naked) noreturn { }, .sparcv9 => { // argc is stored after a register window (16 registers) plus stack bias - starting_stack_ptr = asm ( + argc_argv_ptr = asm ( \\ mov %%g0, %%i6 \\ add %%o6, 2175, %[argc] : [argc] "=r" (-> [*]usize) @@ -190,8 +190,8 @@ fn posixCallMainAndExit() noreturn { if (builtin.os.tag == .freebsd) { @setAlignStack(16); } - const argc = starting_stack_ptr[0]; - const argv = @ptrCast([*][*:0]u8, starting_stack_ptr + 1); + const argc = argc_argv_ptr[0]; + const argv = @ptrCast([*][*:0]u8, argc_argv_ptr + 1); const envp_optional = @ptrCast([*:null]?[*:0]u8, @alignCast(@alignOf(usize), argv + argc + 1)); var envp_count: usize = 0;