Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 17 Mar 2003 10:11:31 +0000 (10:11 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 17 Mar 2003 10:11:31 +0000 (10:11 +0000)
2003-03-17  Ulrich Drepper  <drepper@redhat.com>

* localedata/en_ZA: hanged %x for LC_TIME to use dd/mm/ccyy.
Added ^ to LC_MESSAGES regex "^[yY].*".
Confirmed LC_PAPER adn LC_MEASUREMENT settings.
Added country and language names to LC_ADDRESS.
Added missing info for LC_TELEPHONE.
Patch by Dwayne Bailey <dwayne@obsidian.co.za>.

14 files changed:
localedata/ChangeLog
localedata/locales/en_ZA
nptl/sysdeps/pthread/pthread_cond_timedwait.c
nptl/sysdeps/pthread/pthread_cond_wait.c
nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S
nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S
nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S
nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h
nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S
nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S
nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S
nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_unlock.S
nptl/sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S

index 8016801..2c19c83 100644 (file)
@@ -1,3 +1,12 @@
+2003-03-17  Ulrich Drepper  <drepper@redhat.com>
+
+       * localedata/en_ZA: hanged %x for LC_TIME to use dd/mm/ccyy.
+       Added ^ to LC_MESSAGES regex "^[yY].*".
+       Confirmed LC_PAPER adn LC_MEASUREMENT settings.
+       Added country and language names to LC_ADDRESS.
+       Added missing info for LC_TELEPHONE.
+       Patch by Dwayne Bailey <dwayne@obsidian.co.za>.
+
 2003-03-14  Ulrich Drepper  <drepper@redhat.com>
 
        * localedata/mn_MN: New file.
index abcd738..b944d35 100644 (file)
@@ -2,44 +2,54 @@ escape_char  /
 comment_char  %
 
 % English language locale for South Africa
-% Source: RAP
-% Email: nic@sig.co.za
-% Tel: +27 83 7659503
-% Fax: +27 12 3478098
+% Source: Zuza Software Foundation
+% Email: dwayne@translate.org.za
+% Tel: +27 21 4487827
+% Fax: +27 21 4489574
 % Language: en
 % Territory: ZA
-% Revision: 1.0
-% Date: 1999-03-28
+% Revision: 1.1
+% Date: 2003-03-14
 % Users: general
 % Repertoiremap: mnemonic,ds
 % Charset: ISO-8859-1
 % Distribution and use is free, also
 % for commercial purposes.
+%
+% Changelog
+% 1.1 (2003-03-14):
+%   - Updated maintainer to Zuza Sofware Foundation
+%   - Changed %x for LC_TIME to use dd/mm/ccyy
+%   - Added ^ to LC_MESSAGES regex "^[yY].*"
+%   - Confirmed LC_PAPER and LC_MEASUREMENT settings
+%   - Added country and language names to LC_ADDRESS
+%   - Added missing info for LC_TELEPHONE
 
 LC_IDENTIFICATION
 title      "English locale for South Africa"
-source     "RAP"
-address    ""
-contact    ""
-email      "bug-glibc@gnu.org"
-tel        ""
-fax        ""
+source     "Zuza Software Foundation"
+address    "Box 13412, Mowbray, 7701, South Africa"
+contact    "Dwayne Bailey"
+email      "dwayne@translate.org.za"
+tel        "+27 21 448 7827"
+fax        "+27 21 448 9574"
 language   "English"
 territory  "South Africa"
-revision   "1.0"
-date       "2000-06-29"
+revision   "1.1"
+date       "2003-03-14"
 %
-category  "en_ZA:2000";LC_IDENTIFICATION
+category  "en_ZA:2003";LC_IDENTIFICATION
 category  "en_ZA:2000";LC_CTYPE
 category  "en_ZA:2000";LC_COLLATE
-category  "en_ZA:2000";LC_TIME
+category  "en_ZA:2003";LC_TIME
 category  "en_ZA:2000";LC_NUMERIC
 category  "en_ZA:2000";LC_MONETARY
-category  "en_ZA:2000";LC_MESSAGES
+category  "en_ZA:2003";LC_MESSAGES
 category  "en_ZA:2000";LC_PAPER
+category  "en_ZA:2000";LC_MEASUREMENT
 category  "en_ZA:2000";LC_NAME
-category  "en_ZA:2000";LC_ADDRESS
-category  "en_ZA:2000";LC_TELEPHONE
+category  "en_ZA:2003";LC_ADDRESS
+category  "en_ZA:2003";LC_TELEPHONE
 
 END LC_IDENTIFICATION
 
@@ -106,7 +116,7 @@ mon         "<U004A><U0061><U006E><U0075><U0061><U0072><U0079>";/
             "<U004E><U006F><U0076><U0065><U006D><U0062><U0065><U0072>";/
             "<U0044><U0065><U0063><U0065><U006D><U0062><U0065><U0072>"
 d_t_fmt     "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>"
-d_fmt       "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>"
+d_fmt       "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0059>"
 t_fmt       "<U0025><U0054>"
 am_pm       "";""
 t_fmt_ampm  ""
@@ -116,25 +126,25 @@ date_fmt  "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/
 END LC_TIME
 
 LC_MESSAGES
-yesexpr     "<U005B><U0079><U0059><U005D><U002E><U002A>"
-noexpr      "<U005B><U006E><U004E><U005D><U002E><U002A>"
+yesexpr     "<U005E><U005B><U0079><U0059><U005D><U002E><U002A>"
+noexpr      "<U005E><U005B><U006E><U004E><U005D><U002E><U002A>"
 END LC_MESSAGES
 
 LC_PAPER
-% FIXME
 height   297
-% FIXME
 width    210
 END LC_PAPER
 
 LC_TELEPHONE
 tel_int_fmt    "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025>/
 <U006C>"
+tel_dom_fmt    "<U0028><U0025><U0041><U0029><U0020><U0025><U006C>"
+int_select     "<U0030><U0039>"
 int_prefix     "<U0032><U0037>"
+
 END LC_TELEPHONE
 
 LC_MEASUREMENT
-% FIXME
 measurement    1
 END LC_MEASUREMENT
 
@@ -149,4 +159,7 @@ postal_fmt    "<U0025><U0066><U0025><U004E><U0025><U0061><U0025><U004E>/
 <U0020><U0025><U0068><U0020><U0025><U0065><U0020><U0025><U0072><U0025>/
 <U004E><U0025><U0025><U007A><U0020><U0025><U0054><U0025>/
 <U004E><U0025><U0063><U0025><U004E>"
+country_name  "<U0053><U006F><U0075><U0074><U0068><U0020>/
+<U0041><U0066><U0072><U0069><U0063><U0061>"
+lang_name     "<U0045><U006E><U0067><U006C><U0069><U0073><U0068>"
 END LC_ADDRESS
index 0635e6e..af9929c 100644 (file)
@@ -134,8 +134,7 @@ __pthread_cond_timedwait (cond, mutex, abstime)
 
       /* Check whether we are eligible for wakeup.  */
       val = cond->__data.__wakeup_seq;
-      if (cond->__data.__woken_seq >= seq
-         && cond->__data.__woken_seq < val)
+      if (val > seq && cond->__data.__woken_seq < val)
        break;
 
       /* Not woken yet.  Maybe the time expired?  */
index b681ef2..412bca9 100644 (file)
@@ -117,7 +117,7 @@ __pthread_cond_wait (cond, mutex)
 # error "No valid byte order"
 #endif
 
-  while (1)
+  do
     {
       /* Prepare to wait.  Release the condvar futex.  */
       lll_mutex_unlock (cond->__data.__lock);
@@ -137,10 +137,8 @@ __pthread_cond_wait (cond, mutex)
 
       /* Check whether we are eligible for wakeup.  */
       val = cond->__data.__wakeup_seq;
-      if (cond->__data.__woken_seq >= seq
-         && cond->__data.__woken_seq < val)
-       break;
     }
+  while (! (val > seq && cond->__data.__woken_seq < val));
 
   /* Another thread woken up.  */
   ++cond->__data.__woken_seq;
index 9082fd5..c1ce3be 100644 (file)
@@ -164,11 +164,11 @@ __pthread_cond_timedwait:
        movl    wakeup_seq(%ebx), %edi
        movl    wakeup_seq+4(%ebx), %edx
 
-       cmpl    24(%esp), %ecx
+       cmpl    24(%esp), %edx
        ja      7f
        jb      15f
-       cmpl    20(%esp), %eax
-       jb      15f
+       cmpl    20(%esp), %edi
+       jbe     15f
 
 7:     cmpl    %ecx, %edx
        ja      9f
index c13c382..68ce35e 100644 (file)
@@ -195,11 +195,11 @@ __pthread_cond_wait:
        movl    wakeup_seq(%ebx), %edi
        movl    wakeup_seq+4(%ebx), %edx
 
-       cmpl    16(%esp), %ecx
+       cmpl    16(%esp), %edx
        ja      7f
        jb      8b
-       cmpl    12(%esp), %eax
-       jb      8b
+       cmpl    12(%esp), %edi
+       jbe     8b
 
 7:     cmpl    %ecx, %edx
        ja      9f
index 30a2e2c..6c8dca5 100644 (file)
@@ -77,12 +77,12 @@ __pthread_rwlock_rdlock:
 #endif
        jne     10f
 
-11:    addl    $READERS_WAKEUP-MUTEX, %ebx
+11:    addl    $READERS_WAKEUP, %ebx
        movl    %esi, %ecx      /* movl $FUTEX_WAIT, %ecx */
        movl    $SYS_futex, %eax
        ENTER_KERNEL
 
-       subl    $READERS_WAKEUP-MUTEX, %ebx
+       subl    $READERS_WAKEUP, %ebx
 
        /* Reget the lock.  */
        movl    $1, %eax
index 10b176e..0b1cc28 100644 (file)
@@ -75,12 +75,12 @@ __pthread_rwlock_wrlock:
 #endif
        jne     10f
 
-11:    addl    $WRITERS_WAKEUP-MUTEX, %ebx
+11:    addl    $WRITERS_WAKEUP, %ebx
        movl    %esi, %ecx      /* movl $FUTEX_WAIT, %ecx */
        movl    $SYS_futex, %eax
        ENTER_KERNEL
 
-       subl    $WRITERS_WAKEUP-MUTEX, %ebx
+       subl    $WRITERS_WAKEUP, %ebx
 
        /* Reget the lock.  */
        movl    $1, %eax
index c593f6a..daece67 100644 (file)
@@ -66,7 +66,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden;
                              "testl %0, %0\n\t"                              \
                              "jne 1f\n\t"                                    \
                              ".subsection 1\n"                               \
-                             "1:\tleaq %2, %%rsi\n\t"                        \
+                             "1:\tleaq %2, %%rdi\n\t"                        \
                              "subq $128, %%rsp\n\t"                          \
                              "callq __lll_mutex_lock_wait\n\t"               \
                              "addq $128, %%rsp\n\t"                          \
@@ -75,8 +75,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden;
                              "2:"                                            \
                              : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
                              : "0" (1), "2" (futex)                          \
-                             : "memory"); })
-
+                             : "cx", "r11", "cc", "memory"); })
 
 #define lll_mutex_timedlock(futex, timeout) \
   ({ int result, ignore1, ignore2, ignore3;                                  \
@@ -95,7 +94,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden;
                       : "=a" (result), "=&D" (ignore1), "=&S" (ignore2),     \
                         "=&d" (ignore3), "=m" (futex)                        \
                       : "0" (1), "4" (futex), "m" (timeout)                  \
-                      : "memory", "cx", "cc", "r10");                        \
+                      : "memory", "cx", "cc", "r10", "r11");                 \
      result; })
 
 
