diff options
author | Thomas Preud'homme <thomas.preudhomme@arm.com> | 2016-05-10 15:15:15 +0100 |
---|---|---|
committer | Thomas Preud'homme <thomas.preudhomme@arm.com> | 2016-05-10 15:24:10 +0100 |
commit | 15afaa63f39a44563e49bb3b9fb38ed43e8b48ed (patch) | |
tree | dde74b084be0c1722355cb7e4d5e1407b5fc6e5b /ld | |
parent | d942732e829030b8eab483dd48b979f8eed7c9e2 (diff) | |
download | gdb-15afaa63f39a44563e49bb3b9fb38ed43e8b48ed.zip gdb-15afaa63f39a44563e49bb3b9fb38ed43e8b48ed.tar.gz gdb-15afaa63f39a44563e49bb3b9fb38ed43e8b48ed.tar.bz2 |
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.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/arm-elf.exp | 3 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-10-dsp.attr | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-arm/attr-merge-10b-dsp.s | 6 |
4 files changed, 23 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index ef1d3de..752f766 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com> + + * 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. + 2016-05-10 Christophe Lyon <christophe.lyon@linaro.org> * ld/testsuite/ld-elf/flags1.d (xfail): Remove *-*-nacl*". diff --git a/ld/testsuite/ld-arm/arm-elf.exp b/ld/testsuite/ld-arm/arm-elf.exp index fea70a1..f34ce5f 100644 --- a/ld/testsuite/ld-arm/arm-elf.exp +++ b/ld/testsuite/ld-arm/arm-elf.exp @@ -411,6 +411,9 @@ set armeabitests_common { {"EABI attribute merging 10" "-r" "" "" {attr-merge-10a.s attr-merge-10b.s} {{readelf -A attr-merge-10.attr}} "attr-merge-10"} + {"EABI attribute merging 10 (DSP)" "-r" "" "" {attr-merge-10a.s attr-merge-10b-dsp.s} + {{readelf -A attr-merge-10-dsp.attr}} + "attr-merge-10-dsp"} {"EABI attribute arch merging 1" "-r" "" "" {arch-v6k.s arch-v6t2.s} {{readelf -A attr-merge-arch-1.attr}} "attr-merge-arch-1"} diff --git a/ld/testsuite/ld-arm/attr-merge-10-dsp.attr b/ld/testsuite/ld-arm/attr-merge-10-dsp.attr new file mode 100644 index 0000000..7cdbd49 --- /dev/null +++ b/ld/testsuite/ld-arm/attr-merge-10-dsp.attr @@ -0,0 +1,7 @@ +Attribute Section: aeabi +File Attributes + Tag_CPU_name: "8-M.MAIN" + Tag_CPU_arch: v8-M.mainline + Tag_CPU_arch_profile: Microcontroller + Tag_THUMB_ISA_use: Yes + Tag_DSP_extension: Allowed diff --git a/ld/testsuite/ld-arm/attr-merge-10b-dsp.s b/ld/testsuite/ld-arm/attr-merge-10b-dsp.s new file mode 100644 index 0000000..de67b36 --- /dev/null +++ b/ld/testsuite/ld-arm/attr-merge-10b-dsp.s @@ -0,0 +1,6 @@ + .arch armv8-m.main + + @ Tag_CPU_arch & Tag_CPU_arch_profile = v8-M.MAIN + .eabi_attribute Tag_CPU_arch, 17 + .eabi_attribute Tag_CPU_arch_profile, 'M' + .eabi_attribute Tag_DSP_extension, 1 |