Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-8]: src Pull up the following, requested by kamil in ticket #552:



details:   https://anonhg.NetBSD.org/src/rev/bc066e721cb5
branches:  netbsd-8
changeset: 851504:bc066e721cb5
user:      martin <martin%NetBSD.org@localhost>
date:      Wed Mar 21 10:08:02 2018 +0000

description:
Pull up the following, requested by kamil in ticket #552:

external/gpl3/gcc{.old}/dist/libsanitizer/asan/asan_linux.cc 1.4
sys/arch/aarch64/include/mcontext.h             1.2
sys/arch/alpha/include/mcontext.h               1.9
sys/arch/amd64/include/mcontext.h               1.19
sys/arch/arm/include/mcontext.h                 1.19
sys/arch/hppa/include/mcontext.h                1.9
sys/arch/i386/include/mcontext.h                1.14
sys/arch/ia64/include/mcontext.h                1.6
sys/arch/m68k/include/mcontext.h                1.10
sys/arch/mips/include/mcontext.h                1.22
sys/arch/or1k/include/mcontext.h                1.2
sys/arch/powerpc/include/mcontext.h             1.18
sys/arch/riscv/include/mcontext.h               1.5
sys/arch/sh3/include/mcontext.h                 1.11
sys/arch/sparc/include/mcontext.h               1.14-1.17
sys/arch/sparc64/include/mcontext.h             1.10
sys/arch/vax/include/mcontext.h                 1.9
tests/lib/libc/sys/Makefile                     1.50
tests/lib/libc/sys/t_ucontext.c                 1.2-1.5
sys/arch/hppa/include/mcontext.h                1.10
sys/arch/ia64/include/mcontext.h                1.7

- Introduce _UC_MACHINE_FP().  _UC_MACHINE_FP() is a helper
  macro to extract from mcontext a frame pointer.
- Add new tests in lib/libc/sys/t_ucontext:
  * ucontext_sp (testing _UC_MACHINE_SP)
  * ucontext_fp (testing _UC_MACHINE_FP)
  * ucontext_pc (testing _UC_MACHINE_PC)
  * ucontext_intrv (testing _UC_MACHINE_INTRV)

Add a dummy implementation of _UC_MACHINE_INTRV() for ia64.

Implement _UC_MACHINE_INTRV() for hppa.

Make the t_ucontext.c test more portable.

We now have _UC_MACHINE_FP.

diffstat:

 external/gpl3/gcc/dist/libsanitizer/asan/asan_linux.cc |  54 +++++++------
 sys/arch/aarch64/include/mcontext.h                    |   3 +-
 sys/arch/alpha/include/mcontext.h                      |   3 +-
 sys/arch/amd64/include/mcontext.h                      |   3 +-
 sys/arch/arm/include/mcontext.h                        |   3 +-
 sys/arch/hppa/include/mcontext.h                       |   4 +-
 sys/arch/i386/include/mcontext.h                       |   3 +-
 sys/arch/ia64/include/mcontext.h                       |   4 +-
 sys/arch/m68k/include/mcontext.h                       |   3 +-
 sys/arch/mips/include/mcontext.h                       |   3 +-
 sys/arch/or1k/include/mcontext.h                       |   3 +-
 sys/arch/powerpc/include/mcontext.h                    |   3 +-
 sys/arch/riscv/include/mcontext.h                      |   3 +-
 sys/arch/sh3/include/mcontext.h                        |   3 +-
 sys/arch/sparc/include/mcontext.h                      |  20 ++--
 sys/arch/sparc64/include/mcontext.h                    |  10 +-
 sys/arch/vax/include/mcontext.h                        |   3 +-
 tests/lib/libc/sys/Makefile                            |   3 +-
 tests/lib/libc/sys/t_ucontext.c                        |  69 +++++++++++++++++-
 19 files changed, 144 insertions(+), 56 deletions(-)

diffs (truncated from 505 to 300 lines):

