libmpeg2: mpeg2dec-0.4.0-x86_64.patch

File mpeg2dec-0.4.0-x86_64.patch, 1.3 KB (added by Christian Schneider, 16 years ago)
  • libmpeg2/cpu_accel.c

    diff -ur mpeg2dec-0.4.0.orig/libmpeg2/cpu_accel.c mpeg2dec-0.4.0/libmpeg2/cpu_accel.c
    old new  
    3333#ifdef ARCH_X86
    3434static inline uint32_t arch_accel (void)
    3535{
    36     uint32_t eax, ebx, ecx, edx;
     36    unsigned long eax, ebx, ecx, edx;
    3737    int AMD;
    3838    uint32_t caps;
    3939
    40 #if !defined(PIC) && !defined(__PIC__)
     40#if defined(__x86_64__) || (!defined(PIC) && !defined(__PIC__))
    4141#define cpuid(op,eax,ebx,ecx,edx)       \
    4242    __asm__ ("cpuid"                    \
    4343             : "=a" (eax),              \
     
    4646               "=d" (edx)               \
    4747             : "a" (op)                 \
    4848             : "cc")
    49 #else   /* PIC version : save ebx */
     49#else   /* PIC version : save ebx (not needed on x86_64) */
    5050#define cpuid(op,eax,ebx,ecx,edx)       \
    5151    __asm__ ("push %%ebx\n\t"           \
    5252             "cpuid\n\t"                \
    53              "movl %%ebx,%1\n\t"        \
     53             "mov %%ebx,%1\n\t" \
    5454             "pop %%ebx"                \
    5555             : "=a" (eax),              \
    5656               "=r" (ebx),              \
     
    6060             : "cc")
    6161#endif
    6262
     63
     64#ifndef __x86_64__ /* x86_64 supports the cpuid op */
    6365    __asm__ ("pushf\n\t"
    6466             "pushf\n\t"
    6567             "pop %0\n\t"
     
    7779
    7880    if (eax == ebx)             /* no cpuid */
    7981        return 0;
     82#endif
    8083
    8184    cpuid (0x00000000, eax, ebx, ecx, edx);
    8285    if (!eax)                   /* vendor string only */