From patchwork Wed Jun 26 11:47:14 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nic Hannekum X-Patchwork-Id: 254725 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "localhost", Issuer "www.qmailtoaster.com" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 645622C0091 for ; Wed, 26 Jun 2013 21:47:30 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:content-type:content-transfer-encoding :subject:message-id:date:to:mime-version; q=dns; s=default; b=f/ fuTwmboEaj5rJ+KqShM/h1hBJGHXQSYHRgLYJpon+OGugRTISK/9YbfKzLqxUwJG MYQJQroYa1fYJuqrEDVCf948N5FNbseXlDOBg535VszJCSXjtIMvcrrbwreljt9p 6Hu/BjTNXQKARNGRbuhC23Q+ifbfO8LoDWMw7ytlk= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:content-type:content-transfer-encoding :subject:message-id:date:to:mime-version; s=default; bh=THvUUpZU 45RyxwxVE3LzvHSexKE=; b=MqfxiMS2f1RKKHxacXJsFa6ArT816BAumU0zY5yI 5VzAq0A1yEHECcEKlq92WLK2WywVEbrI5Ax6fOw8Z0EFjf6f4t9CwSp9CvhuMTDX HibFA1mxhPiYlupH1nvRyK7KXfLTdYqbJZdCNcWTr4P6txeb24k5XOoWLVVDN3xR wh8= Received: (qmail 21598 invoked by alias); 26 Jun 2013 11:47:23 -0000 Mailing-List: contact crossgcc-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: crossgcc-owner@sourceware.org Delivered-To: mailing list crossgcc@sourceware.org Received: (qmail 21585 invoked by uid 89); 26 Jun 2013 11:47:22 -0000 X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.1 Received: from mail.binaryboy.net (HELO mail.binaryboy.net) (106.187.99.229) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Wed, 26 Jun 2013 11:47:20 +0000 Received: from localhost (ip6-localhost [IPv6:::1]) by mail.binaryboy.net (Postfix) with ESMTP id 17B47A106 for ; Wed, 26 Jun 2013 21:47:18 +1000 (EST) Received: from mail.binaryboy.net ([IPv6:::1]) by localhost (mail.binaryboy.net [IPv6:::1]) (amavisd-new, port 10032) with ESMTP id Z4IjzJhZ_Kbh for ; Wed, 26 Jun 2013 21:47:17 +1000 (EST) Received: from localhost (ip6-localhost [IPv6:::1]) by mail.binaryboy.net (Postfix) with ESMTP id E547FA109 for ; Wed, 26 Jun 2013 21:47:16 +1000 (EST) Received: from mail.binaryboy.net ([IPv6:::1]) by localhost (mail.binaryboy.net [IPv6:::1]) (amavisd-new, port 10026) with ESMTP id yS0EWNl7f3bf for ; Wed, 26 Jun 2013 21:47:16 +1000 (EST) Received: from [10.1.1.10] (ppp121-44-84-108.lns20.syd6.internode.on.net [121.44.84.108]) by mail.binaryboy.net (Postfix) with ESMTPSA id 57666A106 for ; Wed, 26 Jun 2013 21:47:16 +1000 (EST) From: Nic Hannekum Subject: [PATCH] gcc-4.8: Parallel build failure due to missing header insn-opinit.h Message-Id: Date: Wed, 26 Jun 2013 21:47:14 +1000 To: "crossgcc@sourceware.org" Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\)) It appears the generated header file, insn-opinit.h is new as of gcc 4.8. To support parallel builds, gcc/Makefile.in defines a variable containing prerequisite files which guarantees they are built early. On inspection of gcc/Makefile.in it is obvious that its absence from the 'generated_files' variable is an oversight - the patch simply adds it. Quoting from gcc/Makefile.in: " # Language-independent object files. # We put the insn-*.o files first so that a parallel make will build # them sooner, because they are large and otherwise tend to be the # last objects to finish building. " Observations: * without patch * A parallel build on my 4-core i5 @ 2.5GHz will always fail. A parallel build on my 2-core Core Duo @ 1.87GHz will always succeed. A non-parallel build (make -j 1) will always succeed on either of the above machines. * with patch * Both non- and parallel builds always succeed. Tested on the following gcc versions: gcc-4.8.0 gcc-4.8.1 gcc-linaro-4.8-2013.04 gcc-linaro-4.8-2013.05 gcc-linaro-4.8-2013.06-1 --- gcc/Makefile.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 4b04d64..e9ee4a0 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -3801,8 +3801,8 @@ s-gtype: build/gengtype$(build_exeext) $(filter-out [%], $(GTFILES)) \ $(STAMP) s-gtype generated_files = config.h tm.h $(TM_P_H) $(TM_H) multilib.h \ - $(simple_generated_h) specs.h \ - tree-check.h genrtl.h insn-modes.h tm-preds.h tm-constrs.h \ + $(simple_generated_h) specs.h tree-check.h insn-opinit.h \ + genrtl.h insn-modes.h tm-preds.h tm-constrs.h \ $(ALL_GTFILES_H) gtype-desc.c gtype-desc.h gcov-iov.h # In order for parallel make to really start compiling the expensive