1 --- rpm-4.3/lib/rpmrc.c.orig 2004-03-29 14:43:40.000000000 +0200
2 +++ rpm-4.3/lib/rpmrc.c 2004-03-29 14:52:50.141270392 +0200
5 *eax = *ebx = *ecx = *edx = 0;
8 - __asm__("pushl %%ebx; cpuid; movl %%ebx,%1; popl %%ebx"
9 - : "=a"(*eax), "=g"(*ebx), "=&c"(*ecx), "=&d"(*edx)
13 - : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
20 + "movl %%ebx, %%esi \n"
22 + : "=a" (*eax), "=S" (*ebx), "=c" (*ecx), "=d" (*edx)
28 static inline unsigned int cpuid_eax(unsigned int op)
34 - __asm__("pushl %%ebx; cpuid; popl %%ebx"
35 - : "=a" (val) : "a" (op) : "ecx", "edx");
38 - : "=a" (val) : "a" (op) : "ebx", "ecx", "edx");
40 + unsigned int tmp, val;
41 + cpuid(op, &val, &tmp, &tmp, &tmp);
48 unsigned int tmp, val;
51 - __asm__("pushl %%ebx; cpuid; movl %%ebx,%1; popl %%ebx"
52 - : "=a" (tmp), "=g" (val) : "a" (op) : "ecx", "edx");
55 - : "=a" (tmp), "=b" (val) : "a" (op) : "ecx", "edx");
57 + cpuid(op, &tmp, &val, &tmp, &tmp);
64 unsigned int tmp, val;
66 - __asm__("pushl %%ebx; cpuid; popl %%ebx"
67 - : "=a" (tmp), "=c" (val) : "a" (op) : "edx");
70 - : "=a" (tmp), "=c" (val) : "a" (op) : "ebx", "edx");
72 + cpuid(op, &tmp, &tmp, &val, &tmp);
77 static inline unsigned int cpuid_edx(unsigned int op)
80 unsigned int tmp, val;
82 - __asm__("pushl %%ebx; cpuid; popl %%ebx"
83 - : "=a" (tmp), "=d" (val) : "a" (op) : "ecx");
86 - : "=a" (tmp), "=d" (val) : "a" (op) : "ebx", "ecx");
88 + cpuid(op, &tmp, &tmp, &tmp, &val);