Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 28 Jun 2004 05:07:08 +0000 (05:07 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 28 Jun 2004 05:07:08 +0000 (05:07 +0000)
* elf/ldconfig.c (add_dir): Take chroot into account.
Based on changes by HJ Lu and Hideki Iwamoto.

ChangeLog
elf/ldconfig.c
nptl/ChangeLog
nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h

index 02d3119..2bff85d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-06-27  Ulrich Drepper  <drepper@redhat.com>
 
+       * elf/ldconfig.c (add_dir): Take chroot into account.
+       Based on changes by HJ Lu and Hideki Iwamoto.
+
        * nscd/connections.c (invalidate_cache): If the host cache has to
        be invalidated, re-read resolv.conf.
 
index bf103c7..d85bbc8 100644 (file)
@@ -318,17 +318,13 @@ add_single_dir (struct dir_entry *entry, int verbose)
 static void
 add_dir (const char *line)
 {
-  char *equal_sign;
-  struct dir_entry *entry;
   unsigned int i;
-  struct stat64 stat_buf;
-
-  entry = xmalloc (sizeof (struct dir_entry));
+  struct dir_entry *entry = xmalloc (sizeof (struct dir_entry));
   entry->next = NULL;
 
   /* Search for an '=' sign.  */
   entry->path = xstrdup (line);
-  equal_sign = strchr (entry->path, '=');
+  char *equal_sign = strchr (entry->path, '=');
   if (equal_sign)
     {
       *equal_sign = '\0';
@@ -358,19 +354,28 @@ add_dir (const char *line)
   while (entry->path[i] == '/' && i > 0)
     entry->path[i--] = '\0';
 
-  if (stat64 (entry->path, &stat_buf))
+  char *path = entry->path;
+  if (opt_chroot)
+    path = chroot_canon (opt_chroot, path);
+
+  struct stat64 stat_buf;
+  if (path == NULL || stat64 (path, &stat_buf))
     {
       if (opt_verbose)
        error (0, errno, _("Can't stat %s"), entry->path);
       free (entry->path);
       free (entry);
-      return;
     }
+  else
+    {
+      entry->ino = stat_buf.st_ino;
+      entry->dev = stat_buf.st_dev;
 
-  entry->ino = stat_buf.st_ino;
-  entry->dev = stat_buf.st_dev;
+      add_single_dir (entry, 1);
+    }
 
- add_single_dir (entry, 1);
+  if (opt_chroot)
+    free (path);
 }
 
 
index b048802..e1df427 100644 (file)
@@ -1,3 +1,8 @@
+2004-06-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * sysdeps/unix/sysv/linux/s390/lowlevellock.h (lll_futex_requeue):
+       Set __r7 to val, not mutex.
+
 2004-06-27  Ulrich Drepper  <drepper@redhat.com>
 
        * Makefile: Add rules to build tst-rwlock14.
index 34f8b09..f4ed98a 100644 (file)
@@ -91,7 +91,7 @@
     register unsigned long int __r4 asm ("4") = (long int) (nr_wake);        \
     register unsigned long int __r5 asm ("5") = (long int) (nr_move);        \
     register unsigned long int __r6 asm ("6") = (unsigned long int) (mutex);  \
-    register unsigned long int __r7 asm ("7") = (int) (mutex);               \
+    register unsigned long int __r7 asm ("7") = (int) (val);                 \
     register unsigned long __result asm ("2");                               \
                                                                              \
     __asm __volatile ("svc %b1"                                                      \