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

Bruce Ashfield bruce.ashfield at windriver.com
Mon Apr 18 18:32:54 PDT 2016


On 2016-04-18 9:30 PM, Robert Yang wrote:
>
>
> 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.

It is worth adding as an enhancement, that way we can prioritize it
and decide if it does (or doesn't) fit in 2.2

Bruce

>
> // Robert
>
>>
>> Cheers,
>>
>> Bruce
>>
>>>
>>
>>



More information about the linux-yocto mailing list