scripts/Makefile.lib | 45 +++++++++++++++----------------------------- 1 file changed, 15 insertions(+), 30 deletions(-)
cmd_dt_S_dtb and cmd_dt_S_dtbo are almost the same; the only differnce
is the prefix of the bein/end symbols. (__dtb vs __dtbo)
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
scripts/Makefile.lib | 45 +++++++++++++++-----------------------------
1 file changed, 15 insertions(+), 30 deletions(-)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 4a4a5f67c1a6..100a386fcd71 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -368,40 +368,25 @@ DTC_FLAGS += $(DTC_FLAGS_$(basetarget))
DTC_FLAGS += $(if $(filter $(patsubst $(obj)/%,%,$@), $(base-dtb-y)), -@)
# Generate an assembly file to wrap the output of the device tree compiler
-quiet_cmd_dt_S_dtb= DTBS $@
-cmd_dt_S_dtb= \
-{ \
- echo '\#include <asm-generic/vmlinux.lds.h>'; \
- echo '.section .dtb.init.rodata,"a"'; \
- echo '.balign STRUCT_ALIGNMENT'; \
- echo '.global __dtb_$(subst -,_,$(*F))_begin'; \
- echo '__dtb_$(subst -,_,$(*F))_begin:'; \
- echo '.incbin "$<" '; \
- echo '__dtb_$(subst -,_,$(*F))_end:'; \
- echo '.global __dtb_$(subst -,_,$(*F))_end'; \
- echo '.balign STRUCT_ALIGNMENT'; \
-} > $@
+quiet_cmd_wrap_S_dtb = WRAP $@
+ cmd_wrap_S_dtb = { \
+ symbase=__$(patsubst .%,%,$(suffix $<))_$(subst -,_,$(notdir $*)); \
+ echo '\#include <asm-generic/vmlinux.lds.h>'; \
+ echo '.section .dtb.init.rodata,"a"'; \
+ echo '.balign STRUCT_ALIGNMENT'; \
+ echo ".global $${symbase}_begin"; \
+ echo "$${symbase}_begin:"; \
+ echo '.incbin "$<" '; \
+ echo ".global $${symbase}_end"; \
+ echo "$${symbase}_end:"; \
+ echo '.balign STRUCT_ALIGNMENT'; \
+ } > $@
$(obj)/%.dtb.S: $(obj)/%.dtb FORCE
- $(call if_changed,dt_S_dtb)
-
-# Generate an assembly file to wrap the output of the device tree compiler
-quiet_cmd_dt_S_dtbo= DTBOS $@
-cmd_dt_S_dtbo= \
-{ \
- echo '\#include <asm-generic/vmlinux.lds.h>'; \
- echo '.section .dtb.init.rodata,"a"'; \
- echo '.balign STRUCT_ALIGNMENT'; \
- echo '.global __dtbo_$(subst -,_,$(*F))_begin'; \
- echo '__dtbo_$(subst -,_,$(*F))_begin:'; \
- echo '.incbin "$<" '; \
- echo '__dtbo_$(subst -,_,$(*F))_end:'; \
- echo '.global __dtbo_$(subst -,_,$(*F))_end'; \
- echo '.balign STRUCT_ALIGNMENT'; \
-} > $@
+ $(call if_changed,wrap_S_dtb)
$(obj)/%.dtbo.S: $(obj)/%.dtbo FORCE
- $(call if_changed,dt_S_dtbo)
+ $(call if_changed,wrap_S_dtb)
quiet_cmd_dtc = DTC $@
cmd_dtc = $(HOSTCC) -E $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
--
2.34.1
On Fri, Dec 30, 2022 at 03:46:50AM +0900 Masahiro Yamada wrote: > cmd_dt_S_dtb and cmd_dt_S_dtbo are almost the same; the only differnce > is the prefix of the bein/end symbols. (__dtb vs __dtbo) Two letters got lost: differ_e_nce, be_g_in. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > > scripts/Makefile.lib | 45 +++++++++++++++----------------------------- > 1 file changed, 15 insertions(+), 30 deletions(-) > > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > index 4a4a5f67c1a6..100a386fcd71 100644 > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -368,40 +368,25 @@ DTC_FLAGS += $(DTC_FLAGS_$(basetarget)) > DTC_FLAGS += $(if $(filter $(patsubst $(obj)/%,%,$@), $(base-dtb-y)), -@) > > # Generate an assembly file to wrap the output of the device tree compiler > -quiet_cmd_dt_S_dtb= DTBS $@ > -cmd_dt_S_dtb= \ > -{ \ > - echo '\#include <asm-generic/vmlinux.lds.h>'; \ > - echo '.section .dtb.init.rodata,"a"'; \ > - echo '.balign STRUCT_ALIGNMENT'; \ > - echo '.global __dtb_$(subst -,_,$(*F))_begin'; \ > - echo '__dtb_$(subst -,_,$(*F))_begin:'; \ > - echo '.incbin "$<" '; \ > - echo '__dtb_$(subst -,_,$(*F))_end:'; \ > - echo '.global __dtb_$(subst -,_,$(*F))_end'; \ > - echo '.balign STRUCT_ALIGNMENT'; \ > -} > $@ > +quiet_cmd_wrap_S_dtb = WRAP $@ > + cmd_wrap_S_dtb = { \ > + symbase=__$(patsubst .%,%,$(suffix $<))_$(subst -,_,$(notdir $*)); \ As long as I know, '$(notdir $*)' should be equivalent to '$(*F)'. Is it just personal preference or is there some other reason for choosing one or the other? Nevertheless, with the typos fixed, it looks good to me: Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
On Fri, Dec 30, 2022 at 4:47 AM Nicolas Schier <nicolas@fjasle.eu> wrote: > > On Fri, Dec 30, 2022 at 03:46:50AM +0900 Masahiro Yamada wrote: > > cmd_dt_S_dtb and cmd_dt_S_dtbo are almost the same; the only differnce > > is the prefix of the bein/end symbols. (__dtb vs __dtbo) > > Two letters got lost: differ_e_nce, be_g_in. Ah, thanks. I will fix it. > > > > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > --- > > > > scripts/Makefile.lib | 45 +++++++++++++++----------------------------- > > 1 file changed, 15 insertions(+), 30 deletions(-) > > > > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > > index 4a4a5f67c1a6..100a386fcd71 100644 > > --- a/scripts/Makefile.lib > > +++ b/scripts/Makefile.lib > > @@ -368,40 +368,25 @@ DTC_FLAGS += $(DTC_FLAGS_$(basetarget)) > > DTC_FLAGS += $(if $(filter $(patsubst $(obj)/%,%,$@), $(base-dtb-y)), -@) > > > > # Generate an assembly file to wrap the output of the device tree compiler > > -quiet_cmd_dt_S_dtb= DTBS $@ > > -cmd_dt_S_dtb= \ > > -{ \ > > - echo '\#include <asm-generic/vmlinux.lds.h>'; \ > > - echo '.section .dtb.init.rodata,"a"'; \ > > - echo '.balign STRUCT_ALIGNMENT'; \ > > - echo '.global __dtb_$(subst -,_,$(*F))_begin'; \ > > - echo '__dtb_$(subst -,_,$(*F))_begin:'; \ > > - echo '.incbin "$<" '; \ > > - echo '__dtb_$(subst -,_,$(*F))_end:'; \ > > - echo '.global __dtb_$(subst -,_,$(*F))_end'; \ > > - echo '.balign STRUCT_ALIGNMENT'; \ > > -} > $@ > > +quiet_cmd_wrap_S_dtb = WRAP $@ > > + cmd_wrap_S_dtb = { \ > > + symbase=__$(patsubst .%,%,$(suffix $<))_$(subst -,_,$(notdir $*)); \ > > As long as I know, '$(notdir $*)' should be equivalent to '$(*F)'. Is it just > personal preference or is there some other reason for choosing one or the > other? Your understanding is correct. Automatic variables can have 'D' / 'F', as explained in the manual. https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html Yes, it is just my personal preference. Perhaps, I did not need to change it, though. > Nevertheless, with the typos fixed, it looks good to me: > Reviewed-by: Nicolas Schier <nicolas@fjasle.eu> > -- Best Regards Masahiro Yamada
© 2016 - 2025 Red Hat, Inc.