diff -r 92a76bf41577 -r bc066e721cb5 external/gpl3/gcc/dist/libsanitizer/asan/asan_linux.cc
--- a/external/gpl3/gcc/dist/libsanitizer/asan/asan_linux.cc    Tue Mar 20 09:18:49 2018 +0000
+++ b/external/gpl3/gcc/dist/libsanitizer/asan/asan_linux.cc    Wed Mar 21 10:08:02 2018 +0000
@@ -162,40 +162,42 @@
 
 void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp) {
 #ifdef __NetBSD__
-# define __UC_MACHINE_FP(ucontext, r) \
+# ifndef _UC_MACHINE_FP
+#  define __UC_MACHINE_FP(ucontext, r) \
     (ucontext)->uc_mcontext.__gregs[(r)]
 /*
  * Unfortunately we don't have a portable frame pointer (yet)
  */
-# if defined(__alpha__)
-#  define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_S6)
-# elif defined(__arm__)
-#  define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_FP)
-# elif defined(__x86_64__)
-#  define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_RBP)
-# elif defined(__i386__)
-#  define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_EBP)
-# elif defined(__m68k__)
-#  define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_A6)
-# elif defined(__mips__)
-#  define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_S8)
-# elif defined(__powerpc__) || defined(__powerpc64__)
-#  define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_R1)
-# elif defined(__riscv__)
-#  define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_S0)
-# elif defined(__sparc__)
-#  define _UC_MACHINE_FP(ucontext) sp[15]
-# elif defined(__sh3__)
-#  define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_R14)
-# elif defined(__vax__)
-#  define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_FP)
-# else
-#  define _UC_MACHINE_FP(ucontext) 0
-# endif
+#  if defined(__alpha__)
+#   define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_S6)
+#  elif defined(__arm__)
+#   define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_FP)
+#  elif defined(__x86_64__)
+#   define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_RBP)
+#  elif defined(__i386__)
+#   define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_EBP)
+#  elif defined(__m68k__)
+#   define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_A6)
+#  elif defined(__mips__)
+#   define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_S8)
+#  elif defined(__powerpc__) || defined(__powerpc64__)
+#   define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_R1)
+#  elif defined(__riscv__)
+#   define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_S0)
+#  elif defined(__sparc__)
+#   define _UC_MACHINE_FP(ucontext) sp[15]
+#  elif defined(__sh3__)
+#   define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_R14)
+#  elif defined(__vax__)
+#   define _UC_MACHINE_FP(ucontext) __UC_MACHINE_FP(ucontext, _REG_FP)
+#  else
+#   define _UC_MACHINE_FP(ucontext) 0
+#  endif
   ucontext_t *ucontext = (ucontext_t*)context;
   *pc = _UC_MACHINE_PC(ucontext);
   *sp = _UC_MACHINE_SP(ucontext);
   *bp = _UC_MACHINE_FP(ucontext);
+# endif
 #elif ASAN_ANDROID
   *pc = *sp = *bp = 0;
 #elif defined(__arm__)
diff -r 92a76bf41577 -r bc066e721cb5 sys/arch/aarch64/include/mcontext.h
--- a/sys/arch/aarch64/include/mcontext.h       Tue Mar 20 09:18:49 2018 +0000
+++ b/sys/arch/aarch64/include/mcontext.h       Wed Mar 21 10:08:02 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mcontext.h,v 1.1.22.2 2018/02/26 04:32:29 snj Exp $ */
+/* $NetBSD: mcontext.h,v 1.1.22.3 2018/03/21 10:08:02 martin Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -106,6 +106,7 @@
 #define        _UC_TLSBASE     0x00080000      /* see <sys/ucontext.h> */
 
 #define _UC_MACHINE_SP(uc)     ((uc)->uc_mcontext.__gregs[_REG_SP])
+#define _UC_MACHINE_FP(uc)     ((uc)->uc_mcontext.__gregs[_REG_X29])
 #define _UC_MACHINE_PC(uc)     ((uc)->uc_mcontext.__gregs[_REG_PC])
 #define _UC_MACHINE_INTRV(uc)  ((uc)->uc_mcontext.__gregs[_REG_X0])
 
diff -r 92a76bf41577 -r bc066e721cb5 sys/arch/alpha/include/mcontext.h
--- a/sys/arch/alpha/include/mcontext.h Tue Mar 20 09:18:49 2018 +0000
+++ b/sys/arch/alpha/include/mcontext.h Wed Mar 21 10:08:02 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mcontext.h,v 1.8.32.2 2018/02/26 04:32:29 snj Exp $    */
+/*     $NetBSD: mcontext.h,v 1.8.32.3 2018/03/21 10:08:02 martin Exp $ */
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -96,6 +96,7 @@
 #define _UC_TLSBASE    0x20    /* valid process-unique value in _REG_UNIQUE */
 
 #define _UC_MACHINE_SP(uc)     ((uc)->uc_mcontext.__gregs[_REG_SP])
+#define _UC_MACHINE_FP(uc)     ((uc)->uc_mcontext.__gregs[_REG_S6])
 #define _UC_MACHINE_PC(uc)     ((uc)->uc_mcontext.__gregs[_REG_PC])
 #define _UC_MACHINE_INTRV(uc)  ((uc)->uc_mcontext.__gregs[_REG_V0])
 
diff -r 92a76bf41577 -r bc066e721cb5 sys/arch/amd64/include/mcontext.h
--- a/sys/arch/amd64/include/mcontext.h Tue Mar 20 09:18:49 2018 +0000
+++ b/sys/arch/amd64/include/mcontext.h Wed Mar 21 10:08:02 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mcontext.h,v 1.18.20.2 2018/02/26 04:32:29 snj Exp $   */
+/*     $NetBSD: mcontext.h,v 1.18.20.3 2018/03/21 10:08:02 martin Exp $        */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -68,6 +68,7 @@
 
 /* AMD64 ABI 128-bytes "red zone". */
 #define _UC_MACHINE_SP(uc)     ((uc)->uc_mcontext.__gregs[_REG_RSP] - 128)
+#define _UC_MACHINE_FP(uc)     ((uc)->uc_mcontext.__gregs[_REG_RBP])
 #define _UC_MACHINE_PC(uc)     ((uc)->uc_mcontext.__gregs[_REG_RIP])
 #define _UC_MACHINE_INTRV(uc)  ((uc)->uc_mcontext.__gregs[_REG_RAX])
 
diff -r 92a76bf41577 -r bc066e721cb5 sys/arch/arm/include/mcontext.h
--- a/sys/arch/arm/include/mcontext.h   Tue Mar 20 09:18:49 2018 +0000
+++ b/sys/arch/arm/include/mcontext.h   Wed Mar 21 10:08:02 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mcontext.h,v 1.18.10.2 2018/02/26 04:32:29 snj Exp $   */
+/*     $NetBSD: mcontext.h,v 1.18.10.3 2018/03/21 10:08:02 martin Exp $        */
 
 /*-
  * Copyright (c) 2001, 2002 The NetBSD Foundation, Inc.
@@ -110,6 +110,7 @@
 #define _UC_MACHINE_PAD        1               /* Padding appended to ucontext_t */
 
 #define _UC_MACHINE_SP(uc)     ((uc)->uc_mcontext.__gregs[_REG_SP])
+#define _UC_MACHINE_FP(uc)     ((uc)->uc_mcontext.__gregs[_REG_R11])
 #define _UC_MACHINE_PC(uc)     ((uc)->uc_mcontext.__gregs[_REG_PC])
 #define _UC_MACHINE_INTRV(uc)  ((uc)->uc_mcontext.__gregs[_REG_R0])
 
diff -r 92a76bf41577 -r bc066e721cb5 sys/arch/hppa/include/mcontext.h
--- a/sys/arch/hppa/include/mcontext.h  Tue Mar 20 09:18:49 2018 +0000
+++ b/sys/arch/hppa/include/mcontext.h  Wed Mar 21 10:08:02 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mcontext.h,v 1.8.22.2 2018/02/26 04:32:29 snj Exp $    */
+/*     $NetBSD: mcontext.h,v 1.8.22.3 2018/03/21 10:08:02 martin Exp $ */
 
 #ifndef _HPPA_MCONTEXT_H_
 #define        _HPPA_MCONTEXT_H_
@@ -50,12 +50,14 @@
 } mcontext_t;
 
 #define        _UC_MACHINE_SP(uc)      ((uc)->uc_mcontext.__gregs[_REG_SP])
