OSDN Git Service

* g++.old-deja/g++.benjamin/16077.C: Adjust warnings.
[pf3gnuchains/gcc-fork.git] / gcc / collect2.c
index c328798..af97c20 100644 (file)
@@ -1,7 +1,7 @@
 /* Collect static initialization info into data structures that can be
    traversed by C++ initialization and finalization routines.
    Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+   1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
    Contributed by Chris Smith (csmith@convex.com).
    Heavily modified by Michael Meissner (meissner@cygnus.com),
    Per Bothner (bothner@cygnus.com), and John Gilmore (gnu@cygnus.com).
@@ -235,8 +235,8 @@ static struct head frame_tables;    /* list of frame unwind info tables */
 struct obstack temporary_obstack;
 char * temporary_firstobj;
 
-/* Holds the return value of pexecute.  */
-int pexecute_pid;
+/* Holds the return value of pexecute and fork.  */
+int pid;
 
 /* Structure to hold all the directories in which to search for files to
    execute.  */
@@ -1500,7 +1500,7 @@ collect_wait (prog)
 {
   int status;
 
-  pwait (pexecute_pid, &status, 0);
+  pwait (pid, &status, 0);
   if (status)
     {
       if (WIFSIGNALED (status))
@@ -1589,9 +1589,8 @@ collect_execute (prog, argv, redir)
       dup2 (redir_handle, STDERR_FILENO);
     }
 
-  pexecute_pid = pexecute (argv[0], argv, argv[0], NULL,
-                          &errmsg_fmt, &errmsg_arg,
-                          (PEXECUTE_FIRST | PEXECUTE_LAST | PEXECUTE_SEARCH));
+  pid = pexecute (argv[0], argv, argv[0], NULL, &errmsg_fmt, &errmsg_arg,
+                 (PEXECUTE_FIRST | PEXECUTE_LAST | PEXECUTE_SEARCH));
 
   if (redir)
     {
@@ -1603,7 +1602,7 @@ collect_execute (prog, argv, redir)
       close (redir_handle);
     }
 
- if (pexecute_pid == -1)
+ if (pid == -1)
    fatal_perror (errmsg_fmt, errmsg_arg);
 }
 
@@ -2070,7 +2069,6 @@ scan_prog_file (prog_name, which_pass)
   void (*quit_handler) PARAMS ((int));
   char *real_nm_argv[4];
   const char **nm_argv = (const char **) real_nm_argv;
-  int pid;
   int argc = 0;
   int pipe_fd[2];
   char *p, buf[1024];
@@ -2515,7 +2513,6 @@ scan_libraries (prog_name)
   void (*quit_handler) PARAMS ((int));
   char *real_ldd_argv[4];
   const char **ldd_argv = (const char **) real_ldd_argv;
-  int pid;
   int argc = 0;
   int pipe_fd[2];
   char buf[1024];
@@ -2720,7 +2717,9 @@ ignore_library (name)
 }
 #endif /* COLLECT_EXPORT_LIST */
 
-extern char *ldgetname PARAMS ((struct ldfile *, void *));
+#if defined (HAVE_DECL_LDGETNAME) && !HAVE_DECL_LDGETNAME
+extern char *ldgetname PARAMS ((LDFILE *, GCC_SYMENT *));
+#endif
 
 /* COFF version to scan the name list of the loaded program for
    the symbols g++ uses for static constructors and destructors.