ref: 484af2580b82dffd695fcd0841fc34a9dc5f7293
parent: f8ed894b1fb681109abc73ba75b3d6237a751d72
author: sezero <[email protected]>
date: Sun Oct 6 10:37:02 EDT 2019
configure: adjust x86 get cpu info inline assembly method for PIC case .. just like the way it is done in celt/x86/x86cpu.c. Signed-off-by: Jean-Marc Valin <[email protected]>
--- a/configure.ac
+++ b/configure.ac
@@ -691,7 +691,19 @@
unsigned int CPUInfo2;
unsigned int CPUInfo3;
unsigned int InfoType;
+ #if defined(__i386__) && defined(__PIC__)
__asm__ __volatile__ (
+ "xchg %%ebx, %1\n"
+ "cpuid\n"
+ "xchg %%ebx, %1\n":
+ "=a" (CPUInfo0),
+ "=r" (CPUInfo1),
+ "=c" (CPUInfo2),
+ "=d" (CPUInfo3) :
+ "a" (InfoType), "c" (0)
+ );
+ #else
+ __asm__ __volatile__ (
"cpuid":
"=a" (CPUInfo0),
"=b" (CPUInfo1),
@@ -699,6 +711,7 @@
"=d" (CPUInfo3) :
"a" (InfoType), "c" (0)
);
+ #endif
]])],
[get_cpuid_by_asm="yes"
AC_MSG_RESULT([Inline Assembly])