[OE-core] LE and BE build for the same machine in Yocto

Zhenhua Luo zhenhua.luo at nxp.com
Mon Mar 28 09:21:11 UTC 2016


Hi Richard and Khem, 

Thanks for your comments. 

I have tried to build the LE u-boot for BE target in Yocto, the u-boot can be built successfully, I only need to pass "-mlittle-endian" for cross gcc and pass " -EL" for cross ld. 


Best Regards,

Zhenhua

> -----Original Message-----
> From: Khem Raj [mailto:raj.khem at gmail.com]
> Sent: Friday, March 25, 2016 11:44 PM
> To: Richard Purdie <richard.purdie at linuxfoundation.org>
> Cc: Zhenhua Luo <zhenhua.luo at nxp.com>; openembedded-
> core at lists.openembedded.org
> Subject: Re: [OE-core] LE and BE build for the same machine in Yocto
> 
> 
> > On Mar 25, 2016, at 1:26 AM, Richard Purdie
> <richard.purdie at linuxfoundation.org> wrote:
> >
> > On Fri, 2016-03-25 at 06:07 +0000, Zhenhua Luo wrote:
> >> If the multilib feature is enabled in Yocto, two cross-compile gcc
> >> binaries will be generated to do both 32b and 64b build for the same
> >> machine.  Currently we have requirement to build LE u-boot and BE
> >> kernel/rootfs for the same machine, may I know if there is similar
> >> multilib mechanism in Yocto to support BE and LE build for the same
> >> machine?
> >
> > If u-boot doesn't need any support libs, the existing compiler can
> > likely cope with that. If you need libgcc, then you will need multilib.
> >
> > I'd like to get to a point where we can support this using multilib
> > however it might not all work correctly today. It would be interesting
> > to try it! The intent is to get to the point where it would work but
> > its not currently a priority as not many people have been asking for
> > it.
> >
> 
> Do you mean having BE/LE as a multilib option ? that might be a possibility and
> would probably make sense for this kind of limited scenario.
> 
> u-boot, kernel, are standalone apps, but some of them do need gcc runtime at
> various stages, some need startup files some need libgcc as well. Good thing is
> they won’t require libgcc_s but static libgcc, which can come from gcc-cross
> area and we don’t have to worry about packaging it for target. I wonder if we
> could tool the multilib configuration of cross-gcc separately from the rootfs
> 
> however, that might work for startup files since they are only needed during
> build and are not packaged into target package like libgcc is.
> 
> If we can limit ourselves to startup files and static libgcc then a solution could
> become possible.


More information about the Openembedded-core mailing list