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

Robert Yang liezhi.yang at windriver.com
Mon Apr 18 18:43:17 PDT 2016


Filed:

https://bugzilla.yoctoproject.org/show_bug.cgi?id=9480
linux-yocto: make it work with arm big endian

// Robert

On 04/19/2016 09:32 AM, Bruce Ashfield wrote:
> 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