On Wed, Jun 16, 2021 at 4:59 PM Randy MacLeod <randy.macleod@windriver.com> wrote:
On 2021-06-09 10:17 p.m., Khem Raj wrote:
> Even though it is deprecated in GCC 6 [1] it has not yet been
> removed from gcc upstream. We do have active machines in OE
> ecosystem which use armv4 ( SA11xx ) e.g. collie in meta-handheld
> so until upstream gcc takes next step to remove them
> lets support armv4 again, we are still carrying the relevant gcc patch
> to support v4 BX fix.
>
> [1] https://gcc.gnu.org/gcc-6/changes.html#arm


Huh, I was going to send an email about removing support for qemuarmv5.
Do we follow gcc or drop older arches before that?

We use armv5te for default tune for that 
Machine which is still supported and so is armv4t
Armv4 is a special case where I kept it even after it’s deprecated since there are users in OE community who are actively using it with master so we will stretch it to the point where gcc removes it and then perhaps remove it so no immediate action is needed

As far as armv5 ( without t ) is concerned we can remove it 


Our current list of qemu machines on master is:

meta/conf/machine/qemuarm64.conf
meta/conf/machine/qemuarm.conf
meta/conf/machine/qemuarmv5.conf
meta/conf/machine/qemumips64.conf
meta/conf/machine/qemumips.conf
meta/conf/machine/qemuppc64.conf
meta/conf/machine/qemuppc.conf
meta/conf/machine/qemuriscv32.conf
meta/conf/machine/qemuriscv64.conf
meta/conf/machine/qemux86-64.conf
meta/conf/machine/qemux86.conf


qemuarmv5 was added in:

commit 6fc70eb4f3494bee2be10ee24fe3ea1c8b5ff988
Author: Jon Mason <jdmason@kudzu.us>
Date:   Tue Mar 5 17:32:19 2019

     qemuarm: Swap for an arm7ve (A15) configuration

     Add new QEMU BSP for a Arm Cortex-A15 system and use this as qemuarm,
     moving the old armv5te Versatile PB based machine to qemuarmv5.

     The new machine uses the QEMU virt machine type, which should be
     faster to emulate and updates the qemuarm support to a modern
     architecture.

     Signed-off-by: Jon Mason <jdmason@kudzu.us>
     Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>


../Randy

>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> Cc: Andrea Adami <andrea.adami@gmail.com>
> ---
>   meta/conf/machine/include/arm/arch-armv4.inc | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/conf/machine/include/arm/arch-armv4.inc b/meta/conf/machine/include/arm/arch-armv4.inc
> index fac2bdf952..b71739c20a 100644
> --- a/meta/conf/machine/include/arm/arch-armv4.inc
> +++ b/meta/conf/machine/include/arm/arch-armv4.inc
> @@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv4"
>   
>   TUNEVALID[arm] = "Enable ARM instruction set"
>   TUNEVALID[armv4] = "Enable instructions for ARMv4"
> -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4t', '', d)}"
> +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' -march=armv4${ARMPKGSFX_THUMB}', '', d)}"
>   # enable --fix-v4bx when we have armv4 in TUNE_FEATURES, but then disable it when we have also armv5 or thumb
>   # maybe we should extend bb.utils.contains to support check for any checkvalues in value, now it does
>   # checkvalues.issubset(val) which cannot be used for negative test of foo neither bar in value
>
>
>
>
>


--
# Randy MacLeod
# Wind River Linux