Package: gavl
Version: 1.4.0-1
Severity: normal
Tags: patch
Hi! I'm afraid your package fails to build on x32, and blocks a load of
stuff because of deep Build-Dependency chains.
Here's a fix. I did not bother porting this code, just ripped the whole
block away because even the only architecture where it could have mattered
(i386) has since changed its minimal requirements to 586 (-march=i586)
which is guaranteed to have CPUID. The other x86 architectures (amd64 and
x32) are many CPU generations above that.
If you disagree with this, you could instead #ifdef this code out on x32
and probably amd64. There's also third way, actually fixing the register
width statements, but that would be too much work ☺.
Meow!
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (600, 'unstable'), (500, 'experimental')
Architecture: x32 (x86_64)
Kernel: Linux 3.16.1-x32 (SMP w/6 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
--- gavl/gavl/cputest.c~ 2012-06-08 13:49:47.0 +0200
+++ gavl/gavl/cputest.c 2014-08-29 03:52:22.464396399 +0200
@@ -69,32 +69,8 @@
int rval = 0;
int eax, ebx, ecx, edx;
int max_std_level, max_ext_level, std_caps=0, ext_caps=0;
-long a, c;
-
-__asm__ __volatile__ (
- /* See if CPUID instruction is supported ... */
- /* ... Get copies of EFLAGS into eax and ecx */
- "pushf\n\t"
- "pop %0\n\t"
- "mov %0, %1\n\t"
-
- /* ... Toggle the ID bit in one copy and store */
- /* to the EFLAGS reg */
- "xor $0x20, %0\n\t"
- "push %0\n\t"
- "popf\n\t"
-
- /* ... Get the (hopefully modified) EFLAGS */
- "pushf\n\t"
- "pop %0\n\t"
- : "=a" (a), "=c" (c)
- :
- : "cc"
- );
-
-if (a == c)
-return 0; /* CPUID not supported */
+/* any CPU that can run Debian has CPUID */
cpuid(0, max_std_level, ebx, ecx, edx);
if(max_std_level >= 1){
___
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers