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

Bruce Ashfield bruce.ashfield at windriver.com
Mon Apr 18 05:17:56 PDT 2016


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).

Cheers,

Bruce

>



More information about the linux-yocto mailing list