patches/glibc/ports-2.10.1/620-r10k-workarounds.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 17:54:21 2011 +0200 (2011-07-17)
changeset 2888 dd71df95903a
permissions -rw-r--r--
cc/gcc: pass the companion libs prefix to cc_core

In case of canadian-cross, the companion libraries are not the same for
the core cc (they run on 'build') as they are for the final cc (they run
on 'host').

Prepare for this differentiation (coming later), while retaining the
current behavior (to use the same compblibs).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 ripped from Debian
     2 
     3 the R10000 needs an LL/SC Workaround. If not applied all R10k before
     4 rev 3.0 misbehave on atomic ops and rev 2.6 and lower (e.g. SGI IP28)
     5 die after very few seconds with a deadlock due to even more erratas.
     6 
     7  ports/sysdeps/mips/bits/atomic.h |   12 ++++++------
     8  1 file changed, 6 insertions(+), 6 deletions(-)
     9 
    10 diff -durN glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/mips/bits/atomic.h glibc-2.10.1/glibc-ports-2.10.1/sysdeps/mips/bits/atomic.h
    11 --- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/mips/bits/atomic.h	2009-05-16 10:36:20.000000000 +0200
    12 +++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/mips/bits/atomic.h	2009-11-13 00:51:34.000000000 +0100
    13 @@ -74,7 +74,7 @@
    14       "bne	%0,%2,2f\n\t"						      \
    15       "move	%1,%3\n\t"						      \
    16       "sc	%1,%4\n\t"						      \
    17 -     "beqz	%1,1b\n"						      \
    18 +     "beqzl	%1,1b\n"						      \
    19       acq	"\n\t"							      \
    20       ".set	pop\n"							      \
    21       "2:\n\t"								      \
    22 @@ -98,7 +98,7 @@
    23       "bne	%0,%2,2f\n\t"						      \
    24       "move	%1,%3\n\t"						      \
    25       "scd	%1,%4\n\t"						      \
    26 -     "beqz	%1,1b\n"						      \
    27 +     "beqzl	%1,1b\n"						      \
    28       acq	"\n\t"							      \
    29       ".set	pop\n"							      \
    30       "2:\n\t"								      \
    31 @@ -192,7 +192,7 @@
    32       "ll	%0,%3\n\t"						      \
    33       "move	%1,%2\n\t"						      \
    34       "sc	%1,%3\n\t"						      \
    35 -     "beqz	%1,1b\n"						      \
    36 +     "beqzl	%1,1b\n"						      \
    37       acq	"\n\t"							      \
    38       ".set	pop\n"							      \
    39       "2:\n\t"								      \
    40 @@ -216,7 +216,7 @@
    41       "lld	%0,%3\n\t"						      \
    42       "move	%1,%2\n\t"						      \
    43       "scd	%1,%3\n\t"						      \
    44 -     "beqz	%1,1b\n"						      \
    45 +     "beqzl	%1,1b\n"						      \
    46       acq	"\n\t"							      \
    47       ".set	pop\n"							      \
    48       "2:\n\t"								      \
    49 @@ -251,7 +251,7 @@
    50       "ll	%0,%3\n\t"						      \
    51       "addu	%1,%0,%2\n\t"						      \
    52       "sc	%1,%3\n\t"						      \
    53 -     "beqz	%1,1b\n"						      \
    54 +     "beqzl	%1,1b\n"						      \
    55       acq	"\n\t"							      \
    56       ".set	pop\n"							      \
    57       "2:\n\t"								      \
    58 @@ -275,7 +275,7 @@
    59       "lld	%0,%3\n\t"						      \
    60       "daddu	%1,%0,%2\n\t"						      \
    61       "scd	%1,%3\n\t"						      \
    62 -     "beqz	%1,1b\n"						      \
    63 +     "beqzl	%1,1b\n"						      \
    64       acq	"\n\t"							      \
    65       ".set	pop\n"							      \
    66       "2:\n\t"								      \
    67 diff -durN glibc-2.10.1.orig/ports/sysdeps/mips/bits/atomic.h glibc-2.10.1/ports/sysdeps/mips/bits/atomic.h