aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-08-02 20:04:56 +0000
committerUlrich Drepper <drepper@redhat.com>1999-08-02 20:04:56 +0000
commit7b19af689144b165a6c9ddc8445e2762c979c04b (patch)
tree98b052fbb76d367d23270527536e769ae7ff43de /sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
parent249fd241a225b3b3723e55f7051ed4c7bf726e78 (diff)
downloadglibc-7b19af689144b165a6c9ddc8445e2762c979c04b.tar
glibc-7b19af689144b165a6c9ddc8445e2762c979c04b.tar.gz
glibc-7b19af689144b165a6c9ddc8445e2762c979c04b.tar.bz2
glibc-7b19af689144b165a6c9ddc8445e2762c979c04b.zip
Update.
1999-08-02 Jakub Jelinek <jj@ultra.linux.cz> * sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction): Only allow rt signal frames. No SA_SIGINFO signals will have the siginfo_t just not filled out with SI_NOINFO code. * sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h (register_dump): Take the above change into account. * sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h (rt_signal_frame): Likewise. * sysdeps/unix/sysv/linux/sparc/getsysstats.c: New file.
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h')
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
index d174c9e779..8430dbcbe1 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
@@ -17,13 +17,25 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+struct __rt_signal_frame {
+ siginfo_t sf_info;
+ struct pt_regs sf_regs;
+ __siginfo_fpu_t *fpu_save;
+ struct {
+ void *ss_sp;
+ int ss_flags;
+ size_t ss_size;
+ } sf_stack;
+ unsigned long sf_mask;
+};
+
#ifndef STACK_BIAS
#define STACK_BIAS 2047
#endif
-#define SIGCONTEXT __siginfo_t *
-#define GET_PC(__ctx) ((void *) ((__ctx)->si_regs.tpc))
+#define SIGCONTEXT struct __rt_signal_frame *
+#define GET_PC(__ctx) ((void *) ((__ctx)->sf_regs.tpc))
#define ADVANCE_STACK_FRAME(__next) \
((void *) &((struct reg_window *) (((unsigned long int) (__next)) \
+ STACK_BIAS))->ins[6])
-#define GET_STACK(__ctx) ((void *) ((__ctx)->si_regs.u_regs[14]))
+#define GET_STACK(__ctx) ((void *) ((__ctx)->sf_regs.u_regs[14]))
#define GET_FRAME(__ctx) ADVANCE_STACK_FRAME (GET_STACK (__ctx))