1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00

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.
This commit is contained in:
Joseph Myers
2018-03-22 16:40:51 +00:00
parent ffec7b2740
commit a44061398c
21 changed files with 95 additions and 210 deletions

View File

@ -1,3 +1,98 @@
2018-03-22 Joseph Myers <joseph@codesourcery.com>
* 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.
2018-03-21 Joseph Myers <joseph@codesourcery.com> 2018-03-21 Joseph Myers <joseph@codesourcery.com>
* sysdeps/x86_64/backtrace.c: Move to .... * sysdeps/x86_64/backtrace.c: Move to ....

View File

@ -1,27 +0,0 @@
/* Definition of stack frame structure. ARM/APCS version.
Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
/* This is the APCS stack backtrace structure. */
struct layout
{
struct layout *next;
void *sp;
void *return_address;
};
#define FIRST_FRAME_POINTER ADVANCE_STACK_FRAME (__builtin_frame_address (0))

View File

@ -1,23 +0,0 @@
/* Definition of stack frame structure. Generic version.
Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
struct layout
{
void *next;
void *return_address;
};

View File

@ -18,9 +18,4 @@
/* In general we cannot provide any information. */ /* In general we cannot provide any information. */
#define SIGCONTEXT struct sigcontext * #define SIGCONTEXT struct sigcontext *
#define SIGCONTEXT_EXTRA_ARGS
#define GET_PC(ctx) ((void *) 0) #define GET_PC(ctx) ((void *) 0)
#define GET_FRAME(ctx) ((void *) 0)
#define GET_STACK(ctx) ((void *) 0)
#define CALL_SIGHANDLER(handler, signo, ctx) \
(handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))

View File

@ -1,27 +0,0 @@
/* Definition of stack frame structure. HPPA version.
Copyright (C) 2000-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
/* PA stacks grow upwards. */
#define INNER_THAN >
/* FIXME: will verify this later */
struct layout
{
void *next;
void *return_address;
};

View File

@ -16,9 +16,4 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#define SIGCONTEXT struct sigcontext #define SIGCONTEXT struct sigcontext
#define SIGCONTEXT_EXTRA_ARGS
#define GET_PC(ctx) ((void *) (ctx).sc_eip) #define GET_PC(ctx) ((void *) (ctx).sc_eip)
#define GET_FRAME(ctx) ((void *) (ctx).sc_ebp)
#define GET_STACK(ctx) ((void *) (ctx).sc_uesp)
#define CALL_SIGHANDLER(handler, signo, ctx) \
(handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))

View File

@ -16,9 +16,4 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#define SIGCONTEXT int _code, struct sigcontext * #define SIGCONTEXT int _code, struct sigcontext *
#define SIGCONTEXT_EXTRA_ARGS _code,
#define GET_PC(ctx) ((void *) (ctx)->sc_pc) #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))

View File

@ -19,21 +19,12 @@
#include <sys/ucontext.h> #include <sys/ucontext.h>
#define SIGCONTEXT siginfo_t *_si, ucontext_t * #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 /* 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 modern system we should be able to assume that the "new" format will be
in use. */ in use. */
#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.arm_pc) #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 /* There is no reliable way to get the sigcontext unless we use a
three-argument signal handler. */ three-argument signal handler. */

View File

@ -17,34 +17,4 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#define SIGCONTEXT struct sigcontext #define SIGCONTEXT struct sigcontext
#define SIGCONTEXT_EXTRA_ARGS
#define GET_PC(ctx) ((void *) ctx.eip) #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)

View File

@ -16,10 +16,4 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#define SIGCONTEXT siginfo_t *_si, struct sigcontext * #define SIGCONTEXT siginfo_t *_si, struct sigcontext *
#define SIGCONTEXT_EXTRA_ARGS _si,
#define GET_PC(ctx) ((ctx)->sc_ip) #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))

View File

@ -17,9 +17,4 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#define SIGCONTEXT int _code, struct sigcontext * #define SIGCONTEXT int _code, struct sigcontext *
#define SIGCONTEXT_EXTRA_ARGS _code,
#define GET_PC(ctx) ((void *) (ctx)->sc_pc) #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))

View File

@ -17,9 +17,4 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#define SIGCONTEXT int _code, ucontext_t * #define SIGCONTEXT int _code, ucontext_t *
#define SIGCONTEXT_EXTRA_ARGS _code,
#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.regs.pc) #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))

View File

@ -22,21 +22,11 @@
#if _MIPS_SIM == _ABIO32 #if _MIPS_SIM == _ABIO32
#define SIGCONTEXT unsigned long _code, struct sigcontext * #define SIGCONTEXT unsigned long _code, struct sigcontext *
#define SIGCONTEXT_EXTRA_ARGS _code,
#define GET_PC(ctx) ((void *) (unsigned long) ctx->sc_pc) #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 #else
#define SIGCONTEXT unsigned long _code, ucontext_t * #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_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 #endif

View File

@ -18,9 +18,4 @@
#include <signal.h> #include <signal.h>
#define SIGCONTEXT struct sigcontext * #define SIGCONTEXT struct sigcontext *
#define SIGCONTEXT_EXTRA_ARGS
#define GET_PC(ctx) ((void *)((ctx)->regs->nip)) #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))

View File

@ -19,10 +19,4 @@
#include <sys/ucontext.h> #include <sys/ucontext.h>
#define SIGCONTEXT siginfo_t *_si, ucontext_t * #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_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))

View File

@ -19,9 +19,4 @@
#include <signal.h> #include <signal.h>
#define SIGCONTEXT struct sigcontext * #define SIGCONTEXT struct sigcontext *
#define SIGCONTEXT_EXTRA_ARGS
#define GET_PC(ctx) ((void *)((ctx)->sregs->regs.psw.addr)) #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))

View File

@ -18,9 +18,4 @@
#define SIGCONTEXT int _a2, int _a3, int _a4, struct sigcontext #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_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))

View File

@ -17,15 +17,4 @@
<http://www.gnu.org/licenses/>. */ <http://www.gnu.org/licenses/>. */
#define SIGCONTEXT struct sigcontext * #define SIGCONTEXT struct sigcontext *
#define SIGCONTEXT_EXTRA_ARGS
#define GET_PC(__ctx) ((void *) ((__ctx)->si_regs.pc)) #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))

View File

@ -20,12 +20,4 @@
#define STACK_BIAS 2047 #define STACK_BIAS 2047
#endif #endif
#define SIGCONTEXT struct sigcontext * #define SIGCONTEXT struct sigcontext *
#define SIGCONTEXT_EXTRA_ARGS
#define GET_PC(__ctx) ((void *) ((__ctx)->sigc_regs.tpc)) #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))

View File

@ -19,9 +19,4 @@
#include <arch/abi.h> #include <arch/abi.h>
#define SIGCONTEXT siginfo_t *_si, ucontext_t * #define SIGCONTEXT siginfo_t *_si, ucontext_t *
#define SIGCONTEXT_EXTRA_ARGS _si,
#define GET_PC(ctx) ((void *) (long) ctx->uc_mcontext.pc) #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))

View File

@ -18,13 +18,5 @@
#include <stdint.h> #include <stdint.h>
#define SIGCONTEXT siginfo_t *_si, ucontext_t * #define SIGCONTEXT siginfo_t *_si, ucontext_t *
#define SIGCONTEXT_EXTRA_ARGS _si,
#define GET_PC(ctx) \ #define GET_PC(ctx) \
((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RIP]) ((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))