From patchwork Fri May 31 11:48:24 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Grant Likely X-Patchwork-Id: 2642761 Return-Path: X-Original-To: patchwork-linux-kbuild@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 205B73FD2B for ; Fri, 31 May 2013 11:48:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755344Ab3EaLsa (ORCPT ); Fri, 31 May 2013 07:48:30 -0400 Received: from mail-we0-f176.google.com ([74.125.82.176]:43862 "EHLO mail-we0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755214Ab3EaLs2 (ORCPT ); Fri, 31 May 2013 07:48:28 -0400 Received: by mail-we0-f176.google.com with SMTP id p58so1121964wes.21 for ; Fri, 31 May 2013 04:48:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=sender:from:subject:to:cc:in-reply-to:references:date:message-id :x-gm-message-state; bh=DfKHa9CrUAf4R3iRKFZ9BXqMOr/GeVh6We7mKQuE7mo=; b=RBxU6w2BdmPBhv2xF274LqPA+YJEI4bSRfmSzhZgd49mdrssh5foNmdA+Fg9kyoiM2 Rsw1Yt3nDTElqnVYL554xJi1NObYiiCYoQLpsjAKxAz9TQB4NI3zL+aFyhSvM5OgDJ/j mo/h2fNRTsAZf404WiNhQlZT/BY0lqQGbTevNCizHmSxxUuJTkH5LWft42vYF1ST88AY Thu5zina+f4V/dqSRICx6Cc0CuQjxKqq7mZ2rhqMLqDewsZE5UTOprO/sxwOpe9IDfHR rHCge+Q/Iwp7TKv5shj+zKEM3VKsk8slv5L9O8QUNHI/0FyZHJfPrERxKRy4AuQGIJgB 75hw== X-Received: by 10.194.179.102 with SMTP id df6mr9045262wjc.42.1370000907487; Fri, 31 May 2013 04:48:27 -0700 (PDT) Received: from localhost (host86-140-137-131.range86-140.btcentralplus.com. [86.140.137.131]) by mx.google.com with ESMTPSA id dj7sm3397917wib.6.2013.05.31.04.48.25 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 31 May 2013 04:48:26 -0700 (PDT) Received: by localhost (Postfix, from userid 1000) id 60D223E0901; Fri, 31 May 2013 12:48:24 +0100 (BST) From: Grant Likely Subject: Re: DTB build failure due to preproccessing To: Ian Campbell , linux-kernel Cc: linuxppc-dev@lists.ozlabs.org, Michal Marek , Stephen Warren , Rob Herring , JonLoeliger , linux-kbuild@vger.kernel.org In-Reply-To: <1369996170.5199.68.camel@zakaz.uk.xensource.com> References: <1369996170.5199.68.camel@zakaz.uk.xensource.com> Date: Fri, 31 May 2013 12:48:24 +0100 Message-Id: <20130531114824.60D223E0901@localhost> X-Gm-Message-State: ALoCoQnlEqUXfPuDfL/Cvdrh1Vav04tRKo1PXU1pYHu0upN0Ky1vEQuvG2pH0577Jwr7gvybLnUL Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org On Fri, 31 May 2013 11:29:30 +0100, Ian Campbell wrote: > This affects arch/powerpc/boot/dts/virtex440-ml510.dts but I think it is > actually a more general issue: > > $ make ARCH=powerpc CROSS_COMPILE=powerpc-linux- virtex440-ml510.dtb > CC scripts/mod/devicetable-offsets.s > GEN scripts/mod/devicetable-offsets.h > HOSTCC scripts/mod/file2alias.o > HOSTLD scripts/mod/modpost > DTC arch/powerpc/boot/virtex440-ml510.dtb > Error: arch/powerpc/boot/dts/virtex440-ml510.dts:374.6-7 syntax error > FATAL ERROR: Unable to parse input tree > make[1]: *** [arch/powerpc/boot/virtex440-ml510.dtb] Error 1 > make: *** [virtex440-ml510.dtb] Error 2 > > Line 374 is the "IDSEL 0x16..." line here: > interrupt-map = < > /* IRQ mapping for pci slots and ALI M1533 > ... > * management core also isn't used. > */ > > /* IDSEL 0x16 / dev=6, bus=0 / PCI slot 3 */ > 0x3000 0 0 1 &xps_intc_0 3 2 > 0x3000 0 0 2 &xps_intc_0 2 2 > 0x3000 0 0 3 &xps_intc_0 5 2 > 0x3000 0 0 4 &xps_intc_0 4 2 > > Which gets preprocessed into: > interrupt-map = < > # 375 "arch/powerpc/boot/dts/virtex440-ml510.dts" > 0x3000 0 0 1 &xps_intc_0 3 2 > 0x3000 0 0 2 &xps_intc_0 2 2 > 0x3000 0 0 3 &xps_intc_0 5 2 > 0x3000 0 0 4 &xps_intc_0 4 2 > > If I manually remove the "# 375 " line then that fixes the error > (although there is then a subsequent one of the same type). > > I suppose this is a bug in dtc? It appears to have at least some > awareness of these preprocessor line number comments since it manages to > report the original source line number. dtc is only able to track line numbers when the native /include/ directive is used. The #include directive doesn't help it. It should be added, but until it is the following patch solves the problem: I've got this patch in my tree. Either Rob or I will push it to Linus in the next few days. g. --- commit d01dccdcb3ea8233b09efb9c24db9f057fbd3b37 Author: Grant Likely Date: Fri May 31 12:45:18 2013 +0100 dtc: Suppress cpp linemarker annotations DTC isn't able to parse cpp linemarker annotations, so suppress them in the cpp output by adding the -P flag to the cpp options. Signed-off-by: Grant Likely -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 51bb3de..fc08a2b 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -149,7 +149,7 @@ cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ ld_flags = $(LDFLAGS) $(ldflags-y) -dtc_cpp_flags = -Wp,-MD,$(depfile).pre -nostdinc \ +dtc_cpp_flags = -Wp,-MD,$(depfile).pre -nostdinc -P \ -I$(srctree)/arch/$(SRCARCH)/boot/dts \ -I$(srctree)/arch/$(SRCARCH)/boot/dts/include \ -undef -D__DTS__