1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/patches/glibc/ports-2.10.1/620-r10k-workarounds.patch Sun Jan 01 17:35:10 2012 +0100
1.3 @@ -0,0 +1,67 @@
1.4 +ripped from Debian
1.5 +
1.6 +the R10000 needs an LL/SC Workaround. If not applied all R10k before
1.7 +rev 3.0 misbehave on atomic ops and rev 2.6 and lower (e.g. SGI IP28)
1.8 +die after very few seconds with a deadlock due to even more erratas.
1.9 +
1.10 + ports/sysdeps/mips/bits/atomic.h | 12 ++++++------
1.11 + 1 file changed, 6 insertions(+), 6 deletions(-)
1.12 +
1.13 +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
1.14 +--- glibc-2.10.1.orig/glibc-ports-2.10.1/sysdeps/mips/bits/atomic.h 2009-05-16 10:36:20.000000000 +0200
1.15 ++++ glibc-2.10.1/glibc-ports-2.10.1/sysdeps/mips/bits/atomic.h 2009-11-13 00:51:34.000000000 +0100
1.16 +@@ -74,7 +74,7 @@
1.17 + "bne %0,%2,2f\n\t" \
1.18 + "move %1,%3\n\t" \
1.19 + "sc %1,%4\n\t" \
1.20 +- "beqz %1,1b\n" \
1.21 ++ "beqzl %1,1b\n" \
1.22 + acq "\n\t" \
1.23 + ".set pop\n" \
1.24 + "2:\n\t" \
1.25 +@@ -98,7 +98,7 @@
1.26 + "bne %0,%2,2f\n\t" \
1.27 + "move %1,%3\n\t" \
1.28 + "scd %1,%4\n\t" \
1.29 +- "beqz %1,1b\n" \
1.30 ++ "beqzl %1,1b\n" \
1.31 + acq "\n\t" \
1.32 + ".set pop\n" \
1.33 + "2:\n\t" \
1.34 +@@ -192,7 +192,7 @@
1.35 + "ll %0,%3\n\t" \
1.36 + "move %1,%2\n\t" \
1.37 + "sc %1,%3\n\t" \
1.38 +- "beqz %1,1b\n" \
1.39 ++ "beqzl %1,1b\n" \
1.40 + acq "\n\t" \
1.41 + ".set pop\n" \
1.42 + "2:\n\t" \
1.43 +@@ -216,7 +216,7 @@
1.44 + "lld %0,%3\n\t" \
1.45 + "move %1,%2\n\t" \
1.46 + "scd %1,%3\n\t" \
1.47 +- "beqz %1,1b\n" \
1.48 ++ "beqzl %1,1b\n" \
1.49 + acq "\n\t" \
1.50 + ".set pop\n" \
1.51 + "2:\n\t" \
1.52 +@@ -251,7 +251,7 @@
1.53 + "ll %0,%3\n\t" \
1.54 + "addu %1,%0,%2\n\t" \
1.55 + "sc %1,%3\n\t" \
1.56 +- "beqz %1,1b\n" \
1.57 ++ "beqzl %1,1b\n" \
1.58 + acq "\n\t" \
1.59 + ".set pop\n" \
1.60 + "2:\n\t" \
1.61 +@@ -275,7 +275,7 @@
1.62 + "lld %0,%3\n\t" \
1.63 + "daddu %1,%0,%2\n\t" \
1.64 + "scd %1,%3\n\t" \
1.65 +- "beqz %1,1b\n" \
1.66 ++ "beqzl %1,1b\n" \
1.67 + acq "\n\t" \
1.68 + ".set pop\n" \
1.69 + "2:\n\t" \
1.70 +diff -durN glibc-2.10.1.orig/ports/sysdeps/mips/bits/atomic.h glibc-2.10.1/ports/sysdeps/mips/bits/atomic.h