update from main archive
authordrepper <drepper>
Fri, 27 Sep 1996 03:20:07 +0000 (03:20 +0000)
committerdrepper <drepper>
Fri, 27 Sep 1996 03:20:07 +0000 (03:20 +0000)
catgets/gencat.c
csu/initfini.c
db/makedb.c
dirent/scandir.c
elf/dl-load.c
elf/rtld.c

index 7ba9258..7fe159e 100644 (file)
@@ -165,14 +165,14 @@ main (int argc, char *argv[])
   /* Version information is requested.  */
   if (do_version)
     {
-      fprintf (stderr, "gencat - GNU %s %s\n", PACKAGE, VERSION);
+      fprintf (stderr, "gencat (GNU %s) %s\n", PACKAGE, VERSION);
       fprintf (stderr, _("\
 Copyright (C) %s Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
 "), "1996");
-      fprintf (stderr, _("Written by %s\n"),
-              "Ulrich Drepper <drepper@cygnus.com>");
+      fprintf (stderr, _("Written by %s.\n"),
+              "Ulrich Drepper");
 
       exit (EXIT_SUCCESS);
     }
@@ -222,7 +222,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\
 If INPUT-FILE is -, input is read from standard input.  If OUTPUT-FILE\n\
 is -, output is written to standard output.\n"),
           program_invocation_name, program_invocation_name);
-      printf (gettext ("Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"));
+      fputs (gettext ("Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"),
+            stdout);
     }
 
   exit (status);
index f816e08..cb2ba53 100644 (file)
@@ -94,6 +94,18 @@ _init (void)
   if (__gmon_start__)
     __gmon_start__ ();
 
+#ifdef _LIBC_REENTRANT
+  {
+    /* This is a trick to generate a reference for the symbol
+       __libc_force_cancel_wrapper which can be used to force parts of
+       the thread library to be used where some functions and system
+       calls are overwritten.  The value of this variable is always 0.  */
+    extern const int __libc_force_cancel_wrapper;
+    if (__libc_force_cancel_wrapper)
+      _init ();
+  }
+#endif
+
   /* End the here document containing the .init prologue code.
      Then fetch the .section directive just written and append that
      to crtn.s-new, followed by the function epilogue.  */
index cfe6aed..5c0d659 100644 (file)
@@ -115,14 +115,14 @@ main (argc, argv)
   /* Version information is requested.  */
   if (do_version)
     {
-      fprintf (stderr, "makedb - GNU %s %s\n", PACKAGE, VERSION);
+      fprintf (stderr, "makedb (GNU %s) %s\n", PACKAGE, VERSION);
       fprintf (stderr, _("\
 Copyright (C) %s Free Software Foundation, Inc.\n\
 This is free software; see the source for copying conditions.  There is NO\n\
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
 "), "1996");
-      fprintf (stderr, _("Written by %s\n"),
-              "Ulrich Drepper <drepper@cygnus.com>");
+      fprintf (stderr, _("Written by %s.\n"),
+              "Ulrich Drepper");
 
       exit (EXIT_SUCCESS);
     }
@@ -224,7 +224,8 @@ Mandatory arguments to long options are mandatory for short options too.\n\
 If INPUT-FILE is -, input is read from standard input.\n"),
              program_invocation_name, program_invocation_name,
              program_invocation_name);
-      printf (gettext ("Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"));
+      fputs (gettext ("Report bugs to <bug-glibc@prep.ai.mit.edu>.\n"),
+            stdout);
     }
 
   exit (status);
index 6907f08..cffe505 100644 (file)
@@ -16,18 +16,17 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <ansidecl.h>
 #include <dirent.h>
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
 
 int
-DEFUN(scandir, (dir, namelist, select, cmp),
-      CONST char *dir AND
-      struct dirent ***namelist AND
-      int EXFUN((*select), (struct dirent *)) AND
-      int EXFUN((*cmp), (CONST PTR, CONST PTR)))
+scandir (dir, namelist, select, cmp)
+     const char *dir;
+     struct dirent ***namelist;
+     int (*select) __P ((struct dirent *));
+     int (*cmp) __P ((const void *, const void *));
 {
   DIR *dp = opendir (dir);
   struct dirent **v = NULL;
@@ -39,7 +38,7 @@ DEFUN(scandir, (dir, namelist, select, cmp),
     return -1;
 
   save = errno;
-  errno = 0;
+  __set_errno (0);
 
   i = 0;
   while ((d = readdir (dp)) != NULL)
@@ -58,7 +57,7 @@ DEFUN(scandir, (dir, namelist, select, cmp),
            if (new == NULL)
              {
              lose:
-               errno = ENOMEM;
+               __set_errno (ENOMEM);
                break;
              }
            v = new;
@@ -79,12 +78,12 @@ DEFUN(scandir, (dir, namelist, select, cmp),
       while (i > 0)
        free (v[--i]);
       free (v);
-      errno = save;
+      __set_errno (save);
       return -1;
     }
 
   (void) closedir (dp);
-  errno = save;
+  __set_errno (save);
 
   /* Sort the list if we have a comparison function to sort with.  */
   if (cmp != NULL)
index b56303f..9dfc961 100644 (file)
@@ -418,7 +418,7 @@ open_path (const char *name, size_t namelen,
   p = dirpath;
   if (p == NULL || *p == '\0')
     {
-      errno = ENOENT;
+      __set_errno (ENOENT);
       return -1;
     }
 
index 0736218..5867692 100644 (file)
@@ -310,6 +310,24 @@ of this helper program; chances are you did not intend to run this program.\n",
   preloads = NULL;
   npreloads = 0;
 
+  if (! __libc_enable_secure)
+    {
+      const char *preloadlist = getenv ("LD_PRELOAD");
+      if (preloadlist)
+       {
+         /* The LD_PRELOAD environment variable gives a colon-separated
+            list of libraries that are loaded before the executable's
+            dependencies and prepended to the global scope list.  */
+         char *list = strdupa (preloadlist);
+         char *p;
+         while ((p = strsep (&list, ":")) != NULL)
+           {
+             (void) _dl_map_object (NULL, p, lt_library);
+             ++npreloads;
+           }
+       }
+    }
+
   /* Read the contents of the file.  */
   file = _dl_sysdep_read_whole_file ("/etc/ld.so.preload", &file_size,
                                     PROT_READ | PROT_WRITE);
@@ -375,24 +393,6 @@ of this helper program; chances are you did not intend to run this program.\n",
       __munmap (file, file_size);
     }
 
-  if (! __libc_enable_secure)
-    {
-      const char *preloadlist = getenv ("LD_PRELOAD");
-      if (preloadlist)
-       {
-         /* The LD_PRELOAD environment variable gives a colon-separated
-            list of libraries that are loaded before the executable's
-            dependencies and prepended to the global scope list.  */
-         char *list = strdupa (preloadlist);
-         char *p;
-         while ((p = strsep (&list, ":")) != NULL)
-           {
-             (void) _dl_map_object (NULL, p, lt_library);
-             ++npreloads;
-           }
-       }
-    }
-
   if (npreloads != 0)
     {
       /* Set up PRELOADS with a vector of the preloaded libraries.  */