diff options
author | Marcus Brinkmann <mb@g10code.com> | 2008-01-21 17:17:54 +0000 |
---|---|---|
committer | Marcus Brinkmann <mb@g10code.com> | 2008-01-21 17:17:54 +0000 |
commit | 5f9d1ded665b772dd99b475a90dcda3f8aa6664e (patch) | |
tree | 853b06a322fcb1f36bb22c5c1d6be6a1f583b892 /src/hwfeatures.c | |
parent | c71284a3694dd9396ecbaf98365234549d06bb48 (diff) | |
download | libgcrypt-5f9d1ded665b772dd99b475a90dcda3f8aa6664e.tar.gz |
2008-01-21 Marcus Brinkmann <marcus@g10code.de>
* hwfeatures.c (detect_ia32_gnuc): Fix inline asm.
Diffstat (limited to 'src/hwfeatures.c')
-rw-r--r-- | src/hwfeatures.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/hwfeatures.c b/src/hwfeatures.c index 200da2c2..4dd4e4f4 100644 --- a/src/hwfeatures.c +++ b/src/hwfeatures.c @@ -79,13 +79,12 @@ detect_ia32_gnuc (void) ("pushl %%ebx\n\t" /* Save GOT register. */ "xorl %%eax, %%eax\n\t" /* 0 -> EAX. */ "cpuid\n\t" /* Get vendor ID. */ - "leal %0, %%eax\n\t" /* EBX,EDX,ECX -> VENDOR_ID. */ - "movl %%ebx, (%%eax)\n\t" - "movl %%edx, 4(%%eax)\n\t" - "movl %%ecx, 8(%%eax)\n\t" + "movl %%ebx, (%0)\n\t" /* EBX,EDX,ECX -> VENDOR_ID. */ + "movl %%edx, 4(%0)\n\t" + "movl %%ecx, 8(%0)\n\t" "popl %%ebx\n" - : "=m" (vendor_id) : + : "S" (&vendor_id[0]) : "%eax", "%ecx", "%edx", "cc" ); vendor_id[12] = 0; |