Rename struct ucontext to struct __mcontext
* include/cygwin/signal.h : Rename struct ucontext to struct __mcontext. Fix layout differences from the Win32 API CONTEXT type. Remove unused member _internal. Rename member which corresponds to ContextFlags. Add cr2 member. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
This commit is contained in:
parent
9b42474f29
commit
9afde4dff4
@ -1,3 +1,10 @@
|
|||||||
|
2015-04-01 Jon TURNEY <jon.turney@dronecode.org.uk>
|
||||||
|
|
||||||
|
* include/cygwin/signal.h : Rename struct ucontext to struct
|
||||||
|
__mcontext. Fix layout differences from the Win32 API CONTEXT
|
||||||
|
type. Remove unused member _internal. Rename member which
|
||||||
|
corresponds to ContextFlags. Add cr2 member.
|
||||||
|
|
||||||
2015-04-01 Corinna Vinschen <corinna@vinschen.de>
|
2015-04-01 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* grp.cc (internal_getgroups): Handle negative domain index to avoid
|
* grp.cc (internal_getgroups): Handle negative domain index to avoid
|
||||||
|
@ -18,6 +18,10 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
Define a struct __mcontext, which should be identical in layout to the Win32
|
||||||
|
API type CONTEXT with the addition of oldmask and cr2 fields at the end.
|
||||||
|
*/
|
||||||
#ifdef __x86_64__
|
#ifdef __x86_64__
|
||||||
|
|
||||||
struct _uc_fpxreg {
|
struct _uc_fpxreg {
|
||||||
@ -45,7 +49,7 @@ struct _fpstate
|
|||||||
__uint32_t padding[24];
|
__uint32_t padding[24];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ucontext
|
struct __mcontext
|
||||||
{
|
{
|
||||||
__uint64_t p1home;
|
__uint64_t p1home;
|
||||||
__uint64_t p2home;
|
__uint64_t p2home;
|
||||||
@ -53,7 +57,7 @@ struct ucontext
|
|||||||
__uint64_t p4home;
|
__uint64_t p4home;
|
||||||
__uint64_t p5home;
|
__uint64_t p5home;
|
||||||
__uint64_t p6home;
|
__uint64_t p6home;
|
||||||
__uint32_t cr2;
|
__uint32_t ctxflags;
|
||||||
__uint32_t mxcsr;
|
__uint32_t mxcsr;
|
||||||
__uint16_t cs;
|
__uint16_t cs;
|
||||||
__uint16_t ds;
|
__uint16_t ds;
|
||||||
@ -86,14 +90,15 @@ struct ucontext
|
|||||||
__uint64_t r15;
|
__uint64_t r15;
|
||||||
__uint64_t rip;
|
__uint64_t rip;
|
||||||
struct _fpstate fpregs;
|
struct _fpstate fpregs;
|
||||||
|
__uint64_t vregs[52];
|
||||||
__uint64_t vcx;
|
__uint64_t vcx;
|
||||||
__uint64_t dbc;
|
__uint64_t dbc;
|
||||||
__uint64_t btr;
|
__uint64_t btr;
|
||||||
__uint64_t bfr;
|
__uint64_t bfr;
|
||||||
__uint64_t etr;
|
__uint64_t etr;
|
||||||
__uint64_t efr;
|
__uint64_t efr;
|
||||||
__uint8_t _internal;
|
|
||||||
__uint64_t oldmask;
|
__uint64_t oldmask;
|
||||||
|
__uint64_t cr2;
|
||||||
};
|
};
|
||||||
|
|
||||||
#else /* !x86_64 */
|
#else /* !x86_64 */
|
||||||
@ -117,9 +122,9 @@ struct _fpstate
|
|||||||
__uint32_t nxst;
|
__uint32_t nxst;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ucontext
|
struct __mcontext
|
||||||
{
|
{
|
||||||
__uint32_t cr2;
|
__uint32_t ctxflags;
|
||||||
__uint32_t dr0;
|
__uint32_t dr0;
|
||||||
__uint32_t dr1;
|
__uint32_t dr1;
|
||||||
__uint32_t dr2;
|
__uint32_t dr2;
|
||||||
@ -143,15 +148,20 @@ struct ucontext
|
|||||||
__uint32_t eflags;
|
__uint32_t eflags;
|
||||||
__uint32_t esp;
|
__uint32_t esp;
|
||||||
__uint32_t ss;
|
__uint32_t ss;
|
||||||
__uint8_t _internal;
|
__uint32_t reserved[128];
|
||||||
__uint32_t oldmask;
|
__uint32_t oldmask;
|
||||||
|
__uint32_t cr2;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* !x86_64 */
|
#endif /* !x86_64 */
|
||||||
|
|
||||||
/* Needed for GDB. It only compiles in the context copy code if this
|
/* Needed for GDB. It only compiles in the context copy code if this macro is
|
||||||
macro s defined. */
|
defined. This is not sizeof(CONTEXT) due to historical accidents. */
|
||||||
#define __COPY_CONTEXT_SIZE ((size_t) (uintptr_t) &((struct ucontext *) 0)->_internal)
|
#ifdef __x86_64__
|
||||||
|
#define __COPY_CONTEXT_SIZE 816
|
||||||
|
#else
|
||||||
|
#define __COPY_CONTEXT_SIZE 204
|
||||||
|
#endif
|
||||||
|
|
||||||
typedef union sigval
|
typedef union sigval
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user