All of lore.kernel.org
 help / color / mirror / Atom feed
From: Grant Likely <grant.likely@secretlab.ca>
To: Ian Campbell <Ian.Campbell@citrix.com>,
	linux-kernel <linux-kernel@vger.kernel.org>
Cc: linuxppc-dev@lists.ozlabs.org, Michal Marek <mmarek@suse.cz>,
	Stephen Warren <swarren@nvidia.com>,
	Rob Herring <rob.herring@calxeda.com>, JonLoeliger <jdl@jdl.com>,
	linux-kbuild@vger.kernel.org
Subject: Re: DTB build failure due to preproccessing
Date: Fri, 31 May 2013 12:48:24 +0100	[thread overview]
Message-ID: <20130531114824.60D223E0901@localhost> (raw)
In-Reply-To: <1369996170.5199.68.camel@zakaz.uk.xensource.com>

On Fri, 31 May 2013 11:29:30 +0100, Ian Campbell <Ian.Campbell@citrix.com> 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 <grant.likely@linaro.org>
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 <grant.likely@linaro.org>

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__

WARNING: multiple messages have this Message-ID (diff)
From: Grant Likely <grant.likely@secretlab.ca>
To: Ian Campbell <Ian.Campbell@citrix.com>,
	linux-kernel <linux-kernel@vger.kernel.org>
Cc: Michal Marek <mmarek@suse.cz>, JonLoeliger <jdl@jdl.com>,
	Stephen Warren <swarren@nvidia.com>,
	linux-kbuild@vger.kernel.org,
	Rob Herring <rob.herring@calxeda.com>,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: DTB build failure due to preproccessing
Date: Fri, 31 May 2013 12:48:24 +0100	[thread overview]
Message-ID: <20130531114824.60D223E0901@localhost> (raw)
In-Reply-To: <1369996170.5199.68.camel@zakaz.uk.xensource.com>

On Fri, 31 May 2013 11:29:30 +0100, Ian Campbell <Ian.Campbell@citrix.com> 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 <grant.likely@linaro.org>
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 <grant.likely@linaro.org>

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__

  reply	other threads:[~2013-05-31 11:48 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-31 10:29 DTB build failure due to preproccessing Ian Campbell
2013-05-31 10:29 ` Ian Campbell
2013-05-31 10:29 ` Ian Campbell
2013-05-31 11:48 ` Grant Likely [this message]
2013-05-31 11:48   ` Grant Likely
2013-05-31 11:58   ` Ian Campbell
2013-05-31 11:58     ` Ian Campbell
2013-05-31 11:58     ` Ian Campbell
2013-05-31 13:01   ` Jon Loeliger
2013-05-31 13:01     ` Jon Loeliger
2013-05-31 13:07     ` Ian Campbell
2013-05-31 13:07       ` Ian Campbell
2013-05-31 13:07       ` Ian Campbell
2013-05-31 13:16     ` Ian Campbell
2013-05-31 13:16       ` Ian Campbell
2013-05-31 13:16       ` Ian Campbell
2013-05-31 16:04   ` Stephen Warren
2013-05-31 16:04     ` Stephen Warren
2013-05-31 16:31     ` Grant Likely
2013-05-31 16:31       ` Grant Likely
2013-06-03  9:44       ` Ian Campbell
2013-06-03  9:44         ` Ian Campbell
2013-06-03  9:44         ` Ian Campbell
2013-05-31 16:37 ` Stephen Warren
2013-05-31 16:37   ` Stephen Warren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130531114824.60D223E0901@localhost \
    --to=grant.likely@secretlab.ca \
    --cc=Ian.Campbell@citrix.com \
    --cc=jdl@jdl.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mmarek@suse.cz \
    --cc=rob.herring@calxeda.com \
    --cc=swarren@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.