mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
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.
This commit is contained in:
@@ -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))
|
||||
|
Reference in New Issue
Block a user