CVS Update: xc (branch: trunk)

Eric Anholt eta at lclark.edu
Fri Oct 29 00:34:56 PDT 2004


On Thu, 2004-10-28 at 21:36, Adam Jackson wrote:
> On Wednesday 27 October 2004 10:31, Thomas Winischhofer wrote:
> > Log message:
> >     SiS driver: Enhanced memcpy() stuff; added optimized memcpy() for AMD64
> >                 (AMD64 code is entirely untested yet - anybody?)
> 
> This breaks the build when the driver is built with -fPIC (the default for 
> dlloader):
> 
> sis_memcpy.c: In function `SiS_builtin_memcp2':
> sis_memcpy.c:400: warning: string length `682' is greater than the length 
> `509'ISO C89 compilers are required to support
> sis_memcpy.c: In function `taketime':
> sis_memcpy.c:500: error: PIC register `ebx' clobbered in `asm'
> make[6]: *** [sis_memcpy.o] Error 1
> 
> The offending code:
> 
> __asm__ volatile (
>              " cpuid\n"
>              " .byte 0x0f, 0x31\n"
>              "=a" (eax)
>              "0"(0)
>              "ebx", "ecx", "edx", "cc");

The solution to this problem as far as I found before was just to save
and restore ebx inside of the asm statement.

-- 
Eric Anholt                                eta at lclark.edu          
http://people.freebsd.org/~anholt/         anholt at FreeBSD.org




More information about the xorg mailing list