diff options
Diffstat (limited to 'x11/pixman/patches/patch-ah')
-rw-r--r-- | x11/pixman/patches/patch-ah | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/x11/pixman/patches/patch-ah b/x11/pixman/patches/patch-ah new file mode 100644 index 00000000000..04974c67d18 --- /dev/null +++ b/x11/pixman/patches/patch-ah @@ -0,0 +1,32 @@ +$NetBSD: patch-ah,v 1.1 2008/10/15 00:56:45 bjs Exp $ + + +1c5de7b05831b3d66821707276b71974a232f5c7 + +Move _mm_empty() to correct place + +The "fbComposeSetupSSE2()" function is guarding most of its code +depending on the capabilities of the CPU, but unfortunately the call +to "_mm_empty()" is not part of this code path but executed +unconditionally. This results in a "illegal instruction" crash on +non-MMX / non-SSE capable CPUs caused by the the "emms" instruction +(embedded in "_mm_empty()"). + +Fix bug 17729. + +--- pixman/pixman-sse2.c.orig 2008-09-17 09:50:49.000000000 -0400 ++++ pixman/pixman-sse2.c +@@ -2357,11 +2357,11 @@ fbComposeSetupSSE2(void) + pixman_composeFunctions.combineC[PIXMAN_OP_ADD] = sse2CombineAddC; + + pixman_composeFunctions.combineMaskU = sse2CombineMaskU; ++ ++ _mm_empty(); + } + + initialized = TRUE; +- +- _mm_empty(); + } + + |