--- valgrind-2.2.0/tests/cputest.c.orig 2005-01-28 14:27:14.456087696 +0100 +++ valgrind-2.2.0/tests/cputest.c 2005-01-28 14:29:18.538224344 +0100 @@ -6,11 +6,22 @@ unsigned int *a, unsigned int *b, unsigned int *c, unsigned int *d) { +#ifdef __PIC__ + __asm__ __volatile__ ( + "pushl %%ebx\n\t"\ + "cpuid\n\t"\ + "movl %%ebx,%1\n\t"\ + "popl %%ebx"\ + : "=a" (*a), "=r" (*b), "=c" (*c), "=d" (*d) /* output */ + : "0" (n) /* input */ + ); +#else __asm__ __volatile__ ( "cpuid" : "=a" (*a), "=b" (*b), "=c" (*c), "=d" (*d) /* output */ : "0" (n) /* input */ ); +#endif } int main(int argc, char **argv)