Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 17 Feb 2004 07:08:51 +0000 (07:08 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 17 Feb 2004 07:08:51 +0000 (07:08 +0000)
* stdlib/test-canon.c (do_test): Test realpath(,NULL) in the loop
as well.

ChangeLog
nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
stdlib/test-canon.c

index a574af7..2a3109b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-02-16  Ulrich Drepper  <drepper@redhat.com>
 
+       * stdlib/test-canon.c (do_test): Test realpath(,NULL) in the loop
+       as well.
+
        * stdlib/canonicalize.c (__realpath): Remove unnecessary copy
        operations.
 
index 677e334..2e18bfb 100644 (file)
@@ -1,3 +1,9 @@
+2004-02-16  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S
+       (__condvar_tw_cleanup): Little optimization.
+       Patch by Dinakar Guniguntala <dgunigun@in.ibm.com>.
+
 2004-02-16  Steven Munroe  <sjmunroe@us.ibm.com>
 
        * sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c: Replace libc with
index 1783095..6d1a325 100644 (file)
@@ -401,7 +401,11 @@ __condvar_tw_cleanup:
        adcl    $0, woken_seq+4(%ebx)
 
        LOCK
+#if cond_lock == 0
+       subl    $1, (%ebx)
+#else
        subl    $1, cond_lock(%ebx)
+#endif
        je      2f
 
 #if cond_lock == 0
index 6b7375a..f070df7 100644 (file)
@@ -1,5 +1,5 @@
 /* Test program for returning the canonical absolute name of a given file.
-   Copyright (C) 1996, 1997, 2000, 2002 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2000, 2002, 2004 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by David Mosberger <davidm@azstarnet.com>.
 
@@ -186,6 +186,17 @@ do_test (int argc, char ** argv)
          ++errors;
          continue;
        }
+
+      char *result2 = realpath (tests[i].in, NULL);
+      if ((result2 == NULL && result != NULL)
+         || (result2 != NULL && strcmp (result, result2) != 0))
+       {
+         printf ("\
+%s: realpath(..., NULL) produced different result than realpath(..., buf): '%s' vs '%s'\n",
+                 argv[0], result2, result);
+         ++errors;
+       }
+      free (result2);
     }
 
   getcwd (buf, sizeof(buf));