[yocto] Problems building U-Boot for x86_64

Ferry Toth ftoth at telfort.nl
Tue Aug 22 23:41:35 PDT 2017


I am having trouble building a specific U-Boot version with Yocto. 
Outside of Yocto on 64 bit Ubuntu 17.04 with multilib it builds fine.

I am extending meta-intel-edison to build a 64 bit Poke Morty, with a 
vanilla 64-bit kernel (4.12). This is working quite well.

My host is x86_64, the target is core2 with tune=core-64.

Without 64bit tune I can build U-Boot fine. With 64bit it can not link, 
appearently because it needs lbgcc.a

I attempted to add multilib, but although that immediately exposed bugs 
in other recipes but actually adds libgcc.a, it does that for the target 
sysroot only.

And for some reason, U-Boot is built with the native gcc (x86_64-linux), 
and multilib does not add libgcc.a to that sysroot.

So, how do I add multilib to -native sysroot, preferably only to -native 
and not to the target, as the target has not further use for it?

Strangest thing is in u-boot.inc there is: 
EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc 
${TOOLCHAIN_OPTIONS}" V=1'
EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'

But when I check my log file:
NOTE: make -j8 CROSS_COMPILE=x86_64-poky-linux- CC=x86_64-poky-linux-
gcc  ......

So TARGET_PREFIX resolves to x86_64-poky-linux, but I think my target is 
core2_64 (or something like that). Is that normal for U-Boot?

I am a little lost, so any help would be greatly appreciated!

Ferry 




More information about the yocto mailing list