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@broadcom.com]
Sent: Thursday, February 18, 2016 5:58 PM
To: 'Richard Purdie'; 'poky@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@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