aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2004-10-01 21:37:29 +0000
committerJakub Jelinek <jakub@redhat.com>2004-10-01 21:37:29 +0000
commit6d96590587deec027c04fe576f11cff0f445eb32 (patch)
treea0b964a672b5e970d88a8f030da837ce14885aae
parentb7a09b9201b09b722209cb430813709505927be0 (diff)
downloadglibc-cvs/fedora-glibc-2_3_3-63.zip
glibc-cvs/fedora-glibc-2_3_3-63.tar.gz
glibc-cvs/fedora-glibc-2_3_3-63.tar.bz2
Updated to fedora-glibc-20041001T2134cvs/fedora-glibc-2_3_3-63
-rw-r--r--ChangeLog7
-rw-r--r--fedora/branch.mk4
-rw-r--r--fedora/glibc.spec.in7
-rw-r--r--nptl/ChangeLog3
-rw-r--r--nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S2
-rw-r--r--nscd/nscd_initgroups.c29
-rw-r--r--posix/bug-glob1.c12
7 files changed, 41 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog
index 0e6269c..0f691c3 100644
--- 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.
diff --git a/fedora/branch.mk b/fedora/branch.mk
index 763b4cf..748fba0 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -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
diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index c2c4afe..7830e73 100644
--- a/fedora/glibc.spec.in
+++ b/fedora/glibc.spec.in
@@ -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
@@ -1241,6 +1241,11 @@ rm -f *.filelist*
%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)
* Thu Sep 30 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-61
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index da7d842..90c7d5f 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -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.
diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
index 6827804..d5c9345 100644
--- a/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
+++ b/nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
@@ -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
diff --git a/nscd/nscd_initgroups.c b/nscd/nscd_initgroups.c
index ea32ab6..d6cb000 100644
--- a/nscd/nscd_initgroups.c
+++ b/nscd/nscd_initgroups.c
@@ -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)
diff --git a/posix/bug-glob1.c b/posix/bug-glob1.c
index 4f7e981..05c2da7 100644
--- a/posix/bug-glob1.c
+++ b/posix/bug-glob1.c
@@ -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);
}