[linux-yocto] linux-yocto: do_compile failed when DEFAULTTUNE = "aarch64_be"

Robert Yang liezhi.yang at windriver.com
Mon Apr 18 18:30:47 PDT 2016



On 04/18/2016 08:17 PM, Bruce Ashfield wrote:
> On 2016-04-18 5:47 AM, Robert Yang wrote:
>>
>> Reproducer: (both in YP 2.1 and 2.0.1):
>>
>> MACHINE = "qemuarm64"
>> DEFAULTTUNE = "aarch64_be"
>>
>> $ bitbake linux-yocto
>>
>>
>> aarch64_be-poky-linux-ld.bfd: usr/initramfs_data.o: compiled for a
>> little endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file usr/initramfs_data.o
>> make[3]: *** [usr/built-in.o] Error 1
>>    CC      kernel/exec_domain.o
>> make[2]: *** [usr] Error 2
>> make[2]: *** Waiting for unfinished jobs....
>>    OBJCOPY arch/arm64/kernel/vdso/vdso.so
>>    VDSOSYM arch/arm64/kernel/vdso/vdso-offsets.h
>>    CC      security/keys/keyring.o
>>    CC      kernel/panic.o
>>    CC      kernel/cpu.o
>>    AS      arch/arm64/kernel/vdso/vdso.o
>>    CC      kernel/exit.o
>>    CC      kernel/softirq.o
>>    LD      security/integrity/integrity.o
>>    CC      kernel/resource.o
>> aarch64_be-poky-linux-ld.bfd: security/integrity/iint.o: compiled for a
>> little endian system and target is big endian  CC      fs/open.o
>>
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file security/integrity/iint.o
>> make[4]: *** [security/integrity/integrity.o] Error 1
>> make[3]: *** [security/integrity] Error 2
>> make[3]: *** Waiting for unfinished jobs....
>>
>> [snip]
>>    LD      arch/arm64/mm/built-in.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/dma-mapping.o: compiled for
>> a little endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/dma-mapping.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/extable.o: compiled for a
>> little endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/extable.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/fault.o: compiled for a
>> little endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/fault.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/init.o: compiled for a
>> little endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/init.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/cache.o: compiled for a
>> little endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/cache.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/copypage.o: compiled for a
>> little endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/copypage.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/flush.o: compiled for a
>> little endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/flush.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/ioremap.o: compiled for a
>> little endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/ioremap.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/mmap.o: compiled for a
>> little endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/mmap.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/pgd.o: compiled for a little
>> endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/pgd.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/mmu.o: compiled for a little
>> endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/mmu.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/context.o: compiled for a
>> little endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/context.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/proc.o: compiled for a
>> little endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/proc.o
>> aarch64_be-poky-linux-ld.bfd: arch/arm64/mm/pageattr.o: compiled for a
>> little endian system and target is big endian
>> aarch64_be-poky-linux-ld.bfd: failed to merge target specific data of
>> file arch/arm64/mm/pageattr.o
>> make[3]: *** [arch/arm64/mm/built-in.o] Error 1
>> make[2]: *** [arch/arm64/mm] Error 2
>>    CC      fs/exec.o
>> [snip]
>>
>> Any comments, please ?
>
> big endian ARM64 is not something we've been building or testing. The
> default for that BSP is LE, and if you want to build the kernel big
> endian, you'll need to adjust the kernel configuration (since the
> kernel build doesn't know, or care, about the default tune).

Thanks, do you think that we need make it work or not in YP 2.2 ?
If yes, I will fire an enhancement request track it.

// Robert

>
> Cheers,
>
> Bruce
>
>>
>
>


More information about the linux-yocto mailing list