Author: aurel32
Date: 2009-05-26 07:02:18 +0000 (Tue, 26 May 2009)
New Revision: 3536

Modified:
   glibc-package/branches/eglibc-2.10/debian/changelog
   
glibc-package/branches/eglibc-2.10/debian/patches/hurd-i386/local-atomic-no-multiple_threads.diff
Log:
    - Update debian/patches/hurd-i386/local-atomic-no-multiple_threads.diff.



Modified: glibc-package/branches/eglibc-2.10/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.10/debian/changelog 2009-05-26 06:35:17 UTC 
(rev 3535)
+++ glibc-package/branches/eglibc-2.10/debian/changelog 2009-05-26 07:02:18 UTC 
(rev 3536)
@@ -20,8 +20,9 @@
     - Remove debian/patches/hurd-i386/cvs-get_pc_thunk.diff (merged).
     - Remove debian/patches/hurd-i386/cvs-strerror_l.diff (merged).
     - Remove debian/patches/hurd-i386/cvs-rtld.diff (merged).
-    - Update patches/hurd-i386/local-tls-support.diff.
-    - Update patches/hurd-i386/submitted-extern_inline.diff.
+    - Update debian/patches/hurd-i386/local-tls-support.diff.
+    - Update debian/patches/hurd-i386/submitted-extern_inline.diff.
+    - Update debian/patches/hurd-i386/local-atomic-no-multiple_threads.diff.
     - Remove debian/patches/mips/cvs-context.diff (merged).
     - Remove debian/patches/all/submitted-readme-version.diff (merged).
     - Remove debian/patches/any/submitted-install-map-files.diff (merged).

Modified: 
glibc-package/branches/eglibc-2.10/debian/patches/hurd-i386/local-atomic-no-multiple_threads.diff
===================================================================
--- 
glibc-package/branches/eglibc-2.10/debian/patches/hurd-i386/local-atomic-no-multiple_threads.diff
   2009-05-26 06:35:17 UTC (rev 3535)
+++ 
glibc-package/branches/eglibc-2.10/debian/patches/hurd-i386/local-atomic-no-multiple_threads.diff
   2009-05-26 07:02:18 UTC (rev 3536)
@@ -1,10 +1,6 @@
 On the Hurd we always at least start the sigthread anyway.  Let's avoid forking
 the file (which would mean having to maintain it)
 
----
- sysdeps/i386/i486/bits/atomic.h |   98 
+++++++++++++---------------------------
- 1 file changed, 34 insertions(+), 64 deletions(-)
-
 --- a/sysdeps/i386/i486/bits/atomic.h
 +++ b/sysdeps/i386/i486/bits/atomic.h
 @@ -87,35 +87,26 @@
@@ -220,21 +216,21 @@
  
  #define catomic_decrement(mem) \
    __arch_decrement_body (__arch_decrement_cprefix, __arch_c, mem)
-@@ -524,18 +497,15 @@
+@@ -505,24 +478,21 @@
      if (sizeof (*mem) == 1)                                                 \
-       __asm __volatile (lock "orb %b1, %0"                                  \
+       __asm __volatile (lock "andb %b1, %0"                                 \
                        : "=m" (*mem)                                         \
 -                      : "iq" (mask), "m" (*mem),                            \
 -                        "i" (offsetof (tcbhead_t, multiple_threads)));      \
 +                      : "iq" (mask), "m" (*mem));                           \
      else if (sizeof (*mem) == 2)                                            \
-       __asm __volatile (lock "orw %w1, %0"                                  \
+       __asm __volatile (lock "andw %w1, %0"                                 \
                        : "=m" (*mem)                                         \
 -                      : "ir" (mask), "m" (*mem),                            \
 -                        "i" (offsetof (tcbhead_t, multiple_threads)));      \
 +                      : "ir" (mask), "m" (*mem));                           \
      else if (sizeof (*mem) == 4)                                            \
-       __asm __volatile (lock "orl %1, %0"                                   \
+       __asm __volatile (lock "andl %1, %0"                                  \
                        : "=m" (*mem)                                         \
 -                      : "ir" (mask), "m" (*mem),                            \
 -                        "i" (offsetof (tcbhead_t, multiple_threads)));      \
@@ -242,11 +238,32 @@
      else                                                                    \
        abort ();                                                               
      \
    } while (0)
-@@ -543,6 +513,6 @@
- #define atomic_or(mem, mask) __arch_or_body (LOCK_PREFIX, mem, mask)
  
- #define __arch_or_cprefix \
+ #define __arch_cprefix \
 -  "cmpl $0, %%gs:%P3\n\tje 0f\n\tlock\n0:\t"
 +  "lock\n\t"
  
- #define catomic_or(mem, mask) __arch_or_body (__arch_or_cprefix, mem, mask)
+ #define atomic_and(mem, mask) __arch_and_body (LOCK_PREFIX, mem, mask)
+ 
+@@ -534,18 +504,15 @@
+     if (sizeof (*mem) == 1)                                                 \
+       __asm __volatile (lock "orb %b1, %0"                                  \
+                       : "=m" (*mem)                                         \
+-                      : "iq" (mask), "m" (*mem),                            \
+-                        "i" (offsetof (tcbhead_t, multiple_threads)));      \
++                      : "iq" (mask), "m" (*mem));                           \
+     else if (sizeof (*mem) == 2)                                            \
+       __asm __volatile (lock "orw %w1, %0"                                  \
+                       : "=m" (*mem)                                         \
+-                      : "ir" (mask), "m" (*mem),                            \
+-                        "i" (offsetof (tcbhead_t, multiple_threads)));      \
++                      : "ir" (mask), "m" (*mem));                           \
+     else if (sizeof (*mem) == 4)                                            \
+       __asm __volatile (lock "orl %1, %0"                                   \
+                       : "=m" (*mem)                                         \
+-                      : "ir" (mask), "m" (*mem),                            \
+-                        "i" (offsetof (tcbhead_t, multiple_threads)));      \
++                      : "ir" (mask), "m" (*mem));                           \
+     else                                                                    \
+       abort ();                                                               
      \
+   } while (0)


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to