@@ -113,7 +112,7 @@ extern int __lll_mutex_unlock_wait (int *__futex) attribute_hidden;
                              "2:"                                            \
                              : "=m" (futex), "=&D" (ignore)                  \
                              : "0" (futex)                                   \
-                             : "memory"); })
+                             : "cx", "r11", "cc", "memory"); })
 
 
 #define lll_mutex_islocked(futex) \
@@ -166,7 +165,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
                              "2:"                                            \
                              : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
                              : "0" (-1), "2" (futex)                         \
-                             : "memory"); })
+                             : "cx", "r11", "cc", "memory"); })
 
 
 # define lll_unlock(futex) \
@@ -183,7 +182,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
                              "2:"                                            \
                              : "=m" (futex), "=&D" (ignore)                  \
                              : "0" (futex)                                   \
-                             : "memory"); })
+                             : "cx", "r11", "cc", "memory"); })
 #else
 /* Special versions of the macros for use in libc itself.  They avoid
    the lock prefix when the thread library is not used.
@@ -219,7 +218,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
                              "2:"                                            \
                              : "=S" (ignore1), "=&D" (ignore2), "=m" (futex) \
                              : "0" (-1), "2" (futex)                         \
-                             : "memory"); })
+                             : "cx", "r11", "cc", "memory"); })
 
 
 # define lll_unlock(futex) \
@@ -239,7 +238,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
                              "2:"                                            \
                              : "=m" (futex), "=&D" (ignore)                  \
                              : "0" (futex)                                   \
-                             : "memory"); })
+                             : "cx", "r11", "cc", "memory"); })
 #endif
 
 
@@ -259,7 +258,7 @@ extern int lll_unlock_wake_cb (int *__futex) attribute_hidden;
     register __typeof (tid) _tid asm ("edx") = (tid);                        \
     if (_tid != 0)                                                           \
       __asm __volatile ("xorq %%r10, %%r10\n\t"                                      \
-                       "1:\tmovq %3, %%rax\n\t"                              \
+                       "1:\tmovq %2, %%rax\n\t"                              \
                        "syscall\n\t"                                         \
                        "cmpl $0, (%%rdi)\n\t"                                \
                        "jne 1b"                                              \
index 3c8acc1..9da9af8 100644 (file)
@@ -171,8 +171,8 @@ __pthread_cond_timedwait:
 
        movq    wakeup_seq(%rdi), %r12
 
-       cmpq    40(%rsp), %rax
-       jb      15f
+       cmpq    40(%rsp), %r12
+       jbe     15f
 
        cmpq    %rax, %r12
        ja      9f
@@ -181,10 +181,10 @@ __pthread_cond_timedwait:
        jne     8b
 
 13:    incq    wakeup_seq(%rdi)
-       movq    $ETIMEDOUT, %rsi
+       movq    $ETIMEDOUT, %r14
        jmp     14f
 
-9:     xorq    %rsi, %rsi
+9:     xorq    %r14, %r14
 14:    incq    woken_seq(%rdi)
 
        LOCK
@@ -203,7 +203,7 @@ __pthread_cond_timedwait:
        callq   __pthread_mutex_lock_internal
 
        testq   %rax, %rax
-       cmoveq  %rsi, %rax
+       cmoveq  %r14, %rax
 
 18:    addq    $80, %rsp
        popq    %r14
index 4a0e3cc..835486a 100644 (file)
@@ -198,8 +198,8 @@ __pthread_cond_wait:
 
        movq    wakeup_seq(%rdi), %r12
 
-       cmpq    24(%rsp), %rax
-       jb      8b
+       cmpq    24(%rsp), %r12
+       jbe     8b
 
        cmpq    %rax, %r12
        jna     8b
index e31d4bb..0b0ccf7 100644 (file)
@@ -67,18 +67,18 @@ __pthread_rwlock_rdlock:
 
        LOCK
 #if MUTEX == 0
-       incl    (%rdi)
+       decl    (%rdi)
 #else
-       incl    MUTEX(%rdi)
+       decl    MUTEX(%rdi)
 #endif
        jne     10f
 
-11:    addq    $READERS_WAKEUP-MUTEX, %rdi
+11:    addq    $READERS_WAKEUP, %rdi
        movq    %r10, %rsi      /* movq $FUTEX_WAIT, %rsi */
        movq    $SYS_futex, %rax
        syscall
 
