Module Name: src Committed By: christos Date: Sun Feb 18 15:29:29 UTC 2018
Modified Files: src/sys/arch/sparc/include: mcontext.h Log Message: Make _UC_MACHINE_FP() compile again and fix it so that it does not add the offset twice. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/sys/arch/sparc/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/sparc/include/mcontext.h diff -u src/sys/arch/sparc/include/mcontext.h:1.15 src/sys/arch/sparc/include/mcontext.h:1.16 --- src/sys/arch/sparc/include/mcontext.h:1.15 Sat Feb 17 10:22:22 2018 +++ src/sys/arch/sparc/include/mcontext.h Sun Feb 18 10:29:29 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: mcontext.h,v 1.15 2018/02/17 15:22:22 kamil Exp $ */ +/* $NetBSD: mcontext.h,v 1.16 2018/02/18 15:29:29 christos Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -145,33 +145,19 @@ typedef struct { #ifdef __arch64__ #define _UC_MACHINE_PAD 8 /* Padding appended to ucontext_t */ -#define _UC_MACHINE_SP(uc) (((uc)->uc_mcontext.__gregs[_REG_O6])+0x7ff) -#define _UC_MACHINE_FP(uc) (_uc_machine_fp((uc), 2047)) +#define _UC_MACHINE_SP(uc) (((uc)->uc_mcontext.__gregs[_REG_O6]) + 0x7ff) +#define _UC_MACHINE_FP(uc) (((__greg_t *)_UC_MACHINE_SP(uc))[15]) #define _UC_MACHINE32_PAD 43 /* compat_netbsd32 variant */ #define _UC_MACHINE32_SP(uc) ((uc)->uc_mcontext.__gregs[_REG_O6]) -#define _UC_MACHINE32_FP(uc) (_uc_machine_fp((uc), 0)) +#define _UC_MACHINE32_FP(uc) (((__greg_t *)_UC_MACHINE32_SP(uc))[15]) #else #define _UC_MACHINE_PAD 43 /* Padding appended to ucontext_t */ #define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.__gregs[_REG_O6]) -#define _UC_MACHINE_FP(uc) (_uc_machine_fp((uc), 0)) +#define _UC_MACHINE_FP(uc) (((__greg_t *)_UC_MACHINE_SP(uc))[15]) #endif #define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.__gregs[_REG_PC]) #define _UC_MACHINE_INTRV(uc) ((uc)->uc_mcontext.__gregs[_REG_O0]) -static inline long -_uc_machine_fp(ucontext_t *ucontext, long shift) -{ - long *sptr; - long *sp; - long fp; - - sp = (long *)_UC_MACHINE_SP(ucontext); - sptr = (long *)(*sp + shift); - fp = sptr[15]; - - return fp; -} - #define _UC_MACHINE_SET_PC(uc, pc) \ do { \ (uc)->uc_mcontext.__gregs[_REG_PC] = (pc); \