about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-12-12 20:28:46 +0000
committerJakub Jelinek <jakub@redhat.com>2007-12-12 20:28:46 +0000
commit1716edfc192b29f8cec407e3eebfbe84e28f70e4 (patch)
treefe6618670f8f6469186eca108fc944d3317d83aa
parent574e283890a6ca92325a06dafa76ff307a8019a2 (diff)
downloadglibc-1716edfc192b29f8cec407e3eebfbe84e28f70e4.tar.gz
glibc-1716edfc192b29f8cec407e3eebfbe84e28f70e4.tar.xz
glibc-1716edfc192b29f8cec407e3eebfbe84e28f70e4.zip
Updated to fedora-glibc-20071212T1953
-rw-r--r--ChangeLog24
-rw-r--r--NEWS4
-rw-r--r--fedora/branch.mk4
-rw-r--r--fedora/glibc.spec.in2
-rw-r--r--io/fchmodat.c4
-rw-r--r--nptl/ChangeLog2
-rw-r--r--nptl/tst-basic7.c18
-rw-r--r--posix/regcomp.c2
-rw-r--r--sysdeps/i386/i486/bits/string.h7
-rw-r--r--sysdeps/s390/bits/string.h14
-rw-r--r--time/bug-getdate1.c6
-rw-r--r--time/mktime.c4
12 files changed, 77 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 62141b67f4..d0d35d8949 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2007-12-01  Jim Meyering  <meyering@redhat.com>
+
+	* posix/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
+	that would inhibit utf8-optimization of a regexp containing line-
+	or buffer-anchors, e.g., `^', `$'.
+
+2007-12-12  Ulrich Drepper  <drepper@redhat.com>
+
+	* time/bug-getdate1.c (do_test): Don't use century values which
+	aren't valid on 32-bit systems.
+
+2007-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+	* sysdeps/i386/i486/bits/string.h (memmove): Define as macro.
+	(memmove): Rename to __memmove_g, with __asm__ ("memmove").
+	* sysdeps/s390/bits/string.h (__strlen_g, __strcpy_g, __strncpy_g,
+	__strcat_g, __strncat_g): Add __asm__.
+
+2007-12-12  Ulrich Drepper  <drepper@redhat.com>
+
+	[BZ #5477]
+	* io/fchmodat.c: Fix typo in stub_warning use.
+	Patch by Petr Salinger.
+
 2007-12-11  Ulrich Drepper  <drepper@redhat.com>
 
 	* iconvdata/hp-thai8.c: New file.
diff --git a/NEWS b/NEWS
index c137977adf..1f56704135 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2007-12-07
+GNU C Library NEWS -- history of user-visible changes.  2007-12-12
 Copyright (C) 1992-2006, 2007 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -9,7 +9,7 @@ Version 2.8
 
 * New locales: bo_CN, bo_IN.
 
-* New encoding: HP-ROMAN9.
+* New encoding: HP-ROMAN9, HP-GREEK8, HP-THAI8, HP-TURKISH8.
 
 Version 2.7
 
diff --git a/fedora/branch.mk b/fedora/branch.mk
index 4de9226b80..a411c7dbe3 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -3,5 +3,5 @@ glibc-branch := fedora
 glibc-base := HEAD
 DIST_BRANCH := devel
 COLLECTION := dist-f8
-fedora-sync-date := 2007-12-12 10:51 UTC
-fedora-sync-tag := fedora-glibc-20071212T1051
+fedora-sync-date := 2007-12-12 19:53 UTC
+fedora-sync-tag := fedora-glibc-20071212T1953
diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index 6905a490b9..ffa7026789 100644
--- a/fedora/glibc.spec.in
+++ b/fedora/glibc.spec.in
@@ -1012,6 +1012,8 @@ rm -f *.filelist*
 %changelog
 * Wed Dec 12 2007 Jakub Jelinek <jakub@redhat.com> 2.7.90-1
 - update to trunk
+  - fix __USE_STRING_INLINES on i?86 (#408731, #371711)
+  - fix *scanf (#388751)
 
 * Wed Oct 17 2007 Jakub Jelinek <jakub@redhat.com> 2.7-1
 - glibc 2.7 release
diff --git a/io/fchmodat.c b/io/fchmodat.c
index 6aecf2ac23..6a40f5baff 100644
--- a/io/fchmodat.c
+++ b/io/fchmodat.c
@@ -1,5 +1,5 @@
 /* Change the protections of file relative to open directory.  Stub version.
-   Copyright (C) 2006 Free Software Foundation, Inc.
+   Copyright (C) 2006, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -45,6 +45,6 @@ fchmodat (fd, file, mode, flag)
   __set_errno (ENOSYS);
   return -1;
 }
-stub_warning (fchownat)
+stub_warning (fchmodat)
 
 #include <stub-tag.h>
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 9e0e839f19..0885fe6d9e 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,5 +1,7 @@
 2007-12-12  Ulrich Drepper  <drepper@redhat.com>
 
+	* tst-basic7.c: Allocate memory for the stack.
+
 	[BZ #5465]
 	* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S [!SHARED]
 	(__pthread_cond_timedwait): Don't use VDSO.
diff --git a/nptl/tst-basic7.c b/nptl/tst-basic7.c
index da461e43df..ff6b36be42 100644
--- a/nptl/tst-basic7.c
+++ b/nptl/tst-basic7.c
@@ -7,6 +7,21 @@
 #include <sys/mman.h>
 #include <sys/resource.h>
 
+static void use_stack (size_t needed);
+
+void (*use_stack_ptr) (size_t) = use_stack;
+
+static void
+use_stack (size_t needed)
+{
+  size_t sz = sysconf (_SC_PAGESIZE);
+  char *buf = alloca (sz);
+  memset (buf, '\0', sz);
+
+  if (needed > sz)
+    use_stack_ptr (needed  - sz);
+}
+
 static void
 use_up_memory (void)
 {
@@ -38,6 +53,9 @@ do_test (void)
   int err;
   pthread_t tid;
 
+  /* Allocate the memory needed for the stack.  */
+  use_stack_ptr (PTHREAD_STACK_MIN);
+
   use_up_memory ();
 
   err = pthread_create (&tid, NULL, child, NULL);
diff --git a/posix/regcomp.c b/posix/regcomp.c
index 4cf168821c..f4eab3adbd 100644
--- a/posix/regcomp.c
+++ b/posix/regcomp.c
@@ -1030,7 +1030,7 @@ optimize_utf8 (re_dfa_t *dfa)
 	  mb_chars = 1;
 	break;
       case ANCHOR:
-	switch (dfa->nodes[node].opr.idx)
+	switch (dfa->nodes[node].opr.ctx_type)
 	  {
 	  case LINE_FIRST:
 	  case LINE_LAST:
diff --git a/sysdeps/i386/i486/bits/string.h b/sysdeps/i386/i486/bits/string.h
index cf5f4847fa..9f05c7e655 100644
--- a/sysdeps/i386/i486/bits/string.h
+++ b/sysdeps/i386/i486/bits/string.h
@@ -145,8 +145,13 @@ __memcpy_g (void *__dest, __const void *__src, size_t __n)
 #ifndef _FORCE_INLINES
 /* Copy N bytes of SRC to DEST, guaranteeing
    correct behavior for overlapping strings.  */
+#define memmove(dest, src, n) __memmove_g (dest, src, n)
+
+__STRING_INLINE void *__memmove_g (void *, __const void *, size_t)
+     __asm__ ("memmove");
+
 __STRING_INLINE void *
-memmove (void *__dest, __const void *__src, size_t __n)
+__memmove_g (void *__dest, __const void *__src, size_t __n)
 {
   register unsigned long int __d0, __d1, __d2;
   register void *__tmp = __dest;
diff --git a/sysdeps/s390/bits/string.h b/sysdeps/s390/bits/string.h
index b2a3ba9c98..49103b9438 100644
--- a/sysdeps/s390/bits/string.h
+++ b/sysdeps/s390/bits/string.h
@@ -42,6 +42,8 @@
 #ifndef _FORCE_INLINES
 #define strlen(str) __strlen_g ((str))
 
+__STRING_INLINE size_t __strlen_g (__const char *) __asm__ ("strlen");
+
 __STRING_INLINE size_t
 __strlen_g (__const char *__str)
 {
@@ -63,6 +65,8 @@ __strlen_g (__const char *__str)
 #ifndef _FORCE_INLINES
 #define strcpy(dest, src) __strcpy_g ((dest), (src))
 
+__STRING_INLINE char *__strcpy_g (char *, __const char *) __asm ("strcpy");
+
 __STRING_INLINE char *
 __strcpy_g (char *__dest, __const char *__src)
 {
@@ -81,6 +85,9 @@ __strcpy_g (char *__dest, __const char *__src)
 #ifndef _FORCE_INLINES
 #define strncpy(dest, src, n) __strncpy_g ((dest), (src), (n))
 
+__STRING_INLINE char *__strncpy_g (char *, __const char *, size_t)
+     __asm__ ("strncpy");
+
 __STRING_INLINE char *
 __strncpy_g (char *__dest, __const char *__src, size_t __n)
 {
@@ -122,8 +129,10 @@ __strncpy_g (char *__dest, __const char *__src, size_t __n)
 #ifndef _FORCE_INLINES
 #define strcat(dest, src) __strcat_g ((dest), (src))
 
+__STRING_INLINE char *__strcat_g (char *, __const char *) __asm__ ("strcat");
+
 __STRING_INLINE char *
-__strcat_g(char *__dest, const char *__src)
+__strcat_g (char *__dest, __const char *__src)
 {
     char *__ret = __dest;
     char *__ptr, *__tmp;
@@ -152,6 +161,9 @@ __strcat_g(char *__dest, const char *__src)
 #ifndef _FORCE_INLINES
 #define strncat(dest, src, n) __strncat_g ((dest), (src), (n))
 
+__STRING_INLINE char *__strncat_g (char *, __const char *, size_t)
+     __asm__ ("strncat");
+
 __STRING_INLINE char *
 __strncat_g (char *__dest, __const char *__src, size_t __n)
 {
diff --git a/time/bug-getdate1.c b/time/bug-getdate1.c
index 7da88f4548..3d68cf2a79 100644
--- a/time/bug-getdate1.c
+++ b/time/bug-getdate1.c
@@ -115,13 +115,13 @@ do_test (int argc, char *argv[])
   res |= process_getdate_on ("25 3");
 
   output_to_template_file ("%C");
-  res |= process_getdate_on ("98");
+  res |= process_getdate_on ("20");
 
   output_to_template_file ("%C %y %m");
-  res |= process_getdate_on ("98 3 2");
+  res |= process_getdate_on ("20 3 2");
 
   output_to_template_file ("%C %y");
-  res |= process_getdate_on ("21 5");
+  res |= process_getdate_on ("20 5");
 
   /*
    * The following testcase reproduces the problem:
diff --git a/time/mktime.c b/time/mktime.c
index 8f00c72e09..e299375a16 100644
--- a/time/mktime.c
+++ b/time/mktime.c
@@ -1,5 +1,5 @@
 /* Convert a `struct tm' to a time_t value.
-   Copyright (C) 1993-1999, 2002-2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1993-1999, 2002-2006, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Paul Eggert <eggert@twinsun.com>.
 
@@ -372,7 +372,7 @@ __mktime_internal (struct tm *tp,
       int diff = approx_biennia - approx_requested_biennia;
       int abs_diff = diff < 0 ? - diff : diff;
 
-      /* IRIX 4.0.5 cc miscaculates TIME_T_MIN / 3: it erroneously
+      /* IRIX 4.0.5 cc miscalculates TIME_T_MIN / 3: it erroneously
 	 gives a positive value of 715827882.  Setting a variable
 	 first then doing math on it seems to work.
 	 (ghazi@caip.rutgers.edu) */