patches/glibc/ports-2.10.1/620-r10k-workarounds.patch
author Esben Haabendal <esben.haabendal@prevas.dk>
Wed Sep 26 09:09:23 2012 +0200 (2012-09-26)
changeset 3065 603ccf80c48b
permissions -rw-r--r--
kernel/linux: change m68k/no-mmu linux arch tuple to use -uclinux

GCC requires m68k arch tuples to be *-*-uclinux-* to support Linux on
no-mmu m68k (ColdFire) cpus.

Blackfin arch tuple must be *-*-linux-uclibc for FD_PIC_ELF toolchains,
so we cannot just switch to uclinux for no-mmu Linux toolchains.

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