From: Stephen Warren <swarren@wwwdotorg.org>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: Michal Marek <mmarek@suse.cz>, JonLoeliger <jdl@jdl.com>,
Stephen Warren <swarren@nvidia.com>,
Ian Campbell <Ian.Campbell@citrix.com>,
linux-kbuild@vger.kernel.org,
linux-kernel <linux-kernel@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 10:04:37 -0600 [thread overview]
Message-ID: <51A8CA15.4070504@wwwdotorg.org> (raw)
In-Reply-To: <20130531114824.60D223E0901@localhost>
On 05/31/2013 05:48 AM, Grant Likely wrote:
> 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.
That's not true; it explicitly does have code to parse the line markers.
I'll have to investigate why it isn't working in this case.
If you apply this patch, then anyone who has switched to #include rther
than /include/ will get incorrect line numbers in dtc error messages.
Admittedly that's a smaller population right now though. Perhaps we
should just do a kernel-wide conversion though.
next prev parent reply other threads:[~2013-05-31 16:15 UTC|newest]
Thread overview: 10+ 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 11:48 ` Grant Likely
2013-05-31 11:58 ` Ian Campbell
2013-05-31 13:01 ` Jon Loeliger
2013-05-31 13:07 ` Ian Campbell
2013-05-31 13:16 ` Ian Campbell
2013-05-31 16:04 ` Stephen Warren [this message]
2013-05-31 16:31 ` Grant Likely
2013-06-03 9:44 ` Ian Campbell
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=51A8CA15.4070504@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=Ian.Campbell@citrix.com \
--cc=grant.likely@secretlab.ca \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).