From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by yocto-www.yoctoproject.org (Postfix, from userid 118) id 5C5F7E00D12; Thu, 25 Feb 2016 13:12:13 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on yocto-www.yoctoproject.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HTML_MESSAGE autolearn=ham version=3.3.1 X-Spam-HAM-Report: * 0.0 HTML_MESSAGE BODY: HTML included in message * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% * [score: 0.0000] * -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's * domain * -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature * 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily * valid Received: from mail-oi0-f50.google.com (mail-oi0-f50.google.com [209.85.218.50]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id 56705E00D05 for ; Thu, 25 Feb 2016 13:12:08 -0800 (PST) Received: by mail-oi0-f50.google.com with SMTP id w5so48735664oie.3 for ; Thu, 25 Feb 2016 13:12:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:references:in-reply-to:mime-version:thread-index:date :message-id:subject:to:content-type; bh=SAmbijYiDKbkYIQ2JI+nZEc3d5SY+rg12Bw/OopL2Gs=; b=Sf/GlZN3ykhmt1bpwTdC4Bg4PEVhE+VFsfFG+wFGNRuiG2EwcSa7xQgmwLjVvjgOcY Mht3v06wpd0ZeUC1B3oM3174gsJne0BwtT3wloIG76TB0/tJbvnVhXro9ugSxM8BxalF UIebjZNmTgZgR6uNS+No8sQm1RIE7USNzBIWg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:references:in-reply-to:mime-version :thread-index:date:message-id:subject:to:content-type; bh=SAmbijYiDKbkYIQ2JI+nZEc3d5SY+rg12Bw/OopL2Gs=; b=dkEAnS29RVg7IKqucwU0ZquCGq4C48eLrBYec3VEtFps4lqFH6A6sU6LF38u1O8z9c tofmzmW3y9wurZrU5HECb780qKn+wLipwbyu+PWHhPAWCOsvwVJZcdMhbaOnLyup0Ydj s5xBuX/nuBi6h9SvhDGFZ7zxxlwuLsXLrwuNRE5KKhsMOMbJOVPbNf/gP+cC5IVLVkJJ gNqRIw/PuKeWICVfhY/QJmS8KnbNhB+RgH3T6XsTEaUbmfHPjFHFcCwrfoA4wO8/DF0n 5rOQ3vaFX0LuVD81pocbf/zWScZHDTVl1ZKG//jvumz/TIN3G+F2OEPauAZSDCQV5aeT Dg5A== X-Gm-Message-State: AG10YOT8nEuJlPAyBVl/xmzmF4SJaYLskoIcCpwPpOlXLYAI2W13O6pNB3JUZG3zGcg11rOZlvn06MKvDjXTZE8D X-Received: by 10.202.81.147 with SMTP id f141mr33663535oib.85.1456434727887; Thu, 25 Feb 2016 13:12:07 -0800 (PST) From: Jonathan Richardson References: <782f4c4196c1be19342a12a8b784662b@mail.gmail.com> <1455830371.28376.97.camel@linuxfoundation.org> 46c98c026028a83af6db08652c8890b9@mail.gmail.com In-Reply-To: 46c98c026028a83af6db08652c8890b9@mail.gmail.com MIME-Version: 1.0 X-Mailer: Microsoft Outlook 14.0 Thread-Index: AQJRE0S6mY5oUxX8mID6WepOcWwa0ADZG76lAfqheDCeHKlcwIAKsSzw Date: Thu, 25 Feb 2016 13:12:07 -0800 Message-ID: <7661cdecdca15a89489fdea84c4b0f63@mail.gmail.com> To: Richard Purdie , poky@yoctoproject.org Subject: Re: gcc multilib X-BeenThere: poky@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Poky build system developer discussion & patch submission for meta-yocto List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Feb 2016 21:12:13 -0000 Content-Type: multipart/alternative; boundary=001a113d739a98ca80052c9ea2bb --001a113d739a98ca80052c9ea2bb Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, I enabled multilib like below in my conf file and named it =E2=80=98softfp= =E2=80=99. I didn=E2=80=99t 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 =3D "lib32 lib64 libx32 softfp" MULTILIBS =3D "multilib:softfp" DEFAULTTUNE_virtclass-multilib-softfp =3D "cortexa9" It works fine if I run my recipe as =E2=80=98bitbake softp-recipe=E2=80=99.= I added BBCLASSEXTEND_append =3D " multilib:softfp" to the recipe but when I run it as =E2=80=98bitbake recipe=E2=80=99 it doesn=E2=80=99t 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=E2=80=99t have to prefix the recipe name with softfp t= o 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=E2=80=99s not cle= ar > 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 --001a113d739a98ca80052c9ea2bb Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

Hi= ,

=C2=A0=

I enabled multilib li= ke below in my conf file and named it =E2=80=98softfp=E2=80=99. I didn=E2= =80=99t realize it was going to create a separate sysroot for it and also t= hat I could just enable it with a =C2=A0different tuning, which makes it mu= ch easier.

=C2= =A0

require con= f/multilib.conf

MULTILIB_GLOBAL_VARIANTS =3D "lib32 lib64 libx32 softfp"<= /p>

MULTILIBS =3D "mu= ltilib:softfp"

DEFAULTTUNE_virtclass-multilib-softfp =3D "cortexa9"<= /p>

=C2=A0

It works fine if I run my reci= pe as =E2=80=98bitbake softp-recipe=E2=80=99. I added BBCLASSEXTEND_append = =3D " multilib:softfp" to the recipe but when I run it as =E2=80= =98bitbake recipe=E2=80=99 it doesn=E2=80=99t pick up multilib. It looks li= ke the BBCLASSEXTEND is doing nothing. Is there anything else I need to add= to the recipe so that I don=E2=80=99t have to prefix the recipe name with = softfp to get multilib? Or can I only get multilib by prefixing it?<= /p>

=C2=A0

Thanks.

=C2=A0

From: Jonathan Richa= rdson [mailto:jonathan.= richardson@broadcom.com]
Sent: Thursday, February 18, 2016 5= :58 PM
To: 'Richard Purdie'; 'poky@yoctoproject.org'
Subject: RE: [po= ky] gcc multilib

=C2=A0

Resending to include mailing list.

=C2=A0

I can change the binaries makefiles/= recipes easily enough to take an alternate path to the soft fp libs (ie- /l= ib-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 ass= ume it would be under the same sysroot. Are there any examples of this?

=

=C2=A0

Thanks.

=C2=A0

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

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

The bigger ques= tion you face is where these binaries expect your libgcc
and perhaps dyn= amic loader to reside. Its straight forward enough to
configure the syst= em 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

=C2=A0

--001a113d739a98ca80052c9ea2bb--