Bug#695746: mesa: FTBFS on powerpcspe
Package: mesa
Version: 8.0.5-3
Severity: wishlist
Tags: patch
User: debian-powerpcspe@breakpoint.cc
Usertags: powerpcspe
Hi,
mesa currently fails to build from source on powerpcspe[1] like this:
[...]
gcc -c -I. -I../../../src/gallium/include -I../../../src/gallium/auxiliary -I../../../src/gallium/drivers -Wall -g -O2 -Wall -Wmissing-prototypes -std=c99 -fno-strict-aliasing -fno-builtin-memcmp -Wall -g -O2 -fPIC -DUSE_PPC_ASM -DUSE_VMX_ASM -D_GNU_SOURCE -DPTHREADS -DTEXTURE_FLOAT_ENABLED -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DHAVE_ALIAS -DHAVE_MINCORE -DHAVE_LIBUDEV -DHAVE_XCB_DRI2 -fvisibility=hidden util/u_cpu_detect.c -o util/u_cpu_detect.o
/tmp/ccAlRhTe.s: Assembler messages:
/tmp/ccAlRhTe.s:57: Error: Unrecognized opcode: `vand'
make[4]: *** [util/u_cpu_detect.o] Error 1
make[4]: Leaving directory `/«PKGBUILDDIR»/build/dri/src/gallium/auxiliary'
[...]
This is because in case of powerpc, mesa activates some altivec instructions
that are unknown on the pwerpcspe architecture.
The attached patch fixes this by preventing the PPC-specialcasing in case of
powerpcspe (__NO_FPRS__ is only defined there).
Thanks,
Roland
[1] http://wiki.debian.org/PowerPCSPEPort
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 3.2.0-4-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
--- mesa/src/gallium/include/pipe/p_config.h.orig 2012-12-11 19:50:59.320592313 +0100
+++ mesa/src/gallium/include/pipe/p_config.h 2012-12-11 19:52:41.936617814 +0100
@@ -99,12 +99,14 @@
#endif
#endif
+#ifndef __NO_FPRS__
#if defined(__ppc__) || defined(__ppc64__) || defined(__PPC__)
#define PIPE_ARCH_PPC
#if defined(__ppc64__) || defined(__PPC64__)
#define PIPE_ARCH_PPC_64
#endif
#endif
+#endif
/*
Reply to: