summaryrefslogtreecommitdiff
path: root/tools/u_boot_pylib/tools.py
diff options
context:
space:
mode:
authorYao Zi <ziyao@disroot.org>2025-07-11 08:52:34 +0000
committerTom Rini <trini@konsulko.com>2025-07-12 09:49:26 -0600
commite80998a77b97fa52e9321a56e004d8adfd8125d7 (patch)
tree671dc31272d170542fe712fbd81335ac174d8377 /tools/u_boot_pylib/tools.py
parent53bd87651e45b32efa398dd5e433d8b93d781445 (diff)
kbuild: Avoid including architecture-specific Makefile twiceHEADmaster
Stranges errors are observed when building U-Boot master for almost any RISC-V board, the messages are in two types, one is about duplicated symbols, u-boot/arch/riscv/cpu//mtrap.S:32: multiple definition of `trap_entry'; arch/riscv/cpu/mtrap.o: u-boot/arch/riscv/cpu//mtrap.S:32: first defined here and the other is fixdep's complaint about missing dependency files, fixdep: error opening file: arch/riscv/cpu/.mtrap.o.d: No such file or directory fixdep: error opening file: arch/riscv/cpu//.start.o.d: No such file or directory where the latter could only be reproduced when building parallelly. Both the two types of errors are about files in arch/riscv/cpu, and there's a suspicious slash character in the reported path. Looking through RISC-V-specific Makefiles, there's only one place that may expand to such a path, libs-y += arch/riscv/cpu/$(CPU)/ The right hand expands to "arch/riscv/cpu//" if $(CPU) isn't defined at the time of including. With some debug statement added to arch/riscv/Makefile, the output proves that arch/riscv/Makefile is included twice, once with $(CPU) undefined and once defined correctly according to CONFIG_SYS_CPU. Futher bisecting shows an extra include statement against arch/$(SRCARCH)/Makefile is added in earlier bump of Kbuild system. But the statement is evaluated before config.mk is included and definition of $(CPU), causing objects in arch/riscv/cpu/ are built and linked twice (once as "arch/riscv/cpu/*", and once as "arch/riscv/cpu//*"), resulting in the error. Let's simply remove the extra include to fix these nasty errors. For config targets, bumping Kbuild also introduced a new include to arch/$(SRCARCH)/Makefile, which is removed as well for consistency. Fixes: 5f520875bdf ("kbuild: Bump the build system to 5.1") Signed-off-by: Yao Zi <ziyao@disroot.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Tested-by: Fabio Estevam <festevam@gmail.com> Tested-by: Bryan Brattlof <bb@ti.com>
Diffstat (limited to 'tools/u_boot_pylib/tools.py')
0 files changed, 0 insertions, 0 deletions