patches/glibc/ports-2.10.1/620-r10k-workarounds.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu May 26 22:51:03 2011 +0200 (2011-05-26)
changeset 2481 30644208c955
permissions -rw-r--r--
configure: add possibility to set arbitrary variable in check_for

If check_for is able to find the required prog/inc/lib, allow it to
set an arbitrary variable to 'y'. This variable is then pushed down
to the kconfig definition.

For example:
has_or_abort prog=foobar kconfig=has_foobar

If foobar is available, it yields a kconfig variable defaulting to y:
config CONFIGURE_has_foobar
bool
default y

If foobar is missing, it yields a kconfig variable defaulting to n:
config CONFIGURE_has_foobar
bool

Thus it is possible to depends on that variabel to show/hide options:
config SOME_FEATURE
bool
prompt "Some feature"
depends on CONFIGURE_has_foobar

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