From d93389dd06e9a131d8533696290d3b77d3cbd4c7 Mon Sep 17 00:00:00 2001 From: Charlie Date: Fri, 18 Jun 2010 18:43:45 -0700 Subject: [PATCH] update Fri Jun 18 18:37:00 PDT 2010 --- wip/erlang/TODO | 9 --------- wip/erlang/distinfo | 2 +- wip/erlang/patches/patch-as | 8 +++----- 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/wip/erlang/TODO b/wip/erlang/TODO index 6e11484d509e..bade1da0cfa9 100644 --- a/wip/erlang/TODO +++ b/wip/erlang/TODO @@ -1,12 +1,3 @@ -- fix hipe support on amd64 - -sys_float.c:(.text+0x242): undefined reference to `skip_sse2_insn' -make[3]: *** [/home/pkgsrc/wip/erlang/work.x86_64/otp_src_R13B04/bin/x86_64-unknown-netbsd5.99.24/beam.smp] Error 1 - - - - - - fix iodbc support => Checking for missing run-time search paths in erlang-13.2.4 diff --git a/wip/erlang/distinfo b/wip/erlang/distinfo index 726d81620308..c1689e00a4a3 100644 --- a/wip/erlang/distinfo +++ b/wip/erlang/distinfo @@ -19,7 +19,7 @@ SHA1 (patch-an) = 50a33207affe4831ee107bc80eb37957a0a96973 SHA1 (patch-ao) = 6cf2128cab7402bbe02553724db6da7b1c2b6684 SHA1 (patch-ap) = 0962f1f8ce99c2010cbe03ac00c2d0187fcbecdf SHA1 (patch-ar) = da70a4889ddca453d70e0e74019e60c29ac31e1b -SHA1 (patch-as) = 89e244dc2d902b02cb89c44c17b12675de76977e +SHA1 (patch-as) = 792775c17e50b9f30cd250728d77eda66d8de7fc SHA1 (patch-at) = 8d4831db4e245f31bfd5db0468344c410b34c41d SHA1 (patch-au) = fe924a3306a278f51d10b1d2ad14432ec9f1428e SHA1 (patch-av) = 3c0a446177036cb2875d68dbf35d265879c032bb diff --git a/wip/erlang/patches/patch-as b/wip/erlang/patches/patch-as index cfb064e65f98..70d01fde52a2 100644 --- a/wip/erlang/patches/patch-as +++ b/wip/erlang/patches/patch-as @@ -23,7 +23,7 @@ $NetBSD$ #elif defined(__OpenBSD__) && defined(__x86_64__) #define mc_pc(mc) ((mc)->sc_rip) #elif defined(__sun__) && defined(__x86_64__) -@@ -610,11 +615,30 @@ static void fpe_sig_action(int sig, sigi +@@ -610,11 +615,28 @@ static void fpe_sig_action(int sig, sigi struct env87 *env87 = &savefpu->sv_87.sv_env; env87->en_sw &= ~0xFF; } @@ -46,10 +46,8 @@ $NetBSD$ +#elif defined(__NetBSD__) && defined(__x86_64__) + mcontext_t *mc = &uc->uc_mcontext; + struct fxsave64 *fxsave = (struct fxsave64 *)&mc->__fpregs; -+ if (fxsave->fx_mxcsr & 0x000D) { -+ fxsave->fx_mxcsr &= ~(0x003F|0x0680); -+ skip_sse2_insn(uc); -+ } ++ pc = mc_pc(mc); ++ fxsave->fx_mxcsr = 0x1F80; + fxsave->fx_fsw &= ~0xFF; #elif defined(__sun__) && defined(__x86_64__) mcontext_t *mc = &uc->uc_mcontext; -- 2.41.0