--- /dev/null
+--- rpm-4.3/lib/rpmrc.c.orig 2004-03-29 14:43:40.000000000 +0200
++++ rpm-4.3/lib/rpmrc.c 2004-03-29 14:52:50.141270392 +0200
+@@ -893,16 +893,13 @@
+ #ifdef __LCLINT__
+ *eax = *ebx = *ecx = *edx = 0;
+ #endif
+-#ifdef PIC
+- __asm__("pushl %%ebx; cpuid; movl %%ebx,%1; popl %%ebx"
+- : "=a"(*eax), "=g"(*ebx), "=&c"(*ecx), "=&d"(*edx)
+- : "a" (op));
+-#else
+- __asm__("cpuid"
+- : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx)
+- : "a" (op));
+-#endif
+-
++ asm volatile (
++ "pushl %%ebx \n"
++ "cpuid \n"
++ "movl %%ebx, %%esi \n"
++ "popl %%ebx \n"
++ : "=a" (*eax), "=S" (*ebx), "=c" (*ecx), "=d" (*edx)
++ : "a" (op));
+ }
+
+ /*
+@@ -911,15 +908,8 @@
+ static inline unsigned int cpuid_eax(unsigned int op)
+ /*@*/
+ {
+- unsigned int val;
+-
+-#ifdef PIC
+- __asm__("pushl %%ebx; cpuid; popl %%ebx"
+- : "=a" (val) : "a" (op) : "ecx", "edx");
+-#else
+- __asm__("cpuid"
+- : "=a" (val) : "a" (op) : "ebx", "ecx", "edx");
+-#endif
++ unsigned int tmp, val;
++ cpuid(op, &val, &tmp, &tmp, &tmp);
+ return val;
+ }
+
+@@ -927,14 +917,7 @@
+ /*@*/
+ {
+ unsigned int tmp, val;
+-
+-#ifdef PIC
+- __asm__("pushl %%ebx; cpuid; movl %%ebx,%1; popl %%ebx"
+- : "=a" (tmp), "=g" (val) : "a" (op) : "ecx", "edx");
+-#else
+- __asm__("cpuid"
+- : "=a" (tmp), "=b" (val) : "a" (op) : "ecx", "edx");
+-#endif
++ cpuid(op, &tmp, &val, &tmp, &tmp);
+ return val;
+ }
+
+@@ -942,30 +925,16 @@
+ /*@*/
+ {
+ unsigned int tmp, val;
+-#ifdef PIC
+- __asm__("pushl %%ebx; cpuid; popl %%ebx"
+- : "=a" (tmp), "=c" (val) : "a" (op) : "edx");
+-#else
+- __asm__("cpuid"
+- : "=a" (tmp), "=c" (val) : "a" (op) : "ebx", "edx");
+-#endif
++ cpuid(op, &tmp, &tmp, &val, &tmp);
+ return val;
+-
+ }
+
+ static inline unsigned int cpuid_edx(unsigned int op)
+ /*@*/
+ {
+ unsigned int tmp, val;
+-#ifdef PIC
+- __asm__("pushl %%ebx; cpuid; popl %%ebx"
+- : "=a" (tmp), "=d" (val) : "a" (op) : "ecx");
+-#else
+- __asm__("cpuid"
+- : "=a" (tmp), "=d" (val) : "a" (op) : "ebx", "ecx");
+-#endif
++ cpuid(op, &tmp, &tmp, &tmp, &val);
+ return val;
+-
+ }
+
+ /*@unchecked@*/