[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: