--- src/hd/hd.c.orig 2012-08-02 17:13:27.557190312 +0900 +++ src/hd/hd.c 2012-08-02 17:14:33.370367535 +0900 @@ -3147,16 +3147,16 @@ "mov %%edx,8(%%esi)\n\t" "pop %%ebx" #else - "push %%rbx\n\t" + "mov %%ebx,%%edi\n\t" "cpuid\n\t" "mov %%ebx,(%%rsi)\n\t" "mov %%ecx,4(%%rsi)\n\t" "mov %%edx,8(%%rsi)\n\t" - "pop %%rbx" + "mov %%edi,%%ebx\n\t" #endif : "=a" (u), "=c" (foo) : "a" (0x40000000), "c" (0), "S" (signature) - : "%edx" + : "%edx", "%edi" ); signature[12] = 0;