[poky] gcc multilib

Jonathan Richardson jonathan.richardson at broadcom.com
Thu Feb 25 13:12:07 PST 2016


Hi,



I enabled multilib like below in my conf file and named it ‘softfp’. I
didn’t realize it was going to create a separate sysroot for it and also
that I could just enable it with a  different tuning, which makes it much
easier.



require conf/multilib.conf

MULTILIB_GLOBAL_VARIANTS = "lib32 lib64 libx32 softfp"

MULTILIBS = "multilib:softfp"

DEFAULTTUNE_virtclass-multilib-softfp = "cortexa9"



It works fine if I run my recipe as ‘bitbake softp-recipe’. I added
BBCLASSEXTEND_append = " multilib:softfp" to the recipe but when I run it
as ‘bitbake recipe’ it doesn’t pick up multilib. It looks like the
BBCLASSEXTEND is doing nothing. Is there anything else I need to add to the
recipe so that I don’t have to prefix the recipe name with softfp to get
multilib? Or can I only get multilib by prefixing it?



Thanks.



*From:* Jonathan Richardson [mailto:jonathan.richardson at broadcom.com]
*Sent:* Thursday, February 18, 2016 5:58 PM
*To:* 'Richard Purdie'; 'poky at yoctoproject.org'
*Subject:* RE: [poky] gcc multilib



Resending to include mailing list.



I can change the binaries makefiles/recipes easily enough to take an
alternate path to the soft fp libs (ie- /lib-softfp) or whatever it turns
out to be, as long as it's some oddball location that isn't included in the
standard CFLAGS search path. I'd want the regular machine configuration to
have /lib/libgcc.so with hard fp and then some other location can have the
soft fp versions, I don't really care where that is as long as it exists
and I can point to it. I assume it would be under the same sysroot. Are
there any examples of this?



Thanks.



On Thu, Feb 18, 2016 at 1:19 PM, Richard Purdie <
richard.purdie at linuxfoundation.org> wrote:

On Thu, 2016-02-18 at 12:01 -0800, Jonathan Richardson wrote:
> We have a machine configured for hard floating point. This builds a
> hard fp version of libgcc. We also have some bootloaders and other
> code that require libgcc but use soft fp. I would prefer to keep the
> bootloaders using soft fp. Is there a way to configure libgcc to
> produce both hard and soft fp versions of libraries? There are
> multilib examples for 32 and 64 versions of libs but it’s not clear
> to me how to specify other compiler options to produce multiple
> versions of the libraries.

The bigger question you face is where these binaries expect your libgcc
and perhaps dynamic loader to reside. Its straight forward enough to
configure the system to build two versions with different tunes but one
would need to live in /lib and the other in /lib32 or some other /libXX
location. The way the multilib setup works, it doesn't really care
which configuration you use for a given location.

Cheers,

Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/poky/attachments/20160225/87ac0db6/attachment.html>


More information about the poky mailing list