[U-Boot] [PATCH 1/1] x86: qemu: do not build car.o with start64.o

Heinrich Schuchardt xypron.glpk at gmx.de
Tue Jun 19 06:10:33 UTC 2018


On 06/19/2018 04:37 AM, Bin Meng wrote:
> Hi Heinrich,
> 
> On Tue, Jun 12, 2018 at 11:50 PM, Heinrich Schuchardt
> <xypron.glpk at 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.glpk at 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.cn at 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
> 



More information about the U-Boot mailing list