FTBFS on i386 in quantal
libsdl-perl fails on i386 in quantal due to a test failure:
# Failed test 'MMX_detect (MMX is same as at start)'
# at t/gfx_imagefilter.t line 53.
# got: '1'
# expected: '0'
# Looks like you failed 1 test of 8.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/8 subtests
Which is really a failure in sdlgfx's SDL_imageFilter
Its code is:
asm volatile ("pusha \n\t" "mov %1, %%eax \n\t" /* request feature flag */
"cpuid \n\t" /* get CPU ID flag */
"mov %%edx, %0 \n\t" /* move result to mmx_bit */
"popa \n\t":"=m" (flags) /* %0 */
:"i"(0x00000001) /* %1 */
And when I write a test program, whether that assembly happens to be inside a function or not affects its output. Which seems bad. The following assembly that I found online  seems more robust:
__asm__ __volatile__ ("cpuid":\
"=a" (ax), "=b" (bx), "=c" (cx), "=d" (dx) : "a" (func));
int a, b, c, d;
cpuid(1, a, b, c, d);
But I don't know enough assembly to propose a patch to the original code or explain why it is failing.
|Changed in libsdl-perl (Ubuntu):|
|status:||New → Invalid|
|affects:||libsdl-perl (Debian) → sdlgfx (Debian)|
|Changed in sdlgfx (Debian):|
|status:||Unknown → Fix Released|