From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23468 invoked by alias); 25 May 2011 21:05:57 -0000 Received: (qmail 23454 invoked by uid 22791); 25 May 2011 21:05:56 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 25 May 2011 21:05:37 +0000 Received: (qmail 14100 invoked from network); 25 May 2011 21:05:37 -0000 Received: from unknown (HELO digraph.polyomino.org.uk) (joseph@127.0.0.2) by mail.codesourcery.com with ESMTPA; 25 May 2011 21:05:37 -0000 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.72) (envelope-from ) id 1QPLGp-0003ek-Ma; Wed, 25 May 2011 21:05:35 +0000 Date: Wed, 25 May 2011 22:37:00 -0000 From: "Joseph S. Myers" To: Tom Tromey cc: gcc-patches@gcc.gnu.org Subject: Re: Create common hooks structure shared between driver and cc1 In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-05/txt/msg01935.txt.bz2 On Wed, 25 May 2011, Tom Tromey wrote: > I believe the bugs referenced here were the problem: > > http://gcc.gnu.org/ml/gcc-patches/2008-03/msg01680.html > > Both these bugs use .INTERMEDIATE in their test cases, but it isn't > clear to me that this is a sufficient condition. The problem is that the reversion commit (r133652) doesn't mention .INTERMEDIATE or .SECONDARY, so I can't identify the particular feature that's causing the problems. But the problem feature isn't the includes of the dependency files, since the hang still occurs with those includes commented out. I think a new attempt at this should be more incremental: separate pieces might include: * Changes to the names under which files are built (to go in the relevant subdirectories). * Changes to avoid the need for so many compilation rules (setting variables for the relevant targets in one way or another). * Changes to the compilation rules to use $(COMPILE). * Changes to make $(COMPILE) generate automatic dependency files. * Changes to actually use those files. * Changes to ensure that, when the old manual dependencies are removed, generated headers still get built in time. * Changes to remove the old manual dependencies. With each patch tested against the reliable reproducer in , it should hopefully be possible to get the benefits of some of the above changes without triggering the bug - and to understand better when the bug appears just what the cause is and whether it can be worked around or not. -- Joseph S. Myers joseph@codesourcery.com