aboutsummaryrefslogtreecommitdiff
path: root/fixincludes
diff options
context:
space:
mode:
authorAaron W. LaFramboise <aaronavay62@aaronwl.com>2004-10-20 08:21:09 +0000
committerAaron W. LaFramboise <aaronavay62@aaronwl.com>2004-10-20 08:21:09 +0000
commit2a48918d5390e83de87cf7379a6c5548fd394be4 (patch)
treeb61be9e61931a736e008e95859adbf4a9d604d94 /fixincludes
parentfeebb623b5c805ad70fc1391a212fd5e3c0403a1 (diff)
PR bootstrap/17832
* fixincl.c (SIGCHLD): Remove definition. (initialize): Remove SIGIOT and SIGPIPE checks. (create_file): Fix mkdir() for Win32. (internal_fix): Use dup2() instead of fcntl(). * fixlib.h (SIGQUIT): Define if undefined. (SIGIOT): Same. (SIGPIPE): Same. (SIGALRM): Same. (SIGKILL): Same. * procopen.c (chain_open): Use dup2() instead of fcntl(). git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@89326 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'fixincludes')
-rw-r--r--fixincludes/ChangeLog17
-rw-r--r--fixincludes/fixincl.c15
-rw-r--r--fixincludes/fixlib.h22
-rw-r--r--fixincludes/procopen.c6
4 files changed, 47 insertions, 13 deletions
diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog
index f3573b11039..1b3274fdf1a 100644
--- a/fixincludes/ChangeLog
+++ b/fixincludes/ChangeLog
@@ -1,3 +1,20 @@
+2004-10-20 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
+
+ PR bootstrap/17832
+
+ * fixincl.c (SIGCHLD): Remove definition.
+ (initialize): Remove SIGIOT and SIGPIPE checks.
+ (create_file): Fix mkdir() for Win32.
+ (internal_fix): Use dup2() instead of fcntl().
+
+ * fixlib.h (SIGQUIT): Define if undefined.
+ (SIGIOT): Same.
+ (SIGPIPE): Same.
+ (SIGALRM): Same.
+ (SIGKILL): Same.
+
+ * procopen.c (chain_open): Use dup2() instead of fcntl().
+
2004-08-14 Paolo Bonzini <bonzini@gnu.org>
PR other/17991
diff --git a/fixincludes/fixincl.c b/fixincludes/fixincl.c
index a153a777a54..243f9bbfd10 100644
--- a/fixincludes/fixincl.c
+++ b/fixincludes/fixincl.c
@@ -30,9 +30,6 @@ Boston, MA 02111-1307, USA. */
#define BAD_ADDR ((void*)-1)
#endif
-#if ! defined( SIGCHLD ) && defined( SIGCLD )
-# define SIGCHLD SIGCLD
-#endif
#ifndef SEPARATE_FIX_PROC
#include "server.h"
#endif
@@ -291,12 +288,8 @@ initialize ( int argc, char** argv )
# endif
signal (SIGQUIT, SIG_IGN);
-#ifdef SIGIOT
signal (SIGIOT, SIG_IGN);
-#endif
-#ifdef SIGPIPE
signal (SIGPIPE, SIG_IGN);
-#endif
signal (SIGALRM, SIG_IGN);
signal (SIGTERM, SIG_IGN);
}
@@ -552,7 +545,11 @@ create_file (void)
*pz_dir = NUL;
if (stat (fname, &stbf) < 0)
{
+#ifdef _WIN32
+ mkdir (fname);
+#else
mkdir (fname, S_IFDIR | S_DIRALL);
+#endif
}
*pz_dir = '/';
@@ -835,8 +832,8 @@ internal_fix (int read_fd, tFixDesc* p_fixd)
* Make the fd passed in the stdin, and the write end of
* the new pipe become the stdout.
*/
- fcntl (fd[1], F_DUPFD, STDOUT_FILENO);
- fcntl (read_fd, F_DUPFD, STDIN_FILENO);
+ dup2 (fd[1], STDOUT_FILENO);
+ dup2 (read_fd, STDIN_FILENO);
apply_fix (p_fixd, pz_curr_file);
exit (0);
diff --git a/fixincludes/fixlib.h b/fixincludes/fixlib.h
index 0ceb60b7626..8032f98eb48 100644
--- a/fixincludes/fixlib.h
+++ b/fixincludes/fixlib.h
@@ -3,7 +3,7 @@
files which are fixed to work correctly with ANSI C and placed in a
directory that GCC will search.
- Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002
+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
Free Software Foundation, Inc.
This file is part of GCC.
@@ -40,6 +40,26 @@ Boston, MA 02111-1307, USA. */
# define STDOUT_FILENO 1
#endif
+#if ! defined( SIGCHLD ) && defined( SIGCLD )
+# define SIGCHLD SIGCLD
+#endif
+
+#ifndef SIGQUIT
+#define SIGQUIT SIGTERM
+#endif
+#ifndef SIGIOT
+#define SIGIOT SIGTERM
+#endif
+#ifndef SIGPIPE
+#define SIGPIPE SIGTERM
+#endif
+#ifndef SIGALRM
+#define SIGALRM SIGTERM
+#endif
+#ifndef SIGKILL
+#define SIGKILL SIGTERM
+#endif
+
typedef int t_success;
#define FAILURE (-1)
diff --git a/fixincludes/procopen.c b/fixincludes/procopen.c
index 6fdb24fec7e..75891e42c71 100644
--- a/fixincludes/procopen.c
+++ b/fixincludes/procopen.c
@@ -2,7 +2,7 @@
/*
* server.c Set up and handle communications with a server process.
*
- * Server Handling copyright 1992-1999 The Free Software Foundation
+ * Server Handling copyright 1992-1999, 2004 The Free Software Foundation
*
* Server Handling is free software.
* You may redistribute it and/or modify it under the terms of the
@@ -155,8 +155,8 @@ chain_open (int stdin_fd, tCC** pp_args, pid_t* p_child)
* Make the fd passed in the stdin, and the write end of
* the new pipe become the stdout.
*/
- fcntl (stdout_pair.write_fd, F_DUPFD, STDOUT_FILENO);
- fcntl (stdin_fd, F_DUPFD, STDIN_FILENO);
+ dup2 (stdout_pair.write_fd, STDOUT_FILENO);
+ dup2 (stdin_fd, STDIN_FILENO);
if (*pp_args == (char *) NULL)
*pp_args = pz_cmd;