diff options
author | Ulrich Drepper <drepper@redhat.com> | 2004-06-28 05:07:08 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2004-06-28 05:07:08 +0000 |
commit | 539842a4ea456e0caabc7dc00d46daa1a97c8c07 (patch) | |
tree | d6b06894c4bdfb2e8ebc2b6853e5c78d17b789fe | |
parent | 482bbeb905781e7b17e8d79b40d2a18c317ec4f1 (diff) | |
download | glibc-539842a4ea456e0caabc7dc00d46daa1a97c8c07.tar glibc-539842a4ea456e0caabc7dc00d46daa1a97c8c07.tar.gz glibc-539842a4ea456e0caabc7dc00d46daa1a97c8c07.tar.bz2 glibc-539842a4ea456e0caabc7dc00d46daa1a97c8c07.zip |
Update.
* elf/ldconfig.c (add_dir): Take chroot into account.
Based on changes by HJ Lu and Hideki Iwamoto.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | elf/ldconfig.c | 27 | ||||
-rw-r--r-- | nptl/ChangeLog | 5 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h | 2 |
4 files changed, 25 insertions, 12 deletions
@@ -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. diff --git a/elf/ldconfig.c b/elf/ldconfig.c index bf103c7269..d85bbc8f05 100644 --- a/elf/ldconfig.c +++ b/elf/ldconfig.c @@ -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); } diff --git a/nptl/ChangeLog b/nptl/ChangeLog index b0488028d1..e1df427a28 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -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. diff --git a/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h index 34f8b09f61..f4ed98a503 100644 --- a/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h +++ b/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h @@ -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" \ |