1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-22 23:47:39 +01:00

Do not save FPU context on x86 for now; XMM save area must be 16-bytes aligned

This commit is contained in:
Konstantin Belousov 2010-04-13 14:20:22 +03:00
parent ae7eebb839
commit 02d0cb6f71

View file

@ -61,6 +61,7 @@ _Ux86_getcontext:
popl FREEBSD_UC_MCONTEXT_EFLAGS_OFF(%eax) popl FREEBSD_UC_MCONTEXT_EFLAGS_OFF(%eax)
movl $0, FREEBSD_UC_MCONTEXT_TRAPNO_OFF(%eax) movl $0, FREEBSD_UC_MCONTEXT_TRAPNO_OFF(%eax)
#if 0
movl $FREEBSD_UC_MCONTEXT_FPOWNED_FPU,\ movl $FREEBSD_UC_MCONTEXT_FPOWNED_FPU,\
FREEBSD_UC_MCONTEXT_OWNEDFP_OFF(%eax) FREEBSD_UC_MCONTEXT_OWNEDFP_OFF(%eax)
movl $FREEBSD_UC_MCONTEXT_FPFMT_XMM,\ movl $FREEBSD_UC_MCONTEXT_FPFMT_XMM,\
@ -68,6 +69,12 @@ _Ux86_getcontext:
/* Require CPU with fxsave implemented, and enabled by OS. */ /* Require CPU with fxsave implemented, and enabled by OS. */
fxsave FREEBSD_UC_MCONTEXT_FPSTATE_OFF(%eax) fxsave FREEBSD_UC_MCONTEXT_FPSTATE_OFF(%eax)
#else
movl $FREEBSD_UC_MCONTEXT_FPOWNED_NONE,\
FREEBSD_UC_MCONTEXT_OWNEDFP_OFF(%eax)
movl $FREEBSD_UC_MCONTEXT_FPFMT_NODEV,\
FREEBSD_UC_MCONTEXT_FPFORMAT_OFF(%eax)
#endif
movl $FREEBSD_UC_MCONTEXT_MC_LEN_VAL,\ movl $FREEBSD_UC_MCONTEXT_MC_LEN_VAL,\
FREEBSD_UC_MCONTEXT_MC_LEN_OFF(%eax) FREEBSD_UC_MCONTEXT_MC_LEN_OFF(%eax)