diff options
author | aaronwl <aaronwl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-20 08:21:09 +0000 |
---|---|---|
committer | aaronwl <aaronwl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-10-20 08:21:09 +0000 |
commit | b05d4aeda0067057c1dbda75a7fd801e33ad1ebb (patch) | |
tree | b61be9e61931a736e008e95859adbf4a9d604d94 /fixincludes | |
parent | c461d81a342a6c853d2dd748c0e759fb47093af7 (diff) | |
download | gcc-b05d4aeda0067057c1dbda75a7fd801e33ad1ebb.tar.gz |
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: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89326 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'fixincludes')
-rw-r--r-- | fixincludes/ChangeLog | 17 | ||||
-rw-r--r-- | fixincludes/fixincl.c | 15 | ||||
-rw-r--r-- | fixincludes/fixlib.h | 22 | ||||
-rw-r--r-- | fixincludes/procopen.c | 6 |
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; |