[OE-core] Can't build product that uses DEFAULTTUNE="arm926ejs"

Peter Kjellerstedt peter.kjellerstedt at axis.com
Sat Mar 16 09:21:57 UTC 2019


> -----Original Message-----
> From: Khem Raj <raj.khem at gmail.com>
> Sent: den 15 mars 2019 06:09
> To: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
> Cc: OE Core (openembedded-core at lists.openembedded.org) <openembedded-
> core at lists.openembedded.org>
> Subject: Re: Can't build product that uses DEFAULTTUNE="arm926ejs"
> 
> On Mon, Mar 11, 2019 at 6:49 AM Peter Kjellerstedt
> <peter.kjellerstedt at axis.com> wrote:
> >
> > > -----Original Message-----
> > > From: Khem Raj <raj.khem at gmail.com>
> > > Sent: den 11 mars 2019 05:24
> > > To: Peter Kjellerstedt <peter.kjellerstedt at axis.com>
> > > Cc: OE Core (openembedded-core at lists.openembedded.org)
> <openembedded-
> > > core at lists.openembedded.org>
> > > Subject: Re: Can't build product that uses DEFAULTTUNE="arm926ejs"
> > >
> > > On Sun, Mar 10, 2019 at 9:20 PM Peter Kjellerstedt
> > > <peter.kjellerstedt at axis.com> wrote:
> > > >
> > > > I'm trying to build with master of OE-core and one of our
> products
> > > > now fails with:
> > > >
> > > > ERROR:  OE-core's config sanity checker detected a potential
> misconfiguration.
> > > >     Either fix the cause of this error or at your own risk
> disable the checker
> > > >     (see sanity.conf). Following is the list of potential
> problems / advisories:
> > > >
> > > >     Error, the PACKAGE_ARCHS variable (all any noarch arm armv4
> armv4t armv5
> > > >     armv5t armv5e armv5te arm926ejste arm926ejse <BSP name
> withheld>) for
> > > >     DEFAULTTUNE (arm926ejs) does not contain TUNE_PKGARCH
> (arm926ejst).
> > > >
> > > > I believe this is due to commit ac83d22e (arm-tunes: Remove -
> march
> > > > option if mcpu is already added). If I build with Thud,
> TUNE_PKGARCH
> > > > is "arm926ejste". The  lack of the "e" at the end when building
> with
> > > > master seems to be due to the definition of ARMPKGSFX_DSP as
> > > > "${@bb.utils.contains('TUNE_FEATURES', [ 'armv5', 'dsp' ], 'e',
> '', d)}"
> > > > and the fact that after commit ac83d22e, TUNE_FEATURES no longer
> > > > contains 'armv5'.
> > >
> > > right this should now check for armv5t
> >
> > There is no armv5t to check for.
> >
> > > armv5 has been removed from upstream gcc as well. So we only
> support
> > > armv5t variants.
> > >
> > > > //Peter
> >
> > I am by no means any expert on the tuning files (actually they mostly
> > seem like black magic), but I devised an alternative solution for
> > preferring -mcpu over -march that I think is less invasive and without
> > unwanted side effects. I will publish it shortly.
> 
> I saw you sent couple of patch to address this, however I think it can
> be addressed a bit differently and patch could be simple. I would be 
> keen if you try it out and see if that fixes your problem
> 
> https://patchwork.openembedded.org/patch/159591/
> 
> > //Peter

While I agree that your patch will solve the problem with arm926ejs, I 
believe there are advantages in applying my patches instead. In addition 
to fixing the problem with arm926ejs, my patches (patch set 4, not patch 
set 2 that is currently on master-next) also:

* make it so that there is no change to TUNE_FEATURES,
* make it explicit whether -mcpu or -march is used, and
* make the extra arguments added to -mcpu or -march for armv8 explicit.

That last point was something that confused me when I read the original 
tune files. I did not realize that those extra features were added to 
whatever -mcpu or -march happened to be added to TUNE_CCARGS before the 
arch-armv8a.inc file was included (especially as it was written to make 
it look as they were only added to the -march option).

//Peter



More information about the Openembedded-core mailing list