From b4a555d6f48fac3c71c2f8022c1fb8e23919d94a Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 30 Sep 2000 00:54:42 +0000 Subject: Update. 2000-09-29 Ulrich Drepper * elf/chroot_canon.c: Don't report a failure if the last path component is not available. * elf/ldconfig.c (parse_conf): Use canonicalized name when reporting error. * elf/cache.c (print_cache): Use stat64 instead of stat. * elf/ldconfig.c (chroot_stat): Likewise. (create_links): Likewise. (manual_link): Likewise. (search_dir): Likewise. * elf/readlib.c (process_file): Likewise. * Makefile (install): Set LC_ALL and LANGUAGE to C before running ldconfig. 2000-09-29 Jakub Jelinek * elf/chroot_canon.c: New file. * elf/Makefile: Build and distribute it. * elf/ldconfig.h (process_file): Add real_file_name argument. (chroot_canon): Add prototype. * elf/ldconfig.c (cache_file): Remove const. (chroot_stat): New. (create_links): Add real_path argument. If opt_chroot, maintain both real and given filenames. (manual_link): Likewise. (search_dir): Likewise. (parse_conf): If opt_chroot, use chroot_canon to find the real config file. (main): For -r, try to use chroot, if it fails, leave opt_chroot set and use chroot_canon where appropriate to do the same as if chroot succeeded. * elf/readlib.c (process_file): Add real_file_name argument, pass it to fopen. 2000-09-29 Ulrich Drepper * math/complex.h (_Complex): We can be more specific when _Complex is defined by the compiler. --- elf/readlib.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'elf/readlib.c') diff --git a/elf/readlib.c b/elf/readlib.c index 5ec5a54..70a77e2 100644 --- a/elf/readlib.c +++ b/elf/readlib.c @@ -68,11 +68,11 @@ static struct known_names known_libs [] = /* Returns 0 if everything is ok, != 0 in case of error. */ int -process_file (const char *file_name, const char *lib, int *flag, - char **soname, int is_link) +process_file (const char *real_file_name, const char *file_name, + const char *lib, int *flag, char **soname, int is_link) { FILE *file; - struct stat statbuf; + struct stat64 statbuf; void *file_contents; int ret; @@ -83,7 +83,7 @@ process_file (const char *file_name, const char *lib, int *flag, *flag = FLAG_ANY; *soname = NULL; - file = fopen (file_name, "rb"); + file = fopen (real_file_name, "rb"); if (file == NULL) { /* No error for stale symlink. */ @@ -93,7 +93,7 @@ process_file (const char *file_name, const char *lib, int *flag, return 1; } - if (fstat (fileno (file), &statbuf) < 0) + if (fstat64 (fileno (file), &statbuf) < 0) { error (0, 0, _("Cannot fstat file %s.\n"), file_name); fclose (file); -- cgit v1.1