[PATCH][GAS] arm: add armv9-a architecture to -march
Przemyslaw Wirkus
Przemyslaw.Wirkus@arm.com
Tue Oct 12 09:10:00 GMT 2021
Ping :)
> -----Original Message-----
> From: Przemyslaw Wirkus
> Sent: 04 October 2021 21:25
> To: Binutils <binutils@sourceware.org>
> Cc: Richard Earnshaw <Richard.Earnshaw@arm.com>; Marcus Shawcroft
> (Marcus.Shawcroft@arm.com) <Marcus.Shawcroft@arm.com>; Nick Clifton
> <nickc@redhat.com>
> Subject: [PATCH][GAS] arm: add armv9-a architecture to -march
>
> Patch is adding `armv9-a` to -march in Arm GAS.
>
> This patch also updates:
> + New value of Tag_CPU_arch EABI attribute (22) is added, see [0].
> + Updated missing from code Tag_CPU_arch EABI attributes for
> "Arm v8.1-A", "Arm v8.2-A" and "Arm v8.3-A" entries, see [0].
> + New test `armv9-a_arch.d` to demonstrate that (22) is recognised
> by readelf.
> + Commit [1] extends arm_feature_set.core array. A follow up
> change
> is done to e.g., initialize (with 0s) or other values existing
> ARM_FEATURE_x macros. New macro ARM_FEATURE_ALL is added
> set all
> fields of arm_feature_set.core array.
> + Various changes are made to align asserts with new V9 arch.
> + Updated how we combine archs 'v4t_plus_v6_m' as this
> mechanism
> must handle new Armv9 as well.
>
> [0] https://github.com/ARM-software/abi-
> aa/blob/main/addenda32/addenda32.rst#3352the-target-related-attributes
> [1] 2c6ccfcfdde1 (arm: Extend again arm_feature_set struct to
> provide
> more bits).
>
> Regression tested on `arm-none-eabi` cross Binutils and no issues.
>
> OK for master?
>
> bfd/
>
> 2021-09-21 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
>
> * archures.c: Define bfd_mach_arm_9.
> * bfd-in2.h (bfd_mach_arm_9): Define bfd_mach_arm_9.
> * cpu-arm.c: Add 'armv9-a' option to -march.
> * elf32-arm.c (using_thumb2_bl): Update assert check.
> (arch_has_arm_nop): Add TAG_CPU_ARCH_V9.
> (bfd_arm_get_mach_from_attributes): Add case for
> TAG_CPU_ARCH_V9.
> Update assert.
> (tag_cpu_arch_combine): Updated table.
> (tag_cpu_arch_combine): Updated table.
> (tag_cpu_arch_combine): Updated table.
> (v9): New table..
>
> binutils/
>
> 2021-09-21 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
>
> * readelf.c (arm_attr_tag_CPU_arch): Update with
>
> elfcpp/
>
> 2021-09-21 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
>
> * arm.h: Update TAG_CPU_ARCH_ enums with currect values.
>
> gas/
>
> 2021-09-21 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
>
> * NEWS: Update docs.
> * config/tc-arm.c (get_aeabi_cpu_arch_from_fset): Return Armv9-a
> for -amarch=all.
> (aeabi_set_public_attributes): Update assert.
> * doc/c-arm.texi: Update docs.
> * testsuite/gas/arm/armv9-a_arch.d: New test.
> * testsuite/gas/arm/attr-march-all.d: Update test with v9.
>
> include/
>
> 2021-09-21 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
>
> * elf/arm.h Update TAG_CPU_ARCH_ defines with currect values.
> * opcode/arm.h (ARM_EXT3_V9A): New macro.
> (ARM_ARCH_NONE): Updated with arm_feature_set.core size.
> (FPU_NONE): Updated.
> (ARM_ANY): Updated.
> (ARM_ARCH_UNKNOWN): New macro.
> (ARM_FEATURE_LOW): Updated.
> (ARM_FEATURE_CORE): Updated.
> (ARM_FEATURE_CORE_LOW): Updated.
> (ARM_FEATURE_CORE_HIGH): Updated.
> (ARM_FEATURE_COPROC): Updated.
> (ARM_FEATURE): Updated.
> (ARM_FEATURE_ALL): New macro.
>
> opcodes/
>
> 2021-09-21 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
>
> * arm-dis.c (select_arm_features): Support bfd_mach_arm_9.
> Also Update bfd_mach_arm_unknown to use new macro
> ARM_ARCH_UNKNOWN.
More information about the Binutils
mailing list