Bug 17832 - [4.0 Regression] Bootstrap broken by fixincludes failures
: [4.0 Regression] Bootstrap broken by fixincludes failures
Status: RESOLVED FIXED
Product: gcc
Classification: Unclassified
Component: bootstrap
: 4.0.0
: P2 minor
: 4.0.0
Assigned To: Aaron W. LaFramboise
:
: patch
: 17991
: 17462 18107
  Show dependency treegraph
 
Reported: 2004-10-05 02:18 UTC by Aaron W. LaFramboise
Modified: 2004-10-27 20:17 UTC (History)
3 users (show)

See Also:
Host:
Target:
Build: i686-pc-mingw32
Known to work:
Known to fail:
Last reconfirmed: 2004-10-05 02:24:52


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Aaron W. LaFramboise 2004-10-05 02:18:13 UTC
Due to recent reorganization, fixincludes is now built unconditionally. 
Previously, it was not built for machines that did not need it, including
Windows.  Since fixincludes does not (and has never) built on native Windows,
this breaks bootstrap for these hosts.
Comment 1 Aaron W. LaFramboise 2004-10-05 02:19:31 UTC
Patch here: <http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02731.html>
Comment 2 Andrew Pinski 2004-10-05 02:24:52 UTC
Really fixinclude should just be fixed instead of working around the issue. See
PR 14316.
The reason why fixinclude should be fixed instead of working around the issue
is because really not 
running it will make some targets not work correctly.
Comment 3 Aaron W. LaFramboise 2004-10-05 02:46:39 UTC
I agree, but it in the meantime, it would be nice for mainline to bootstrap. 
Since fixincludes has never built on Windows, this isn't a regression, but
bootstrap failing definitely is.  When fixincludes has been fixed, presumably
after libiberty gets whatever changes needed to make collect2 work, mingw32 can
be removed from the list of targets to not build fixincludes for.

I don't know what the reason for disabling fixincludes on the other targets is,
though.
Comment 4 Paolo Bonzini 2004-10-14 08:58:21 UTC
Needs a configury maintainer.  Bruce Korb said he's fine with it.
Comment 5 Aaron W. LaFramboise 2004-10-14 09:17:49 UTC
I think fixincludes is very close to building on Windows, and so probably
should
not be disabled after all for this target, since its needed in some
configurations.  Presumably the other targets still should be disabled.

All that is needed to make it build is resolution to PR 17991, a patch to
enable
two-process fixincludes for i?86-*-mingw32*, and a patch that does the
equivilent of <http://gcc.gnu.org/ml/gcc-patches/2004-09/msg01393.html>.  I
will
probably resubmit a version of the latter tomorrow that addresses the comments
here <http://gcc.gnu.org/ml/gcc-patches/2004-10/msg01045.html>.
Comment 6 Eric Weddington 2004-10-14 16:21:14 UTC
See related bug #17462.
Comment 7 CVS Commits 2004-10-20 08:21:19 UTC
Subject: Bug 17832

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	aaronwl@gcc.gnu.org	2004-10-20 08:21:10

Modified files:
	fixincludes    : ChangeLog fixincl.c fixlib.h procopen.c 

Log message:
	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().

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/ChangeLog.diff?cvsroot=gcc&r1=1.9&r2=1.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/fixincl.c.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/fixlib.h.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/procopen.c.diff?cvsroot=gcc&r1=1.1&r2=1.2

Comment 8 Aaron W. LaFramboise 2004-10-20 08:39:12 UTC
One more patch left to be reviewed, besides PR17991:
<http://gcc.gnu.org/ml/gcc-patches/2004-10/msg01618.html>.
Comment 9 Paolo Bonzini 2004-10-21 09:52:36 UTC
Aaron, I'm assigning the PR to you because it is very close to being fixed, and
I think it is easier if it is assigned to the author of the patch.  I hope you
don't mind.

PR17991 is still assigned to me and it covers the bugs in moving fixincludes to
the toplevel (hopefully the outstanding patch will be reviewed soon).
Comment 10 Aaron W. LaFramboise 2004-10-21 21:28:43 UTC
Well, I was a little confused earlier, and perhaps I still am.  Should
fixincludes be built on target=mingw bootstraps?  I don't think so; as far as I
know, its only needed for crosses.  But perhaps there might be some good reason
to enable it anyway?
Comment 11 Aaron W. LaFramboise 2004-10-22 05:21:23 UTC
*** Bug 17462 has been marked as a duplicate of this bug. ***
Comment 12 Andrew Pinski 2004-10-26 21:40:46 UTC
This is fixed now right?
Comment 13 Aaron W. LaFramboise 2004-10-26 21:51:39 UTC
Sorry, I missed putting the PR tag in the commit log.  However, no, this bug
really should not be closed yet.  That patch just disabled building fixincludes.
 The real patch that needs to be committed is in #8, which will make fixincludes
build appropriately when its needed, such as in *-mingw32's case, when
crosscompiling.  It needs to be reviewed by Bruce Korb, I think.
Comment 14 CVS Commits 2004-10-27 20:14:05 UTC
Subject: Bug 17832

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	aaronwl@gcc.gnu.org	2004-10-27 20:13:58

Modified files:
	fixincludes    : ChangeLog fixfixes.c 

Log message:
	PR bootstrap/17832
	
	* fixfixes.c (main): Check for _PC_NAME_MAX.
	----------------------------------------------------------------------

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/ChangeLog.diff?cvsroot=gcc&r1=1.11&r2=1.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fixincludes/fixfixes.c.diff?cvsroot=gcc&r1=1.2&r2=1.3

Comment 15 Aaron W. LaFramboise 2004-10-27 20:17:30 UTC
Fixed on mainline.  I think this is the end of fixincludes problems for
Windows.