+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>.
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
-%define glibcrelease 5
+%define glibcrelease 6
%define auxarches i586 i686 athlon sparcv9 alphaev6
%define xenarches i686 athlon
%ifarch %{xenarches}
%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
# 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"
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
" -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"
#: 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"
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]"
#: 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"
#: 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...]"
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 ""
"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 ""
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
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. */
if (needed > 2 && needed == last_needed + 1)
{
/* Remove the \1 byte. */
- if (--needed < n)
+ if (--needed <= n)
dest[needed - 1] = L('\0');
}
{
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;
}
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;
}
}
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);
/* 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.
__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__
static long int
+__attribute__ ((noinline))
intel_check_word (int name, unsigned int value, bool *has_level_2,
bool *no_level_2_or_3)
{
static long int
+__attribute__ ((noinline))
intel_check_word (int name, unsigned int value, bool *has_level_2,
bool *no_level_2_or_3)
{