Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 26 Aug 2003 08:08:21 +0000 (08:08 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 26 Aug 2003 08:08:21 +0000 (08:08 +0000)
2003-08-26  Jakub Jelinek  <jakub@redhat.com>

* elf/ldconfig.c (search_dir): When checking for GNU-style .so
link file use the real file name, not the resolved name we got by
following the symlinks.

ChangeLog
elf/ldconfig.c
libio/oldfileops.c

index b3a1f5c..a7eed0e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-08-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf/ldconfig.c (search_dir): When checking for GNU-style .so
+       link file use the real file name, not the resolved name we got by
+       following the symlinks.
+
 2003-08-25  Ulrich Drepper  <drepper@redhat.com>
 
        * libio/oldfileops.c (_IO_old_file_init): Initialize _mode field
index 64c4f64..3c348c9 100644 (file)
@@ -793,7 +793,7 @@ search_dir (const struct dir_entry *entry)
        {
          /* If the path the link points to isn't its soname and it is not
             .so symlink for ld(1) only, we treat it as a normal file.  */
-         char *real_base_name = basename (real_name);
+         const char *real_base_name = basename (real_file_name);
 
          if (strcmp (real_base_name, soname) != 0)
            {
index 81e4150..e1cc1bd 100644 (file)
@@ -129,13 +129,14 @@ _IO_old_file_init (fp)
                             - (int) sizeof (struct _IO_FILE_complete));
   fp->file._fileno = -1;
 
-#if defined SHARED && defined _LIBC \
-    && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
-  if (__builtin_expect (&_IO_stdin_used != NULL, 0)
-      || (fp != _IO_stdin && fp != _IO_stdout && fp != _IO_stderr))
+#if defined SHARED && defined _LIBC
+  if (__builtin_expect (&_IO_stdin_used != NULL, 1)
+      || (fp != (struct _IO_FILE_plus *) _IO_stdin
+         && fp != (struct _IO_FILE_plus *) _IO_stdout
+         && fp != (struct _IO_FILE_plus *) _IO_stderr))
     /* The object is dynamically allocated and large enough.  Initialize
        the _mode element as well.  */
-    fp->_mode = -1;
+    ((struct _IO_FILE_complete *) fp)->_mode = -1;
 #endif
 }