[OE-core] [PATCH] feature-arm-thumb.inc: Do not tie generating thumb ISA to -march

Khem Raj raj.khem at gmail.com
Thu Jan 3 07:41:33 UTC 2019


sent a v2 which i am testing

On Wed, Jan 2, 2019 at 11:34 PM Khem Raj <raj.khem at gmail.com> wrote:
>
> On Wed, Jan 2, 2019 at 11:27 PM Martin Jansa <martin.jansa at gmail.com> wrote:
> >
> > I think this will include it not only in -march parameter but also in TUNE_PKGARCH.
> > So the packages built with and without thumb ISA will have the same file name and package feed which is wrong.
> >
>
> I did ponder over it before following the approach I took, but I think
> you have to point to maintain separate feeds for thumb and arm ISA
> generated packages.
> I think since we do not support OABI and EABI demands interwork, so
> using 't' unconditionally in -march is a workable approach too.
>
> > It should probably be fixed only when adding march to TUNE_CCARGS:
> > meta/conf/machine/include/arm/arch-armv4.inc:TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}"
> > meta/conf/machine/include/arm/arch-armv5.inc:TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' -march=armv5${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}', '', d)}"
> > meta/conf/machine/include/arm/arch-armv6.inc:TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' -march=armv6', '', d)}"
> > meta/conf/machine/include/arm/arch-armv7a.inc:TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7a', ' -march=armv7-a', '', d)}"
> > meta/conf/machine/include/arm/arch-armv7ve.inc:TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7ve', ' -march=armv7ve', '', d)}"
> >
> >
> > On Thu, Jan 3, 2019 at 8:10 AM Khem Raj <raj.khem at gmail.com> wrote:
> >>
> >> -march=armv5't'e means that CPU can execute thumb ISA, we do not need to
> >> tie this to exclusively generating thumb ISA, this change means that
> >> when we have thumb in tune features then it can use 't' in -march
> >> options irrespective of ISA being thumb or arm.
> >>
> >> This fixes derivative of armv5 tunes and paves way for gcc9 where e.g.
> >> armv5e is dropped and minimum arch supported is armv5te
> >>
> >> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> >> ---
> >>  meta/conf/machine/include/arm/feature-arm-thumb.inc | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/meta/conf/machine/include/arm/feature-arm-thumb.inc b/meta/conf/machine/include/arm/feature-arm-thumb.inc
> >> index 0b47ccad02..36bda6c67a 100644
> >> --- a/meta/conf/machine/include/arm/feature-arm-thumb.inc
> >> +++ b/meta/conf/machine/include/arm/feature-arm-thumb.inc
> >> @@ -24,7 +24,7 @@ python () {
> >>  TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', ' -m${ARM_M_OPT}', '', d)}"
> >>
> >>  # Add suffix from ARM_THUMB_SUFFIX only if after all this we still set ARM_M_OPT to thumb
> >> -ARMPKGSFX_THUMB .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d) if d.getVar('ARM_M_OPT') == 'thumb' else ''}"
> >> +ARMPKGSFX_THUMB .= "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '${ARM_THUMB_SUFFIX}', '', d)}"
> >>
> >>  # what about armv7m devices which don't support -marm (e.g. Cortex-M3)?
> >>  TARGET_CC_KERNEL_ARCH += "${@bb.utils.contains('TUNE_FEATURES', 'thumb', '-mno-thumb-interwork -marm', '', d)}"
> >> --
> >> 2.20.1
> >>
> >> --
> >> _______________________________________________
> >> Openembedded-core mailing list
> >> Openembedded-core at lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core


More information about the Openembedded-core mailing list