Merge pull request #3331 from tSed:opencv-2.4.x/fix-x86-PIC-compilation

pull/3337/head
Vadim Pisarevsky 11 years ago
commit 6b0cd392f0
  1. 5
      modules/core/src/system.cpp

@ -267,14 +267,17 @@ struct HWFeatures
: "cc"
);
#else
// We need to preserve ebx since we are compiling PIC code.
// This means we cannot use "=b" for the 2nd output register.
asm volatile
(
"pushl %%ebx\n\t"
"movl $7,%%eax\n\t"
"movl $0,%%ecx\n\t"
"cpuid\n\t"
"movl %%ebx,%1\n\t"
"popl %%ebx\n\t"
: "=a"(cpuid_data[0]), "=b"(cpuid_data[1]), "=c"(cpuid_data[2]), "=d"(cpuid_data[3])
: "=a"(cpuid_data[0]), "=r"(cpuid_data[1]), "=c"(cpuid_data[2]), "=d"(cpuid_data[3])
:
: "cc"
);

Loading…
Cancel
Save