]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
fix regression (clobbered register; redmine #534)
authorpi-rho <github@tyr.cx>
Tue, 28 Aug 2012 00:20:58 +0000 (19:20 -0500)
committerVictor Julien <victor@inliniac.net>
Tue, 28 Aug 2012 08:21:36 +0000 (10:21 +0200)
src/util-cpu.c

index 106b7e4cb6128d66d4bd3ca256f815cb7afe99d1..1bb65ca11d63239697ca902b3a128e59af40c2c9 100644 (file)
@@ -192,8 +192,10 @@ uint64_t UtilCpuGetTicks(void)
 #else
     __asm__ __volatile__ (
     "xorl %%eax,%%eax\n\t"
+    "pushl %%ebx\n\t"
     "cpuid\n\t"
-    ::: "%eax", "%ebx", "%ecx", "%edx");
+    "popl %%ebx\n\t"
+    ::: "%eax", "%ecx", "%edx");
 #endif
     uint32_t a, d;
     __asm__ __volatile__ ("rdtsc" : "=a" (a), "=d" (d));
@@ -206,8 +208,10 @@ uint64_t UtilCpuGetTicks(void)
 #else
     __asm__ __volatile__ (
     "xorl %%eax,%%eax\n\t"
+    "pushl %%ebx\n\t"
     "cpuid\n\t"
-    ::: "%eax", "%ebx", "%ecx", "%edx");
+    "popl %%ebx\n\t"
+    ::: "%eax", "%ecx", "%edx");
 #endif
 
 #else /* #if defined(__GNU__) */