patches/glibc/ports-2.10.1/620-r10k-workarounds.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Dec 26 13:30:51 2012 +0100 (2012-12-26)
changeset 3145 598880dab0f3
permissions -rw-r--r--
libc/glibc: both glibc and eglibc have pkgversion and bugurl

Well, all eglibc version we support do, and latest glibc versions
we support do.

Not all glibc versions do, but older versions simply ignore the
unrecognised ./configure flags.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.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