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





--
_______________________________________________
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto

Reply via email to