Remove bashisms
[virt-what.git] / virt-what-cpuid-helper.c
index 8b81be3..7812545 100644 (file)
@@ -31,8 +31,8 @@ cpuid (unsigned int eax, char *sig)
   unsigned int *sig32 = (unsigned int *) sig;
 
   asm volatile (
-        "xor %%ebx, %%ebx; cpuid"
-        : "=a" (eax), "=b" (sig32[0]), "=c" (sig32[1]), "=d" (sig32[2])
+        "xchgl %%ebx,%1; xor %%ebx,%%ebx; cpuid; xchgl %%ebx,%1"
+        : "=a" (eax), "+r" (sig32[0]), "=c" (sig32[1]), "=d" (sig32[2])
         : "0" (eax));
   sig[12] = 0;