From 685b2f25462820d5394a6a61778018b83c3b18d3 Mon Sep 17 00:00:00 2001 From: kh1 Date: Mon, 6 May 2013 11:58:22 +0200 Subject: Fix compile error. Inconsistent operand constraints in an 'asm'... Change-Id: If68fec366d5a059c1d253f056348c76df8cd4d05 Reviewed-by: Tim Jenssen --- src/libs/7zip/unix/C/CpuArch.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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)) ; -- cgit v1.2.3