[Patch]Option support to ARM MCU Cortex-M7 and related FPU
Terry Guo
terry.guo@arm.com
Thu Nov 20 13:30:00 GMT 2014
>
> I think this gets the build attributes wrong. By my reading of the
> attributes spec, fpv5-d16 should generate Tag_FP_arch = 8; while
> fpv5-sp-d16 should generate Tag_FP_arch = 8 + Tag_ABI_HardFP_use = 1 (SP
> only).
>
> For example, if I build with .arch=armv7e-m .fpu=fpv4-sp-d16, I get
> attributes:
>
> Tag_CPU_name: "7E-M"
> Tag_CPU_arch: v7E-M
> Tag_CPU_arch_profile: Microcontroller
> Tag_THUMB_ISA_use: Thumb-2
> Tag_FP_arch: VFPv4-D16
> Tag_ABI_HardFP_use: SP only
>
> I should get something equivalent with your new patches.
>
> You'll probably also need linker patches to reason about the
> compatibility of these attributes.
>
> And, of course, there need to be tests to validate the merging is done
> correctly :-)
>
> R.
>
Patch is updated per your suggestions. Is it OK?
BR,
Terry
include/ChangeLog:
2014-11-20 Terry Guo <terry.guo@arm.com>
* opcode/arm.h (FPU_VFP_EXT_ARMV8xD): New macro.
(FPU_VFP_V5D16): Likewise.
(FPU_VFP_V5_SP_D16): Likewise.
(FPU_ARCH_VFP_V5D16): Likewise.
(FPU_ARCH_VFP_V5_SP_D16): Likewise.
bfd/ChangeLog:
2014-11-20 Terry Guo <terry.guo@arm.com>
* elf32-arm.c (elf32_arm_merge_eabi_attributes): Extended to support
FPv5.
binutils/ChangeLog:
2014-11-20 Terry Guo <terry.guo@arm.com>
* readelf.c (arm_attr_tag_FP_arch): Extended to support FPv5.
gas/ChangeLog:
2014-11-20 Terry Guo <terry.guo@arm.com>
* config/tc-arm.c (fpu_vfp_ext_armv8xd): New.
(arm_cpus): Support cortex-m7.
(arm_fpus): Support fpv5-sp-d16 and fpv5-d16.
(do_vfp_nsyn_cvt_fpv8): Generate error when use D register for S
register only target like FPv5-SP-D16.
(do_neon_cvttb_1): Likewise.
(do_vfp_nsyn_fpv8): Likewise.
(do_vrint_1): Likewise.
(aeabi_set_public_attributes): Set proper FP arch for FPv5.
* doc/c-arm.texi: Document new cpu and fpu names for cortex-m7.
gas/testsuite/ChangeLog:
2014-11-20 Terry Guo <terry.guo@arm.com>
* gas/arm/armv7e-m+fpv5-d16.s: New.
* gas/arm/armv7e-m+fpv5-d16.d: Likewise.
* gas/arm/armv7e-m+fpv5-sp-d16.s: Likewise.
* gas/arm/armv7e-m+fpv5-sp-d16.d: Likewise.
ld/testsuite/ChangeLog:
2014-11-20 Terry Guo <terry.guo@arm.com>
* ld-arm/attr-merge-vfp-4-sp.s: New test source file.
* ld-arm/attr-merge-vfp-5-sp.s: Likewise.
* ld-arm/attr-merge-vfp-5.s: Likewise.
* ld-arm/attr-merge-vfp-8.d: New test.
* ld-arm/attr-merge-vfp-8r.d: Likewise.
* ld-arm/attr-merge-vfp-9.d: Likewise.
* ld-arm/attr-merge-vfp-9r.d: Likewise.
* ld-arm/attr-merge-vfp-10.d: Likewise.
* ld-arm/attr-merge-vfp-10r.d: Likewise.
* ld-arm/attr-merge-vfp-11.d: Likewise.
* ld-arm/attr-merge-vfp-11r.d: Likewise.
* ld-arm/attr-merge-vfp-12.d: Likewise.
* ld-arm/attr-merge-vfp-12r.d: Likewise.
* ld-arm/attr-merge-vfp-13.d: Likewise.
* ld-arm/attr-merge-vfp-13r.d: Likewise.
* ld-arm/attr-merge-vfp-14.d: Likewise.
* ld-arm/attr-merge-vfp-14r.d: Likewise.
* ld-arm/arm-elf.exp: Run the new tests.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: option-support-cortex-m7-v4.txt
URL: <https://sourceware.org/pipermail/binutils/attachments/20141120/c6ff8e0b/attachment.txt>
More information about the Binutils
mailing list