[U-Boot] Fwd: arch/x86/cpu/x86_64/built-in.o: In function `checkcpu': (.text.checkcpu+0x0): multiple definition of `checkcpu' arch/x86/cpu/efi/built-in.o:(.text.checkcpu+0x0): first defined here

Bin Meng bmeng.cn at gmail.com
Tue May 16 07:26:58 UTC 2017


Hi Jeroen,

On Thu, May 11, 2017 at 3:39 PM, Jeroen Roovers <jer at airfi.aero> wrote:
> On 11 May 2017 at 06:31, Bin Meng <bmeng.cn at gmail.com> wrote:
>> +Simon
>>
>> On Wed, May 10, 2017 at 6:15 PM, Jeroen Roovers <jer at airfi.aero> wrote:
>>> Trying to compile an x86_64 u-boot with EFI support:
>>>
>>> arch/x86/cpu/x86_64/built-in.o: In function `checkcpu':
>>> (.text.checkcpu+0x0): multiple definition of `checkcpu'
>>> arch/x86/cpu/efi/built-in.o:(.text.checkcpu+0x0): first defined here
>>> arch/x86/cpu/x86_64/built-in.o: In function `arch_setup_gd':
>>> /home/jer/airfi/airfi-base/buildroot-2016.02-apollo/output/build/uboot-2017.05/arch/x86/cpu/x86_64/cpu.c:18:
>>> multiple definition of `misc_init_r'
>>> arch/x86/cpu/efi/built-in.o:(.text.misc_init_r+0x0): first defined here
>>> arch/x86/cpu/x86_64/built-in.o: In function `arch_setup_gd':
>>> /home/jer/airfi/airfi-base/buildroot-2016.02-apollo/output/build/uboot-2017.05/arch/x86/cpu/x86_64/cpu.c:18:
>>> multiple definition of `print_cpuinfo'
>>> arch/x86/cpu/efi/built-in.o:(.text.print_cpuinfo+0x0): first defined here
>>> make[2]: *** [scripts/Makefile.build:359: arch/x86/cpu/built-in.o] Error 1
>>> make[1]: *** [Makefile:1234: arch/x86/cpu] Error 2
>>> make[1]: *** Waiting for unfinished jobs....
>>>
>>> with the attached configuration. Am I doing it wrong?
>>
>> I don't have the environment to test but did you use efi-x86_defconfig?
>
> No, the config I attached has been edited because when I use
> efi-x86_defconfig I get a mix of 32-bit and 64-bit objects:
>
> /home/jer/airfi/airfi-base/apollo/output/host/usr/bin/x86_64-buildroot-linux-gnu-ld.bfd:
> Relocatable linking with relocations from format elf32-i386
> (board/efi/efi-x86/efi.o) to format elf64-x86-64
> (board/efi/efi-x86/built-in.o) is not supported
> make[2]: *** [scripts/Makefile.build:359: board/efi/efi-x86/built-in.o] Error 1
> make[1]: *** [Makefile:1234: board/efi/efi-x86] Error 2
> make[1]: *** Waiting for unfinished jobs....
>
> So I needed to adapt it for a 64-bit target by enabling CONFIG_X86_RUN_64BIT

CONFIG_X86_RUN_64BIT is supposed to be turned on a 64-bit U-Boot
build, not for EFI application.

Regards,
Bin


More information about the U-Boot mailing list