darktable: finally problem understood and fixed, disable AVX instructions.

gcc-4.7.3 generates AVX instructions with -mtune=generic on Intel CPUs
supporting the AVX instruction set.
This commit is contained in:
Juan RP 2014-05-08 12:16:31 +02:00
parent 9bd8c76ff5
commit 77be6cd12f
2 changed files with 5 additions and 17 deletions

View file

@ -1,16 +0,0 @@
Comment _MM_SET_FLUSH_ZERO_MODE for now.
gcc-4.7.3 with -mtune=generic uses STMXCSR/VSTMXCSR instructions which are
only available in Sandy Bridge CPUs, thus causes a SIGILL on AMD CPUs.
--- src/common/darktable.c.orig 2014-05-08 11:42:15.844554271 +0200
+++ src/common/darktable.c 2014-05-08 11:43:00.724288778 +0200
@@ -363,7 +363,7 @@ int dt_init(int argc, char *argv[], cons
#endif
// make everything go a lot faster.
- _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON);
+ //_MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON);
#if !defined __APPLE__ && !defined __WIN32__
_dt_sigsegv_old_handler = signal(SIGSEGV,&_dt_sigsegv_handler);
#endif

View file

@ -1,7 +1,7 @@
# Template file for 'darktable'
pkgname=darktable
version=1.4.2
revision=5
revision=6
build_style=cmake
maintainer="Carlo Dormeletti <carlo.dormeletti@email.it>"
homepage="http://www.darktable.org/"
@ -17,6 +17,10 @@ makedepends="gtk+-devel glib-devel exiv2-devel lcms2-devel
distfiles="${SOURCEFORGE_SITE}/${pkgname}/1.4/${pkgname}-${version}.tar.xz"
checksum="c1311a6e336007b85d21647652ebec3e26840248a968eab04ab5f0a56c2e0709"
# Do not generate AVX instructions, which might happen with -mtune=generic on
# Intel CPUs. This avoids the vstmxcsr instruction which is AVX specific.
CFLAGS="-mno-avx -mno-avx2"
post_install() {
mv ${DESTDIR}/usr/lib/darktable/libdarktable.so ${DESTDIR}/usr/lib/
}