CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]        2015/12/01 08:18:29

Modified files:
        gnu/gcc/gcc/config/i386: constraints.md i386.c sync.md 

Log message:
Fix __sync_val_compare_and_swap_8() on i386 for code compiled with -fPIC.
In some cases GCC would generate a cmpxchg8b instruction with a memory
reference that used %ebx.  This is wrong (and will almost certainly result
in SIGSEGV).  This fix uses a new memory constraint "W" to prevent the use
of %ebx in this case.  This differs from the approach taken by upstream so
there are no GPLv3 issues here.

Fixes the Mesa i965 dri module on i386.

ok jsg@

Reply via email to