Skip to contentSkip to conversation

Build core2 (i686) U-Boot for a core-i7 (amd64) image

DISCUSSION Ferry Toth 2 participants 3 messages Jul 17, 2017 – Jul 18, 2017

lore
Share & tools
lore

Ferry Toth

author
#0 lore raw

On edison U-Boot is 32 bit. I'm building a 64 bit kernel + rootfs.

The only recipy that fails is U-Boot with:
undefined reference to `__normal___udivdi3'

Apparently, when building 32 bit U-Boot outside of yocto on a 64bit machine you need to install gcc-6-multilib.

How would I configure poke or change the recipe to do the same?

#1 lore raw
Quoted 5 lines · Ferry Toth

On edison U-Boot is 32 bit. I'm building a 64 bit kernel + rootfs.

The only recipy that fails is U-Boot with:
undefined reference to `__normal___udivdi3'

this means gcc is generating a helper call which it assumes libgcc will provide but here the toolchain in multilib env might be not providing it.

One solution is to rewrite the code such that this call is not generated by gcc. So help the compiler.

Quoted 11 lines

Apparently, when building 32 bit U-Boot outside of yocto on a 64bit machine you need to install gcc-6-multilib.

How would I configure poke or change the recipe to do the same?

--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

author
#2 lore raw

Op Mon, 17 Jul 2017 22:49:51 -0400, schreef Khem Raj:

Quoted 11 lines
Quoted 6 lines · Ferry Toth

On edison U-Boot is 32 bit. I'm building a 64 bit kernel + rootfs.

The only recipy that fails is U-Boot with:
undefined reference to `__normal___udivdi3'

this means gcc is generating a helper call which it assumes libgcc will provide but here the toolchain in multilib env might be not providing it.

I am not using multilib yet, as I don't know exactly how to do that. Actually that is my question.

Quoted 2 lines

One solution is to rewrite the code such that this call is not generated by gcc. So help the compiler.

Rewrite U-Boot to not use this helper, that doesn't sound right.

I would rather tell this specific recipe to use the 32 bit compiler, while all other recipies are built with 64.

Quoted 10 lines
Quoted 10 lines

Apparently, when building 32 bit U-Boot outside of yocto on a 64bit machine you need to install gcc-6-multilib.

How would I configure poke or change the recipe to do the same?

--
_______________________________________________
yocto mailing list [email protected]
https://lists.yoctoproject.org/listinfo/yocto