patches/glibc/ports-2.10.1/620-r10k-workarounds.patch
author Yann Diorcet <diorcet.yann@gmail.com>
Mon Nov 19 11:19:54 2012 +0100 (2012-11-19)
changeset 3117 2b64e1b502cd
permissions -rw-r--r--
binutils/sstrip: remove

sstrip has been obsoleted for a while now, as it's still broken
for some archs, and there seems to be no incentive to fix it
upstream. Besides, the space gained with sstrip is marginal at
best.

Signed-off-by: Yann Diorcet <diorcet.yann@gmail.com>
Message-Id: <65c8bf534d0647ce52cd.1353320545@macbook-smorlat.local>
Patchwork-Id: 199970
     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