OSDN Git Service

PR bootstrap/17832
authoraaronwl <aaronwl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Oct 2004 08:21:09 +0000 (08:21 +0000)
committeraaronwl <aaronwl@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 20 Oct 2004 08:21:09 +0000 (08:21 +0000)
* 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: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89326 138bc75d-0d04-0410-961f-82ee72b054a4

fixincludes/ChangeLog
fixincludes/fixincl.c
fixincludes/fixlib.h
fixincludes/procopen.c

index f3573b1..1b3274f 100644 (file)
@@ -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
index a153a77..243f9bb 100644 (file)
@@ -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);
index 0ceb60b..8032f98 100644 (file)
@@ -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)
index 6fdb24f..75891e4 100644 (file)
@@ -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;