diff mbox

[U-Boot] kbuild: fix a bug in regeneration of linker scripts

Message ID 1397041843-23668-1-git-send-email-yamada.m@jp.panasonic.com
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

Masahiro Yamada April 9, 2014, 11:10 a.m. UTC
In some use cases, SPL linker script was not updated even when
it should be.

For instance,

  $ make tricoder_config all
    [ build complete ]
  ... modify include/configs/tricoder.h
  $ make

spl/u-boot-spl.lds should be updated in this case, but it wasn't.

To fix this problem, linker scripts generation should be handled
by $(call if_changed_dep,...) rather than by $(call if_changed,...).

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Reported-by: Andreas Bießmann <andreas.devel@googlemail.com>
---

 Makefile     | 6 +++---
 spl/Makefile | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

Comments

Andreas Bießmann April 9, 2014, 11:20 a.m. UTC | #1
On 04/09/2014 01:10 PM, Masahiro Yamada wrote:
> In some use cases, SPL linker script was not updated even when
> it should be.
> 
> For instance,
> 
>   $ make tricoder_config all
>     [ build complete ]
>   ... modify include/configs/tricoder.h
>   $ make
> 
> spl/u-boot-spl.lds should be updated in this case, but it wasn't.
> 
> To fix this problem, linker scripts generation should be handled
> by $(call if_changed_dep,...) rather than by $(call if_changed,...).
> 
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> Reported-by: Andreas Bießmann <andreas.devel@googlemail.com>

Tested-by: Andreas Bießmann <andreas.devel@googlemail.com>
Tom Rini April 11, 2014, 8:43 p.m. UTC | #2
On Wed, Apr 09, 2014 at 08:10:43PM +0900, Masahiro Yamada wrote:

> In some use cases, SPL linker script was not updated even when
> it should be.
> 
> For instance,
> 
>   $ make tricoder_config all
>     [ build complete ]
>   ... modify include/configs/tricoder.h
>   $ make
> 
> spl/u-boot-spl.lds should be updated in this case, but it wasn't.
> 
> To fix this problem, linker scripts generation should be handled
> by $(call if_changed_dep,...) rather than by $(call if_changed,...).
> 
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> Reported-by: Andreas Bießmann <andreas.devel@googlemail.com>
> Tested-by: Andreas Bießmann <andreas.devel@googlemail.com>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/Makefile b/Makefile
index b807e5c..b2937e9 100644
--- a/Makefile
+++ b/Makefile
@@ -1053,11 +1053,11 @@  depend dep:
 
 # ---------------------------------------------------------------------------
 quiet_cmd_cpp_lds = LDS     $@
-cmd_cpp_lds = $(CPP) $(cpp_flags) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ \
-		-x assembler-with-cpp -P -o $@ $<
+cmd_cpp_lds = $(CPP) -Wp,-MD,$(depfile) $(cpp_flags) $(LDPPFLAGS) -ansi \
+		-D__ASSEMBLY__ -x assembler-with-cpp -P -o $@ $<
 
 u-boot.lds: $(LDSCRIPT) prepare FORCE
-	$(call if_changed,cpp_lds)
+	$(call if_changed_dep,cpp_lds)
 
 PHONY += nand_spl
 nand_spl: prepare
diff --git a/spl/Makefile b/spl/Makefile
index 9f5dbf4..6fec252 100644
--- a/spl/Makefile
+++ b/spl/Makefile
@@ -231,11 +231,11 @@  $(u-boot-spl-dirs):
 	$(Q)$(MAKE) $(build)=$@
 
 quiet_cmd_cpp_lds = LDS     $@
-cmd_cpp_lds = $(CPP) $(cpp_flags) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ \
-		-x assembler-with-cpp -P -o $@ $<
+cmd_cpp_lds = $(CPP) -Wp,-MD,$(depfile) $(cpp_flags) $(LDPPFLAGS) -ansi \
+		-D__ASSEMBLY__ -x assembler-with-cpp -P -o $@ $<
 
 $(obj)/u-boot-spl.lds: $(LDSCRIPT) FORCE
-	$(call if_changed,cpp_lds)
+	$(call if_changed_dep,cpp_lds)
 
 # read all saved command lines