Module Name: src Committed By: skrll Date: Mon Dec 5 07:33:43 UTC 2022
Modified Files: src/libexec/ld.elf_so/arch/riscv: rtld_start.S Log Message: Use the SZREG symbol instead of __SIZEOF_POINTER__ as its shorter. Assert that they're the same just in case. Sprinkle some KNF whitespace while I'm here. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/libexec/ld.elf_so/arch/riscv/rtld_start.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/libexec/ld.elf_so/arch/riscv/rtld_start.S diff -u src/libexec/ld.elf_so/arch/riscv/rtld_start.S:1.4 src/libexec/ld.elf_so/arch/riscv/rtld_start.S:1.5 --- src/libexec/ld.elf_so/arch/riscv/rtld_start.S:1.4 Sun Dec 4 17:04:06 2022 +++ src/libexec/ld.elf_so/arch/riscv/rtld_start.S Mon Dec 5 07:33:43 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: rtld_start.S,v 1.4 2022/12/04 17:04:06 skrll Exp $ */ +/* $NetBSD: rtld_start.S,v 1.5 2022/12/05 07:33:43 skrll Exp $ */ /*- * Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -34,6 +34,10 @@ .globl _C_LABEL(_rtld_relocate_nonplt_self) .globl _C_LABEL(_rtld) +#if __SIZEOF_POINTER__ != SZREG +#error SZREG is the wrong size +#endif + /* * void * ___start(void (*cleanup)(void), @@ -42,10 +46,10 @@ */ ENTRY(_rtld_start) mv s0, sp # save stack pointer - addi sp, sp, -4*__SIZEOF_POINTER__ + addi sp, sp, -4 * SZREG # adjust stack pointer - # -> 2*PTR_SIZE(sp) for atexit - # -> 3*PTR_SIZE(sp) for obj_main + # -> 2 * PTR_SIZE(sp) for atexit + # -> 3 * PTR_SIZE(sp) for obj_main mv s1, a2 # save ps_strings pointer .L0: auipc gp, %pcrel_hi(_GLOBAL_OFFSET_TABLE_) @@ -57,28 +61,28 @@ ENTRY(_rtld_start) call _C_LABEL(_rtld_relocate_nonplt_self) mv a1, s2 # relocbase - addi a0, sp, 2*__SIZEOF_POINTER__ # sp + addi a0, sp, 2 * SZREG # sp call _C_LABEL(_rtld) # a0 = _rtld(sp, relocbase) mv t0, a0 - PTR_L a0, 2*__SIZEOF_POINTER__(sp) # cleanup function - PTR_L a1, 3*__SIZEOF_POINTER__(sp) # obj_main entry + PTR_L a0, 2 * SZREG(sp) # cleanup function + PTR_L a1, 3 * SZREG(sp) # obj_main entry mv a2, s1 # restore ps_strings mv sp, s0 # readjust stack mv s0, zero # break stack chain jr t0 # _start(cleanup, obj_main, ps_strings); END(_rtld_start) -#define XCALLFRAME_SIZ (12*SZREG) -#define XCALLFRAME_RA (8*SZREG) -#define XCALLFRAME_A7 (7*SZREG) -#define XCALLFRAME_A6 (6*SZREG) -#define XCALLFRAME_A5 (5*SZREG) -#define XCALLFRAME_A4 (4*SZREG) -#define XCALLFRAME_A3 (3*SZREG) -#define XCALLFRAME_A2 (2*SZREG) -#define XCALLFRAME_A1 (1*SZREG) -#define XCALLFRAME_A0 (0*SZREG) +#define XCALLFRAME_SIZ (12 * SZREG) +#define XCALLFRAME_RA ( 8 * SZREG) +#define XCALLFRAME_A7 ( 7 * SZREG) +#define XCALLFRAME_A6 ( 6 * SZREG) +#define XCALLFRAME_A5 ( 5 * SZREG) +#define XCALLFRAME_A4 ( 4 * SZREG) +#define XCALLFRAME_A3 ( 3 * SZREG) +#define XCALLFRAME_A2 ( 2 * SZREG) +#define XCALLFRAME_A1 ( 1 * SZREG) +#define XCALLFRAME_A0 ( 0 * SZREG) /* * t0 = obj pointer