On Tue, Sep 10, 2002 at 08:28:32PM -0700, Ryan Murray wrote:
> The definition of mcontext_t in sysdeps/unix/sysv/linux/mips/sys/ucontext.h
> does not match what the kernel copies to userspace (struct sigcontext).
> alpha, ia64, and hppa have fixed this by typedefing one to the other in
> sys/ucontext.h The following patch accomplishes the same thing for mips.
I choose to fix the kernel instead which will keep as closer to the MIPS
ABI and also prevent having to recompile zillions of user apps. Below my
working version of <asm/ucontext.h>.
Ralf
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Low level exception handling
*
* Copyright (C) 1998, 1999 by Ralf Baechle
*/
#ifndef _ASM_UCONTEXT_H
#define _ASM_UCONTEXT_H
typedef struct {
gregset_t gregs;
fpregset_t fpregs;
} mcontext_t;
struct ucontext {
unsigned long uc_flags;
struct ucontext *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask; /* mask last for extensibility */
};
#endif /* _ASM_UCONTEXT_H */
|