+#define        _UC_MACHINE_FP(uc)      ((uc)->uc_mcontext.__gregs[3])
 #define        _UC_MACHINE_PC(uc)      ((uc)->uc_mcontext.__gregs[_REG_PCOQH])
 #define        _UC_MACHINE_SET_PC(uc, pc)                                      \
 do {                                                                   \
        (uc)->uc_mcontext.__gregs[_REG_PCOQH] = (pc);                   \
        (uc)->uc_mcontext.__gregs[_REG_PCOQT] = (pc) + 4;               \
 } while (/*CONSTCOND*/0)
+#define        _UC_MACHINE_INTRV(uc)   ((uc)->uc_mcontext.__gregs[_REG_RET0])
 
 static __inline void *
 __lwp_getprivate_fast(void)
diff -r 92a76bf41577 -r bc066e721cb5 sys/arch/i386/include/mcontext.h
--- a/sys/arch/i386/include/mcontext.h  Tue Mar 20 09:18:49 2018 +0000
+++ b/sys/arch/i386/include/mcontext.h  Wed Mar 21 10:08:02 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mcontext.h,v 1.12.22.2 2018/02/26 04:32:30 snj Exp $   */
+/*     $NetBSD: mcontext.h,v 1.12.22.3 2018/03/21 10:08:02 martin Exp $        */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -116,6 +116,7 @@
 #ifndef _UC_MACHINE_SP
 #define _UC_MACHINE_SP(uc)     ((uc)->uc_mcontext.__gregs[_REG_UESP])
 #endif
