summary refs log tree commit diff
path: root/elf/readlib.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-09-30 00:54:42 +0000
committerUlrich Drepper <drepper@redhat.com>2000-09-30 00:54:42 +0000
commitb4a555d6f48fac3c71c2f8022c1fb8e23919d94a (patch)
treeea55480096126155a32520d4fb39c9f7d02e112b /elf/readlib.c
parent955821742eeae476da6e658f3f14c1af30630d1a (diff)
downloadglibc-b4a555d6f48fac3c71c2f8022c1fb8e23919d94a.tar.gz
glibc-b4a555d6f48fac3c71c2f8022c1fb8e23919d94a.tar.xz
glibc-b4a555d6f48fac3c71c2f8022c1fb8e23919d94a.zip
Update.
2000-09-29  Ulrich Drepper  <drepper@redhat.com>

	* 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  <jakub@redhat.com>

	* 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  <drepper@redhat.com>

	* math/complex.h (_Complex): We can be more specific when _Complex
	is defined by the compiler.
Diffstat (limited to 'elf/readlib.c')
-rw-r--r--elf/readlib.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/elf/readlib.c b/elf/readlib.c
index 5ec5a546be..70a77e2e72 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);