Module Name: src
Committed By: mrg
Date: Wed Dec 1 08:59:13 UTC 2010
Modified Files:
src/external/mit/xorg/lib/pixman: Makefile
Log Message:
dsable SSE2 support on amd64 for now. GCC generates code that causes
alignment faults. the code is:
0x00007f7ffd40ccd7 <_pixman_implementation_create_sse2+0>: push %rbp
0x00007f7ffd40ccd8 <_pixman_implementation_create_sse2+1>: mov %rsp,%rbp
0x00007f7ffd40ccdb <_pixman_implementation_create_sse2+4>: sub
$0x10,%rsp
...
0x00007f7ffd40cdab <_pixman_implementation_create_sse2+212>: mov
$0xffffffffffffffff,%rdx
0x00007f7ffd40cdb2 <_pixman_implementation_create_sse2+219>: mov
%rdx,0xfffffffffffffff0(%rbp)
0x00007f7ffd40cdb6 <_pixman_implementation_create_sse2+223>: mov
%rdx,0xfffffffffffffff8(%rbp)
0x00007f7ffd40cdba <_pixman_implementation_create_sse2+227>: movdqa
0xfffffffffffffff0(%rbp),%xmm0
upon entry we have stack aligned to 16 bytes. the first instruction
subtracts 8, we copy this not-16-byte aligned value into %rbp, and
then decrement the stack by 16 bytes.
then we store a big -1 into 16 bytes on the stack, and then load it
into %xmm0.. except we load it from an unaligned pointer and GP.
To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 src/external/mit/xorg/lib/pixman/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/mit/xorg/lib/pixman/Makefile
diff -u src/external/mit/xorg/lib/pixman/Makefile:1.12 src/external/mit/xorg/lib/pixman/Makefile:1.13
--- src/external/mit/xorg/lib/pixman/Makefile:1.12 Sun Nov 21 09:01:35 2010
+++ src/external/mit/xorg/lib/pixman/Makefile Wed Dec 1 08:59:12 2010
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.12 2010/11/21 09:01:35 mrg Exp $
+# $NetBSD: Makefile,v 1.13 2010/12/01 08:59:12 mrg Exp $
NOLINT= 1 # defined
@@ -44,10 +44,10 @@
MKDEPFLAGS+= -mmmx -fvisibility=hidden
.elif ${MACHINE_ARCH} == "x86_64"
SRCS+= pixman-mmx.c
-SRCS+= pixman-sse2.c
+# XXX sse2 is broken with pixman 0.21.2; GCC generates unaligned accesses
+#SRCS+= pixman-sse2.c
COPTS.pixman-mmx.c= -mmmx -fvisibility=hidden
-COPTS.pixman-sse2.c= -msse2 -fvisibility=hidden
-MKDEPFLAGS+= -mmmx -msse2 -fvisibility=hidden
+#COPTS.pixman-sse2.c= -msse2 -fvisibility=hidden
.endif
# .if VMX