* elf/ldconfig.c (add_dir): Take chroot into account.
	Based on changes by HJ Lu and Hideki Iwamoto.
This commit is contained in:
Ulrich Drepper 2004-06-28 05:07:08 +00:00
parent 482bbeb905
commit 539842a4ea
4 changed files with 26 additions and 13 deletions

View File

@ -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.

View 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;
add_single_dir (entry, 1);
}
entry->ino = stat_buf.st_ino;
entry->dev = stat_buf.st_dev;
add_single_dir (entry, 1);
if (opt_chroot)
free (path);
}

View 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.

View 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" \