patches/glibc/ports-2.10.1/620-r10k-workarounds.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Dec 05 20:31:43 2012 +0100 (2012-12-05)
changeset 3134 863723936e24
permissions -rw-r--r--
scripts/xldd: use user's sed and grep

xldd uses sed and grep as detected by ./configure. This works well if is
used on the machine that build the toolchain.

But if the user moves the toolchain to another machine where sed and grep
are not in the same directory (eg. /bin/sed vs. /usr/bin/sed), then xldd
will stop functionning.

Fix that by using ${SED} and ${GREP} if they are set in the environment.

Reported-by: Samuel Martin <s.martin49@gmail.com>
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