]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Updated to fedora-glibc-20061110T1956
authorJakub Jelinek <jakub@redhat.com>
Fri, 10 Nov 2006 20:04:37 +0000 (20:04 +0000)
committerJakub Jelinek <jakub@redhat.com>
Fri, 10 Nov 2006 20:04:37 +0000 (20:04 +0000)
ChangeLog
fedora/branch.mk
fedora/glibc.spec.in
po/sv.po
posix/unistd.h
string/strxfrm_l.c
string/tst-strxfrm2.c
sysdeps/gnu/siglist.c
sysdeps/i386/fpu/bits/mathinline.h
sysdeps/unix/sysv/linux/i386/sysconf.c
sysdeps/unix/sysv/linux/x86_64/sysconf.c

index ba1c875975bdc241693fdd7f5aa4307373497d3f..791b786cb0e8df085818f849fd7e2909550ca291 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,44 @@
+2006-11-10  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #3451]
+       * sysdeps/i386/fpu/bits/mathinline.h (floor): Make rounding mode
+       change atomic.
+       (ceil): Likewise.
+
+2006-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * string/strxfrm_l.c (STRXFRM): Fix trailing \1 optimization
+       if N is one bigger than return value.
+       * string/tst-strxfrm2.c (do_test): Also test strxfrm with l1 + 1
+       and l1 last arguments, if buf is defined, verify the return value
+       equals to strlen (buf) and verify no byte beyond passed length
+       is modified.
+
+2006-11-10  Ulrich Drepper  <drepper@redhat.com>
+
+       * po/sv.po: Update from translation team.
+
 2006-11-09  Ulrich Drepper  <drepper@redhat.com>
 
+       * sysdeps/unix/sysv/linux/x86_64/sysconf.c (intel_check_word): Add
+       noinline attribute.
+
+2006-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word): Add
+       noinline attribute.
+
+       * sysdeps/gnu/siglist.c (__old_sys_siglist, __old_sys_sigabbrev):
+       Use __new_sys_siglist instead of _sys_siglist_internal as
+       second macro argument.
+       (_old_sys_siglist): Use declare_symbol_alias macro instead of
+       strong_alias.
+
+2006-11-09  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #3493]
+       * posix/unistd.h (sysconf): Remove const attribute.
+
        * sysdeps/posix/getaddrinfo.c (getaddrinfo): Fix test for
        temporary or deprecated addresses.
        Patch by Sridhar Samudrala <sri@us.ibm.com>.
index 6226cbbad1fceb3937a8f6a31f427681ca4ae298..1762b85308912d27f9707e1ec045438add4284e9 100644 (file)
@@ -3,5 +3,5 @@ glibc-branch := fedora
 glibc-base := HEAD
 DIST_BRANCH := devel
 COLLECTION := dist-fc4
-fedora-sync-date := 2006-11-09 20:48 UTC
-fedora-sync-tag := fedora-glibc-20061109T2048
+fedora-sync-date := 2006-11-10 19:56 UTC
+fedora-sync-tag := fedora-glibc-20061110T1956
index da2d43898e146d8d26a078bf73f001323459441f..0b99a9e00e1191e1d2eb6ef14c83dbfa6d02857f 100644 (file)
@@ -1,4 +1,4 @@
-%define glibcrelease 5
+%define glibcrelease 6
 %define auxarches i586 i686 athlon sparcv9 alphaev6
 %define xenarches i686 athlon
 %ifarch %{xenarches}
