Correct definition of 'struct sigcontext' on MIPS.

Add missing fields ('sr' and 'mc_tls') to 'struct sigcontext'.

The kernel doesn't use 'struct sigcontext' but instead uses 'ucontext_t'
which includes 'mcontext_t' in 'struct sigframe' to build the signal frame.
As a result, this change is not an ABI change but simply making
'struct sigcontext' correct.  Note that 'struct sigcontext' is only used
for "Traditional BSD style" signal handlers.

While here, rename the 'xxx' field to '__spare__' to match 'mcontext_t'.

Sponsored by:	DARPA, AFRL
This commit is contained in:
John Baldwin 2016-10-26 17:37:08 +00:00
parent f8d647b44d
commit ed3abcbb0d
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=307971

View File

@ -68,11 +68,13 @@ struct sigcontext {
int sc_onstack; /* sigstack state to restore */
__register_t sc_pc; /* pc at time of signal */
__register_t sc_regs[32]; /* processor regs 0 to 31 */
__register_t sr; /* status register */
__register_t mullo, mulhi; /* mullo and mulhi registers... */
int sc_fpused; /* fp has been used */
f_register_t sc_fpregs[33]; /* fp regs 0 to 31 and csr */
__register_t sc_fpc_eir; /* fp exception instruction reg */
int xxx[8]; /* XXX reserved */
void *sc_tls; /* pointer to TLS area */
int __spare__[8]; /* XXX reserved */
};
#endif /* !_ANSI_SOURCE && !_POSIX_SOURCE */