-       subq    $READERS_WAKEUP-MUTEX, %rdi
+       subq    $READERS_WAKEUP, %rdi
 
        /* Reget the lock.  */
        movl    $1, %esi
index 4f487fb..a3d2351 100644 (file)
@@ -21,7 +21,7 @@
 #include <lowlevelrwlock.h>
 
 
-#define SYS_futex              240
+#define SYS_futex              202
 #define FUTEX_WAIT             0
 #define FUTEX_WAKE             1
 
@@ -57,7 +57,7 @@ __pthread_rwlock_unlock:
 5:     movq    $0, WRITER(%rdi)
 
        movq    $1, %rsi
-       leaq    WRITERS_WAKEUP(%rdi), %r11
+       leaq    WRITERS_WAKEUP(%rdi), %r10
        movq    %rsi, %rdx
        cmpl    $0, WRITERS_QUEUED(%rdi)
        jne     0f
@@ -66,10 +66,10 @@ __pthread_rwlock_unlock:
        cmpl    $0, READERS_QUEUED(%rdi)
        je      6f
 
-       movq    $0x7fffffff, %rdx
-       leaq    READERS_WAKEUP(%rdi), %r11
+       movl    $0x7fffffff, %edx
+       leaq    READERS_WAKEUP(%rdi), %r10
 