@@ -1529,6 +1529,10 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Fri Nov 10 2006 Jakub Jelinek <jakub@redhat.com> 2.5.90-6
+- fix strxfrm fix
+- fix i?86 floor and ceil inlines (BZ#3451)
+
 * Thu Nov  9 2006 Jakub Jelinek <jakub@redhat.com> 2.5.90-5
 - fix sysconf (_SC_LEVEL{2,3}_CACHE_SIZE) on Intel Core Duo
   CPUs
index 37a6af79b988a38fe758581836b14ad7d1dfd22b..6aeb308fe53aa9b05b306edcd51fc883b1952254 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,13 +1,13 @@
 # GNU libc message catalog for swedish
 # Copyright © 1996, 1998, 2001, 2002, 2003, 2006 Free Software Foundation, Inc.
 # Jan Djärv <jan.h.d@swipnet.se>, 1996, 1998, 2001, 2002, 2003, 2006.
-# Revision: 1.51
+# Revision: 1.52
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: libc 2.5\n"
 "POT-Creation-Date: 2006-09-29 11:38-0700\n"
-"PO-Revision-Date: 2006-11-01 08:40+0100\n"
+"PO-Revision-Date: 2006-11-09 13:51+0100\n"
 "Last-Translator: Jan Djärv <jan.h.d@swipnet.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "MIME-Version: 1.0\n"
@@ -141,6 +141,7 @@ msgid ""
 msgstr ""
 "För felrapporteringsinstruktioner, se:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
+"Rapportera fel eller synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
 
 #: catgets/gencat.c:245 debug/xtrace.sh:64 elf/ldconfig.c:285
 #: elf/ldd.bash.in:39 elf/sprof.c:355 iconv/iconv_prog.c:425
@@ -946,7 +947,8 @@ msgstr ""
 "  -u, --unused            skriv ut oanvända direkta beroenden\n"
 "  -v, --verbose           skriv all information\n"
 "För felrapporteringsinstruktioner, se:\n"
-"<http://www.gnu.org/software/libc/bugs.html>."
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+"Rapportera fel eller synpunkter på översättningen till <tp-sv@listor.tp-sv.se>."
 
 #: elf/ldd.bash.in:80
 msgid "ldd: option `$1' is ambiguous"
@@ -1048,7 +1050,7 @@ msgstr "%s är inte en ELF-fil, den har inte rätt magiskt tal i början.\n"
 
 #: elf/sprof.c:77
 msgid "Output selection:"
-msgstr "Välj utdata:"
+msgstr "Val av utdata:"
 
 #: elf/sprof.c:79
 msgid "print list of count paths and their number of use"
@@ -1069,6 +1071,7 @@ msgid ""
 msgstr ""
 "Läs och visa profildata för delat objekt.\vFör felrapporteringsinstruktioner, se:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
+"Rapportera fel eller synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
 
 #: elf/sprof.c:94
 msgid "SHOBJ [PROFDATA]"
@@ -1212,7 +1215,7 @@ msgstr "visa alla kända teckenuppsättningar"
 
 #: iconv/iconv_prog.c:64 locale/programs/localedef.c:126
 msgid "Output control:"
-msgstr "Styr utdata:"
+msgstr "Val av utdata:"
 
 #: iconv/iconv_prog.c:65
 msgid "omit invalid characters from output"
@@ -1311,7 +1314,7 @@ msgstr ""
 
 #: iconv/iconvconfig.c:109
 msgid "Create fastloading iconv module configuration file."
-msgstr "Skapa en konfigurationsfil för snabbladdning av modul \"iconv\""
+msgstr "Skapa en snabbladdande modulkonfigurationsfil för iconv."
 
 #: iconv/iconvconfig.c:113
 msgid "[DIR...]"
@@ -2418,6 +2421,7 @@ msgid ""
 msgstr ""
 "Hämta lokalspecifik information.\vFör felrapporteringsinstruktioner, se:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
+"Rapportera fel eller synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
 
 #: locale/programs/locale.c:91
 msgid ""
@@ -2881,7 +2885,8 @@ msgstr ""
 "motsvarande korta.\n"
 "\n"
 "För felrapporteringsinstruktioner, se:\n"
-"<http://www.gnu.org/software/libc/bugs.html>."
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+"Rapportera fel eller synpunkter på översättningen till <tp-sv@listor.tp-sv.se>."
 
 #: malloc/memusage.sh:90
 msgid ""
@@ -4212,6 +4217,7 @@ msgid ""
 msgstr ""
 "Hämta poster från den administrativa databasen\vFör felrapporteringsinstruktioner, se:\n"
 "<http://www.gnu.org/software/libc/bugs.html>.\n"
+"Rapportera fel eller synpunkter på översättningen till <tp-sv@listor.tp-sv.se>.\n"
 
 #: nss/getent.c:145 nss/getent.c:394
 #, c-format
index b751928b1e566311ea9b8af7412527442e8d1a89..c74190dfc34cc46d56f3e36ceddfd9bb23da4a1f 100644 (file)
@@ -559,7 +559,7 @@ extern long int pathconf (__const char *__path, int __name)
 extern long int fpathconf (int __fd, int __name) __THROW;
 
 /* Get the value of the system variable NAME.  */
-extern long int sysconf (int __name) __THROW __attribute__ ((__const__));
+extern long int sysconf (int __name) __THROW;
 
 #ifdef __USE_POSIX2
 /* Get the value of the string-valued system variable NAME.  */
index f158833f054f0e318ff45c91bf7a5cc13fd33cca..20f2f149bdea97134b6db5360aa4c74564847247 100644 (file)
@@ -432,7 +432,7 @@ STRXFRM (STRING_TYPE *dest, const STRING_TYPE *src, size_t n, __locale_t l)
   if (needed > 2 && needed == last_needed + 1)
     {
       /* Remove the \1 byte.  */
-      if (--needed < n)
+      if (--needed <= n)
        dest[needed - 1] = L('\0');
     }
 
index 31fc42cc931602a07fc7cbf2363b5abfd2e06965..d5a1115338b7c12c483e26b5a37a2fde498fb275 100644 (file)
@@ -7,14 +7,34 @@ do_test (void)
 {
   int res = 0;
 
-  char buf[10];
+  char buf[20];
   size_t l1 = strxfrm (NULL, "ab", 0);
   size_t l2 = strxfrm (buf, "ab", 1);
   size_t l3 = strxfrm (buf, "ab", sizeof (buf));
+  if (l3 < sizeof (buf) && strlen (buf) != l3)
+    {
+      puts ("C locale l3 test failed");
+      res = 1;
+    }
+
+  size_t l4 = strxfrm (buf, "ab", l1 + 1);
+  if (l4 < l1 + 1 && strlen (buf) != l4)
+    {
+      puts ("C locale l4 test failed");
+      res = 1;
+    }
+
+  buf[l1] = 'Z';
+  size_t l5 = strxfrm (buf, "ab", l1);
+  if (buf[l1] != 'Z')
+    {
+      puts ("C locale l5 test failed");
+      res = 1;
+    }
 
-  if (l1 != l2 || l1 != l3)
+  if (l1 != l2 || l1 != l3 || l1 != l4 || l1 != l5)
     {
-      puts ("C locale test failed");
+      puts ("C locale retval test failed");
       res = 1;
     }
 
@@ -28,10 +48,30 @@ do_test (void)
       l1 = strxfrm (NULL, "ab", 0);
       l2 = strxfrm (buf, "ab", 1);
       l3 = strxfrm (buf, "ab", sizeof (buf));
+      if (l3 < sizeof (buf) && strlen (buf) != l3)
+       {
+         puts ("UTF-8 locale l3 test failed");
+         res = 1;
+       }
+
+      l4 = strxfrm (buf, "ab", l1 + 1);
+      if (l4 < l1 + 1 && strlen (buf) != l4)
+       {
+         puts ("UTF-8 locale l4 test failed");
+         res = 1;
+       }
+
+      buf[l1] = 'Z';
+      l5 = strxfrm (buf, "ab", l1);
+      if (buf[l1] != 'Z')
+       {
+         puts ("UTF-8 locale l5 test failed");
+         res = 1;
+       }
 
-      if (l1 != l2 || l1 != l3)
+      if (l1 != l2 || l1 != l3 || l1 != l4 || l1 != l5)
        {
-         puts ("UTF-8 locale test failed");
+         puts ("UTF-8 locale retval test failed");
          res = 1;
        }
     }
index b8d37968e09305c3ac689e74b837d777a610d946..3005f867f0d1e7b98f03916eac8a9f3885883469 100644 (file)
@@ -40,13 +40,15 @@ const char *const __new_sys_sigabbrev[NSIG] =
 strong_alias (__new_sys_sigabbrev, _sys_sigabbrev_internal)
 
 #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
-declare_symbol_alias (__old_sys_siglist, _sys_siglist_internal, object,
+declare_symbol_alias (__old_sys_siglist, __new_sys_siglist, object,
                      OLD_SIGLIST_SIZE * __WORDSIZE / 8)
 
-declare_symbol_alias (__old_sys_sigabbrev, _sys_sigabbrev_internal, object,
+declare_symbol_alias (__old_sys_sigabbrev, __new_sys_sigabbrev, object,
+                     OLD_SIGLIST_SIZE * __WORDSIZE / 8)
+
+declare_symbol_alias (_old_sys_siglist, __new_sys_siglist, object,
                      OLD_SIGLIST_SIZE * __WORDSIZE / 8)
 
-strong_alias (__old_sys_siglist, _old_sys_siglist)
 compat_symbol (libc, __old_sys_siglist, _sys_siglist, GLIBC_2_0);
 compat_symbol (libc, _old_sys_siglist, sys_siglist, GLIBC_2_0);
 compat_symbol (libc, __old_sys_sigabbrev, sys_sigabbrev, GLIBC_2_0);
index e04ce95099b3759837f33f9a7d959ed5ae303276..8e7a867ec63202ad93b0d17a03215e2cfb3193d7 100644 (file)
@@ -1,5 +1,5 @@
 /* Inline math functions for i387.
-   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
+   Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2006
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by John C. Bowman <bowman@math.ualberta.ca>, 1995.
@@ -529,24 +529,36 @@ __inline_mathcodeNP (tanh, __x, \
 
 __inline_mathcodeNP (floor, __x, \
   register long double __value;                                                      \
-  __volatile unsigned short int __cw;                                        \
-  __volatile unsigned short int __cwtmp;                                     \
-  __asm __volatile ("fnstcw %0" : "=m" (__cw));                                      \
-  __cwtmp = (__cw & 0xf3ff) | 0x0400; /* rounding down */                    \
-  __asm __volatile ("fldcw %0" : : "m" (__cwtmp));                           \
-  __asm __volatile ("frndint" : "=t" (__value) : "0" (__x));                 \
-  __asm __volatile ("fldcw %0" : : "m" (__cw));                                      \
+  register int __ignore;                                                     \
+  unsigned short int __cw;                                                   \
+  unsigned short int __cwtmp;                                                \
+  __asm __volatile ("fnstcw %4\n\t"                                          \
+                   "movzwl %4, %1\n\t"                                       \
+                   "andl $0xf3ff, %1\n\t"                                    \
+                   "orl $0x0400, %1\n\t"       /* rounding down */           \
+                   "movw %1, %3\n\t"                                         \
+                   "fldcw %3\n\t"                                            \
+                   "frndint\n\t"                                             \
+                   "fldcw %4"                                                \
+                   : "=t" (__value), "=&q" (__ignore)                        \
+                   : "0" (__x), "m" (__cwtmp), "m" (__cw));                  \
   return __value)
 
 __inline_mathcodeNP (ceil, __x, \
   register long double __value;                                                      \
-  __volatile unsigned short int __cw;                                        \
-  __volatile unsigned short int __cwtmp;                                     \
-  __asm __volatile ("fnstcw %0" : "=m" (__cw));                                      \
-  __cwtmp = (__cw & 0xf3ff) | 0x0800; /* rounding up */                              \
-  __asm __volatile ("fldcw %0" : : "m" (__cwtmp));                           \
-  __asm __volatile ("frndint" : "=t" (__value) : "0" (__x));                 \
-  __asm __volatile ("fldcw %0" : : "m" (__cw));                                      \
+  register int __ignore;                                                     \
+  unsigned short int __cw;                                                   \
+  unsigned short int __cwtmp;                                                \
+  __asm __volatile ("fnstcw %4\n\t"                                          \
+                   "movzwl %4, %1\n\t"                                       \
+                   "andl $0xf3ff, %1\n\t"                                    \
+                   "orl $0x0800, %1\n\t"       /* rounding up */             \
+                   "movw %1, %3\n\t"                                         \
+                   "fldcw %3\n\t"                                            \
+                   "frndint\n\t"                                             \
+                   "fldcw %4"                                                \
+                   : "=t" (__value), "=&q" (__ignore)                        \
+                   : "0" (__x), "m" (__cwtmp), "m" (__cw));                  \
   return __value)
 
 #ifdef __FAST_MATH__
index c9d7f77a0001998f78e75396c7992bda989b47d2..2ffbd5227bc53691669ec5d559d0ff2fff095570 100644 (file)
@@ -140,6 +140,7 @@ intel_02_known_compare (const void *p1, const void *p2)
 
 
 static long int
+__attribute__ ((noinline))
 intel_check_word (int name, unsigned int value, bool *has_level_2,
                  bool *no_level_2_or_3)
 {
index 80c982aa3be99da332b7ee3f29c0206abdf6c341..5a898b7857223ebe8dd596280de2338a95121787 100644 (file)
@@ -101,6 +101,7 @@ intel_02_known_compare (const void *p1, const void *p2)
 
 
 static long int
+__attribute__ ((noinline))
 intel_check_word (int name, unsigned int value, bool *has_level_2,
                  bool *no_level_2_or_3)
 {