mirror of
https://xff.cz/git/u-boot/
synced 2025-10-22 10:31:56 +02:00
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>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
30 lines
737 B
Makefile
30 lines
737 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Kbuild for top-level directory of U-Boot
|
|
|
|
#####
|
|
# Generate generic-asm-offsets.h
|
|
|
|
generic-offsets-file := include/generated/generic-asm-offsets.h
|
|
|
|
always := $(generic-offsets-file)
|
|
targets := lib/asm-offsets.s
|
|
|
|
$(obj)/$(generic-offsets-file): $(obj)/lib/asm-offsets.s FORCE
|
|
$(call filechk,offsets,__GENERIC_ASM_OFFSETS_H__)
|
|
|
|
#####
|
|
# Generate asm-offsets.h
|
|
|
|
ifneq ($(wildcard $(srctree)/arch/$(ARCH)/lib/asm-offsets.c),)
|
|
offsets-file := include/generated/asm-offsets.h
|
|
endif
|
|
|
|
always += $(offsets-file)
|
|
targets += arch/$(ARCH)/lib/asm-offsets.s
|
|
|
|
CFLAGS_asm-offsets.o := -DDO_DEPS_ONLY
|
|
|
|
$(obj)/$(offsets-file): $(obj)/arch/$(ARCH)/lib/asm-offsets.s FORCE
|
|
$(call filechk,offsets,__ASM_OFFSETS_H__)
|