-0:     incl    (%r11)
+0:     incl    (%r10)
        LOCK
 #if MUTEX == 0
        decl    (%rdi)
@@ -79,7 +79,7 @@ __pthread_rwlock_unlock:
        jne     7f
 
 8:     movq    $SYS_futex, %rax
-       movq    %r11, %rdi
+       movq    %r10, %rdi
        syscall
 
        xorq    %rax, %rax
@@ -112,9 +112,6 @@ __pthread_rwlock_unlock:
        addq    $MUTEX, %rdi
 #endif
        callq   __lll_mutex_unlock_wake
-#if MUTEX != 0
-       subq    $MUTEX, %rdi
-#endif
        jmp     4b
 
 7:
@@ -122,9 +119,6 @@ __pthread_rwlock_unlock:
        addq    $MUTEX, %rdi
 #endif
        callq   __lll_mutex_unlock_wake
-#if MUTEX != 0
-       subq    $MUTEX, %rdi
-#endif
        jmp     8b
 
        .size   __pthread_rwlock_unlock,.-__pthread_rwlock_unlock
index 0afe46a..9e7336b 100644 (file)
@@ -71,12 +71,12 @@ __pthread_rwlock_wrlock:
 #endif
        jne     10f
 
-11:    addq    $WRITERS_WAKEUP-MUTEX, %rdi
+11:    addq    $WRITERS_WAKEUP, %rdi
        movq    %r10, %rsi      /* movq $FUTEX_WAIT, %rsi */
        movq    $SYS_futex, %rax
        syscall
 
-       subq    $WRITERS_WAKEUP-MUTEX, %rdi
+       subq    $WRITERS_WAKEUP, %rdi
 
        /* Reget the lock.  */
        movl    $1, %esi
@@ -99,7 +99,7 @@ __pthread_rwlock_wrlock:
 #if MUTEX == 0
        decl    (%rdi)
 #else
-       decl    $MUTEX(%rdi)
+       decl    MUTEX(%rdi)
 #endif
        jne     6f
 7: