1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00
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:
Ulrich Drepper
1999-08-02 20:04:56 +00:00
parent 249fd241a2
commit 7b19af6891
6 changed files with 96 additions and 34 deletions

View File

@@ -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))