* [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.