2016-01-04 16:05:18 +00:00
|
|
|
/* Copyright (C) 2000-2016 Free Software Foundation, Inc.
|
2000-02-03 14:10:24 +00:00
|
|
|
This file is part of the GNU C Library.
|
|
|
|
Contributed by Andreas Jaeger <aj@suse.de>, 2000.
|
|
|
|
|
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
2001-07-06 04:56:23 +00:00
|
|
|
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.
|
2000-02-03 14:10:24 +00:00
|
|
|
|
|
|
|
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
|
2001-07-06 04:56:23 +00:00
|
|
|
Lesser General Public License for more details.
|
2000-02-03 14:10:24 +00:00
|
|
|
|
2001-07-06 04:56:23 +00:00
|
|
|
You should have received a copy of the GNU Lesser General Public
|
2012-03-09 23:56:38 +00:00
|
|
|
License along with the GNU C Library. If not, see
|
|
|
|
<http://www.gnu.org/licenses/>. */
|
2000-02-03 14:10:24 +00:00
|
|
|
|
|
|
|
|
2004-07-20 16:35:32 +00:00
|
|
|
#include <sgidefs.h>
|
|
|
|
|
2004-11-24 04:37:35 +00:00
|
|
|
#if _MIPS_SIM == _ABIO32
|
2003-04-13 11:36:32 +00:00
|
|
|
|
2001-01-16 06:38:37 +00:00
|
|
|
#define SIGCONTEXT unsigned long _code, struct sigcontext *
|
2001-01-15 07:02:28 +00:00
|
|
|
#define SIGCONTEXT_EXTRA_ARGS _code,
|
2012-11-20 02:40:12 +00:00
|
|
|
#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])
|
2001-03-16 23:52:16 +00:00
|
|
|
#define CALL_SIGHANDLER(handler, signo, ctx) \
|
|
|
|
(handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
|
2003-04-13 11:36:32 +00:00
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
#define SIGCONTEXT unsigned long _code, ucontext_t *
|
|
|
|
#define SIGCONTEXT_EXTRA_ARGS _code,
|
2012-11-20 02:40:12 +00:00
|
|
|
#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])
|
2003-04-13 11:36:32 +00:00
|
|
|
#define CALL_SIGHANDLER(handler, signo, ctx) \
|
|
|
|
(handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
|
|
|
|
|
|
|
|
#endif
|