bug-gnulib
[Top][All Lists]
Advanced

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

sigsegv: Improve support for Linux/LoongArch64


From: Bruno Haible
Subject: sigsegv: Improve support for Linux/LoongArch64
Date: Fri, 07 Jan 2022 19:12:47 +0100

This patch is in sync with libsigsegv-2.14.


2022-01-07  Bruno Haible  <bruno@clisp.org>

        sigsegv: Improve support for Linux/LoongArch64.
        * lib/sigsegv.c (SIGSEGV_FAULT_STACKPOINTER): Add special case for
        Linux/LoongArch.

diff --git a/lib/sigsegv.c b/lib/sigsegv.c
index ef00f61393..da70ffa5fd 100644
--- a/lib/sigsegv.c
+++ b/lib/sigsegv.c
@@ -168,6 +168,15 @@ int libsigsegv_version = LIBSIGSEGV_VERSION;
    because $bsp and $bspstore never differ by more than ca. 1 KB.  */
 #  define SIGSEGV_FAULT_BSP_POINTER  ((ucontext_t *) 
ucp)->uc_mcontext.sc_ar_bsp
 
+# elif defined __loongarch__
+
+/* See <sys/ucontext.h>.
+   Note that the 'mcontext_t' defined in <sys/ucontext.h>
+   and the 'struct sigcontext' defined in <bits/sigcontext.h>
+   (see also <asm/sigcontext.h>) are effectively the same.  */
+
+#  define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) 
ucp)->uc_mcontext.__gregs[3]
+
 # elif defined __m68k__
 
 /* See glibc/sysdeps/unix/sysv/linux/m68k/sys/ucontext.h






reply via email to

[Prev in Thread] Current Thread [Next in Thread]