Skip to contentSkip to conversation

powerpc/boot: regenerate zImage linker script when options change

PATCH Superseded Nicholas Piggin 1 participant 2 messages Nov 26, 2016 – Nov 27, 2016 PowerPC

lore
Share & tools
lore

Nicholas Piggin

author reviewer
#0 lore raw

PATCH 1/1 powerpc/boot: regenerate zImage linker script when options change

Changing config options (e.g., endianness) does not always seem to regenerate zImage.lds properly. Adapt the standard kernel linker script build command and use that.

---
 arch/powerpc/boot/Makefile | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
arch/powerpc/boot/Makefile +6 -3
index 0442516..cf60936 100644
@@ -175,9 +175,12 @@ $(addprefix $(obj)/,$(libfdt) $(libfdtheader)): $(obj)/%: $(srctree)/scripts/dtc
 $(obj)/empty.c:
 	$(Q)touch $@
 
-$(obj)/zImage.lds: $(obj)/%: $(srctree)/$(src)/%.S
-	$(CROSS32CC) $(cpp_flags) -E -Wp,-MD,$(depfile) -P -Upowerpc \
-		-D__ASSEMBLY__ -DLINKER_SCRIPT -o $@ $<
+quiet_cmd_cpp_lds_S = LDS     $@
+	cmd_cpp_lds_S = $(CROSS32CC) $(cpp_flags) -E -Wp,-MD,$(depfile) -P \
+			-Upowerpc -D__ASSEMBLY__ -DLINKER_SCRIPT -o $@ $<
+
+$(obj)/zImage.lds: $(obj)/%: $(srctree)/$(src)/%.S FORCE
+	$(call if_changed_dep,cpp_lds_S)
 
 $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds : $(obj)/%: $(srctree)/$(src)/%.S
 	$(Q)cp $< $@
Signature · 1 line
2.10.2
author reviewer
#1 lore raw

PATCH v2 1/1 powerpc/boot: regenerate zImage linker script when options change

Changing config options (e.g., endianness) does not always seem to regenerate zImage.lds properly. Adapt the standard kernel linker script build command and use that.

---
Changes since v1:
- Using cmd_cpp_lds_S command name was causing it to actually use the generic kbuild linker script command, which among other things did not undefine powerpc, causing the linker script to break for 32-bit. Use a new name.

 arch/powerpc/boot/Makefile | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
arch/powerpc/boot/Makefile +6 -3
index 0442516..06c19a7 100644
@@ -175,9 +175,12 @@ $(addprefix $(obj)/,$(libfdt) $(libfdtheader)): $(obj)/%: $(srctree)/scripts/dtc
 $(obj)/empty.c:
 	$(Q)touch $@
 
-$(obj)/zImage.lds: $(obj)/%: $(srctree)/$(src)/%.S
-	$(CROSS32CC) $(cpp_flags) -E -Wp,-MD,$(depfile) -P -Upowerpc \
-		-D__ASSEMBLY__ -DLINKER_SCRIPT -o $@ $<
+quiet_cmd_zImage_lds_S = LDS     $@
+	cmd_zImage_lds_S = $(CROSS32CC) $(cpp_flags) -E -Wp,-MD,$(depfile) -P \
+			-Upowerpc -D__ASSEMBLY__ -DLINKER_SCRIPT -o $@ $<
+
+$(obj)/zImage.lds: $(obj)/%: $(srctree)/$(src)/%.S FORCE
+	$(call if_changed_dep,zImage_lds_S)
 
 $(obj)/zImage.coff.lds $(obj)/zImage.ps3.lds : $(obj)/%: $(srctree)/$(src)/%.S
 	$(Q)cp $< $@
Signature · 1 line
2.10.2