* [PATCH] feature-arm-thumb.inc: Do not tie generating thumb ISA to -march @ 2019-01-03 7:10 Khem Raj 2019-01-03 7:27 ` Martin Jansa 0 siblings, 1 reply; 4+ messages in thread From: Khem Raj @ 2019-01-03 7:10 UTC (permalink / raw) To: openembedded-core -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@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 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] feature-arm-thumb.inc: Do not tie generating thumb ISA to -march 2019-01-03 7:10 [PATCH] feature-arm-thumb.inc: Do not tie generating thumb ISA to -march Khem Raj @ 2019-01-03 7:27 ` Martin Jansa 2019-01-03 7:34 ` Khem Raj 0 siblings, 1 reply; 4+ messages in thread From: Martin Jansa @ 2019-01-03 7:27 UTC (permalink / raw) To: Khem Raj; +Cc: Patches and discussions about the oe-core layer [-- Attachment #1: Type: text/plain, Size: 2863 bytes --] 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. 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@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@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@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core > [-- Attachment #2: Type: text/html, Size: 4005 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] feature-arm-thumb.inc: Do not tie generating thumb ISA to -march 2019-01-03 7:27 ` Martin Jansa @ 2019-01-03 7:34 ` Khem Raj 2019-01-03 7:41 ` Khem Raj 0 siblings, 1 reply; 4+ messages in thread From: Khem Raj @ 2019-01-03 7:34 UTC (permalink / raw) To: Martin Jansa; +Cc: Patches and discussions about the oe-core layer On Wed, Jan 2, 2019 at 11:27 PM Martin Jansa <martin.jansa@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@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@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@lists.openembedded.org >> http://lists.openembedded.org/mailman/listinfo/openembedded-core ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] feature-arm-thumb.inc: Do not tie generating thumb ISA to -march 2019-01-03 7:34 ` Khem Raj @ 2019-01-03 7:41 ` Khem Raj 0 siblings, 0 replies; 4+ messages in thread From: Khem Raj @ 2019-01-03 7:41 UTC (permalink / raw) To: Martin Jansa; +Cc: Patches and discussions about the oe-core layer sent a v2 which i am testing On Wed, Jan 2, 2019 at 11:34 PM Khem Raj <raj.khem@gmail.com> wrote: > > On Wed, Jan 2, 2019 at 11:27 PM Martin Jansa <martin.jansa@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@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@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@lists.openembedded.org > >> http://lists.openembedded.org/mailman/listinfo/openembedded-core ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-01-03 7:41 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-01-03 7:10 [PATCH] feature-arm-thumb.inc: Do not tie generating thumb ISA to -march Khem Raj 2019-01-03 7:27 ` Martin Jansa 2019-01-03 7:34 ` Khem Raj 2019-01-03 7:41 ` Khem Raj
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.