On 06/19/2018 04:37 AM, Bin Meng wrote: > Hi Heinrich, > > On Tue, Jun 12, 2018 at 11:50 PM, Heinrich Schuchardt > <xypron.g...@gmx.de> wrote: >> car.o can only be used with start.o, not with start64.o. >> >> So on qemu 64bit it should only be built for 32bit SPL but not for u-boot. >> >> Without this patch but with an unrelated pending patch >> ("x86: Add 64-bit setjmp/longjmp implementation") the >> following error occurred for qemu-x86_64_defconfig: >> > > I don't understand why Ivan's setmp/longjmp patch triggers this build > issue. Can you elaborate?
Hello Bin, it was what I observed. As start.S calls car_init() but start_64.S does not the linker could eliminate car.o on x86_64. Why it does not eliminate it with the patch I do not know. But I still think that building car.o on 64bit does not make sense. Best regards Heinrich > >> arch/x86/cpu/built-in.o: In function `car_init': >> arch/x86/cpu/qemu/car.S:25: undefined reference to `car_init_ret' >> >> Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de> >> --- >> arch/x86/cpu/qemu/Makefile | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/arch/x86/cpu/qemu/Makefile b/arch/x86/cpu/qemu/Makefile >> index e5ea92545e3..b1daffd4a32 100644 >> --- a/arch/x86/cpu/qemu/Makefile >> +++ b/arch/x86/cpu/qemu/Makefile >> @@ -2,8 +2,11 @@ >> # >> # Copyright (C) 2015, Bin Meng <bmeng...@gmail.com> >> >> +ifndef CONFIG_$(SPL_)X86_64 >> +obj-y += car.o >> +endif >> ifndef CONFIG_EFI_STUB >> -obj-y += car.o dram.o >> +obj-y += dram.o >> endif >> obj-y += qemu.o >> obj-$(CONFIG_QFW) += cpu.o e820.o >> -- > > BTW: the patch does not apply cleanly on latest u-boot/master. Please > rebase. Thanks! > > Regards, > Bin > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot