aboutsummaryrefslogtreecommitdiff
path: root/libiberty/pexecute.c
diff options
context:
space:
mode:
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>1998-11-02 07:24:47 +0000
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>1998-11-02 07:24:47 +0000
commitf9a39df181c35fa9938e1d7f9dd839708b68ae52 (patch)
treeebeeac360aa9e74086435dd1b4b79b026f8ef459 /libiberty/pexecute.c
parent020ecb1b4f516fc98b51ed2b6fc43d16b660fb07 (diff)
* pexecute.c: Check HAVE_CONFIG_H, not IN_GCC, when determining
whether to include config.h. Possibly include unistd.h in the !IN_GCC case. Define VFORK_STRING as a printable function call for error messages (either "vfork" or "fork".) If HAVE_VFORK_H is defined, include vfork.h. If VMS is defined, define vfork() appropriately. Remove vfork check on USG, we're using autoconf. (pexecute): Set `errmsg_fmt' to VFORK_STRING instead of checking locally what string to use. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23499 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty/pexecute.c')
-rw-r--r--libiberty/pexecute.c35
1 files changed, 20 insertions, 15 deletions
diff --git a/libiberty/pexecute.c b/libiberty/pexecute.c
index 1b0a374aa01..b82f987f2e7 100644
--- a/libiberty/pexecute.c
+++ b/libiberty/pexecute.c
@@ -23,15 +23,33 @@ Boston, MA 02111-1307, USA. */
/* This file lives in at least two places: libiberty and gcc.
Don't change one without the other. */
-#ifdef IN_GCC
+#ifdef HAVE_CONFIG_H
#include "config.h"
+#endif
+#ifdef IN_GCC
#include "system.h"
#else
#include <stdio.h>
#include <errno.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
#define ISSPACE (x) isspace(x)
#endif
+#ifdef vfork /* Autoconf may define this to fork for us. */
+# define VFORK_STRING "fork"
+#else
+# define VFORK_STRING "vfork"
+#endif
+#ifdef HAVE_VFORK_H
+#include <vfork.h>
+#endif
+#ifdef VMS
+#define vfork() (decc$$alloc_vfork_blocks() >= 0 ? \
+ lib$get_current_invo_context(decc$$get_vfork_jmpbuf()) : -1)
+#endif /* VMS */
+
#ifdef IN_GCC
#include "gansidecl.h"
/* ??? Need to find a suitable header file. */
@@ -628,15 +646,6 @@ pfinish ()
#if ! defined (__MSDOS__) && ! defined (OS2) && ! defined (MPW) \
&& ! defined (_WIN32)
-#ifdef VMS
-#define vfork() (decc$$alloc_vfork_blocks() >= 0 ? \
- lib$get_current_invo_context(decc$$get_vfork_jmpbuf()) : -1)
-#else
-#ifdef USG
-#define vfork fork
-#endif
-#endif
-
extern int execv ();
extern int execvp ();
#ifdef IN_GCC
@@ -703,11 +712,7 @@ pexecute (program, argv, this_pname, temp_base, errmsg_fmt, errmsg_arg, flags)
{
case -1:
{
-#ifdef vfork
- *errmsg_fmt = "fork";
-#else
- *errmsg_fmt = "vfork";
-#endif
+ *errmsg_fmt = VFORK_STRING;
*errmsg_arg = NULL;
return -1;
}