+#define _UC_MACHINE_FP(uc)     ((uc)->uc_mcontext.__gregs[_REG_EBP])
 #define _UC_MACHINE_PC(uc)     ((uc)->uc_mcontext.__gregs[_REG_EIP])
 #define _UC_MACHINE_INTRV(uc)  ((uc)->uc_mcontext.__gregs[_REG_EAX])
 
diff -r 92a76bf41577 -r bc066e721cb5 sys/arch/ia64/include/mcontext.h
--- a/sys/arch/ia64/include/mcontext.h  Tue Mar 20 09:18:49 2018 +0000
+++ b/sys/arch/ia64/include/mcontext.h  Wed Mar 21 10:08:02 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mcontext.h,v 1.5.8.2 2018/02/26 04:32:30 snj Exp $     */
+/*     $NetBSD: mcontext.h,v 1.5.8.3 2018/03/21 10:08:02 martin Exp $  */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -112,8 +112,10 @@
 } mcontext_t;
 
 #define _UC_MACHINE_SP(uc)     ((uc)->uc_mcontext.mc_special.sp)
+#define _UC_MACHINE_FP(uc)     ((uc)->uc_mcontext.__gregs[79])
 /* XXX or assembly "mov Rn = ip" or ...? */
 #define        _UC_MACHINE_PC(uc)      ((uc)->uc_mcontext.mc_special.iip)
+#define        _UC_MACHINE_INTRV(uc)   0 /* XXX */
 
 static __inline void *
 __lwp_getprivate_fast(void)
diff -r 92a76bf41577 -r bc066e721cb5 sys/arch/m68k/include/mcontext.h
--- a/sys/arch/m68k/include/mcontext.h  Tue Mar 20 09:18:49 2018 +0000
+++ b/sys/arch/m68k/include/mcontext.h  Wed Mar 21 10:08:02 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mcontext.h,v 1.9.42.2 2018/02/26 04:32:30 snj Exp $    */
+/*     $NetBSD: mcontext.h,v 1.9.42.3 2018/03/21 10:08:02 martin Exp $ */
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -102,6 +102,7 @@
 #define        _UC_TLSBASE     0x00080000
 
 #define _UC_MACHINE_SP(uc)     ((uc)->uc_mcontext.__gregs[_REG_A7])
+#define _UC_MACHINE_FP(uc)     ((uc)->uc_mcontext.__gregs[_REG_A6])
 #define _UC_MACHINE_PC(uc)     ((uc)->uc_mcontext.__gregs[_REG_PC])
 #define _UC_MACHINE_INTRV(uc)  ((uc)->uc_mcontext.__gregs[_REG_D0])
 
diff -r 92a76bf41577 -r bc066e721cb5 sys/arch/mips/include/mcontext.h
--- a/sys/arch/mips/include/mcontext.h  Tue Mar 20 09:18:49 2018 +0000
+++ b/sys/arch/mips/include/mcontext.h  Wed Mar 21 10:08:02 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mcontext.h,v 1.21.10.2 2018/02/26 04:32:30 snj Exp $   */
+/*     $NetBSD: mcontext.h,v 1.21.10.3 2018/03/21 10:08:02 martin Exp $        */
 
 /*-
  * Copyright (c) 1999, 2002 The NetBSD Foundation, Inc.
@@ -159,6 +159,7 @@
 #define        _UC_TLSBASE     0x00040000
 
 #define _UC_MACHINE_SP(uc)     ((uc)->uc_mcontext.__gregs[_REG_SP])
+#define _UC_MACHINE_FP(uc)     ((uc)->uc_mcontext.__gregs[_REG_S8])
 #define _UC_MACHINE_PC(uc)     ((uc)->uc_mcontext.__gregs[_REG_EPC])
 #define _UC_MACHINE_INTRV(uc)  ((uc)->uc_mcontext.__gregs[_REG_V0])
 
diff -r 92a76bf41577 -r bc066e721cb5 sys/arch/or1k/include/mcontext.h
--- a/sys/arch/or1k/include/mcontext.h  Tue Mar 20 09:18:49 2018 +0000
+++ b/sys/arch/or1k/include/mcontext.h  Wed Mar 21 10:08:02 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mcontext.h,v 1.1.12.2 2018/02/26 04:32:30 snj Exp $ */
+/* $NetBSD: mcontext.h,v 1.1.12.3 2018/03/21 10:08:02 martin Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -88,6 +88,7 @@
 #define        _UC_TLSBASE     0x00080000      /* see <sys/ucontext.h> */
 
 #define _UC_MACHINE_SP(uc)     ((uc)->uc_mcontext.__gregs[_REG_SP])
