]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Updated to fedora-glibc-20041001T2134 cvs/fedora-glibc-2_3_3-63
authorJakub Jelinek <jakub@redhat.com>
Fri, 1 Oct 2004 21:37:29 +0000 (21:37 +0000)
committerJakub Jelinek <jakub@redhat.com>
Fri, 1 Oct 2004 21:37:29 +0000 (21:37 +0000)
ChangeLog
fedora/branch.mk
fedora/glibc.spec.in
nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
nscd/nscd_initgroups.c
posix/bug-glob1.c

index 0e6269c659609dd2b9b5b9bb371adcd2cda69eab..0f691c3dbd1622c6dd22d0902a3be191d2c7066a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-10-01  Ulrich Drepper  <drepper@redhat.com>
+
+       * nscd/nscd_initgroups.c (__nscd_getgrouplist): Always add the
+       group the caller provided unless there is a real problem.
+
+       * posix/bug-glob1.c (prepare): Fix creation of symlink.
+
 2004-09-30  Ulrich Drepper  <drepper@redhat.com>
 
        * posix/Makefile: Add rules to build and run bug-glob1.
index 763b4cf6994115e99062743d532cc97f2e2a3c98..748fba08094868ac868c73459144fa48bec579ab 100644 (file)
@@ -1,5 +1,5 @@
 # This file is updated automatically by Makefile.
 glibc-branch := fedora
 glibc-base := HEAD
-fedora-sync-date := 2004-10-01 11:34 UTC
-fedora-sync-tag := fedora-glibc-20041001T1134
+fedora-sync-date := 2004-10-01 21:34 UTC
+fedora-sync-tag := fedora-glibc-20041001T2134
index c2c4afea28e44897168ef3e4de9f2a2232059e3a..7830e73fa2375bd1c5115917155aa160cba03caa 100644 (file)
@@ -1,4 +1,4 @@
-%define glibcrelease 62
+%define glibcrelease 63
 %define auxarches i586 i686 athlon sparcv9 alphaev6
 %define prelinkarches noarch
 %define nptlarches i386 i686 athlon x86_64 ia64 s390 s390x sparcv9 ppc ppc64
@@ -1239,6 +1239,11 @@ rm -f *.filelist*
 %endif
 
 %changelog
+* Fri Oct  1 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-62
+- update from CVS
+  - fix __nscd_getgrouplist
+  - fix a typo in x86_64 pthread_mutex_timedwait fix
+
 * Fri Oct  1 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-62
 - update from CVS
   - fix NPTL pthread_mutex_timedwait on i386/x86_64 (BZ #417)
index da7d842b36ccf8bfce6aef8fe99d51230c46a5c8..90c7d5fb211b34da21d9b62c195a65c1173e57cf 100644 (file)
@@ -1,5 +1,8 @@
 2004-10-01  Ulrich Drepper  <drepper@redhat.com>
 
+       * sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
+       (__lll_mutex_timedlock_wait): Address futex correctly.
+
        * sysdeps/unix/sysv/linux/i386/i486/lowlevellock.S
        (__lll_mutex_timedlock_wait): I woken but cannot get the lock,
        make sure 2 is stored in the futex and we looked at the old value.
index 6827804f7fff134421e9f535d218054df1b38d6f..d5c9345558e4d83b20bd121ba565b9f36fd1fbf8 100644 (file)
@@ -152,7 +152,7 @@ __lll_mutex_timedlock_wait:
 
        /* Make sure the current holder knows we are going to sleep.  */
        movl    %edx, %eax
-       xchgl   %eax, (%ebx)
+       xchgl   %eax, (%rdi)
        testl   %eax, %eax
        jz      6b
        jmp     1b
index ea32ab6bccae7624a717ba025f1661fbb56177be..d6cb00000ecc10c1e10e30d5270a2b8a05ed0cf2 100644 (file)
@@ -95,6 +95,7 @@ __nscd_getgrouplist (const char *user, gid_t group, long int *size,
         doesn't use memcpy but instead copies each array element one
         by one.  */
       assert (sizeof (int32_t) == sizeof (gid_t));
+      assert (initgr_resp->ngrps > 0);
 
       /* Make sure we have enough room.  We always count GROUP in even
         though we might not end up adding it.  */
@@ -125,25 +126,21 @@ __nscd_getgrouplist (const char *user, gid_t group, long int *size,
          retval = initgr_resp->ngrps;
          memcpy (*groupsp, respdata, retval * sizeof (gid_t));
        }
-
-      /* Check whether GROUP is part of the mix.  If not, add it.  */
-      if (retval >= 0)
-       {
-         int cnt;
-         for (cnt = 0; cnt < retval; ++cnt)
-           if ((*groupsp)[cnt] == group)
-             break;
-
-         if (cnt == retval)
-           (*groupsp)[retval++] = group;
-       }
     }
   else
+    /* No group found yet.   */
+    retval = 0;
+
+  /* Check whether GROUP is part of the mix.  If not, add it.  */
+  if (retval >= 0)
     {
-      /* The `errno' to some value != ERANGE.  */
-      __set_errno (ENOENT);
-      /* Even though we have not found anything, the result is zero.  */
-      retval = 0;
+      int cnt;
+      for (cnt = 0; cnt < retval; ++cnt)
+       if ((*groupsp)[cnt] == group)
+         break;
+
+      if (cnt == retval)
+       (*groupsp)[retval++] = group;
     }
 
   if (sock != -1)
index 4f7e981c75bab59558a86377a706ad90a45046b5..05c2da7584f863acb6ecac23d57404f120751871 100644 (file)
@@ -26,15 +26,21 @@ prepare (int argc, char *argv[])
 
   size_t len = strlen (argv[1]);
   static const char ext[] = "globXXXXXX";
-  fname = malloc (len + 1 + sizeof (ext));
+  fname = malloc (len + sizeof (ext));
   if (fname == NULL)
     error (EXIT_FAILURE, errno, "cannot create temp file");
-  strcpy (stpcpy (stpcpy (fname, argv[1]), "/"), ext);
+ again:
+  strcpy (stpcpy (fname, argv[1]), ext);
   fname = mktemp (fname);
   if (fname == NULL || *fname == '\0')
     error (EXIT_FAILURE, errno, "cannot create temp file name");
   if (symlink ("bug-glob1-does-not-exist", fname) != 0)
-    error (EXIT_FAILURE, errno, "cannot create symlink");
+    {
+      if (errno == EEXIST)
+       goto again;
+
+      error (EXIT_FAILURE, errno, "cannot create symlink");
+    }
   add_temp_file (fname);
 }