Hi.

There's a sparc fix that I've just installed in libsanitizer upstream
repository. I'm going to install it into GCC's trunk.

Martin
>From c43ed4eb4d76ec25e42b954a00a1684de09011da Mon Sep 17 00:00:00 2001
From: marxin <mli...@suse.cz>
Date: Mon, 5 Nov 2018 14:30:00 +0100
Subject: [PATCH] Fix build on sparc64-linux-gnu.

libsanitizer/ChangeLog:

2018-11-05  Martin Liska  <mli...@suse.cz>

	PR sanitizer/87860
	* sanitizer_common/sanitizer_linux.cc:  Cherry-pick upstream
	r346129.
---
 libsanitizer/sanitizer_common/sanitizer_linux.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc
index f1f70ec57fc..30d6521f9e9 100644
--- a/libsanitizer/sanitizer_common/sanitizer_linux.cc
+++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc
@@ -1944,14 +1944,14 @@ static void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp) {
 #elif defined(__sparc__)
   ucontext_t *ucontext = (ucontext_t*)context;
   uptr *stk_ptr;
-# if defined (__sparcv9)
+# if defined(__sparcv9) || defined (__arch64__)
 # ifndef MC_PC
 #  define MC_PC REG_PC
 # endif
 # ifndef MC_O6
 #  define MC_O6 REG_O6
 # endif
-# ifdef SANITIZER_SOLARIS
+# if SANITIZER_SOLARIS
 #  define mc_gregs gregs
 # endif
   *pc = ucontext->uc_mcontext.mc_gregs[MC_PC];
-- 
2.19.1

Reply via email to