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>