Module Name:    src
Committed By:   christos
Date:           Thu Oct 28 11:22:41 UTC 2021

Modified Files:
        src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common:
            sanitizer_linux.cc

Log Message:
fix sparc: use mcontext to fetch pc and sp


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 \
    src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cc

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cc
diff -u src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cc:1.40 src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cc:1.41
--- src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cc:1.40	Sun Apr 11 19:54:27 2021
+++ src/external/gpl3/gcc/dist/libsanitizer/sanitizer_common/sanitizer_linux.cc	Thu Oct 28 07:22:41 2021
@@ -1930,12 +1930,12 @@ SignalContext::WriteFlag SignalContext::
   // From OpenSolaris $SRC/uts/sun4/os/trap.c (get_accesstype).
 # if SANITIZER_SOLARIS
   uptr pc = ucontext->uc_mcontext.gregs[REG_PC];
+# elif SANITIZER_NETBSD
+  uptr pc = ucontext->uc_mcontext.__gregs[_REG_PC];
 # else
   // Historical BSDism here.
   struct sigcontext *scontext = (struct sigcontext *)ucontext;
-#  if SANITIZER_NETBSD
-  uptr pc = scontext->sc_pc;
-#  elif defined(__arch64__)
+#  if defined(__arch64__)
   uptr pc = scontext->sigc_regs.tpc;
 #  else
   uptr pc = scontext->si_regs.pc;
@@ -2040,6 +2040,9 @@ static void GetPcSpBp(void *context, upt
   ucontext_t *ucontext = (ucontext_t*)context;
   *pc = ucontext->uc_mcontext.gregs[REG_PC];
   *sp = ucontext->uc_mcontext.gregs[REG_O6] + STACK_BIAS;
+# elif SANITIZER_NETBSD
+  *pc = ucontext->uc_mcontext.__gregs[REG_PC];
+  *sp = ucontext->uc_mcontext.__gregs[REG_O6] + STACK_BIAS;
 # else
   // Historical BSDism here.
   struct sigcontext *scontext = (struct sigcontext *)context;

Reply via email to