Add support for ARMv8-M Mainline with DSP extension
authorThomas Preud'homme <thomas.preudhomme@arm.com>
Tue, 10 May 2016 14:15:15 +0000 (15:15 +0100)
committerThomas Preud'homme <thomas.preudhomme@arm.com>
Tue, 10 May 2016 14:24:10 +0000 (15:24 +0100)
commit15afaa63f39a44563e49bb3b9fb38ed43e8b48ed
treedde74b084be0c1722355cb7e4d5e1407b5fc6e5b
parentd942732e829030b8eab483dd48b979f8eed7c9e2
Add support for ARMv8-M Mainline with DSP extension

2016-05-10  Thomas Preud'homme  <thomas.preudhomme@arm.com>

bfd/
(elf32_arm_merge_eabi_attributes): Add merging logic for
Tag_DSP_extension.

binutils/
* readelf.c (display_arm_attribute): Add output for Tag_DSP_extension.
(arm_attr_public_tags): Define DSP_extension attribute.

gas/
* NEWS: Document ARMv8-M and ARMv8-M Security and DSP Extensions.
* config/tc-arm.c (arm_ext_dsp): New feature for Thumb DSP
instructions.
(arm_extensions): Add dsp extension for ARMv8-M Mainline.
(aeabi_set_public_attributes): Memorize the feature bits of the
architecture selected for Tag_CPU_arch.  Use it to set
Tag_DSP_extension to 1 for ARMv8-M Mainline with DSP extension.
(arm_convert_symbolic_attribute): Define Tag_DSP_extension.
* testsuite/gas/arm/arch7em-bad.d: Rename to ...
* testsuite/gas/arm/arch7em-bad-1.d: This.
* testsuite/gas/arm/arch7em-bad-2.d: New file.
* testsuite/gas/arm/arch7em-bad-3.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-1.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-2.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-3.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-4.d: Likewise.
* testsuite/gas/arm/archv8m-main-dsp-5.d: Likewise.
* testsuite/gas/arm/attr-march-armv8m.main.dsp.d: Likewise.

include/
* elf/arm.h (Tag_DSP_extension): Define.

ld/
* testsuite/ld-arm/arm-elf.exp (EABI attribute merging 10 (DSP)): New
test.
* testsuite/ld-arm/attr-merge-10b-dsp.s: New file.
* testsuite/ld-arm/attr-merge-10-dsp.attr: Likewise.
23 files changed:
bfd/ChangeLog
bfd/elf32-arm.c
binutils/ChangeLog
binutils/readelf.c
gas/ChangeLog
gas/NEWS
gas/config/tc-arm.c
gas/testsuite/gas/arm/arch7em-bad-1.d [new file with mode: 0644]
gas/testsuite/gas/arm/arch7em-bad-2.d [new file with mode: 0644]
gas/testsuite/gas/arm/arch7em-bad-3.d [new file with mode: 0644]
gas/testsuite/gas/arm/arch7em-bad.d [deleted file]
gas/testsuite/gas/arm/archv8m-main-dsp-1.d [new file with mode: 0644]
gas/testsuite/gas/arm/archv8m-main-dsp-2.d [new file with mode: 0644]
gas/testsuite/gas/arm/archv8m-main-dsp-3.d [new file with mode: 0644]
gas/testsuite/gas/arm/archv8m-main-dsp-4.d [new file with mode: 0644]
gas/testsuite/gas/arm/archv8m-main-dsp-5.d [new file with mode: 0644]
gas/testsuite/gas/arm/attr-march-armv8m.main.dsp.d [new file with mode: 0644]
include/ChangeLog
include/elf/arm.h
ld/ChangeLog
ld/testsuite/ld-arm/arm-elf.exp
ld/testsuite/ld-arm/attr-merge-10-dsp.attr [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-10b-dsp.s [new file with mode: 0644]