summaryrefslogtreecommitdiffstats
path: root/src/libs/7zip
diff options
context:
space:
mode:
authorkh1 <karsten.heimrich@digia.com>2013-05-06 11:58:22 +0200
committerKarsten Heimrich <karsten.heimrich@digia.com>2013-05-06 12:34:53 +0200
commit685b2f25462820d5394a6a61778018b83c3b18d3 (patch)
tree0922ecb7a4097d7a1ec8b0e438a3ee8729130c83 /src/libs/7zip
parent66649781073e81f0c445c310aa825f8d7b78eb10 (diff)
Fix compile error.
Inconsistent operand constraints in an 'asm'... Change-Id: If68fec366d5a059c1d253f056348c76df8cd4d05 Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
Diffstat (limited to 'src/libs/7zip')
-rw-r--r--src/libs/7zip/unix/C/CpuArch.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libs/7zip/unix/C/CpuArch.c b/src/libs/7zip/unix/C/CpuArch.c
index 260cc1f45..dffa5bd65 100644
--- a/src/libs/7zip/unix/C/CpuArch.c
+++ b/src/libs/7zip/unix/C/CpuArch.c
@@ -73,9 +73,17 @@ static void MyCPUID(UInt32 function, UInt32 *a, UInt32 *b, UInt32 *c, UInt32 *d)
#else
__asm__ __volatile__ (
+ #if defined(MY_CPU_X86) && defined(__PIC__)
+ "mov %%ebx, %%edi;"
+ "cpuid;"
+ "xchgl %%ebx, %%edi;"
+ : "=a" (*a) ,
+ "=D" (*b) , /* edi */
+ #else
"cpuid"
: "=a" (*a) ,
"=b" (*b) ,
+ #endif
"=c" (*c) ,
"=d" (*d)
: "0" (function)) ;