From: Masahiro Yamada <masahiroy@kernel.org>
To: u-boot@lists.denx.de
Subject: [PATCH v2 3/3] kbuild: SPL/TPL: generate separate asm-offsets.h for SPL and TPL
Date: Fri, 17 Apr 2020 16:21:37 +0900 [thread overview]
Message-ID: <20200417072137.801234-4-masahiroy@kernel.org> (raw)
In-Reply-To: <20200417072137.801234-1-masahiroy@kernel.org>
Currently generic-asm-offsets.h and asm-offsets.h are generated based
on U-Boot proper config options. The same asm-offsets headers are used
for building U-Boot SPL/TPL, which causes potential offset mismatch if
U-Boot proper has different config options from U-Boot SPL/TPL.
This commit adds:
spl/include/generated/(generic-)asm-offsets.h
tpl/include/generated/(generic-)asm-offsets.h
spl/include/generated/(generic-)asm-offsets.h is generated if
CONFIG_SPL=y, and included when building SPL.
tpl/include/generated/(generic-)asm-offsets.h is generated if
CONFIG_TPL=y, and included when building TPL.
They are created before Kbuild descends into SPL/TPL object directories
and builds $(obj)/dts/dt-platdata.o because $(obj)/dts/dt-platdata.c
includes a bunch of headers.
Prepend -I$(obj)/include to $(UBOOTINCLUDE) so (generic-)asm-offsets.h
is searched in {spl,tpl}/include/generated/.
Requested-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
Changes in v2: None
Kbuild | 4 ++--
scripts/Makefile.spl | 10 ++++++++--
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/Kbuild b/Kbuild
index 6014f7c34a..1eac091594 100644
--- a/Kbuild
+++ b/Kbuild
@@ -10,7 +10,7 @@ generic-offsets-file := include/generated/generic-asm-offsets.h
always := $(generic-offsets-file)
targets := lib/asm-offsets.s
-$(obj)/$(generic-offsets-file): lib/asm-offsets.s FORCE
+$(obj)/$(generic-offsets-file): $(obj)/lib/asm-offsets.s FORCE
$(call filechk,offsets,__GENERIC_ASM_OFFSETS_H__)
#####
@@ -25,5 +25,5 @@ targets += arch/$(ARCH)/lib/asm-offsets.s
CFLAGS_asm-offsets.o := -DDO_DEPS_ONLY
-$(obj)/$(offsets-file): arch/$(ARCH)/lib/asm-offsets.s FORCE
+$(obj)/$(offsets-file): $(obj)/arch/$(ARCH)/lib/asm-offsets.s FORCE
$(call filechk,offsets,__ASM_OFFSETS_H__)
diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl
index 4c2c0567c5..6741ef911e 100644
--- a/scripts/Makefile.spl
+++ b/scripts/Makefile.spl
@@ -22,6 +22,8 @@ include $(srctree)/scripts/Kbuild.include
-include include/config/auto.conf
-include $(obj)/include/autoconf.mk
+UBOOTINCLUDE := -I$(obj)/include $(UBOOTINCLUDE)
+
KBUILD_CPPFLAGS += -DCONFIG_SPL_BUILD
ifeq ($(CONFIG_TPL_BUILD),y)
KBUILD_CPPFLAGS += -DCONFIG_TPL_BUILD
@@ -311,7 +313,7 @@ cmd_plat = $(CC) $(c_flags) -c $< -o $(filter-out $(PHONY),$@)
targets += $(obj)/dts/dt-platdata.o
$(obj)/dts/dt-platdata.o: $(obj)/dts/dt-platdata.c \
- include/generated/dt-structs-gen.h FORCE
+ include/generated/dt-structs-gen.h prepare FORCE
$(call if_changed,plat)
PHONY += dts_dir
@@ -422,9 +424,13 @@ $(obj)/$(SPL_BIN): $(u-boot-spl-platdata) $(u-boot-spl-init) \
$(sort $(u-boot-spl-init) $(u-boot-spl-main)): $(u-boot-spl-dirs) ;
PHONY += $(u-boot-spl-dirs)
-$(u-boot-spl-dirs): $(u-boot-spl-platdata)
+$(u-boot-spl-dirs): $(u-boot-spl-platdata) prepare
$(Q)$(MAKE) $(build)=$@
+PHONY += prepare
+prepare:
+ $(Q)$(MAKE) $(build)=$(obj)/.
+
quiet_cmd_cpp_lds = LDS $@
cmd_cpp_lds = $(CPP) -Wp,-MD,$(depfile) $(cpp_flags) $(LDPPFLAGS) -ansi \
-D__ASSEMBLY__ -x assembler-with-cpp -std=c99 -P -o $@ $<
--
2.25.1
next prev parent reply other threads:[~2020-04-17 7:21 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-17 7:21 [PATCH v2 0/3] support separate asm-offsets.h for SPL and TPL Masahiro Yamada
2020-04-17 7:21 ` [PATCH v2 1/3] kbuild: add FORCE to dependency of $(obj)/dts/dt-platdata.o Masahiro Yamada
2020-04-26 11:27 ` Tom Rini
2020-04-17 7:21 ` [PATCH v2 2/3] kbuild: cherry-pick kbuild changes from Linux Masahiro Yamada
2020-04-26 11:27 ` Tom Rini
2020-04-17 7:21 ` Masahiro Yamada [this message]
2020-04-18 12:37 ` [PATCH v2 3/3] kbuild: SPL/TPL: generate separate asm-offsets.h for SPL and TPL Bin Meng
2020-04-27 1:37 ` Bin Meng
2020-04-27 13:36 ` Tom Rini
2020-04-27 14:50 ` Bin Meng
2020-04-28 14:46 ` Tom Rini
2020-04-28 15:01 ` Bin Meng
2020-04-28 15:14 ` Tom Rini
2020-04-28 15:20 ` Masahiro Yamada
2020-04-28 19:44 ` Tom Rini
2020-04-29 12:48 ` Tom Rini
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=20200417072137.801234-4-masahiroy@kernel.org \
--to=masahiroy@kernel.org \
--cc=u-boot@lists.denx.de \
/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