]>
git.ipfire.org Git - thirdparty/glibc.git/blob - sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
1 /* Copyright (C) 1999-2019 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3 Contributed by Jakub Jelinek <jj@ultra.linux.cz>, 1999.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; if not, see
17 <http://www.gnu.org/licenses/>. */
19 #ifndef _SIGCONTEXTINFO_H
20 #define _SIGCONTEXTINFO_H
22 #include <bits/types/siginfo_t.h>
24 /* The sparc64 kernel signal frame for SA_SIGINFO is defined as:
26 struct rt_signal_frame
28 struct sparc_stackf ss;
31 __siginfo_fpu_t *fpu_save;
34 __siginfo_rwin_t *rwin_save;
37 Unlike other architectures, sparc64 passe the siginfo_t INFO pointer
38 as the third argument to a sa_sigaction handler with SA_SIGINFO enabled. */
41 #define STACK_BIAS 2047
46 unsigned long int u_regs
[16];
47 unsigned long int tstate
;
48 unsigned long int tpc
;
49 unsigned long int tnpc
;
54 static inline uintptr_t
55 sigcontext_get_pc (const siginfo_t
*ctx
)
57 struct pt_regs
*regs
= (struct pt_regs
*) ((siginfo_t
*)(ctx
) + 1);