+#define _UC_MACHINE_FP(uc)     ((uc)->uc_mcontext.__gregs[_REG_R2])
 #define _UC_MACHINE_PC(uc)     ((uc)->uc_mcontext.__gregs[_REG_PC])
 #define _UC_MACHINE_INTRV(uc)  ((uc)->uc_mcontext.__gregs[_REG_RV])
 
diff -r 92a76bf41577 -r bc066e721cb5 sys/arch/powerpc/include/mcontext.h
--- a/sys/arch/powerpc/include/mcontext.h       Tue Mar 20 09:18:49 2018 +0000
+++ b/sys/arch/powerpc/include/mcontext.h       Wed Mar 21 10:08:02 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mcontext.h,v 1.17.12.2 2018/02/26 04:32:30 snj Exp $   */
+/*     $NetBSD: mcontext.h,v 1.17.12.3 2018/03/21 10:08:03 martin Exp $        */
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -133,6 +133,7 @@
 #define        _UC_TLSBASE     0x00080000      /* thread context valid in R2 */
 
 #define _UC_MACHINE_SP(uc)     ((uc)->uc_mcontext.__gregs[_REG_R1])
+#define _UC_MACHINE_FP(uc)     ((uc)->uc_mcontext.__gregs[_REG_R31])
 #define _UC_MACHINE_PC(uc)     ((uc)->uc_mcontext.__gregs[_REG_PC])
 #define _UC_MACHINE_INTRV(uc)  ((uc)->uc_mcontext.__gregs[_REG_R3])
 
diff -r 92a76bf41577 -r bc066e721cb5 sys/arch/riscv/include/mcontext.h
--- a/sys/arch/riscv/include/mcontext.h Tue Mar 20 09:18:49 2018 +0000
+++ b/sys/arch/riscv/include/mcontext.h Wed Mar 21 10:08:02 2018 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mcontext.h,v 1.4.10.2 2018/02/26 04:32:30 snj Exp $ */
+/* $NetBSD: mcontext.h,v 1.4.10.3 2018/03/21 10:08:03 martin Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -118,6 +118,7 @@
 #define        _UC_TLSBASE     0x00080000      /* see <sys/ucontext.h> */
 
 #define _UC_MACHINE_SP(uc)     ((uc)->uc_mcontext.__gregs[_REG_SP])
+#define _UC_MACHINE_FP(uc)     ((uc)->uc_mcontext.__gregs[_REG_S0])
 #define _UC_MACHINE_PC(uc)     ((uc)->uc_mcontext.__gregs[_REG_PC])
 #define _UC_MACHINE_INTRV(uc)  ((uc)->uc_mcontext.__gregs[_REG_RV])
 
diff -r 92a76bf41577 -r bc066e721cb5 sys/arch/sh3/include/mcontext.h
--- a/sys/arch/sh3/include/mcontext.h   Tue Mar 20 09:18:49 2018 +0000
+++ b/sys/arch/sh3/include/mcontext.h   Wed Mar 21 10:08:02 2018 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: mcontext.h,v 1.10.32.2 2018/02/26 04:32:30 snj Exp $   */
+/*     $NetBSD: mcontext.h,v 1.10.32.3 2018/03/21 10:08:03 martin Exp $        */
 
 /*-
  * Copyright (c) 2001 The NetBSD Foundation, Inc.
@@ -82,6 +82,7 @@
 } mcontext_t;
 
 #define        _UC_MACHINE_SP(uc)      ((uc)->uc_mcontext.__gregs[_REG_SP])
+#define        _UC_MACHINE_FP(uc)      ((uc)->uc_mcontext.__gregs[_REG_R14])



Home | Main Index | Thread Index | Old Index