From 198874aea896c56359d388cdf6c78480009820ac Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Mon, 14 Sep 2009 00:00:01 -0500 Subject: [PATCH] fix compilation on freebsd --- vm/os-freebsd-x86.32.hpp | 14 +++++++------- vm/os-freebsd-x86.64.hpp | 10 +++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/vm/os-freebsd-x86.32.hpp b/vm/os-freebsd-x86.32.hpp index e386532b0c..800b343dfd 100644 --- a/vm/os-freebsd-x86.32.hpp +++ b/vm/os-freebsd-x86.32.hpp @@ -13,12 +13,12 @@ inline static void *ucontext_stack_pointer(void *uap) inline static unsigned int uap_fpu_status(void *uap) { ucontext_t *ucontext = (ucontext_t *)uap; - if (uap->uc_mcontext.mc_fpformat == _MC_FPFMT_387) { + if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_387) { struct save87 *x87 = (struct save87 *)(&ucontext->uc_mcontext.mc_fpstate); - return x87->en_sw; - } else if (uap->uc_mcontext.mc_fpformat == _MC_FPFMT_XMM) { + return x87->sv_env.en_sw; + } else if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_XMM) { struct savexmm *xmm = (struct savexmm *)(&ucontext->uc_mcontext.mc_fpstate); - return xmm->en_sw | xmm->en_mxcsr; + return xmm->sv_env.en_sw | xmm->sv_env.en_mxcsr; } else return 0; } @@ -28,11 +28,11 @@ inline static void uap_clear_fpu_status(void *uap) ucontext_t *ucontext = (ucontext_t *)uap; if (uap->uc_mcontext.mc_fpformat == _MC_FPFMT_387) { struct save87 *x87 = (struct save87 *)(&ucontext->uc_mcontext.mc_fpstate); - x87->en_sw = 0; + x87->sv_env.en_sw = 0; } else if (uap->uc_mcontext.mc_fpformat == _MC_FPFMT_XMM) { struct savexmm *xmm = (struct savexmm *)(&ucontext->uc_mcontext.mc_fpstate); - xmm->en_sw = 0; - xmm->en_mxcsr &= 0xffffffc0; + xmm->sv_env.en_sw = 0; + xmm->sv_env.en_mxcsr &= 0xffffffc0; } } diff --git a/vm/os-freebsd-x86.64.hpp b/vm/os-freebsd-x86.64.hpp index 78c08447bd..b2dd096137 100644 --- a/vm/os-freebsd-x86.64.hpp +++ b/vm/os-freebsd-x86.64.hpp @@ -13,9 +13,9 @@ inline static void *ucontext_stack_pointer(void *uap) inline static unsigned int uap_fpu_status(void *uap) { ucontext_t *ucontext = (ucontext_t *)uap; - if (uap->uc_mcontext.mc_fpformat == _MC_FPFMT_XMM) { + if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_XMM) { struct savexmm *xmm = (struct savexmm *)(&ucontext->uc_mcontext.mc_fpstate); - return xmm->en_sw | xmm->en_mxcsr; + return xmm->sv_env.en_sw | xmm->sv_env.en_mxcsr; } else return 0; } @@ -23,10 +23,10 @@ inline static unsigned int uap_fpu_status(void *uap) inline static void uap_clear_fpu_status(void *uap) { ucontext_t *ucontext = (ucontext_t *)uap; - if (uap->uc_mcontext.mc_fpformat == _MC_FPFMT_XMM) { + if (ucontext->uc_mcontext.mc_fpformat == _MC_FPFMT_XMM) { struct savexmm *xmm = (struct savexmm *)(&ucontext->uc_mcontext.mc_fpstate); - xmm->en_sw = 0; - xmm->en_mxcsr &= 0xffffffc0; + xmm->sv_env.en_sw = 0; + xmm->sv_env.en_mxcsr &= 0xffffffc0; } }