All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] kbuild: fix dependency of DT build
@ 2017-10-11 14:56 Masahiro Yamada
  2017-10-17  0:48 ` [U-Boot] " Tom Rini
  0 siblings, 1 reply; 3+ messages in thread
From: Masahiro Yamada @ 2017-10-11 14:56 UTC (permalink / raw)
  To: u-boot

I saw a DT build issue report some time before [1].  I was able to
reproduce the bug, and figure out the root cause.

Since commit 6d427c6b1fa0 ("binman: Automatically include a U-Boot
.dtsi file"), invalid .*.cmd files are generated.

Since that commit, DTS files are put into sed and piped to CPP.
Because CPP reads the stream from stdin, -Wp,-MD,$(depfile).pre.tmp
option generates a depfile with the target name "-".  This is not
the format expected by fixdep.

Use one more temporary file instead of using pipe.  With this, deps_
in the .*.cmd will be fixed.  Having a temp file name in source_ is
odd, but it is unsed in the build system.  Not a big deal.

[1] https://lists.denx.de/pipermail/u-boot/2017-June/294451.html

Fiexes: 6d427c6b1fa0 ("binman: Automatically include a U-Boot .dtsi file")
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---

Probably, I can fix this issue in an even cleaner way.
But, U-Boot build system is a mirror of Linux.

I generally improve Linux first, then import the outcome back to U-Boot.
I will give it a try when I find some time.


 scripts/Makefile.lib | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 861a3dc..0d5c529 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -175,7 +175,7 @@ u_boot_dtsi_options = $(wildcard $(dir $<)$(basename $(notdir $<))-u-boot.dtsi)
 # $(warning u_boot_dtsi_options: $(u_boot_dtsi_options))
 
 # We use the first match
-u_boot_dtsi = $(firstword $(u_boot_dtsi_options))
+u_boot_dtsi = $(notdir $(firstword $(u_boot_dtsi_options)))
 
 # Modified for U-Boot
 dtc_cpp_flags  = -Wp,-MD,$(depfile).pre.tmp -nostdinc                    \
@@ -308,9 +308,8 @@ quiet_cmd_dtc = DTC     $@
 # Modified for U-Boot
 # Bring in any U-Boot-specific include@the end of the file
 cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
-	cat $< $(if $(u_boot_dtsi),\
-		| sed "$$ a\#include \"$(u_boot_dtsi)\"") | \
-		$(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) - ; \
+	(cat $<; $(if $(u_boot_dtsi),echo '\#include "$(u_boot_dtsi)"')) > $(pre-tmp); \
+	$(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $(pre-tmp) ; \
 	$(DTC) -O dtb -o $@ -b 0 \
 		-i $(dir $<) $(DTC_FLAGS) \
 		-d $(depfile).dtc.tmp $(dtc-tmp) ; \
@@ -319,6 +318,7 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
 $(obj)/%.dtb: $(src)/%.dts FORCE
 	$(call if_changed_dep,dtc)
 
+pre-tmp = $(subst $(comma),_,$(dot-target).pre.tmp)
 dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
 
 # DTCO
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] kbuild: fix dependency of DT build
  2017-10-11 14:56 [U-Boot] [PATCH] kbuild: fix dependency of DT build Masahiro Yamada
@ 2017-10-17  0:48 ` Tom Rini
  2017-10-17  0:50   ` yamada.masahiro at socionext.com
  0 siblings, 1 reply; 3+ messages in thread
From: Tom Rini @ 2017-10-17  0:48 UTC (permalink / raw)
  To: u-boot

On Wed, Oct 11, 2017 at 11:56:10PM +0900, Masahiro Yamada wrote:

> I saw a DT build issue report some time before [1].  I was able to
> reproduce the bug, and figure out the root cause.
> 
> Since commit 6d427c6b1fa0 ("binman: Automatically include a U-Boot
> .dtsi file"), invalid .*.cmd files are generated.
> 
> Since that commit, DTS files are put into sed and piped to CPP.
> Because CPP reads the stream from stdin, -Wp,-MD,$(depfile).pre.tmp
> option generates a depfile with the target name "-".  This is not
> the format expected by fixdep.
> 
> Use one more temporary file instead of using pipe.  With this, deps_
> in the .*.cmd will be fixed.  Having a temp file name in source_ is
> odd, but it is unsed in the build system.  Not a big deal.
> 
> [1] https://lists.denx.de/pipermail/u-boot/2017-June/294451.html
> 
> Fiexes: 6d427c6b1fa0 ("binman: Automatically include a U-Boot .dtsi file")
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171016/720f0634/attachment.sig>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] kbuild: fix dependency of DT build
  2017-10-17  0:48 ` [U-Boot] " Tom Rini
@ 2017-10-17  0:50   ` yamada.masahiro at socionext.com
  0 siblings, 0 replies; 3+ messages in thread
From: yamada.masahiro at socionext.com @ 2017-10-17  0:50 UTC (permalink / raw)
  To: u-boot

Hi Tom,

> -----Original Message-----
> > Fiexes: 6d427c6b1fa0 ("binman: Automatically include a U-Boot .dtsi
> file")
> > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> 
> Applied to u-boot/master, thanks!
> 

Could you fix my typo?

Fiexes -> Fixes


If it is too late, it if fine.


Masahiro

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-10-17  0:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-11 14:56 [U-Boot] [PATCH] kbuild: fix dependency of DT build Masahiro Yamada
2017-10-17  0:48 ` [U-Boot] " Tom Rini
2017-10-17  0:50   ` yamada.masahiro at socionext.com

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.