summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-03-22 16:40:51 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-03-22 16:40:51 +0000
commita44061398c3b531b37e134a6a97accb2251fa28a (patch)
tree2e3693f289d3eb83487b62bc969d90560a87bdcd /sysdeps/unix/sysv
parentffec7b2740bd6377b054438779228989c61ea82c (diff)
downloadglibc-a44061398c3b531b37e134a6a97accb2251fa28a.tar.gz
Remove unused frame.h header, sigcontextinfo.h macros.
The glibc-internal header frame.h was used in the old debug/backtrace.c but is now unused. Similarly, there are some sigcontextinfo.h macros that are used nowhere in glibc - ADVANCE_STACK_FRAME and FIRST_FRAME_POINTER were used in the old debug/backtrace.c, while SIGCONTEXT_EXTRA_ARGS, GET_FRAME, GET_STACK and CALL_SIGHANDLER were unused even before the removal of that old implementation (beyond uses of SIGCONTEXT_EXTRA_ARGS in definitions of CALL_SIGHANDLER). This patch removes all the unused frame.h headers and definitions of those macros. Tested with build-many-glibcs.py. * sysdeps/generic/frame.h: Remove file. * sysdeps/arm/frame.h: Likewise. * sysdeps/hppa/frame.h: Likewise. * sysdeps/generic/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Remove macro. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/mach/hurd/i386/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (ADVANCE_STACK_FRAME): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/i386/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/mips/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/s390/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/sh/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (FIRST_FRAME_POINTER): Likewise. (ADVANCE_STACK_FRAME): Likewise. (GET_STACK): Likewise. (GET_FRAME): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (ADVANCE_STACK_FRAME): Likewise. (GET_STACK): Likewise. (GET_FRAME): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/tile/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise. * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT_EXTRA_ARGS): Likewise. (GET_FRAME): Likewise. (GET_STACK): Likewise. (CALL_SIGHANDLER): Likewise.
Diffstat (limited to 'sysdeps/unix/sysv')
-rw-r--r--sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h5
-rw-r--r--sysdeps/unix/sysv/linux/arm/sigcontextinfo.h9
-rw-r--r--sysdeps/unix/sysv/linux/i386/sigcontextinfo.h30
-rw-r--r--sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h6
-rw-r--r--sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h5
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h5
-rw-r--r--sysdeps/unix/sysv/linux/mips/sigcontextinfo.h10
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h5
-rw-r--r--sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h6
-rw-r--r--sysdeps/unix/sysv/linux/s390/sigcontextinfo.h5
-rw-r--r--sysdeps/unix/sysv/linux/sh/sigcontextinfo.h5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h11
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h8
-rw-r--r--sysdeps/unix/sysv/linux/tile/sigcontextinfo.h5
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h8
15 files changed, 0 insertions, 123 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h b/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h
index 23f66d0e08..a0a57f3988 100644
--- a/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/alpha/sigcontextinfo.h
@@ -16,9 +16,4 @@
<http://www.gnu.org/licenses/>. */
#define SIGCONTEXT int _code, struct sigcontext *
-#define SIGCONTEXT_EXTRA_ARGS _code,
#define GET_PC(ctx) ((void *) (ctx)->sc_pc)
-#define GET_FRAME(ctx) ((void *) (ctx)->sc_regs[15])
-#define GET_STACK(ctx) ((void *) (ctx)->sc_regs[30])
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h b/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
index daf9bd3d3c..b8e79c2c4c 100644
--- a/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h
@@ -19,21 +19,12 @@
#include <sys/ucontext.h>
#define SIGCONTEXT siginfo_t *_si, ucontext_t *
-#define SIGCONTEXT_EXTRA_ARGS _si,
/* The sigcontext structure changed between 2.0 and 2.1 kernels. On any
modern system we should be able to assume that the "new" format will be
in use. */
#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.arm_pc)
-#define GET_FRAME(ctx) ADVANCE_STACK_FRAME ((void *) ctx->uc_mcontext.arm_fp)
-#define GET_STACK(ctx) ((void *) (ctx)->uc_mcontext.arm_sp)
-
-#define ADVANCE_STACK_FRAME(frm) \
- ((struct layout *)frm - 1)
-
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
/* There is no reliable way to get the sigcontext unless we use a
three-argument signal handler. */
diff --git a/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h b/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h
index a4ed29a1e5..5dee976814 100644
--- a/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h
@@ -17,34 +17,4 @@
<http://www.gnu.org/licenses/>. */
#define SIGCONTEXT struct sigcontext
-#define SIGCONTEXT_EXTRA_ARGS
#define GET_PC(ctx) ((void *) ctx.eip)
-#define GET_FRAME(ctx) ((void *) ctx.ebp)
-#define GET_STACK(ctx) ((void *) ctx.esp_at_signal)
-#define CALL_SIGHANDLER(handler, signo, ctx) \
-do { \
- int __tmp1, __tmp2, __tmp3, __tmp4; \
- __asm __volatile ("movl\t%%esp, %%edi\n\t" \
- "andl\t$-16, %%esp\n\t" \
- "subl\t%8, %%esp\n\t" \
- "movl\t%%edi, %c8-4(%%esp)\n\t" \
- "movl\t%1, 0(%%esp)\n\t" \
- "leal\t4(%%esp), %%edi\n\t" \
- "cld\n\t" \
- "rep\tmovsl\n\t" \
- "call\t*%0\n\t" \
- "cld\n\t" \
- "movl\t%9, %%ecx\n\t" \
- "subl\t%%edi, %%esi\n\t" \
- "leal\t4(%%esp,%%esi,1), %%edi\n\t" \
- "leal\t4(%%esp), %%esi\n\t" \
- "rep\tmovsl\n\t" \
- "movl\t%c8-4(%%esp), %%esp\n\t" \
- : "=a" (__tmp1), "=d" (__tmp2), "=S" (__tmp3), \
- "=c" (__tmp4) \
- : "0" (handler), "1" (signo), "2" (&ctx), \
- "3" (sizeof (struct sigcontext) / 4), \
- "n" ((sizeof (struct sigcontext) + 19) & ~15), \
- "i" (sizeof (struct sigcontext) / 4) \
- : "cc", "edi"); \
-} while (0)
diff --git a/sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h b/sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h
index 214292d330..4163aa34a4 100644
--- a/sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/ia64/sigcontextinfo.h
@@ -16,10 +16,4 @@
<http://www.gnu.org/licenses/>. */
#define SIGCONTEXT siginfo_t *_si, struct sigcontext *
-#define SIGCONTEXT_EXTRA_ARGS _si,
#define GET_PC(ctx) ((ctx)->sc_ip)
-#define GET_FRAME(ctx) ((void *) 0)
-#define GET_STACK(ctx) ((void *) 0)
-
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h b/sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h
index 58374eda1b..98e28beb8a 100644
--- a/sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/m68k/sigcontextinfo.h
@@ -17,9 +17,4 @@
<http://www.gnu.org/licenses/>. */
#define SIGCONTEXT int _code, struct sigcontext *
-#define SIGCONTEXT_EXTRA_ARGS _code,
#define GET_PC(ctx) ((void *) (ctx)->sc_pc)
-#define GET_FRAME(ctx) ((void *) __builtin_frame_address (1))
-#define GET_STACK(ctx) ((void *) (ctx)->sc_usp)
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h b/sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h
index 64d8f2fe05..c99d0d7300 100644
--- a/sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/microblaze/sigcontextinfo.h
@@ -17,9 +17,4 @@
<http://www.gnu.org/licenses/>. */
#define SIGCONTEXT int _code, ucontext_t *
-#define SIGCONTEXT_EXTRA_ARGS _code,
#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.regs.pc)
-#define GET_FRAME(ctx) ((void *) (ctx)->uc_mcontext.regs.sp)
-#define GET_STACK(ctx) ((void *) (ctx)->uc_mcontext.regs.sp)
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h b/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h
index d183a3386b..fb6e71b662 100644
--- a/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/mips/sigcontextinfo.h
@@ -22,21 +22,11 @@
#if _MIPS_SIM == _ABIO32
#define SIGCONTEXT unsigned long _code, struct sigcontext *
-#define SIGCONTEXT_EXTRA_ARGS _code,
#define GET_PC(ctx) ((void *) (unsigned long) ctx->sc_pc)
-#define GET_FRAME(ctx) ((void *) (unsigned long) ctx->sc_regs[30])
-#define GET_STACK(ctx) ((void *) (unsigned long) ctx->sc_regs[29])
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
#else
#define SIGCONTEXT unsigned long _code, ucontext_t *
-#define SIGCONTEXT_EXTRA_ARGS _code,
#define GET_PC(ctx) ((void *) (unsigned long) ctx->uc_mcontext.pc)
-#define GET_FRAME(ctx) ((void *) (unsigned long) ctx->uc_mcontext.gregs[30])
-#define GET_STACK(ctx) ((void *) (unsigned long) ctx->uc_mcontext.gregs[29])
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
#endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h b/sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h
index 72381e369d..0b682c75ef 100644
--- a/sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/powerpc/sigcontextinfo.h
@@ -18,9 +18,4 @@
#include <signal.h>
#define SIGCONTEXT struct sigcontext *
-#define SIGCONTEXT_EXTRA_ARGS
#define GET_PC(ctx) ((void *)((ctx)->regs->nip))
-#define GET_FRAME(ctx) (*(void **)((ctx)->regs->gpr[1]))
-#define GET_STACK(ctx) ((void *)((ctx)->regs->gpr[1]))
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h b/sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h
index 3ca8a80d8b..147695398d 100644
--- a/sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/riscv/sigcontextinfo.h
@@ -19,10 +19,4 @@
#include <sys/ucontext.h>
#define SIGCONTEXT siginfo_t *_si, ucontext_t *
-#define SIGCONTEXT_EXTRA_ARGS _si,
#define GET_PC(ctx) ((void *) ctx->uc_mcontext.__gregs[REG_PC])
-#define GET_FRAME(ctx) ((void *) ctx->uc_mcontext.__gregs[REG_S0])
-#define GET_STACK(ctx) ((void *) ctx->uc_mcontext.__gregs[REG_SP])
-
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/sysdeps/unix/sysv/linux/s390/sigcontextinfo.h b/sysdeps/unix/sysv/linux/s390/sigcontextinfo.h
index 2533e63d2e..0826e58e2a 100644
--- a/sysdeps/unix/sysv/linux/s390/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/s390/sigcontextinfo.h
@@ -19,9 +19,4 @@
#include <signal.h>
#define SIGCONTEXT struct sigcontext *
-#define SIGCONTEXT_EXTRA_ARGS
#define GET_PC(ctx) ((void *)((ctx)->sregs->regs.psw.addr))
-#define GET_FRAME(ctx) (*(void **)((ctx)->sregs->regs.gprs[11]))
-#define GET_STACK(ctx) ((void *)((ctx)->sregs->regs.gprs[15]))
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/sysdeps/unix/sysv/linux/sh/sigcontextinfo.h b/sysdeps/unix/sysv/linux/sh/sigcontextinfo.h
index d6dd48d3b8..3f33b7f11c 100644
--- a/sysdeps/unix/sysv/linux/sh/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/sh/sigcontextinfo.h
@@ -18,9 +18,4 @@
#define SIGCONTEXT int _a2, int _a3, int _a4, struct sigcontext
-#define SIGCONTEXT_EXTRA_ARGS _a2, _a3, _a4,
#define GET_PC(ctx) ((void *) ctx.sc_pc)
-#define GET_FRAME(ctx) ((void *) ctx.sc_regs[14])
-#define GET_STACK(ctx) ((void *) ctx.sc_regs[15])
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h b/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
index 91233b8e51..1c32abfbc2 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
@@ -17,15 +17,4 @@
<http://www.gnu.org/licenses/>. */
#define SIGCONTEXT struct sigcontext *
-#define SIGCONTEXT_EXTRA_ARGS
#define GET_PC(__ctx) ((void *) ((__ctx)->si_regs.pc))
-#define FIRST_FRAME_POINTER \
- ({ void *ret; \
- asm volatile ("ta 3; add %%fp, 56, %0" : "=r" (ret)); ret; })
-#define ADVANCE_STACK_FRAME(__next) \
- ((void *) (((unsigned *)(__next))+14))
-
-#define GET_STACK(__ctx) ((void *) (__ctx)->si_regs.u_regs[14])
-#define GET_FRAME(__ctx) ADVANCE_STACK_FRAME (GET_STACK(__ctx))
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
index c9d26850b5..32066eb3a3 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
@@ -20,12 +20,4 @@
#define STACK_BIAS 2047
#endif
#define SIGCONTEXT struct sigcontext *
-#define SIGCONTEXT_EXTRA_ARGS
#define GET_PC(__ctx) ((void *) ((__ctx)->sigc_regs.tpc))
-#define ADVANCE_STACK_FRAME(__next) \
- ((void *) (((unsigned long *) (((unsigned long int) (__next)) \
- + STACK_BIAS))+14))
-#define GET_STACK(__ctx) ((void *) ((__ctx)->sigc_regs.u_regs[14]))
-#define GET_FRAME(__ctx) ADVANCE_STACK_FRAME (GET_STACK (__ctx))
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h b/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h
index 82bc0c7877..b23b846ad2 100644
--- a/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h
@@ -19,9 +19,4 @@
#include <arch/abi.h>
#define SIGCONTEXT siginfo_t *_si, ucontext_t *
-#define SIGCONTEXT_EXTRA_ARGS _si,
#define GET_PC(ctx) ((void *) (long) ctx->uc_mcontext.pc)
-#define GET_FRAME(ctx) ((void *) (long) ctx->uc_mcontext.regs[TREG_FP])
-#define GET_STACK(ctx) ((void *) (long) ctx->uc_mcontext.sp)
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h b/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
index 41ace60ee4..165d6b0ead 100644
--- a/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
@@ -18,13 +18,5 @@
#include <stdint.h>
#define SIGCONTEXT siginfo_t *_si, ucontext_t *
-#define SIGCONTEXT_EXTRA_ARGS _si,
#define GET_PC(ctx) \
((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RIP])
-#define GET_FRAME(ctx) \
- ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RBP])
-#define GET_STACK(ctx) \
- ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RSP])
-
-#define CALL_SIGHANDLER(handler, signo, ctx) \
- (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))