Module Name: src Committed By: skrll Date: Sat Apr 20 14:09:40 UTC 2024
Modified Files: src/lib/libc/arch/hppa: genassym.cf src/lib/libc/arch/hppa/gen: __setjmp14.S Log Message: Remove some magic numbers by using genassym.cf To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/lib/libc/arch/hppa/genassym.cf cvs rdiff -u -r1.9 -r1.10 src/lib/libc/arch/hppa/gen/__setjmp14.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/arch/hppa/genassym.cf diff -u src/lib/libc/arch/hppa/genassym.cf:1.4 src/lib/libc/arch/hppa/genassym.cf:1.5 --- src/lib/libc/arch/hppa/genassym.cf:1.4 Sun Jun 26 14:37:12 2022 +++ src/lib/libc/arch/hppa/genassym.cf Sat Apr 20 14:09:40 2024 @@ -1,4 +1,4 @@ -# $NetBSD: genassym.cf,v 1.4 2022/06/26 14:37:12 skrll Exp $ +# $NetBSD: genassym.cf,v 1.5 2024/04/20 14:09:40 skrll Exp $ # # Copyright (c) 2014 The NetBSD Foundation, Inc. @@ -104,3 +104,16 @@ define _UC_GREGS_R28 offsetof(ucontext_t define _UC_GREGS_R29 offsetof(ucontext_t, uc_mcontext.__gregs[29]) define _UC_GREGS_R30 offsetof(ucontext_t, uc_mcontext.__gregs[30]) define _UC_GREGS_R31 offsetof(ucontext_t, uc_mcontext.__gregs[31]) + +define SIZEOF_SIGCONTEXT sizeof(struct sigcontext) +define _SC_ONSTACK offsetof(struct sigcontext, sc_onstack) +define _SC_MASK13 offsetof(struct sigcontext, __sc_mask13) +define _SC_REGS_SP offsetof(struct sigcontext, sc_sp) +define _SC_REGS_FP offsetof(struct sigcontext, sc_fp) +define _SC_REGS_AP offsetof(struct sigcontext, sc_ap) +define _SC_REGS_PCSQH offsetof(struct sigcontext, sc_pcsqh) +define _SC_REGS_PCOQH offsetof(struct sigcontext, sc_pcoqh) +define _SC_REGS_PCSQT offsetof(struct sigcontext, sc_pcsqt) +define _SC_REGS_PCOQT offsetof(struct sigcontext, sc_pcoqt) +define _SC_REGS_PS offsetof(struct sigcontext, sc_ps) +define _SC_MASK offsetof(struct sigcontext, sc_mask) Index: src/lib/libc/arch/hppa/gen/__setjmp14.S diff -u src/lib/libc/arch/hppa/gen/__setjmp14.S:1.9 src/lib/libc/arch/hppa/gen/__setjmp14.S:1.10 --- src/lib/libc/arch/hppa/gen/__setjmp14.S:1.9 Tue May 5 06:20:55 2020 +++ src/lib/libc/arch/hppa/gen/__setjmp14.S Sat Apr 20 14:09:40 2024 @@ -1,4 +1,4 @@ -/* $NetBSD: __setjmp14.S,v 1.9 2020/05/05 06:20:55 skrll Exp $ */ +/* $NetBSD: __setjmp14.S,v 1.10 2024/04/20 14:09:40 skrll Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -29,12 +29,14 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include "assym.h" + #include <machine/asm.h> #include <machine/frame.h> #include <machine/psl.h> #if defined(LIBC_SCCS) && !defined(lint) - RCSID("$NetBSD: __setjmp14.S,v 1.9 2020/05/05 06:20:55 skrll Exp $") + RCSID("$NetBSD: __setjmp14.S,v 1.10 2024/04/20 14:09:40 skrll Exp $") #endif /* LIBC_SCCS and not lint */ /* @@ -54,21 +56,21 @@ ENTRY(__setjmp14,0) stw %arg0, HPPA_FRAME_ARG(0)(%sp) /* A sigcontext is at the beginning of our jmp_buf. */ - stw %r0, 4(%arg0) ; unused word (old style signal mask) - stw %sp, 8(%arg0) ; sc.sc_sp = %sp - stw %r0, 16(%arg0) ; sc.sc_ap = NULL + stw %r0, _SC_MASK13(%arg0) ; unused word (old style signal mask) + stw %sp, _SC_REGS_SP(%arg0) ; sc.sc_sp = %sp + stw %r0, _SC_REGS_AP(%arg0) ; sc.sc_ap = NULL mfsp %sr0, %r1 - stw %r1, 20(%arg0) ; sc.sc_pcsqh = %sr0 - stw %rp, 24(%arg0) ; sc.sc_pcoqh = %rp - stw %r1, 28(%arg0) ; sc.sc_pcsqh = %sr0 + stw %r1, _SC_REGS_PCSQH(%arg0) ; sc.sc_pcsqh = %sr0 + stw %rp, _SC_REGS_PCOQH(%arg0) ; sc.sc_pcoqh = %rp + stw %r1, _SC_REGS_PCSQT(%arg0) ; sc.sc_pcsqt = %sr0 ldo 4(%rp), %r1 - stw %r1, 32(%arg0) ; sc.sc_pcoqt = %rp + 4 + stw %r1, _SC_REGS_PCOQT(%arg0) ; sc.sc_pcoqt = %rp + 4 ldil L%PSW_MBS, %r1 ldo R%PSW_MBS(%r1), %r1 - stw %r1, 36(%arg0) ; set sc.sc_ps + stw %r1, _SC_REGS_PS(%arg0) ; set sc.sc_ps /* We store all callee-saved registers after the sigcontext. */ - ldo 56(%arg0), %r1 + ldo SIZEOF_SIGCONTEXT(%arg0), %r1 stwm %r3, 4(%r1) stwm %r4, 4(%r1) stwm %r5, 4(%r1) @@ -111,7 +113,7 @@ ENTRY(__setjmp14,0) stw %r1, 0(%arg0) ; sc.sc_onstack /* Get the signal mask. */ - ldo 40(%arg0), %arg2 ; oset = &sc.sc_mask + ldo _SC_MASK(%arg0), %arg2 ; oset = &sc.sc_mask copy %r0, %arg1 ; set = NULL bl __sigprocmask14, %rp copy %r0, %arg0 ; action = 0 <ignored>