Discussion:
[PATCH] [ARM] Update knowledge of bfd architectures
Thomas Preudhomme
2018-10-26 13:30:33 UTC
Permalink
Hi,

Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
locations. Missing one that this patch cover are:

- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()

Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.

ChangeLog entries are as follows:

*** bfd/ChangeLog ***

2018-10-26 Thomas Preud'homme <***@linaro.org>

* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.

*** gas/ChangeLog ***

2018-10-26 Thomas Preud'homme <***@linaro.org>

* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.

Testing: No testsuite regression when targeting arm-none-eabi.

Is this ok for master?

Best regards,

Thomas
Thomas Preudhomme
2018-10-26 13:31:44 UTC
Permalink
And now with a patch.
On Fri, 26 Oct 2018 at 14:30, Thomas Preudhomme
Post by Thomas Preudhomme
Hi,
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.
*** gas/ChangeLog ***
* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Testing: No testsuite regression when targeting arm-none-eabi.
Is this ok for master?
Best regards,
Thomas
Thomas Preudhomme
2018-11-01 17:20:11 UTC
Permalink
Ping?

Best regards,

Thomas
On Fri, 26 Oct 2018 at 14:31, Thomas Preudhomme
Post by Thomas Preudhomme
And now with a patch.
On Fri, 26 Oct 2018 at 14:30, Thomas Preudhomme
Post by Thomas Preudhomme
Hi,
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.
*** gas/ChangeLog ***
* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Testing: No testsuite regression when targeting arm-none-eabi.
Is this ok for master?
Best regards,
Thomas
Thomas Preudhomme
2018-11-01 17:20:34 UTC
Permalink
Ping?

Best regards,

Thomas
On Fri, 26 Oct 2018 at 14:31, Thomas Preudhomme
Post by Thomas Preudhomme
And now with a patch.
On Fri, 26 Oct 2018 at 14:30, Thomas Preudhomme
Post by Thomas Preudhomme
Hi,
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.
*** gas/ChangeLog ***
* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Testing: No testsuite regression when targeting arm-none-eabi.
Is this ok for master?
Best regards,
Thomas
Richard Earnshaw (lists)
2018-11-02 15:34:49 UTC
Permalink
Post by Thomas Preudhomme
And now with a patch.
On Fri, 26 Oct 2018 at 14:30, Thomas Preudhomme
Post by Thomas Preudhomme
Hi,
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.
Hmm,

If I remember correctly, I think we'd abandoned trying to fit all the
Arm architecture variants onto a simple enumeration - there are just too
many. Instead, we use the build attribute model to understand the
capabilites that an object file has.

So is there something motivating this patch beyond the 'it looks
incomplete'?

R.
Post by Thomas Preudhomme
Post by Thomas Preudhomme
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.
*** gas/ChangeLog ***
* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Testing: No testsuite regression when targeting arm-none-eabi.
Is this ok for master?
Best regards,
Thomas
update_knowledge_bfd_archs.patch
From ce28723429d06e81cb5143c6ec6a4f290e6979b3 Mon Sep 17 00:00:00 2001
Date: Fri, 19 Oct 2018 21:09:20 +0100
Subject: [PATCH 2/2] [ARM] Update knowledge of bfd architectures
Hi,
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.
*** gas/ChangeLog ***
* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Testing: No testsuite regression when targeting arm-none-eabi.
Is this ok for master?
Best regards,
Thomas
---
bfd/cpu-arm.c | 207 ++++++++++++++----
gas/config/tc-arm.c | 51 ++++-
gas/testsuite/gas/arm/cpu-arm1020.d | 7 +
gas/testsuite/gas/arm/cpu-arm1020e.d | 7 +
gas/testsuite/gas/arm/cpu-arm1020t.d | 7 +
gas/testsuite/gas/arm/cpu-arm1022e.d | 7 +
gas/testsuite/gas/arm/cpu-arm1026ej-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1026ejs.d | 7 +
gas/testsuite/gas/arm/cpu-arm10e.d | 7 +
gas/testsuite/gas/arm/cpu-arm10t.d | 7 +
gas/testsuite/gas/arm/cpu-arm10tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136j-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136jf-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136jfs.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136js.d | 7 +
gas/testsuite/gas/arm/cpu-arm1156t2-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1156t2f-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1176jz-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1176jzf-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm2.d | 7 +
gas/testsuite/gas/arm/cpu-arm250.d | 7 +
gas/testsuite/gas/arm/cpu-arm3.d | 7 +
gas/testsuite/gas/arm/cpu-arm6.d | 7 +
gas/testsuite/gas/arm/cpu-arm60.d | 7 +
gas/testsuite/gas/arm/cpu-arm600.d | 7 +
gas/testsuite/gas/arm/cpu-arm610.d | 7 +
gas/testsuite/gas/arm/cpu-arm620.d | 7 +
gas/testsuite/gas/arm/cpu-arm7.d | 7 +
gas/testsuite/gas/arm/cpu-arm70.d | 7 +
gas/testsuite/gas/arm/cpu-arm700.d | 7 +
gas/testsuite/gas/arm/cpu-arm700i.d | 7 +
gas/testsuite/gas/arm/cpu-arm710.d | 7 +
gas/testsuite/gas/arm/cpu-arm7100.d | 7 +
gas/testsuite/gas/arm/cpu-arm710c.d | 7 +
gas/testsuite/gas/arm/cpu-arm710t.d | 7 +
gas/testsuite/gas/arm/cpu-arm720.d | 7 +
gas/testsuite/gas/arm/cpu-arm720t.d | 7 +
gas/testsuite/gas/arm/cpu-arm740t.d | 7 +
gas/testsuite/gas/arm/cpu-arm7500.d | 7 +
gas/testsuite/gas/arm/cpu-arm7500fe.d | 7 +
gas/testsuite/gas/arm/cpu-arm7d.d | 7 +
gas/testsuite/gas/arm/cpu-arm7di.d | 7 +
gas/testsuite/gas/arm/cpu-arm7dm.d | 7 +
gas/testsuite/gas/arm/cpu-arm7dmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm7m.d | 7 +
gas/testsuite/gas/arm/cpu-arm7t.d | 7 +
gas/testsuite/gas/arm/cpu-arm7tdmi-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm7tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm8.d | 7 +
gas/testsuite/gas/arm/cpu-arm810.d | 7 +
gas/testsuite/gas/arm/cpu-arm9.d | 7 +
gas/testsuite/gas/arm/cpu-arm920.d | 7 +
gas/testsuite/gas/arm/cpu-arm920t.d | 7 +
gas/testsuite/gas/arm/cpu-arm922t.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ej-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ej.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ejs.d | 7 +
gas/testsuite/gas/arm/cpu-arm940t.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e.d | 7 +
gas/testsuite/gas/arm/cpu-arm968e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm9e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm9e.d | 7 +
gas/testsuite/gas/arm/cpu-arm9tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm_any.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a12.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a15.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a17.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a32.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a35.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a5.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a53.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a55.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a57.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a72.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a73.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a75.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a76.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a8.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a9.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m0.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m0plus.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m1.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m23.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m3.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m33.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m4.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r4.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r4f.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r5.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r52.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r8.d | 7 +
gas/testsuite/gas/arm/cpu-ep9312.d | 7 +
gas/testsuite/gas/arm/cpu-exynos-m1.d | 7 +
gas/testsuite/gas/arm/cpu-fa526.d | 7 +
gas/testsuite/gas/arm/cpu-fa606te.d | 7 +
gas/testsuite/gas/arm/cpu-fa616te.d | 7 +
gas/testsuite/gas/arm/cpu-fa626.d | 7 +
gas/testsuite/gas/arm/cpu-fa626te.d | 7 +
gas/testsuite/gas/arm/cpu-fa726te.d | 7 +
gas/testsuite/gas/arm/cpu-fmp626.d | 7 +
gas/testsuite/gas/arm/cpu-i80200.d | 7 +
gas/testsuite/gas/arm/cpu-iwmmxt.d | 7 +
gas/testsuite/gas/arm/cpu-iwmmxt2.d | 7 +
gas/testsuite/gas/arm/cpu-marvell-pj4.d | 7 +
gas/testsuite/gas/arm/cpu-marvell-whitney.d | 7 +
gas/testsuite/gas/arm/cpu-mpcore.d | 7 +
gas/testsuite/gas/arm/cpu-mpcorenovfp.d | 7 +
gas/testsuite/gas/arm/cpu-sa1.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm110.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1100.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1110.d | 7 +
gas/testsuite/gas/arm/cpu-xgene1.d | 7 +
gas/testsuite/gas/arm/cpu-xgene2.d | 7 +
gas/testsuite/gas/arm/cpu-xscale.d | 7 +
gas/testsuite/gas/arm/nop-asm.s | 1 +
gas/testsuite/gas/arm/note-march-armv2.d | 13 ++
gas/testsuite/gas/arm/note-march-armv2.s | 7 +
gas/testsuite/gas/arm/note-march-armv2a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv2a.s | 7 +
gas/testsuite/gas/arm/note-march-armv3.d | 13 ++
gas/testsuite/gas/arm/note-march-armv3.s | 7 +
gas/testsuite/gas/arm/note-march-armv3m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv3m.s | 7 +
gas/testsuite/gas/arm/note-march-armv4.d | 13 ++
gas/testsuite/gas/arm/note-march-armv4.s | 7 +
gas/testsuite/gas/arm/note-march-armv4t.d | 13 ++
gas/testsuite/gas/arm/note-march-armv4t.s | 7 +
gas/testsuite/gas/arm/note-march-armv5.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5.s | 7 +
gas/testsuite/gas/arm/note-march-armv5t.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5t.s | 7 +
gas/testsuite/gas/arm/note-march-armv5te.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5te.s | 7 +
gas/testsuite/gas/arm/note-march-armv5tej.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5tej.s | 7 +
gas/testsuite/gas/arm/note-march-armv6-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv6.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6.s | 7 +
gas/testsuite/gas/arm/note-march-armv6k.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6k.s | 7 +
gas/testsuite/gas/arm/note-march-armv6kz.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6kz.s | 7 +
gas/testsuite/gas/arm/note-march-armv6s-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6s-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv6t2.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6t2.s | 7 +
gas/testsuite/gas/arm/note-march-armv7-a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7-r.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7.s | 7 +
gas/testsuite/gas/arm/note-march-armv7e-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7e-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv8-a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv8-a.s | 7 +
.../gas/arm/note-march-armv8-m.base.d | 13 ++
.../gas/arm/note-march-armv8-m.base.s | 7 +
.../gas/arm/note-march-armv8-m.main.d | 13 ++
.../gas/arm/note-march-armv8-m.main.s | 7 +
gas/testsuite/gas/arm/note-march-armv8-r.d | 13 ++
gas/testsuite/gas/arm/note-march-armv8-r.s | 7 +
gas/testsuite/gas/arm/note-march-ep9312.d | 13 ++
gas/testsuite/gas/arm/note-march-ep9312.s | 7 +
gas/testsuite/gas/arm/note-march-iwmmxt.d | 13 ++
gas/testsuite/gas/arm/note-march-iwmmxt.s | 7 +
gas/testsuite/gas/arm/note-march-iwmmxt2.d | 13 ++
gas/testsuite/gas/arm/note-march-iwmmxt2.s | 7 +
gas/testsuite/gas/arm/note-march-xscale.d | 13 ++
gas/testsuite/gas/arm/note-march-xscale.s | 7 +
179 files changed, 1613 insertions(+), 46 deletions(-)
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1022e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ej-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ejs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136j-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jf-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jfs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136js.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jz-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm2.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm250.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm3.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm6.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm60.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm600.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm610.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm620.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm70.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm700.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm700i.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7100.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710c.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm720.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm720t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm740t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7500.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7500fe.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7d.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7di.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7dm.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7dmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7m.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm8.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm810.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm920.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm920t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm922t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ejs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm940t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm968e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm_any.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a12.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a15.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a17.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a32.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a35.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a5.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a53.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a55.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a57.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a72.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a73.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a75.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a76.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a8.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a9.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0plus.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m1.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m23.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m3.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m33.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m4.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4f.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r5.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r52.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r8.d
create mode 100644 gas/testsuite/gas/arm/cpu-ep9312.d
create mode 100644 gas/testsuite/gas/arm/cpu-exynos-m1.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa526.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa606te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa616te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa626.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa626te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa726te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fmp626.d
create mode 100644 gas/testsuite/gas/arm/cpu-i80200.d
create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt.d
create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt2.d
create mode 100644 gas/testsuite/gas/arm/cpu-marvell-pj4.d
create mode 100644 gas/testsuite/gas/arm/cpu-marvell-whitney.d
create mode 100644 gas/testsuite/gas/arm/cpu-mpcore.d
create mode 100644 gas/testsuite/gas/arm/cpu-mpcorenovfp.d
create mode 100644 gas/testsuite/gas/arm/cpu-sa1.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm110.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1100.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1110.d
create mode 100644 gas/testsuite/gas/arm/cpu-xgene1.d
create mode 100644 gas/testsuite/gas/arm/cpu-xgene2.d
create mode 100644 gas/testsuite/gas/arm/cpu-xscale.d
create mode 100644 gas/testsuite/gas/arm/nop-asm.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv2.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv2.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv3.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv3.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv4.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv4.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5tej.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5tej.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6k.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6k.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6kz.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6kz.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6s-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6s-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6t2.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6t2.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-r.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv7e-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7e-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-a.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.base.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.base.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.main.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.main.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-r.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-r.s
create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.d
create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.s
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.d
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.s
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.d
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.s
create mode 100644 gas/testsuite/gas/arm/note-march-xscale.d
create mode 100644 gas/testsuite/gas/arm/note-march-xscale.s
diff --git a/bfd/cpu-arm.c b/bfd/cpu-arm.c
index 4ef409b451..732d46f325 100644
--- a/bfd/cpu-arm.c
+++ b/bfd/cpu-arm.c
@@ -65,36 +65,129 @@ static struct
}
processors[] =
{
- { bfd_mach_arm_2, "arm2" },
- { bfd_mach_arm_2a, "arm250" },
- { bfd_mach_arm_2a, "arm3" },
- { bfd_mach_arm_3, "arm6" },
- { bfd_mach_arm_3, "arm60" },
- { bfd_mach_arm_3, "arm600" },
- { bfd_mach_arm_3, "arm610" },
- { bfd_mach_arm_3, "arm7" },
- { bfd_mach_arm_3, "arm710" },
- { bfd_mach_arm_3, "arm7500" },
- { bfd_mach_arm_3, "arm7d" },
- { bfd_mach_arm_3, "arm7di" },
- { bfd_mach_arm_3M, "arm7dm" },
- { bfd_mach_arm_3M, "arm7dmi" },
- { bfd_mach_arm_4T, "arm7tdmi" },
- { bfd_mach_arm_4, "arm8" },
- { bfd_mach_arm_4, "arm810" },
- { bfd_mach_arm_4, "arm9" },
- { bfd_mach_arm_4, "arm920" },
- { bfd_mach_arm_4T, "arm920t" },
- { bfd_mach_arm_4T, "arm9tdmi" },
- { bfd_mach_arm_4, "sa1" },
- { bfd_mach_arm_4, "strongarm"},
- { bfd_mach_arm_4, "strongarm110" },
- { bfd_mach_arm_4, "strongarm1100" },
- { bfd_mach_arm_XScale, "xscale" },
- { bfd_mach_arm_ep9312, "ep9312" },
- { bfd_mach_arm_iWMMXt, "iwmmxt" },
- { bfd_mach_arm_iWMMXt2, "iwmmxt2" },
- { bfd_mach_arm_unknown, "arm_any" }
+ { bfd_mach_arm_2, "arm2" },
+ { bfd_mach_arm_2a, "arm250" },
+ { bfd_mach_arm_2a, "arm3" },
+ { bfd_mach_arm_3, "arm6" },
+ { bfd_mach_arm_3, "arm60" },
+ { bfd_mach_arm_3, "arm600" },
+ { bfd_mach_arm_3, "arm610" },
+ { bfd_mach_arm_3, "arm620" },
+ { bfd_mach_arm_3, "arm7" },
+ { bfd_mach_arm_3, "arm70" },
+ { bfd_mach_arm_3, "arm700" },
+ { bfd_mach_arm_3, "arm700i" },
+ { bfd_mach_arm_3, "arm710" },
+ { bfd_mach_arm_3, "arm7100" },
+ { bfd_mach_arm_3, "arm710c" },
+ { bfd_mach_arm_4T, "arm710t" },
+ { bfd_mach_arm_3, "arm720" },
+ { bfd_mach_arm_4T, "arm720t" },
+ { bfd_mach_arm_4T, "arm740t" },
+ { bfd_mach_arm_3, "arm7500" },
+ { bfd_mach_arm_3, "arm7500fe" },
+ { bfd_mach_arm_3, "arm7d" },
+ { bfd_mach_arm_3, "arm7di" },
+ { bfd_mach_arm_3M, "arm7dm" },
+ { bfd_mach_arm_3M, "arm7dmi" },
+ { bfd_mach_arm_4T, "arm7t" },
+ { bfd_mach_arm_4T, "arm7tdmi" },
+ { bfd_mach_arm_4T, "arm7tdmi-s" },
+ { bfd_mach_arm_3M, "arm7m" },
+ { bfd_mach_arm_4, "arm8" },
+ { bfd_mach_arm_4, "arm810" },
+ { bfd_mach_arm_4, "arm9" },
+ { bfd_mach_arm_4T, "arm920" },
+ { bfd_mach_arm_4T, "arm920t" },
+ { bfd_mach_arm_4T, "arm922t" },
+ { bfd_mach_arm_5TEJ, "arm926ej" },
+ { bfd_mach_arm_5TEJ, "arm926ejs" },
+ { bfd_mach_arm_5TEJ, "arm926ej-s" },
+ { bfd_mach_arm_4T, "arm940t" },
+ { bfd_mach_arm_5TE, "arm946e" },
+ { bfd_mach_arm_5TE, "arm946e-r0" },
+ { bfd_mach_arm_5TE, "arm946e-s" },
+ { bfd_mach_arm_5TE, "arm966e" },
+ { bfd_mach_arm_5TE, "arm966e-r0" },
+ { bfd_mach_arm_5TE, "arm966e-s" },
+ { bfd_mach_arm_5TE, "arm968e-s" },
+ { bfd_mach_arm_5TE, "arm9e" },
+ { bfd_mach_arm_5TE, "arm9e-r0" },
+ { bfd_mach_arm_4T, "arm9tdmi" },
+ { bfd_mach_arm_5TE, "arm1020" },
+ { bfd_mach_arm_5T, "arm1020t" },
+ { bfd_mach_arm_5TE, "arm1020e" },
+ { bfd_mach_arm_5TE, "arm1022e" },
+ { bfd_mach_arm_5TEJ, "arm1026ejs" },
+ { bfd_mach_arm_5TEJ, "arm1026ej-s" },
+ { bfd_mach_arm_5TE, "arm10e" },
+ { bfd_mach_arm_5T, "arm10t" },
+ { bfd_mach_arm_5T, "arm10tdmi" },
+ { bfd_mach_arm_6, "arm1136j-s" },
+ { bfd_mach_arm_6, "arm1136js" },
+ { bfd_mach_arm_6, "arm1136jf-s" },
+ { bfd_mach_arm_6, "arm1136jfs" },
+ { bfd_mach_arm_6KZ, "arm1176jz-s" },
+ { bfd_mach_arm_6KZ, "arm1176jzf-s" },
+ { bfd_mach_arm_6T2, "arm1156t2-s" },
+ { bfd_mach_arm_6T2, "arm1156t2f-s" },
+ { bfd_mach_arm_7, "cortex-a5" },
+ { bfd_mach_arm_7, "cortex-a7" },
+ { bfd_mach_arm_7, "cortex-a8" },
+ { bfd_mach_arm_7, "cortex-a9" },
+ { bfd_mach_arm_7, "cortex-a12" },
+ { bfd_mach_arm_7, "cortex-a15" },
+ { bfd_mach_arm_7, "cortex-a17" },
+ { bfd_mach_arm_8, "cortex-a32" },
+ { bfd_mach_arm_8, "cortex-a35" },
+ { bfd_mach_arm_8, "cortex-a53" },
+ { bfd_mach_arm_8, "cortex-a55" },
+ { bfd_mach_arm_8, "cortex-a57" },
+ { bfd_mach_arm_8, "cortex-a72" },
+ { bfd_mach_arm_8, "cortex-a73" },
+ { bfd_mach_arm_8, "cortex-a75" },
+ { bfd_mach_arm_8, "cortex-a76" },
+ { bfd_mach_arm_6SM, "cortex-m0" },
+ { bfd_mach_arm_6SM, "cortex-m0plus" },
+ { bfd_mach_arm_6SM, "cortex-m1" },
+ { bfd_mach_arm_8M_BASE, "cortex-m23" },
+ { bfd_mach_arm_7, "cortex-m3" },
+ { bfd_mach_arm_8M_MAIN, "cortex-m33" },
+ { bfd_mach_arm_7EM, "cortex-m4" },
+ { bfd_mach_arm_7EM, "cortex-m7" },
+ { bfd_mach_arm_7, "cortex-r4" },
+ { bfd_mach_arm_7, "cortex-r4f" },
+ { bfd_mach_arm_7, "cortex-r5" },
+ { bfd_mach_arm_8R, "cortex-r52" },
+ { bfd_mach_arm_7, "cortex-r7" },
+ { bfd_mach_arm_7, "cortex-r8" },
+ { bfd_mach_arm_4T, "ep9312" },
+ { bfd_mach_arm_8, "exynos-m1" },
+ { bfd_mach_arm_4, "fa526" },
+ { bfd_mach_arm_5TE, "fa606te" },
+ { bfd_mach_arm_5TE, "fa616te" },
+ { bfd_mach_arm_4, "fa626" },
+ { bfd_mach_arm_5TE, "fa626te" },
+ { bfd_mach_arm_5TE, "fa726te" },
+ { bfd_mach_arm_5TE, "fmp626" },
+ { bfd_mach_arm_XScale, "i80200" },
+ { bfd_mach_arm_7, "marvell-pj4" },
+ { bfd_mach_arm_7, "marvell-whitney" },
+ { bfd_mach_arm_6K, "mpcore" },
+ { bfd_mach_arm_6K, "mpcorenovfp" },
+ { bfd_mach_arm_4, "sa1" },
+ { bfd_mach_arm_4, "strongarm" },
+ { bfd_mach_arm_4, "strongarm1" },
+ { bfd_mach_arm_4, "strongarm110" },
+ { bfd_mach_arm_4, "strongarm1100" },
+ { bfd_mach_arm_4, "strongarm1110" },
+ { bfd_mach_arm_XScale, "xscale" },
+ { bfd_mach_arm_8, "xgene1" },
+ { bfd_mach_arm_8, "xgene2" },
+ { bfd_mach_arm_ep9312, "ep9312" },
+ { bfd_mach_arm_iWMMXt, "iwmmxt" },
+ { bfd_mach_arm_iWMMXt2, "iwmmxt2" },
+ { bfd_mach_arm_unknown, "arm_any" }
};
static bfd_boolean
@@ -335,6 +428,19 @@ bfd_arm_update_notes (bfd *abfd, const char *note_section)
case bfd_mach_arm_ep9312: expected = "ep9312"; break;
case bfd_mach_arm_iWMMXt: expected = "iWMMXt"; break;
case bfd_mach_arm_iWMMXt2: expected = "iWMMXt2"; break;
+ case bfd_mach_arm_5TEJ: expected = "armv5tej"; break;
+ case bfd_mach_arm_6: expected = "armv6"; break;
+ case bfd_mach_arm_6KZ: expected = "armv6kz"; break;
+ case bfd_mach_arm_6T2: expected = "armv6t2"; break;
+ case bfd_mach_arm_6K: expected = "armv6k"; break;
+ case bfd_mach_arm_7: expected = "armv7"; break;
+ case bfd_mach_arm_6M: expected = "armv6-m"; break;
+ case bfd_mach_arm_6SM: expected = "armv6s-m"; break;
+ case bfd_mach_arm_7EM: expected = "armv7e-m"; break;
+ case bfd_mach_arm_8: expected = "armv8-a"; break;
+ case bfd_mach_arm_8R: expected = "armv8-r"; break;
+ case bfd_mach_arm_8M_BASE: expected = "armv8-m.base"; break;
+ case bfd_mach_arm_8M_MAIN: expected = "armv8-m.main"; break;
}
if (strcmp (arch_string, expected) != 0)
@@ -371,20 +477,33 @@ static struct
}
architectures[] =
{
- { "armv2", bfd_mach_arm_2 },
- { "armv2a", bfd_mach_arm_2a },
- { "armv3", bfd_mach_arm_3 },
- { "armv3M", bfd_mach_arm_3M },
- { "armv4", bfd_mach_arm_4 },
- { "armv4t", bfd_mach_arm_4T },
- { "armv5", bfd_mach_arm_5 },
- { "armv5t", bfd_mach_arm_5T },
- { "armv5te", bfd_mach_arm_5TE },
- { "XScale", bfd_mach_arm_XScale },
- { "ep9312", bfd_mach_arm_ep9312 },
- { "iWMMXt", bfd_mach_arm_iWMMXt },
- { "iWMMXt2", bfd_mach_arm_iWMMXt2 },
- { "arm_any", bfd_mach_arm_unknown }
+ { "armv2", bfd_mach_arm_2 },
+ { "armv2a", bfd_mach_arm_2a },
+ { "armv3", bfd_mach_arm_3 },
+ { "armv3M", bfd_mach_arm_3M },
+ { "armv4", bfd_mach_arm_4 },
+ { "armv4t", bfd_mach_arm_4T },
+ { "armv5", bfd_mach_arm_5 },
+ { "armv5t", bfd_mach_arm_5T },
+ { "armv5te", bfd_mach_arm_5TE },
+ { "XScale", bfd_mach_arm_XScale },
+ { "ep9312", bfd_mach_arm_ep9312 },
+ { "iWMMXt", bfd_mach_arm_iWMMXt },
+ { "iWMMXt2", bfd_mach_arm_iWMMXt2 },
+ { "armv5tej", bfd_mach_arm_5TEJ },
+ { "armv6", bfd_mach_arm_6 },
+ { "armv6kz", bfd_mach_arm_6KZ },
+ { "armv6t2", bfd_mach_arm_6T2 },
+ { "armv6k", bfd_mach_arm_6K },
+ { "armv7", bfd_mach_arm_7 },
+ { "armv6-m", bfd_mach_arm_6M },
+ { "armv6s-m", bfd_mach_arm_6SM },
+ { "armv7e-m", bfd_mach_arm_7EM },
+ { "armv8-a", bfd_mach_arm_8 },
+ { "armv8-r", bfd_mach_arm_8R },
+ { "armv8-m.base", bfd_mach_arm_8M_BASE },
+ { "armv8-m.main", bfd_mach_arm_8M_MAIN },
+ { "arm_any", bfd_mach_arm_unknown }
};
/* Extract the machine number stored in a note section. */
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 80fb0c3b5e..0caf2634be 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -204,6 +204,7 @@ static const arm_feature_set arm_ext_v5j = ARM_FEATURE_CORE_LOW (ARM_EXT_V5J);
static const arm_feature_set arm_ext_v6 = ARM_FEATURE_CORE_LOW (ARM_EXT_V6);
static const arm_feature_set arm_ext_v6k = ARM_FEATURE_CORE_LOW (ARM_EXT_V6K);
static const arm_feature_set arm_ext_v6t2 = ARM_FEATURE_CORE_LOW (ARM_EXT_V6T2);
+static const arm_feature_set arm_ext_v6m = ARM_FEATURE_CORE_LOW (ARM_EXT_V6M);
static const arm_feature_set arm_ext_v6_notm =
ARM_FEATURE_CORE_LOW (ARM_EXT_V6_NOTM);
static const arm_feature_set arm_ext_v6_dsp =
@@ -25589,7 +25590,48 @@ md_begin (void)
#endif
/* Record the CPU type as well. */
- if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt2))
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8m))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8m_main))
+ mach = bfd_mach_arm_8M_MAIN;
+ else
+ mach = bfd_mach_arm_8M_BASE;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8))
+ {
+ const arm_feature_set arm_ext_v8a = ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8A);
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8a))
+ mach = bfd_mach_arm_8;
+ else
+ mach = bfd_mach_arm_8R;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v7))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v7m)
+ && ARM_FSET_CPU_SUBSET (arm_ext_dsp, cpu_variant))
+ mach = bfd_mach_arm_7EM;
+ else
+ mach = bfd_mach_arm_7;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6m))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_os))
+ mach = bfd_mach_arm_6SM;
+ else
+ mach = bfd_mach_arm_6M;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6t2))
+ mach = bfd_mach_arm_6T2;
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6k))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_sec))
+ mach = bfd_mach_arm_6KZ;
+ else
+ mach = bfd_mach_arm_6K;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6))
+ mach = bfd_mach_arm_6;
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt2))
mach = bfd_mach_arm_iWMMXt2;
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt))
mach = bfd_mach_arm_iWMMXt;
@@ -25598,7 +25640,12 @@ md_begin (void)
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_maverick))
mach = bfd_mach_arm_ep9312;
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5e))
- mach = bfd_mach_arm_5TE;
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5j))
+ mach = bfd_mach_arm_5TEJ;
+ else
+ mach = bfd_mach_arm_5TE;
+ }
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5))
{
if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v4t))
diff --git a/gas/testsuite/gas/arm/cpu-arm1020.d b/gas/testsuite/gas/arm/cpu-arm1020.d
new file mode 100644
index 0000000000..0c5c62bafa
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020 CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020
+# objdump: -d -marm1020
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1020e.d b/gas/testsuite/gas/arm/cpu-arm1020e.d
new file mode 100644
index 0000000000..eda63605a5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020e CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020e
+# objdump: -d -marm1020e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1020t.d b/gas/testsuite/gas/arm/cpu-arm1020t.d
new file mode 100644
index 0000000000..30323a0984
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020t CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020t
+# objdump: -d -marm1020t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1022e.d b/gas/testsuite/gas/arm/cpu-arm1022e.d
new file mode 100644
index 0000000000..2e6d5ccb0c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1022e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1022e CPU
+# source: nop-asm.s
+# as: -mcpu=arm1022e
+# objdump: -d -marm1022e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1026ej-s.d b/gas/testsuite/gas/arm/cpu-arm1026ej-s.d
new file mode 100644
index 0000000000..2e9b375945
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1026ej-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1026ej-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1026ej-s
+# objdump: -d -marm1026ej-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1026ejs.d b/gas/testsuite/gas/arm/cpu-arm1026ejs.d
new file mode 100644
index 0000000000..354e464a7c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1026ejs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1026ejs CPU
+# source: nop-asm.s
+# as: -mcpu=arm1026ejs
+# objdump: -d -marm1026ejs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10e.d b/gas/testsuite/gas/arm/cpu-arm10e.d
new file mode 100644
index 0000000000..079728ac8c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10e CPU
+# source: nop-asm.s
+# as: -mcpu=arm10e
+# objdump: -d -marm10e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10t.d b/gas/testsuite/gas/arm/cpu-arm10t.d
new file mode 100644
index 0000000000..0f6ae4cf2c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10t CPU
+# source: nop-asm.s
+# as: -mcpu=arm10t
+# objdump: -d -marm10t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10tdmi.d b/gas/testsuite/gas/arm/cpu-arm10tdmi.d
new file mode 100644
index 0000000000..568f6a290f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm10tdmi
+# objdump: -d -marm10tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136j-s.d b/gas/testsuite/gas/arm/cpu-arm1136j-s.d
new file mode 100644
index 0000000000..efa8622372
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136j-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136j-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136j-s
+# objdump: -d -marm1136j-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136jf-s.d b/gas/testsuite/gas/arm/cpu-arm1136jf-s.d
new file mode 100644
index 0000000000..fcd9c24196
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136jf-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136jf-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136jf-s
+# objdump: -d -marm1136jf-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136jfs.d b/gas/testsuite/gas/arm/cpu-arm1136jfs.d
new file mode 100644
index 0000000000..0331e2b3ef
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136jfs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136jfs CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136jfs
+# objdump: -d -marm1136jfs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136js.d b/gas/testsuite/gas/arm/cpu-arm1136js.d
new file mode 100644
index 0000000000..6f70575ae1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136js.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136js CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136js
+# objdump: -d -marm1136js
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1156t2-s.d b/gas/testsuite/gas/arm/cpu-arm1156t2-s.d
new file mode 100644
index 0000000000..a415f66637
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1156t2-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1156t2-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1156t2-s
+# objdump: -d -marm1156t2-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d b/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
new file mode 100644
index 0000000000..7f876759e8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1156t2f-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1156t2f-s
+# objdump: -d -marm1156t2f-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1176jz-s.d b/gas/testsuite/gas/arm/cpu-arm1176jz-s.d
new file mode 100644
index 0000000000..3df745f902
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1176jz-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1176jz-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1176jz-s
+# objdump: -d -marm1176jz-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d b/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
new file mode 100644
index 0000000000..09b9528e8c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1176jzf-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1176jzf-s
+# objdump: -d -marm1176jzf-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm2.d b/gas/testsuite/gas/arm/cpu-arm2.d
new file mode 100644
index 0000000000..5de8f51da6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm2 CPU
+# source: nop-asm.s
+# as: -mcpu=arm2
+# objdump: -d -marm2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm250.d b/gas/testsuite/gas/arm/cpu-arm250.d
new file mode 100644
index 0000000000..56aa78bd3d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm250.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm250 CPU
+# source: nop-asm.s
+# as: -mcpu=arm250
+# objdump: -d -marm250
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm3.d b/gas/testsuite/gas/arm/cpu-arm3.d
new file mode 100644
index 0000000000..d6c035aa29
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm3.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm3 CPU
+# source: nop-asm.s
+# as: -mcpu=arm3
+# objdump: -d -marm3
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm6.d b/gas/testsuite/gas/arm/cpu-arm6.d
new file mode 100644
index 0000000000..14c407d8fd
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm6.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm6 CPU
+# source: nop-asm.s
+# as: -mcpu=arm6
+# objdump: -d -marm6
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm60.d b/gas/testsuite/gas/arm/cpu-arm60.d
new file mode 100644
index 0000000000..0eb8f87bd9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm60.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm60 CPU
+# source: nop-asm.s
+# as: -mcpu=arm60
+# objdump: -d -marm60
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm600.d b/gas/testsuite/gas/arm/cpu-arm600.d
new file mode 100644
index 0000000000..1f7b553ef9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm600.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm600 CPU
+# source: nop-asm.s
+# as: -mcpu=arm600
+# objdump: -d -marm600
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm610.d b/gas/testsuite/gas/arm/cpu-arm610.d
new file mode 100644
index 0000000000..2e62bae872
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm610.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm610 CPU
+# source: nop-asm.s
+# as: -mcpu=arm610
+# objdump: -d -marm610
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm620.d b/gas/testsuite/gas/arm/cpu-arm620.d
new file mode 100644
index 0000000000..1bad1f5ec7
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm620.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm620 CPU
+# source: nop-asm.s
+# as: -mcpu=arm620
+# objdump: -d -marm620
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7.d b/gas/testsuite/gas/arm/cpu-arm7.d
new file mode 100644
index 0000000000..070f9c8cb4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7
+# objdump: -d -marm7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm70.d b/gas/testsuite/gas/arm/cpu-arm70.d
new file mode 100644
index 0000000000..8398de25d6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm70.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm70 CPU
+# source: nop-asm.s
+# as: -mcpu=arm70
+# objdump: -d -marm70
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm700.d b/gas/testsuite/gas/arm/cpu-arm700.d
new file mode 100644
index 0000000000..f75401d305
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm700.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm700 CPU
+# source: nop-asm.s
+# as: -mcpu=arm700
+# objdump: -d -marm700
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm700i.d b/gas/testsuite/gas/arm/cpu-arm700i.d
new file mode 100644
index 0000000000..75f1afb77f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm700i.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm700i CPU
+# source: nop-asm.s
+# as: -mcpu=arm700i
+# objdump: -d -marm700i
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710.d b/gas/testsuite/gas/arm/cpu-arm710.d
new file mode 100644
index 0000000000..a0c1922b8f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710 CPU
+# source: nop-asm.s
+# as: -mcpu=arm710
+# objdump: -d -marm710
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7100.d b/gas/testsuite/gas/arm/cpu-arm7100.d
new file mode 100644
index 0000000000..2d1ab20990
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7100.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7100 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7100
+# objdump: -d -marm7100
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710c.d b/gas/testsuite/gas/arm/cpu-arm710c.d
new file mode 100644
index 0000000000..b2a9e86a43
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710c.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710c CPU
+# source: nop-asm.s
+# as: -mcpu=arm710c
+# objdump: -d -marm710c
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710t.d b/gas/testsuite/gas/arm/cpu-arm710t.d
new file mode 100644
index 0000000000..d7bef289e6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710t CPU
+# source: nop-asm.s
+# as: -mcpu=arm710t
+# objdump: -d -marm710t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm720.d b/gas/testsuite/gas/arm/cpu-arm720.d
new file mode 100644
index 0000000000..4c58203273
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm720.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm720 CPU
+# source: nop-asm.s
+# as: -mcpu=arm720
+# objdump: -d -marm720
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm720t.d b/gas/testsuite/gas/arm/cpu-arm720t.d
new file mode 100644
index 0000000000..75e00f8379
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm720t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm720t CPU
+# source: nop-asm.s
+# as: -mcpu=arm720t
+# objdump: -d -marm720t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm740t.d b/gas/testsuite/gas/arm/cpu-arm740t.d
new file mode 100644
index 0000000000..e202dccb58
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm740t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm740t CPU
+# source: nop-asm.s
+# as: -mcpu=arm740t
+# objdump: -d -marm740t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7500.d b/gas/testsuite/gas/arm/cpu-arm7500.d
new file mode 100644
index 0000000000..07e6498f0b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7500.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7500 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7500
+# objdump: -d -marm7500
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7500fe.d b/gas/testsuite/gas/arm/cpu-arm7500fe.d
new file mode 100644
index 0000000000..3a99de97d9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7500fe.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7500fe CPU
+# source: nop-asm.s
+# as: -mcpu=arm7500fe
+# objdump: -d -marm7500fe
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7d.d b/gas/testsuite/gas/arm/cpu-arm7d.d
new file mode 100644
index 0000000000..d93bc8be0d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7d.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7d CPU
+# source: nop-asm.s
+# as: -mcpu=arm7d
+# objdump: -d -marm7d
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7di.d b/gas/testsuite/gas/arm/cpu-arm7di.d
new file mode 100644
index 0000000000..31c541a2c7
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7di.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7di CPU
+# source: nop-asm.s
+# as: -mcpu=arm7di
+# objdump: -d -marm7di
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7dm.d b/gas/testsuite/gas/arm/cpu-arm7dm.d
new file mode 100644
index 0000000000..cc5e3619a4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7dm.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7dm CPU
+# source: nop-asm.s
+# as: -mcpu=arm7dm
+# objdump: -d -marm7dm
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7dmi.d b/gas/testsuite/gas/arm/cpu-arm7dmi.d
new file mode 100644
index 0000000000..569b4603b9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7dmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7dmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm7dmi
+# objdump: -d -marm7dmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7m.d b/gas/testsuite/gas/arm/cpu-arm7m.d
new file mode 100644
index 0000000000..eff3eb3bff
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7m.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7m CPU
+# source: nop-asm.s
+# as: -mcpu=arm7m
+# objdump: -d -marm7m
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7t.d b/gas/testsuite/gas/arm/cpu-arm7t.d
new file mode 100644
index 0000000000..822c16ce70
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7t CPU
+# source: nop-asm.s
+# as: -mcpu=arm7t
+# objdump: -d -marm7t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d b/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
new file mode 100644
index 0000000000..65aea8ab00
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7tdmi-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm7tdmi-s
+# objdump: -d -marm7tdmi-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7tdmi.d b/gas/testsuite/gas/arm/cpu-arm7tdmi.d
new file mode 100644
index 0000000000..09209a35c4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm7tdmi
+# objdump: -d -marm7tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm8.d b/gas/testsuite/gas/arm/cpu-arm8.d
new file mode 100644
index 0000000000..af13c2cce6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm8 CPU
+# source: nop-asm.s
+# as: -mcpu=arm8
+# objdump: -d -marm8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm810.d b/gas/testsuite/gas/arm/cpu-arm810.d
new file mode 100644
index 0000000000..842d2746b8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm810.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm810 CPU
+# source: nop-asm.s
+# as: -mcpu=arm810
+# objdump: -d -marm810
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9.d b/gas/testsuite/gas/arm/cpu-arm9.d
new file mode 100644
index 0000000000..9ae98be98e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9 CPU
+# source: nop-asm.s
+# as: -mcpu=arm9
+# objdump: -d -marm9
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm920.d b/gas/testsuite/gas/arm/cpu-arm920.d
new file mode 100644
index 0000000000..15835c4b19
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm920.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm920 CPU
+# source: nop-asm.s
+# as: -mcpu=arm920
+# objdump: -d -marm920
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm920t.d b/gas/testsuite/gas/arm/cpu-arm920t.d
new file mode 100644
index 0000000000..be2d591f8a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm920t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm920t CPU
+# source: nop-asm.s
+# as: -mcpu=arm920t
+# objdump: -d -marm920t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm922t.d b/gas/testsuite/gas/arm/cpu-arm922t.d
new file mode 100644
index 0000000000..3112bc8d33
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm922t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm922t CPU
+# source: nop-asm.s
+# as: -mcpu=arm922t
+# objdump: -d -marm922t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ej-s.d b/gas/testsuite/gas/arm/cpu-arm926ej-s.d
new file mode 100644
index 0000000000..0d1e657eae
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ej-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ej-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ej-s
+# objdump: -d -marm926ej-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ej.d b/gas/testsuite/gas/arm/cpu-arm926ej.d
new file mode 100644
index 0000000000..9ef27e37f5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ej.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ej CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ej
+# objdump: -d -marm926ej
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ejs.d b/gas/testsuite/gas/arm/cpu-arm926ejs.d
new file mode 100644
index 0000000000..af6c3f6e7d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ejs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ejs CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ejs
+# objdump: -d -marm926ejs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm940t.d b/gas/testsuite/gas/arm/cpu-arm940t.d
new file mode 100644
index 0000000000..4395a9274f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm940t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm940t CPU
+# source: nop-asm.s
+# as: -mcpu=arm940t
+# objdump: -d -marm940t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e-r0.d b/gas/testsuite/gas/arm/cpu-arm946e-r0.d
new file mode 100644
index 0000000000..c5e81b301a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e-r0
+# objdump: -d -marm946e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e-s.d b/gas/testsuite/gas/arm/cpu-arm946e-s.d
new file mode 100644
index 0000000000..ba4089a57a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e-s
+# objdump: -d -marm946e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e.d b/gas/testsuite/gas/arm/cpu-arm946e.d
new file mode 100644
index 0000000000..4ef1b42366
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e
+# objdump: -d -marm946e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e-r0.d b/gas/testsuite/gas/arm/cpu-arm966e-r0.d
new file mode 100644
index 0000000000..86986e3cf8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e-r0
+# objdump: -d -marm966e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e-s.d b/gas/testsuite/gas/arm/cpu-arm966e-s.d
new file mode 100644
index 0000000000..08b2e5afe8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e-s
+# objdump: -d -marm966e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e.d b/gas/testsuite/gas/arm/cpu-arm966e.d
new file mode 100644
index 0000000000..281bafbfcc
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e
+# objdump: -d -marm966e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm968e-s.d b/gas/testsuite/gas/arm/cpu-arm968e-s.d
new file mode 100644
index 0000000000..78eea9e375
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm968e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm968e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm968e-s
+# objdump: -d -marm968e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9e-r0.d b/gas/testsuite/gas/arm/cpu-arm9e-r0.d
new file mode 100644
index 0000000000..69434cafa1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm9e-r0
+# objdump: -d -marm9e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9e.d b/gas/testsuite/gas/arm/cpu-arm9e.d
new file mode 100644
index 0000000000..d6e5e6f51d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9e CPU
+# source: nop-asm.s
+# as: -mcpu=arm9e
+# objdump: -d -marm9e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9tdmi.d b/gas/testsuite/gas/arm/cpu-arm9tdmi.d
new file mode 100644
index 0000000000..94fdfc7564
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm9tdmi
+# objdump: -d -marm9tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm_any.d b/gas/testsuite/gas/arm/cpu-arm_any.d
new file mode 100644
index 0000000000..0e3d11e983
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm_any.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm2 CPU
+# source: nop-asm.s
+# as: -mcpu=all
+# objdump: -d -marm_any
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a12.d b/gas/testsuite/gas/arm/cpu-cortex-a12.d
new file mode 100644
index 0000000000..55c27d5f1a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a12.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a12 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a12
+# objdump: -d -mcortex-a12
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a15.d b/gas/testsuite/gas/arm/cpu-cortex-a15.d
new file mode 100644
index 0000000000..9a8272e67c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a15.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a15 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a15
+# objdump: -d -mcortex-a15
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a17.d b/gas/testsuite/gas/arm/cpu-cortex-a17.d
new file mode 100644
index 0000000000..490167e88b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a17.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a17 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a17
+# objdump: -d -mcortex-a17
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a32.d b/gas/testsuite/gas/arm/cpu-cortex-a32.d
new file mode 100644
index 0000000000..2e8895452b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a32.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a32 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a32
+# objdump: -d -mcortex-a32
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a35.d b/gas/testsuite/gas/arm/cpu-cortex-a35.d
new file mode 100644
index 0000000000..770915f25d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a35.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a35 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a35
+# objdump: -d -mcortex-a35
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a5.d b/gas/testsuite/gas/arm/cpu-cortex-a5.d
new file mode 100644
index 0000000000..0da6abbb80
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a5.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a5 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a5
+# objdump: -d -mcortex-a5
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a53.d b/gas/testsuite/gas/arm/cpu-cortex-a53.d
new file mode 100644
index 0000000000..1568e75956
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a53.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a53 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a53
+# objdump: -d -mcortex-a53
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a55.d b/gas/testsuite/gas/arm/cpu-cortex-a55.d
new file mode 100644
index 0000000000..9f7aa86c4d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a55.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a55 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a55
+# objdump: -d -mcortex-a55
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a57.d b/gas/testsuite/gas/arm/cpu-cortex-a57.d
new file mode 100644
index 0000000000..750bab2df6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a57.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a57 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a57
+# objdump: -d -mcortex-a57
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a7.d b/gas/testsuite/gas/arm/cpu-cortex-a7.d
new file mode 100644
index 0000000000..65c016ab0f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a7
+# objdump: -d -mcortex-a7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a72.d b/gas/testsuite/gas/arm/cpu-cortex-a72.d
new file mode 100644
index 0000000000..7784421f30
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a72.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a72 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a72
+# objdump: -d -mcortex-a72
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a73.d b/gas/testsuite/gas/arm/cpu-cortex-a73.d
new file mode 100644
index 0000000000..62dc3681d2
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a73.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a73 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a73
+# objdump: -d -mcortex-a73
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a75.d b/gas/testsuite/gas/arm/cpu-cortex-a75.d
new file mode 100644
index 0000000000..ca90cd6dd4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a75.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a75 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a75
+# objdump: -d -mcortex-a75
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a76.d b/gas/testsuite/gas/arm/cpu-cortex-a76.d
new file mode 100644
index 0000000000..f85de36037
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a76.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a76 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a76
+# objdump: -d -mcortex-a76
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a8.d b/gas/testsuite/gas/arm/cpu-cortex-a8.d
new file mode 100644
index 0000000000..6348206bfe
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a8 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a8
+# objdump: -d -mcortex-a8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a9.d b/gas/testsuite/gas/arm/cpu-cortex-a9.d
new file mode 100644
index 0000000000..ec5c692027
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a9.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a9 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a9
+# objdump: -d -mcortex-a9
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m0.d b/gas/testsuite/gas/arm/cpu-cortex-m0.d
new file mode 100644
index 0000000000..3a426b74a0
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m0 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m0
+# objdump: -d -M force-thumb -mcortex-m0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m0plus.d b/gas/testsuite/gas/arm/cpu-cortex-m0plus.d
new file mode 100644
index 0000000000..622904ad17
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m0plus.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m0plus CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m0plus
+# objdump: -d -M force-thumb -mcortex-m0plus
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m1.d b/gas/testsuite/gas/arm/cpu-cortex-m1.d
new file mode 100644
index 0000000000..583b44657d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m1 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m1
+# objdump: -d -M force-thumb -mcortex-m1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m23.d b/gas/testsuite/gas/arm/cpu-cortex-m23.d
new file mode 100644
index 0000000000..dcac99cd27
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m23.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m23 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m23
+# objdump: -d -M force-thumb -mcortex-m23
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m3.d b/gas/testsuite/gas/arm/cpu-cortex-m3.d
new file mode 100644
index 0000000000..5566ecd63c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m3.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m3 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m3
+# objdump: -d -M force-thumb -mcortex-m3
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m33.d b/gas/testsuite/gas/arm/cpu-cortex-m33.d
new file mode 100644
index 0000000000..30d3ac0836
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m33.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m33 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m33
+# objdump: -d -M force-thumb -mcortex-m33
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m4.d b/gas/testsuite/gas/arm/cpu-cortex-m4.d
new file mode 100644
index 0000000000..ebbd5a9666
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m4 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m4
+# objdump: -d -M force-thumb -mcortex-m4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m7.d b/gas/testsuite/gas/arm/cpu-cortex-m7.d
new file mode 100644
index 0000000000..411b40dbdb
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m7
+# objdump: -d -M force-thumb -mcortex-m7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r4.d b/gas/testsuite/gas/arm/cpu-cortex-r4.d
new file mode 100644
index 0000000000..448ae7750b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r4 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r4
+# objdump: -d -mcortex-r4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r4f.d b/gas/testsuite/gas/arm/cpu-cortex-r4f.d
new file mode 100644
index 0000000000..0a5a41d202
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r4f.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r4f CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r4f
+# objdump: -d -mcortex-r4f
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r5.d b/gas/testsuite/gas/arm/cpu-cortex-r5.d
new file mode 100644
index 0000000000..a4bce05cb3
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r5.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r5 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r5
+# objdump: -d -mcortex-r5
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r52.d b/gas/testsuite/gas/arm/cpu-cortex-r52.d
new file mode 100644
index 0000000000..f7f3c9897e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r52.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r52 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r52
+# objdump: -d -mcortex-r52
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r7.d b/gas/testsuite/gas/arm/cpu-cortex-r7.d
new file mode 100644
index 0000000000..bacfaacc8a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r7
+# objdump: -d -mcortex-r7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r8.d b/gas/testsuite/gas/arm/cpu-cortex-r8.d
new file mode 100644
index 0000000000..c43740b016
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r8 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r8
+# objdump: -d -mcortex-r8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-ep9312.d b/gas/testsuite/gas/arm/cpu-ep9312.d
new file mode 100644
index 0000000000..dfa0de7bf1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-ep9312.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for ep9312 CPU
+# source: nop-asm.s
+# as: -mcpu=ep9312
+# objdump: -d -mep9312
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-exynos-m1.d b/gas/testsuite/gas/arm/cpu-exynos-m1.d
new file mode 100644
index 0000000000..f62cc721a9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-exynos-m1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for exynos-m1 CPU
+# source: nop-asm.s
+# as: -mcpu=exynos-m1
+# objdump: -d -mexynos-m1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa526.d b/gas/testsuite/gas/arm/cpu-fa526.d
new file mode 100644
index 0000000000..ab2982b50a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa526.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa526 CPU
+# source: nop-asm.s
+# as: -mcpu=fa526
+# objdump: -d -mfa526
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa606te.d b/gas/testsuite/gas/arm/cpu-fa606te.d
new file mode 100644
index 0000000000..8f175041de
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa606te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa606te CPU
+# source: nop-asm.s
+# as: -mcpu=fa606te
+# objdump: -d -mfa606te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa616te.d b/gas/testsuite/gas/arm/cpu-fa616te.d
new file mode 100644
index 0000000000..164f6c715a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa616te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa616te CPU
+# source: nop-asm.s
+# as: -mcpu=fa616te
+# objdump: -d -mfa616te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa626.d b/gas/testsuite/gas/arm/cpu-fa626.d
new file mode 100644
index 0000000000..7cd5fd690a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa626.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa626 CPU
+# source: nop-asm.s
+# as: -mcpu=fa626
+# objdump: -d -mfa626
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa626te.d b/gas/testsuite/gas/arm/cpu-fa626te.d
new file mode 100644
index 0000000000..363fc407eb
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa626te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa626te CPU
+# source: nop-asm.s
+# as: -mcpu=fa626te
+# objdump: -d -mfa626te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa726te.d b/gas/testsuite/gas/arm/cpu-fa726te.d
new file mode 100644
index 0000000000..eb5d8d6692
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa726te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa726te CPU
+# source: nop-asm.s
+# as: -mcpu=fa726te
+# objdump: -d -mfa726te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fmp626.d b/gas/testsuite/gas/arm/cpu-fmp626.d
new file mode 100644
index 0000000000..8a2cc61224
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fmp626.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fmp626 CPU
+# source: nop-asm.s
+# as: -mcpu=fmp626
+# objdump: -d -mfmp626
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-i80200.d b/gas/testsuite/gas/arm/cpu-i80200.d
new file mode 100644
index 0000000000..d610d4daae
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-i80200.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for i80200 CPU
+# source: nop-asm.s
+# as: -mcpu=i80200
+# objdump: -d -mi80200
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-iwmmxt.d b/gas/testsuite/gas/arm/cpu-iwmmxt.d
new file mode 100644
index 0000000000..a1420ab196
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-iwmmxt.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for iwmmxt CPU
+# source: nop-asm.s
+# as: -mcpu=iwmmxt
+# objdump: -d -miwmmxt
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-iwmmxt2.d b/gas/testsuite/gas/arm/cpu-iwmmxt2.d
new file mode 100644
index 0000000000..f973ae5997
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-iwmmxt2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for iwmmxt2 CPU
+# source: nop-asm.s
+# as: -mcpu=iwmmxt2
+# objdump: -d -miwmmxt2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-marvell-pj4.d b/gas/testsuite/gas/arm/cpu-marvell-pj4.d
new file mode 100644
index 0000000000..72e0fb4e26
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-marvell-pj4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for marvell-pj4 CPU
+# source: nop-asm.s
+# as: -mcpu=marvell-pj4
+# objdump: -d -mmarvell-pj4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-marvell-whitney.d b/gas/testsuite/gas/arm/cpu-marvell-whitney.d
new file mode 100644
index 0000000000..06aa7c6db9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-marvell-whitney.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for marvell-whitney CPU
+# source: nop-asm.s
+# as: -mcpu=marvell-whitney
+# objdump: -d -mmarvell-whitney
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-mpcore.d b/gas/testsuite/gas/arm/cpu-mpcore.d
new file mode 100644
index 0000000000..d5490f39de
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-mpcore.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for mpcore CPU
+# source: nop-asm.s
+# as: -mcpu=mpcore
+# objdump: -d -mmpcore
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-mpcorenovfp.d b/gas/testsuite/gas/arm/cpu-mpcorenovfp.d
new file mode 100644
index 0000000000..249d4175dd
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-mpcorenovfp.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for mpcorenovfp CPU
+# source: nop-asm.s
+# as: -mcpu=mpcorenovfp
+# objdump: -d -mmpcorenovfp
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-sa1.d b/gas/testsuite/gas/arm/cpu-sa1.d
new file mode 100644
index 0000000000..1163996410
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-sa1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for sa1 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1
+# objdump: -d -msa1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm.d b/gas/testsuite/gas/arm/cpu-strongarm.d
new file mode 100644
index 0000000000..fc079b1cab
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm
+# objdump: -d -mstrongarm
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1.d b/gas/testsuite/gas/arm/cpu-strongarm1.d
new file mode 100644
index 0000000000..9d8d5c470f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1
+# objdump: -d -mstrongarm1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm110.d b/gas/testsuite/gas/arm/cpu-strongarm110.d
new file mode 100644
index 0000000000..4955884dd5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm110.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm110 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm110
+# objdump: -d -mstrongarm110
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1100.d b/gas/testsuite/gas/arm/cpu-strongarm1100.d
new file mode 100644
index 0000000000..c0bcba2a6e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1100.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1100 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1100
+# objdump: -d -mstrongarm1100
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1110.d b/gas/testsuite/gas/arm/cpu-strongarm1110.d
new file mode 100644
index 0000000000..86b87c6b08
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1110.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1110 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1110
+# objdump: -d -mstrongarm1110
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xgene1.d b/gas/testsuite/gas/arm/cpu-xgene1.d
new file mode 100644
index 0000000000..210527688f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xgene1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xgene1 CPU
+# source: nop-asm.s
+# as: -mcpu=xgene1
+# objdump: -d -mxgene1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xgene2.d b/gas/testsuite/gas/arm/cpu-xgene2.d
new file mode 100644
index 0000000000..3a8f5ebef8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xgene2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xgene2 CPU
+# source: nop-asm.s
+# as: -mcpu=xgene2
+# objdump: -d -mxgene2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xscale.d b/gas/testsuite/gas/arm/cpu-xscale.d
new file mode 100644
index 0000000000..b141f58e44
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xscale.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xscale CPU
+# source: nop-asm.s
+# as: -mcpu=xscale
+# objdump: -d -mxscale
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/nop-asm.s b/gas/testsuite/gas/arm/nop-asm.s
new file mode 100644
index 0000000000..c27745a58f
--- /dev/null
+++ b/gas/testsuite/gas/arm/nop-asm.s
@@ -0,0 +1 @@
+nop
diff --git a/gas/testsuite/gas/arm/note-march-armv2.d b/gas/testsuite/gas/arm/note-march-armv2.d
new file mode 100644
index 0000000000..f7af35a929
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2.d
@@ -0,0 +1,13 @@
+# name: armv2 note with -march=armv2
+# source: note-march-armv2.s RUN_OBJCOPY
+# as: -march=armv2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv2
diff --git a/gas/testsuite/gas/arm/note-march-armv2.s b/gas/testsuite/gas/arm/note-march-armv2.s
new file mode 100644
index 0000000000..6c76df7abe
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv2"
diff --git a/gas/testsuite/gas/arm/note-march-armv2a.d b/gas/testsuite/gas/arm/note-march-armv2a.d
new file mode 100644
index 0000000000..443a424718
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2a.d
@@ -0,0 +1,13 @@
+# name: armv2a note with -march=armv2a
+# source: note-march-armv2a.s RUN_OBJCOPY
+# as: -march=armv2a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv2a
diff --git a/gas/testsuite/gas/arm/note-march-armv2a.s b/gas/testsuite/gas/arm/note-march-armv2a.s
new file mode 100644
index 0000000000..abe1b32654
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2a.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv2a"
diff --git a/gas/testsuite/gas/arm/note-march-armv3.d b/gas/testsuite/gas/arm/note-march-armv3.d
new file mode 100644
index 0000000000..d8dd724c52
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3.d
@@ -0,0 +1,13 @@
+# name: armv3 note with -march=armv3
+# source: note-march-armv3.s RUN_OBJCOPY
+# as: -march=armv3
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv3
diff --git a/gas/testsuite/gas/arm/note-march-armv3.s b/gas/testsuite/gas/arm/note-march-armv3.s
new file mode 100644
index 0000000000..cdc513db4a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv3"
diff --git a/gas/testsuite/gas/arm/note-march-armv3m.d b/gas/testsuite/gas/arm/note-march-armv3m.d
new file mode 100644
index 0000000000..5c402c470e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3m.d
@@ -0,0 +1,13 @@
+# name: armv3M note with -march=armv3m
+# source: note-march-armv3m.s RUN_OBJCOPY
+# as: -march=armv3m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv3M
diff --git a/gas/testsuite/gas/arm/note-march-armv3m.s b/gas/testsuite/gas/arm/note-march-armv3m.s
new file mode 100644
index 0000000000..127695ec47
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv3M"
diff --git a/gas/testsuite/gas/arm/note-march-armv4.d b/gas/testsuite/gas/arm/note-march-armv4.d
new file mode 100644
index 0000000000..1882fa3f97
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4.d
@@ -0,0 +1,13 @@
+# name: armv4 note with -march=armv4
+# source: note-march-armv4.s RUN_OBJCOPY
+# as: -march=armv4
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv4
diff --git a/gas/testsuite/gas/arm/note-march-armv4.s b/gas/testsuite/gas/arm/note-march-armv4.s
new file mode 100644
index 0000000000..c403d7bc5a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv4"
diff --git a/gas/testsuite/gas/arm/note-march-armv4t.d b/gas/testsuite/gas/arm/note-march-armv4t.d
new file mode 100644
index 0000000000..bcddcf1793
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4t.d
@@ -0,0 +1,13 @@
+# name: armv4t note with -march=armv4t
+# source: note-march-armv4t.s RUN_OBJCOPY
+# as: -march=armv4t
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv4t
diff --git a/gas/testsuite/gas/arm/note-march-armv4t.s b/gas/testsuite/gas/arm/note-march-armv4t.s
new file mode 100644
index 0000000000..bc90f30a09
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4t.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv4t"
diff --git a/gas/testsuite/gas/arm/note-march-armv5.d b/gas/testsuite/gas/arm/note-march-armv5.d
new file mode 100644
index 0000000000..bf6a81a04d
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5.d
@@ -0,0 +1,13 @@
+# name: armv5 note with -march=armv5
+# source: note-march-armv5.s RUN_OBJCOPY
+# as: -march=armv5
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5
diff --git a/gas/testsuite/gas/arm/note-march-armv5.s b/gas/testsuite/gas/arm/note-march-armv5.s
new file mode 100644
index 0000000000..b77f5653b7
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv5"
diff --git a/gas/testsuite/gas/arm/note-march-armv5t.d b/gas/testsuite/gas/arm/note-march-armv5t.d
new file mode 100644
index 0000000000..2761143091
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5t.d
@@ -0,0 +1,13 @@
+# name: armv5t note with -march=armv5t
+# source: note-march-armv5t.s RUN_OBJCOPY
+# as: -march=armv5t
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5t
diff --git a/gas/testsuite/gas/arm/note-march-armv5t.s b/gas/testsuite/gas/arm/note-march-armv5t.s
new file mode 100644
index 0000000000..d88bf51ddd
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5t.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv5t"
diff --git a/gas/testsuite/gas/arm/note-march-armv5te.d b/gas/testsuite/gas/arm/note-march-armv5te.d
new file mode 100644
index 0000000000..8003740135
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5te.d
@@ -0,0 +1,13 @@
+# name: armv5te note with -march=armv5te
+# source: note-march-armv5te.s RUN_OBJCOPY
+# as: -march=armv5te
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5te
diff --git a/gas/testsuite/gas/arm/note-march-armv5te.s b/gas/testsuite/gas/arm/note-march-armv5te.s
new file mode 100644
index 0000000000..c2d72c17d3
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5te.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv5te"
diff --git a/gas/testsuite/gas/arm/note-march-armv5tej.d b/gas/testsuite/gas/arm/note-march-armv5tej.d
new file mode 100644
index 0000000000..1bcedf2185
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5tej.d
@@ -0,0 +1,13 @@
+# name: armv5tej note with -march=armv5tej
+# source: note-march-armv5tej.s RUN_OBJCOPY
+# as: -march=armv5tej
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5tej
diff --git a/gas/testsuite/gas/arm/note-march-armv5tej.s b/gas/testsuite/gas/arm/note-march-armv5tej.s
new file mode 100644
index 0000000000..a0effacd3f
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5tej.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv5tej"
diff --git a/gas/testsuite/gas/arm/note-march-armv6-m.d b/gas/testsuite/gas/arm/note-march-armv6-m.d
new file mode 100644
index 0000000000..38061e2eab
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6-m.d
@@ -0,0 +1,13 @@
+# name: armv6-m note with -march=armv6-m
+# source: note-march-armv6-m.s RUN_OBJCOPY
+# as: -march=armv6-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6-m
diff --git a/gas/testsuite/gas/arm/note-march-armv6-m.s b/gas/testsuite/gas/arm/note-march-armv6-m.s
new file mode 100644
index 0000000000..71d43e7a7b
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv6.d b/gas/testsuite/gas/arm/note-march-armv6.d
new file mode 100644
index 0000000000..99bf4348bc
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6.d
@@ -0,0 +1,13 @@
+# name: armv6 note with -march=armv6
+# source: note-march-armv6.s RUN_OBJCOPY
+# as: -march=armv6
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6
diff --git a/gas/testsuite/gas/arm/note-march-armv6.s b/gas/testsuite/gas/arm/note-march-armv6.s
new file mode 100644
index 0000000000..ae9fc7d69e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv6"
diff --git a/gas/testsuite/gas/arm/note-march-armv6k.d b/gas/testsuite/gas/arm/note-march-armv6k.d
new file mode 100644
index 0000000000..125b499e05
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6k.d
@@ -0,0 +1,13 @@
+# name: armv6k note with -march=armv6k
+# source: note-march-armv6k.s RUN_OBJCOPY
+# as: -march=armv6k
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6k
diff --git a/gas/testsuite/gas/arm/note-march-armv6k.s b/gas/testsuite/gas/arm/note-march-armv6k.s
new file mode 100644
index 0000000000..7cf198485a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6k.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv6k"
diff --git a/gas/testsuite/gas/arm/note-march-armv6kz.d b/gas/testsuite/gas/arm/note-march-armv6kz.d
new file mode 100644
index 0000000000..07a8eafeda
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6kz.d
@@ -0,0 +1,13 @@
+# name: armv6kz note with -march=armv6kz
+# source: note-march-armv6kz.s RUN_OBJCOPY
+# as: -march=armv6kz
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6kz
diff --git a/gas/testsuite/gas/arm/note-march-armv6kz.s b/gas/testsuite/gas/arm/note-march-armv6kz.s
new file mode 100644
index 0000000000..39f7035b3c
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6kz.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6kz"
diff --git a/gas/testsuite/gas/arm/note-march-armv6s-m.d b/gas/testsuite/gas/arm/note-march-armv6s-m.d
new file mode 100644
index 0000000000..cf59528326
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6s-m.d
@@ -0,0 +1,13 @@
+# name: armv6s-m note with -march=armv6s-m
+# source: note-march-armv6s-m.s RUN_OBJCOPY
+# as: -march=armv6s-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6s-m
diff --git a/gas/testsuite/gas/arm/note-march-armv6s-m.s b/gas/testsuite/gas/arm/note-march-armv6s-m.s
new file mode 100644
index 0000000000..eeeebf1a75
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6s-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv6s-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv6t2.d b/gas/testsuite/gas/arm/note-march-armv6t2.d
new file mode 100644
index 0000000000..0abf36deb2
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6t2.d
@@ -0,0 +1,13 @@
+# name: armv6t2 note with -march=armv6t2
+# source: note-march-armv6t2.s RUN_OBJCOPY
+# as: -march=armv6t2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6t2
diff --git a/gas/testsuite/gas/arm/note-march-armv6t2.s b/gas/testsuite/gas/arm/note-march-armv6t2.s
new file mode 100644
index 0000000000..6537751882
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6t2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6t2"
diff --git a/gas/testsuite/gas/arm/note-march-armv7-a.d b/gas/testsuite/gas/arm/note-march-armv7-a.d
new file mode 100644
index 0000000000..fab9ee160e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-a.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-a
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7-m.d b/gas/testsuite/gas/arm/note-march-armv7-m.d
new file mode 100644
index 0000000000..76d916c9f1
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-m.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-m
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7-r.d b/gas/testsuite/gas/arm/note-march-armv7-r.d
new file mode 100644
index 0000000000..19f80e8d19
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-r.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-r
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-r
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7.s b/gas/testsuite/gas/arm/note-march-armv7.s
new file mode 100644
index 0000000000..14e3bd2efe
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv7"
diff --git a/gas/testsuite/gas/arm/note-march-armv7e-m.d b/gas/testsuite/gas/arm/note-march-armv7e-m.d
new file mode 100644
index 0000000000..5b011781ba
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7e-m.d
@@ -0,0 +1,13 @@
+# name: armv7e-m note with -march=armv7e-m
+# source: note-march-armv7e-m.s RUN_OBJCOPY
+# as: -march=armv7e-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7e-m
diff --git a/gas/testsuite/gas/arm/note-march-armv7e-m.s b/gas/testsuite/gas/arm/note-march-armv7e-m.s
new file mode 100644
index 0000000000..0e2d943a4d
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7e-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv7e-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-a.d b/gas/testsuite/gas/arm/note-march-armv8-a.d
new file mode 100644
index 0000000000..3b44f84d14
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-a.d
@@ -0,0 +1,13 @@
+# name: armv8-a note with -march=armv8-a
+# source: note-march-armv8-a.s RUN_OBJCOPY
+# as: -march=armv8-a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-a
diff --git a/gas/testsuite/gas/arm/note-march-armv8-a.s b/gas/testsuite/gas/arm/note-march-armv8-a.s
new file mode 100644
index 0000000000..1f2d6fd41c
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-a.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-a"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.base.d b/gas/testsuite/gas/arm/note-march-armv8-m.base.d
new file mode 100644
index 0000000000..f14d9a867a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.base.d
@@ -0,0 +1,13 @@
+# name: armv8-m.base note with -march=armv8-m.base
+# source: note-march-armv8-m.base.s RUN_OBJCOPY
+# as: -march=armv8-m.base
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-m.base
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.base.s b/gas/testsuite/gas/arm/note-march-armv8-m.base.s
new file mode 100644
index 0000000000..7c19ae0c89
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.base.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 12
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-m.base"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.main.d b/gas/testsuite/gas/arm/note-march-armv8-m.main.d
new file mode 100644
index 0000000000..6884a3cae5
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.main.d
@@ -0,0 +1,13 @@
+# name: armv8-m.main note with -march=armv8-m.main
+# source: note-march-armv8-m.main.s RUN_OBJCOPY
+# as: -march=armv8-m.main
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-m.main
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.main.s b/gas/testsuite/gas/arm/note-march-armv8-m.main.s
new file mode 100644
index 0000000000..61062ec1db
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.main.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 12
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-m.main"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-r.d b/gas/testsuite/gas/arm/note-march-armv8-r.d
new file mode 100644
index 0000000000..f59b39c8ee
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-r.d
@@ -0,0 +1,13 @@
+# name: armv8-r note with -march=armv8-r
+# source: note-march-armv8-r.s RUN_OBJCOPY
+# as: -march=armv8-r
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-r
diff --git a/gas/testsuite/gas/arm/note-march-armv8-r.s b/gas/testsuite/gas/arm/note-march-armv8-r.s
new file mode 100644
index 0000000000..d946e3772e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-r.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-r"
diff --git a/gas/testsuite/gas/arm/note-march-ep9312.d b/gas/testsuite/gas/arm/note-march-ep9312.d
new file mode 100644
index 0000000000..dd72821630
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-ep9312.d
@@ -0,0 +1,13 @@
+# name: ep9312 note with -mcpu=ep9312 -mfpu=maverick
+# source: note-march-ep9312.s RUN_OBJCOPY
+# as: -mcpu=ep9312 -mfpu=maverick
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] ep9312
diff --git a/gas/testsuite/gas/arm/note-march-ep9312.s b/gas/testsuite/gas/arm/note-march-ep9312.s
new file mode 100644
index 0000000000..b542eba2e8
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-ep9312.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "ep9312"
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt.d b/gas/testsuite/gas/arm/note-march-iwmmxt.d
new file mode 100644
index 0000000000..eb3beede36
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt.d
@@ -0,0 +1,13 @@
+# name: iWMMXt note with -march=iwmmxt
+# source: note-march-iwmmxt.s RUN_OBJCOPY
+# as: -march=iwmmxt
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] iWMMXt
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt.s b/gas/testsuite/gas/arm/note-march-iwmmxt.s
new file mode 100644
index 0000000000..6e00eeb814
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "iWMMXt"
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt2.d b/gas/testsuite/gas/arm/note-march-iwmmxt2.d
new file mode 100644
index 0000000000..6c4a23a1ab
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt2.d
@@ -0,0 +1,13 @@
+# name: iWMMXt2 note with -march=iwmmxt2
+# source: note-march-iwmmxt2.s RUN_OBJCOPY
+# as: -march=iwmmxt2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] iWMMXt2
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt2.s b/gas/testsuite/gas/arm/note-march-iwmmxt2.s
new file mode 100644
index 0000000000..ee6e72cbe7
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "iWMMXt2"
diff --git a/gas/testsuite/gas/arm/note-march-xscale.d b/gas/testsuite/gas/arm/note-march-xscale.d
new file mode 100644
index 0000000000..d5943457c8
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-xscale.d
@@ -0,0 +1,13 @@
+# name: XScale note with -march=xscale
+# source: note-march-xscale.s RUN_OBJCOPY
+# as: -march=xscale
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] XScale
diff --git a/gas/testsuite/gas/arm/note-march-xscale.s b/gas/testsuite/gas/arm/note-march-xscale.s
new file mode 100644
index 0000000000..9149f5b967
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-xscale.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "XScale"
Thomas Preudhomme
2018-11-02 16:59:01 UTC
Permalink
TL;DR: Should we keep tests for existing entries? Do we want objdump
-m<cpu> to work for newer CPUs or only allows objdump -m<arch> (this
is already working with all current architectures thanks to a previous
patch)?

There was not. Note that the -m<cpu or arch> option of objdump uses
the processors list that is being updated at the beginning of the
patch (architecture list used for the architecture is already
up-to-date so not touched in this patch). Do we want to deprecate
specifying a CPU here as well and only allow architectures? It might
make sense to keep part of the tests as well for the entries already
in that file.

Best regards,

Thomas
On Fri, 2 Nov 2018 at 15:34, Richard Earnshaw (lists)
Post by Richard Earnshaw (lists)
Post by Thomas Preudhomme
And now with a patch.
On Fri, 26 Oct 2018 at 14:30, Thomas Preudhomme
Post by Thomas Preudhomme
Hi,
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.
Hmm,
If I remember correctly, I think we'd abandoned trying to fit all the
Arm architecture variants onto a simple enumeration - there are just too
many. Instead, we use the build attribute model to understand the
capabilites that an object file has.
So is there something motivating this patch beyond the 'it looks
incomplete'?
R.
Post by Thomas Preudhomme
Post by Thomas Preudhomme
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.
*** gas/ChangeLog ***
* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Testing: No testsuite regression when targeting arm-none-eabi.
Is this ok for master?
Best regards,
Thomas
update_knowledge_bfd_archs.patch
From ce28723429d06e81cb5143c6ec6a4f290e6979b3 Mon Sep 17 00:00:00 2001
Date: Fri, 19 Oct 2018 21:09:20 +0100
Subject: [PATCH 2/2] [ARM] Update knowledge of bfd architectures
Hi,
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.
*** gas/ChangeLog ***
* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Testing: No testsuite regression when targeting arm-none-eabi.
Is this ok for master?
Best regards,
Thomas
---
bfd/cpu-arm.c | 207 ++++++++++++++----
gas/config/tc-arm.c | 51 ++++-
gas/testsuite/gas/arm/cpu-arm1020.d | 7 +
gas/testsuite/gas/arm/cpu-arm1020e.d | 7 +
gas/testsuite/gas/arm/cpu-arm1020t.d | 7 +
gas/testsuite/gas/arm/cpu-arm1022e.d | 7 +
gas/testsuite/gas/arm/cpu-arm1026ej-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1026ejs.d | 7 +
gas/testsuite/gas/arm/cpu-arm10e.d | 7 +
gas/testsuite/gas/arm/cpu-arm10t.d | 7 +
gas/testsuite/gas/arm/cpu-arm10tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136j-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136jf-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136jfs.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136js.d | 7 +
gas/testsuite/gas/arm/cpu-arm1156t2-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1156t2f-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1176jz-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1176jzf-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm2.d | 7 +
gas/testsuite/gas/arm/cpu-arm250.d | 7 +
gas/testsuite/gas/arm/cpu-arm3.d | 7 +
gas/testsuite/gas/arm/cpu-arm6.d | 7 +
gas/testsuite/gas/arm/cpu-arm60.d | 7 +
gas/testsuite/gas/arm/cpu-arm600.d | 7 +
gas/testsuite/gas/arm/cpu-arm610.d | 7 +
gas/testsuite/gas/arm/cpu-arm620.d | 7 +
gas/testsuite/gas/arm/cpu-arm7.d | 7 +
gas/testsuite/gas/arm/cpu-arm70.d | 7 +
gas/testsuite/gas/arm/cpu-arm700.d | 7 +
gas/testsuite/gas/arm/cpu-arm700i.d | 7 +
gas/testsuite/gas/arm/cpu-arm710.d | 7 +
gas/testsuite/gas/arm/cpu-arm7100.d | 7 +
gas/testsuite/gas/arm/cpu-arm710c.d | 7 +
gas/testsuite/gas/arm/cpu-arm710t.d | 7 +
gas/testsuite/gas/arm/cpu-arm720.d | 7 +
gas/testsuite/gas/arm/cpu-arm720t.d | 7 +
gas/testsuite/gas/arm/cpu-arm740t.d | 7 +
gas/testsuite/gas/arm/cpu-arm7500.d | 7 +
gas/testsuite/gas/arm/cpu-arm7500fe.d | 7 +
gas/testsuite/gas/arm/cpu-arm7d.d | 7 +
gas/testsuite/gas/arm/cpu-arm7di.d | 7 +
gas/testsuite/gas/arm/cpu-arm7dm.d | 7 +
gas/testsuite/gas/arm/cpu-arm7dmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm7m.d | 7 +
gas/testsuite/gas/arm/cpu-arm7t.d | 7 +
gas/testsuite/gas/arm/cpu-arm7tdmi-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm7tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm8.d | 7 +
gas/testsuite/gas/arm/cpu-arm810.d | 7 +
gas/testsuite/gas/arm/cpu-arm9.d | 7 +
gas/testsuite/gas/arm/cpu-arm920.d | 7 +
gas/testsuite/gas/arm/cpu-arm920t.d | 7 +
gas/testsuite/gas/arm/cpu-arm922t.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ej-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ej.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ejs.d | 7 +
gas/testsuite/gas/arm/cpu-arm940t.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e.d | 7 +
gas/testsuite/gas/arm/cpu-arm968e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm9e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm9e.d | 7 +
gas/testsuite/gas/arm/cpu-arm9tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm_any.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a12.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a15.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a17.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a32.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a35.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a5.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a53.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a55.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a57.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a72.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a73.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a75.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a76.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a8.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a9.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m0.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m0plus.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m1.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m23.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m3.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m33.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m4.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r4.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r4f.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r5.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r52.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r8.d | 7 +
gas/testsuite/gas/arm/cpu-ep9312.d | 7 +
gas/testsuite/gas/arm/cpu-exynos-m1.d | 7 +
gas/testsuite/gas/arm/cpu-fa526.d | 7 +
gas/testsuite/gas/arm/cpu-fa606te.d | 7 +
gas/testsuite/gas/arm/cpu-fa616te.d | 7 +
gas/testsuite/gas/arm/cpu-fa626.d | 7 +
gas/testsuite/gas/arm/cpu-fa626te.d | 7 +
gas/testsuite/gas/arm/cpu-fa726te.d | 7 +
gas/testsuite/gas/arm/cpu-fmp626.d | 7 +
gas/testsuite/gas/arm/cpu-i80200.d | 7 +
gas/testsuite/gas/arm/cpu-iwmmxt.d | 7 +
gas/testsuite/gas/arm/cpu-iwmmxt2.d | 7 +
gas/testsuite/gas/arm/cpu-marvell-pj4.d | 7 +
gas/testsuite/gas/arm/cpu-marvell-whitney.d | 7 +
gas/testsuite/gas/arm/cpu-mpcore.d | 7 +
gas/testsuite/gas/arm/cpu-mpcorenovfp.d | 7 +
gas/testsuite/gas/arm/cpu-sa1.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm110.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1100.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1110.d | 7 +
gas/testsuite/gas/arm/cpu-xgene1.d | 7 +
gas/testsuite/gas/arm/cpu-xgene2.d | 7 +
gas/testsuite/gas/arm/cpu-xscale.d | 7 +
gas/testsuite/gas/arm/nop-asm.s | 1 +
gas/testsuite/gas/arm/note-march-armv2.d | 13 ++
gas/testsuite/gas/arm/note-march-armv2.s | 7 +
gas/testsuite/gas/arm/note-march-armv2a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv2a.s | 7 +
gas/testsuite/gas/arm/note-march-armv3.d | 13 ++
gas/testsuite/gas/arm/note-march-armv3.s | 7 +
gas/testsuite/gas/arm/note-march-armv3m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv3m.s | 7 +
gas/testsuite/gas/arm/note-march-armv4.d | 13 ++
gas/testsuite/gas/arm/note-march-armv4.s | 7 +
gas/testsuite/gas/arm/note-march-armv4t.d | 13 ++
gas/testsuite/gas/arm/note-march-armv4t.s | 7 +
gas/testsuite/gas/arm/note-march-armv5.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5.s | 7 +
gas/testsuite/gas/arm/note-march-armv5t.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5t.s | 7 +
gas/testsuite/gas/arm/note-march-armv5te.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5te.s | 7 +
gas/testsuite/gas/arm/note-march-armv5tej.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5tej.s | 7 +
gas/testsuite/gas/arm/note-march-armv6-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv6.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6.s | 7 +
gas/testsuite/gas/arm/note-march-armv6k.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6k.s | 7 +
gas/testsuite/gas/arm/note-march-armv6kz.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6kz.s | 7 +
gas/testsuite/gas/arm/note-march-armv6s-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6s-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv6t2.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6t2.s | 7 +
gas/testsuite/gas/arm/note-march-armv7-a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7-r.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7.s | 7 +
gas/testsuite/gas/arm/note-march-armv7e-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7e-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv8-a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv8-a.s | 7 +
.../gas/arm/note-march-armv8-m.base.d | 13 ++
.../gas/arm/note-march-armv8-m.base.s | 7 +
.../gas/arm/note-march-armv8-m.main.d | 13 ++
.../gas/arm/note-march-armv8-m.main.s | 7 +
gas/testsuite/gas/arm/note-march-armv8-r.d | 13 ++
gas/testsuite/gas/arm/note-march-armv8-r.s | 7 +
gas/testsuite/gas/arm/note-march-ep9312.d | 13 ++
gas/testsuite/gas/arm/note-march-ep9312.s | 7 +
gas/testsuite/gas/arm/note-march-iwmmxt.d | 13 ++
gas/testsuite/gas/arm/note-march-iwmmxt.s | 7 +
gas/testsuite/gas/arm/note-march-iwmmxt2.d | 13 ++
gas/testsuite/gas/arm/note-march-iwmmxt2.s | 7 +
gas/testsuite/gas/arm/note-march-xscale.d | 13 ++
gas/testsuite/gas/arm/note-march-xscale.s | 7 +
179 files changed, 1613 insertions(+), 46 deletions(-)
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1022e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ej-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ejs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136j-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jf-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jfs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136js.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jz-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm2.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm250.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm3.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm6.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm60.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm600.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm610.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm620.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm70.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm700.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm700i.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7100.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710c.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm720.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm720t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm740t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7500.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7500fe.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7d.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7di.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7dm.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7dmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7m.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm8.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm810.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm920.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm920t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm922t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ejs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm940t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm968e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm_any.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a12.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a15.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a17.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a32.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a35.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a5.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a53.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a55.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a57.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a72.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a73.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a75.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a76.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a8.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a9.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0plus.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m1.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m23.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m3.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m33.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m4.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4f.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r5.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r52.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r8.d
create mode 100644 gas/testsuite/gas/arm/cpu-ep9312.d
create mode 100644 gas/testsuite/gas/arm/cpu-exynos-m1.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa526.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa606te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa616te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa626.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa626te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa726te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fmp626.d
create mode 100644 gas/testsuite/gas/arm/cpu-i80200.d
create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt.d
create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt2.d
create mode 100644 gas/testsuite/gas/arm/cpu-marvell-pj4.d
create mode 100644 gas/testsuite/gas/arm/cpu-marvell-whitney.d
create mode 100644 gas/testsuite/gas/arm/cpu-mpcore.d
create mode 100644 gas/testsuite/gas/arm/cpu-mpcorenovfp.d
create mode 100644 gas/testsuite/gas/arm/cpu-sa1.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm110.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1100.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1110.d
create mode 100644 gas/testsuite/gas/arm/cpu-xgene1.d
create mode 100644 gas/testsuite/gas/arm/cpu-xgene2.d
create mode 100644 gas/testsuite/gas/arm/cpu-xscale.d
create mode 100644 gas/testsuite/gas/arm/nop-asm.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv2.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv2.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv3.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv3.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv4.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv4.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5tej.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5tej.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6k.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6k.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6kz.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6kz.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6s-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6s-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6t2.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6t2.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-r.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv7e-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7e-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-a.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.base.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.base.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.main.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.main.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-r.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-r.s
create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.d
create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.s
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.d
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.s
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.d
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.s
create mode 100644 gas/testsuite/gas/arm/note-march-xscale.d
create mode 100644 gas/testsuite/gas/arm/note-march-xscale.s
diff --git a/bfd/cpu-arm.c b/bfd/cpu-arm.c
index 4ef409b451..732d46f325 100644
--- a/bfd/cpu-arm.c
+++ b/bfd/cpu-arm.c
@@ -65,36 +65,129 @@ static struct
}
processors[] =
{
- { bfd_mach_arm_2, "arm2" },
- { bfd_mach_arm_2a, "arm250" },
- { bfd_mach_arm_2a, "arm3" },
- { bfd_mach_arm_3, "arm6" },
- { bfd_mach_arm_3, "arm60" },
- { bfd_mach_arm_3, "arm600" },
- { bfd_mach_arm_3, "arm610" },
- { bfd_mach_arm_3, "arm7" },
- { bfd_mach_arm_3, "arm710" },
- { bfd_mach_arm_3, "arm7500" },
- { bfd_mach_arm_3, "arm7d" },
- { bfd_mach_arm_3, "arm7di" },
- { bfd_mach_arm_3M, "arm7dm" },
- { bfd_mach_arm_3M, "arm7dmi" },
- { bfd_mach_arm_4T, "arm7tdmi" },
- { bfd_mach_arm_4, "arm8" },
- { bfd_mach_arm_4, "arm810" },
- { bfd_mach_arm_4, "arm9" },
- { bfd_mach_arm_4, "arm920" },
- { bfd_mach_arm_4T, "arm920t" },
- { bfd_mach_arm_4T, "arm9tdmi" },
- { bfd_mach_arm_4, "sa1" },
- { bfd_mach_arm_4, "strongarm"},
- { bfd_mach_arm_4, "strongarm110" },
- { bfd_mach_arm_4, "strongarm1100" },
- { bfd_mach_arm_XScale, "xscale" },
- { bfd_mach_arm_ep9312, "ep9312" },
- { bfd_mach_arm_iWMMXt, "iwmmxt" },
- { bfd_mach_arm_iWMMXt2, "iwmmxt2" },
- { bfd_mach_arm_unknown, "arm_any" }
+ { bfd_mach_arm_2, "arm2" },
+ { bfd_mach_arm_2a, "arm250" },
+ { bfd_mach_arm_2a, "arm3" },
+ { bfd_mach_arm_3, "arm6" },
+ { bfd_mach_arm_3, "arm60" },
+ { bfd_mach_arm_3, "arm600" },
+ { bfd_mach_arm_3, "arm610" },
+ { bfd_mach_arm_3, "arm620" },
+ { bfd_mach_arm_3, "arm7" },
+ { bfd_mach_arm_3, "arm70" },
+ { bfd_mach_arm_3, "arm700" },
+ { bfd_mach_arm_3, "arm700i" },
+ { bfd_mach_arm_3, "arm710" },
+ { bfd_mach_arm_3, "arm7100" },
+ { bfd_mach_arm_3, "arm710c" },
+ { bfd_mach_arm_4T, "arm710t" },
+ { bfd_mach_arm_3, "arm720" },
+ { bfd_mach_arm_4T, "arm720t" },
+ { bfd_mach_arm_4T, "arm740t" },
+ { bfd_mach_arm_3, "arm7500" },
+ { bfd_mach_arm_3, "arm7500fe" },
+ { bfd_mach_arm_3, "arm7d" },
+ { bfd_mach_arm_3, "arm7di" },
+ { bfd_mach_arm_3M, "arm7dm" },
+ { bfd_mach_arm_3M, "arm7dmi" },
+ { bfd_mach_arm_4T, "arm7t" },
+ { bfd_mach_arm_4T, "arm7tdmi" },
+ { bfd_mach_arm_4T, "arm7tdmi-s" },
+ { bfd_mach_arm_3M, "arm7m" },
+ { bfd_mach_arm_4, "arm8" },
+ { bfd_mach_arm_4, "arm810" },
+ { bfd_mach_arm_4, "arm9" },
+ { bfd_mach_arm_4T, "arm920" },
+ { bfd_mach_arm_4T, "arm920t" },
+ { bfd_mach_arm_4T, "arm922t" },
+ { bfd_mach_arm_5TEJ, "arm926ej" },
+ { bfd_mach_arm_5TEJ, "arm926ejs" },
+ { bfd_mach_arm_5TEJ, "arm926ej-s" },
+ { bfd_mach_arm_4T, "arm940t" },
+ { bfd_mach_arm_5TE, "arm946e" },
+ { bfd_mach_arm_5TE, "arm946e-r0" },
+ { bfd_mach_arm_5TE, "arm946e-s" },
+ { bfd_mach_arm_5TE, "arm966e" },
+ { bfd_mach_arm_5TE, "arm966e-r0" },
+ { bfd_mach_arm_5TE, "arm966e-s" },
+ { bfd_mach_arm_5TE, "arm968e-s" },
+ { bfd_mach_arm_5TE, "arm9e" },
+ { bfd_mach_arm_5TE, "arm9e-r0" },
+ { bfd_mach_arm_4T, "arm9tdmi" },
+ { bfd_mach_arm_5TE, "arm1020" },
+ { bfd_mach_arm_5T, "arm1020t" },
+ { bfd_mach_arm_5TE, "arm1020e" },
+ { bfd_mach_arm_5TE, "arm1022e" },
+ { bfd_mach_arm_5TEJ, "arm1026ejs" },
+ { bfd_mach_arm_5TEJ, "arm1026ej-s" },
+ { bfd_mach_arm_5TE, "arm10e" },
+ { bfd_mach_arm_5T, "arm10t" },
+ { bfd_mach_arm_5T, "arm10tdmi" },
+ { bfd_mach_arm_6, "arm1136j-s" },
+ { bfd_mach_arm_6, "arm1136js" },
+ { bfd_mach_arm_6, "arm1136jf-s" },
+ { bfd_mach_arm_6, "arm1136jfs" },
+ { bfd_mach_arm_6KZ, "arm1176jz-s" },
+ { bfd_mach_arm_6KZ, "arm1176jzf-s" },
+ { bfd_mach_arm_6T2, "arm1156t2-s" },
+ { bfd_mach_arm_6T2, "arm1156t2f-s" },
+ { bfd_mach_arm_7, "cortex-a5" },
+ { bfd_mach_arm_7, "cortex-a7" },
+ { bfd_mach_arm_7, "cortex-a8" },
+ { bfd_mach_arm_7, "cortex-a9" },
+ { bfd_mach_arm_7, "cortex-a12" },
+ { bfd_mach_arm_7, "cortex-a15" },
+ { bfd_mach_arm_7, "cortex-a17" },
+ { bfd_mach_arm_8, "cortex-a32" },
+ { bfd_mach_arm_8, "cortex-a35" },
+ { bfd_mach_arm_8, "cortex-a53" },
+ { bfd_mach_arm_8, "cortex-a55" },
+ { bfd_mach_arm_8, "cortex-a57" },
+ { bfd_mach_arm_8, "cortex-a72" },
+ { bfd_mach_arm_8, "cortex-a73" },
+ { bfd_mach_arm_8, "cortex-a75" },
+ { bfd_mach_arm_8, "cortex-a76" },
+ { bfd_mach_arm_6SM, "cortex-m0" },
+ { bfd_mach_arm_6SM, "cortex-m0plus" },
+ { bfd_mach_arm_6SM, "cortex-m1" },
+ { bfd_mach_arm_8M_BASE, "cortex-m23" },
+ { bfd_mach_arm_7, "cortex-m3" },
+ { bfd_mach_arm_8M_MAIN, "cortex-m33" },
+ { bfd_mach_arm_7EM, "cortex-m4" },
+ { bfd_mach_arm_7EM, "cortex-m7" },
+ { bfd_mach_arm_7, "cortex-r4" },
+ { bfd_mach_arm_7, "cortex-r4f" },
+ { bfd_mach_arm_7, "cortex-r5" },
+ { bfd_mach_arm_8R, "cortex-r52" },
+ { bfd_mach_arm_7, "cortex-r7" },
+ { bfd_mach_arm_7, "cortex-r8" },
+ { bfd_mach_arm_4T, "ep9312" },
+ { bfd_mach_arm_8, "exynos-m1" },
+ { bfd_mach_arm_4, "fa526" },
+ { bfd_mach_arm_5TE, "fa606te" },
+ { bfd_mach_arm_5TE, "fa616te" },
+ { bfd_mach_arm_4, "fa626" },
+ { bfd_mach_arm_5TE, "fa626te" },
+ { bfd_mach_arm_5TE, "fa726te" },
+ { bfd_mach_arm_5TE, "fmp626" },
+ { bfd_mach_arm_XScale, "i80200" },
+ { bfd_mach_arm_7, "marvell-pj4" },
+ { bfd_mach_arm_7, "marvell-whitney" },
+ { bfd_mach_arm_6K, "mpcore" },
+ { bfd_mach_arm_6K, "mpcorenovfp" },
+ { bfd_mach_arm_4, "sa1" },
+ { bfd_mach_arm_4, "strongarm" },
+ { bfd_mach_arm_4, "strongarm1" },
+ { bfd_mach_arm_4, "strongarm110" },
+ { bfd_mach_arm_4, "strongarm1100" },
+ { bfd_mach_arm_4, "strongarm1110" },
+ { bfd_mach_arm_XScale, "xscale" },
+ { bfd_mach_arm_8, "xgene1" },
+ { bfd_mach_arm_8, "xgene2" },
+ { bfd_mach_arm_ep9312, "ep9312" },
+ { bfd_mach_arm_iWMMXt, "iwmmxt" },
+ { bfd_mach_arm_iWMMXt2, "iwmmxt2" },
+ { bfd_mach_arm_unknown, "arm_any" }
};
static bfd_boolean
@@ -335,6 +428,19 @@ bfd_arm_update_notes (bfd *abfd, const char *note_section)
case bfd_mach_arm_ep9312: expected = "ep9312"; break;
case bfd_mach_arm_iWMMXt: expected = "iWMMXt"; break;
case bfd_mach_arm_iWMMXt2: expected = "iWMMXt2"; break;
+ case bfd_mach_arm_5TEJ: expected = "armv5tej"; break;
+ case bfd_mach_arm_6: expected = "armv6"; break;
+ case bfd_mach_arm_6KZ: expected = "armv6kz"; break;
+ case bfd_mach_arm_6T2: expected = "armv6t2"; break;
+ case bfd_mach_arm_6K: expected = "armv6k"; break;
+ case bfd_mach_arm_7: expected = "armv7"; break;
+ case bfd_mach_arm_6M: expected = "armv6-m"; break;
+ case bfd_mach_arm_6SM: expected = "armv6s-m"; break;
+ case bfd_mach_arm_7EM: expected = "armv7e-m"; break;
+ case bfd_mach_arm_8: expected = "armv8-a"; break;
+ case bfd_mach_arm_8R: expected = "armv8-r"; break;
+ case bfd_mach_arm_8M_BASE: expected = "armv8-m.base"; break;
+ case bfd_mach_arm_8M_MAIN: expected = "armv8-m.main"; break;
}
if (strcmp (arch_string, expected) != 0)
@@ -371,20 +477,33 @@ static struct
}
architectures[] =
{
- { "armv2", bfd_mach_arm_2 },
- { "armv2a", bfd_mach_arm_2a },
- { "armv3", bfd_mach_arm_3 },
- { "armv3M", bfd_mach_arm_3M },
- { "armv4", bfd_mach_arm_4 },
- { "armv4t", bfd_mach_arm_4T },
- { "armv5", bfd_mach_arm_5 },
- { "armv5t", bfd_mach_arm_5T },
- { "armv5te", bfd_mach_arm_5TE },
- { "XScale", bfd_mach_arm_XScale },
- { "ep9312", bfd_mach_arm_ep9312 },
- { "iWMMXt", bfd_mach_arm_iWMMXt },
- { "iWMMXt2", bfd_mach_arm_iWMMXt2 },
- { "arm_any", bfd_mach_arm_unknown }
+ { "armv2", bfd_mach_arm_2 },
+ { "armv2a", bfd_mach_arm_2a },
+ { "armv3", bfd_mach_arm_3 },
+ { "armv3M", bfd_mach_arm_3M },
+ { "armv4", bfd_mach_arm_4 },
+ { "armv4t", bfd_mach_arm_4T },
+ { "armv5", bfd_mach_arm_5 },
+ { "armv5t", bfd_mach_arm_5T },
+ { "armv5te", bfd_mach_arm_5TE },
+ { "XScale", bfd_mach_arm_XScale },
+ { "ep9312", bfd_mach_arm_ep9312 },
+ { "iWMMXt", bfd_mach_arm_iWMMXt },
+ { "iWMMXt2", bfd_mach_arm_iWMMXt2 },
+ { "armv5tej", bfd_mach_arm_5TEJ },
+ { "armv6", bfd_mach_arm_6 },
+ { "armv6kz", bfd_mach_arm_6KZ },
+ { "armv6t2", bfd_mach_arm_6T2 },
+ { "armv6k", bfd_mach_arm_6K },
+ { "armv7", bfd_mach_arm_7 },
+ { "armv6-m", bfd_mach_arm_6M },
+ { "armv6s-m", bfd_mach_arm_6SM },
+ { "armv7e-m", bfd_mach_arm_7EM },
+ { "armv8-a", bfd_mach_arm_8 },
+ { "armv8-r", bfd_mach_arm_8R },
+ { "armv8-m.base", bfd_mach_arm_8M_BASE },
+ { "armv8-m.main", bfd_mach_arm_8M_MAIN },
+ { "arm_any", bfd_mach_arm_unknown }
};
/* Extract the machine number stored in a note section. */
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 80fb0c3b5e..0caf2634be 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -204,6 +204,7 @@ static const arm_feature_set arm_ext_v5j = ARM_FEATURE_CORE_LOW (ARM_EXT_V5J);
static const arm_feature_set arm_ext_v6 = ARM_FEATURE_CORE_LOW (ARM_EXT_V6);
static const arm_feature_set arm_ext_v6k = ARM_FEATURE_CORE_LOW (ARM_EXT_V6K);
static const arm_feature_set arm_ext_v6t2 = ARM_FEATURE_CORE_LOW (ARM_EXT_V6T2);
+static const arm_feature_set arm_ext_v6m = ARM_FEATURE_CORE_LOW (ARM_EXT_V6M);
static const arm_feature_set arm_ext_v6_notm =
ARM_FEATURE_CORE_LOW (ARM_EXT_V6_NOTM);
static const arm_feature_set arm_ext_v6_dsp =
@@ -25589,7 +25590,48 @@ md_begin (void)
#endif
/* Record the CPU type as well. */
- if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt2))
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8m))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8m_main))
+ mach = bfd_mach_arm_8M_MAIN;
+ else
+ mach = bfd_mach_arm_8M_BASE;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8))
+ {
+ const arm_feature_set arm_ext_v8a = ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8A);
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8a))
+ mach = bfd_mach_arm_8;
+ else
+ mach = bfd_mach_arm_8R;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v7))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v7m)
+ && ARM_FSET_CPU_SUBSET (arm_ext_dsp, cpu_variant))
+ mach = bfd_mach_arm_7EM;
+ else
+ mach = bfd_mach_arm_7;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6m))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_os))
+ mach = bfd_mach_arm_6SM;
+ else
+ mach = bfd_mach_arm_6M;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6t2))
+ mach = bfd_mach_arm_6T2;
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6k))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_sec))
+ mach = bfd_mach_arm_6KZ;
+ else
+ mach = bfd_mach_arm_6K;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6))
+ mach = bfd_mach_arm_6;
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt2))
mach = bfd_mach_arm_iWMMXt2;
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt))
mach = bfd_mach_arm_iWMMXt;
@@ -25598,7 +25640,12 @@ md_begin (void)
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_maverick))
mach = bfd_mach_arm_ep9312;
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5e))
- mach = bfd_mach_arm_5TE;
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5j))
+ mach = bfd_mach_arm_5TEJ;
+ else
+ mach = bfd_mach_arm_5TE;
+ }
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5))
{
if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v4t))
diff --git a/gas/testsuite/gas/arm/cpu-arm1020.d b/gas/testsuite/gas/arm/cpu-arm1020.d
new file mode 100644
index 0000000000..0c5c62bafa
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020 CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020
+# objdump: -d -marm1020
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1020e.d b/gas/testsuite/gas/arm/cpu-arm1020e.d
new file mode 100644
index 0000000000..eda63605a5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020e CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020e
+# objdump: -d -marm1020e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1020t.d b/gas/testsuite/gas/arm/cpu-arm1020t.d
new file mode 100644
index 0000000000..30323a0984
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020t CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020t
+# objdump: -d -marm1020t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1022e.d b/gas/testsuite/gas/arm/cpu-arm1022e.d
new file mode 100644
index 0000000000..2e6d5ccb0c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1022e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1022e CPU
+# source: nop-asm.s
+# as: -mcpu=arm1022e
+# objdump: -d -marm1022e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1026ej-s.d b/gas/testsuite/gas/arm/cpu-arm1026ej-s.d
new file mode 100644
index 0000000000..2e9b375945
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1026ej-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1026ej-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1026ej-s
+# objdump: -d -marm1026ej-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1026ejs.d b/gas/testsuite/gas/arm/cpu-arm1026ejs.d
new file mode 100644
index 0000000000..354e464a7c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1026ejs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1026ejs CPU
+# source: nop-asm.s
+# as: -mcpu=arm1026ejs
+# objdump: -d -marm1026ejs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10e.d b/gas/testsuite/gas/arm/cpu-arm10e.d
new file mode 100644
index 0000000000..079728ac8c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10e CPU
+# source: nop-asm.s
+# as: -mcpu=arm10e
+# objdump: -d -marm10e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10t.d b/gas/testsuite/gas/arm/cpu-arm10t.d
new file mode 100644
index 0000000000..0f6ae4cf2c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10t CPU
+# source: nop-asm.s
+# as: -mcpu=arm10t
+# objdump: -d -marm10t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10tdmi.d b/gas/testsuite/gas/arm/cpu-arm10tdmi.d
new file mode 100644
index 0000000000..568f6a290f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm10tdmi
+# objdump: -d -marm10tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136j-s.d b/gas/testsuite/gas/arm/cpu-arm1136j-s.d
new file mode 100644
index 0000000000..efa8622372
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136j-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136j-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136j-s
+# objdump: -d -marm1136j-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136jf-s.d b/gas/testsuite/gas/arm/cpu-arm1136jf-s.d
new file mode 100644
index 0000000000..fcd9c24196
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136jf-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136jf-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136jf-s
+# objdump: -d -marm1136jf-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136jfs.d b/gas/testsuite/gas/arm/cpu-arm1136jfs.d
new file mode 100644
index 0000000000..0331e2b3ef
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136jfs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136jfs CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136jfs
+# objdump: -d -marm1136jfs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136js.d b/gas/testsuite/gas/arm/cpu-arm1136js.d
new file mode 100644
index 0000000000..6f70575ae1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136js.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136js CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136js
+# objdump: -d -marm1136js
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1156t2-s.d b/gas/testsuite/gas/arm/cpu-arm1156t2-s.d
new file mode 100644
index 0000000000..a415f66637
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1156t2-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1156t2-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1156t2-s
+# objdump: -d -marm1156t2-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d b/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
new file mode 100644
index 0000000000..7f876759e8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1156t2f-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1156t2f-s
+# objdump: -d -marm1156t2f-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1176jz-s.d b/gas/testsuite/gas/arm/cpu-arm1176jz-s.d
new file mode 100644
index 0000000000..3df745f902
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1176jz-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1176jz-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1176jz-s
+# objdump: -d -marm1176jz-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d b/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
new file mode 100644
index 0000000000..09b9528e8c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1176jzf-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1176jzf-s
+# objdump: -d -marm1176jzf-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm2.d b/gas/testsuite/gas/arm/cpu-arm2.d
new file mode 100644
index 0000000000..5de8f51da6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm2 CPU
+# source: nop-asm.s
+# as: -mcpu=arm2
+# objdump: -d -marm2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm250.d b/gas/testsuite/gas/arm/cpu-arm250.d
new file mode 100644
index 0000000000..56aa78bd3d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm250.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm250 CPU
+# source: nop-asm.s
+# as: -mcpu=arm250
+# objdump: -d -marm250
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm3.d b/gas/testsuite/gas/arm/cpu-arm3.d
new file mode 100644
index 0000000000..d6c035aa29
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm3.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm3 CPU
+# source: nop-asm.s
+# as: -mcpu=arm3
+# objdump: -d -marm3
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm6.d b/gas/testsuite/gas/arm/cpu-arm6.d
new file mode 100644
index 0000000000..14c407d8fd
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm6.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm6 CPU
+# source: nop-asm.s
+# as: -mcpu=arm6
+# objdump: -d -marm6
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm60.d b/gas/testsuite/gas/arm/cpu-arm60.d
new file mode 100644
index 0000000000..0eb8f87bd9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm60.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm60 CPU
+# source: nop-asm.s
+# as: -mcpu=arm60
+# objdump: -d -marm60
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm600.d b/gas/testsuite/gas/arm/cpu-arm600.d
new file mode 100644
index 0000000000..1f7b553ef9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm600.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm600 CPU
+# source: nop-asm.s
+# as: -mcpu=arm600
+# objdump: -d -marm600
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm610.d b/gas/testsuite/gas/arm/cpu-arm610.d
new file mode 100644
index 0000000000..2e62bae872
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm610.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm610 CPU
+# source: nop-asm.s
+# as: -mcpu=arm610
+# objdump: -d -marm610
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm620.d b/gas/testsuite/gas/arm/cpu-arm620.d
new file mode 100644
index 0000000000..1bad1f5ec7
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm620.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm620 CPU
+# source: nop-asm.s
+# as: -mcpu=arm620
+# objdump: -d -marm620
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7.d b/gas/testsuite/gas/arm/cpu-arm7.d
new file mode 100644
index 0000000000..070f9c8cb4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7
+# objdump: -d -marm7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm70.d b/gas/testsuite/gas/arm/cpu-arm70.d
new file mode 100644
index 0000000000..8398de25d6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm70.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm70 CPU
+# source: nop-asm.s
+# as: -mcpu=arm70
+# objdump: -d -marm70
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm700.d b/gas/testsuite/gas/arm/cpu-arm700.d
new file mode 100644
index 0000000000..f75401d305
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm700.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm700 CPU
+# source: nop-asm.s
+# as: -mcpu=arm700
+# objdump: -d -marm700
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm700i.d b/gas/testsuite/gas/arm/cpu-arm700i.d
new file mode 100644
index 0000000000..75f1afb77f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm700i.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm700i CPU
+# source: nop-asm.s
+# as: -mcpu=arm700i
+# objdump: -d -marm700i
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710.d b/gas/testsuite/gas/arm/cpu-arm710.d
new file mode 100644
index 0000000000..a0c1922b8f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710 CPU
+# source: nop-asm.s
+# as: -mcpu=arm710
+# objdump: -d -marm710
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7100.d b/gas/testsuite/gas/arm/cpu-arm7100.d
new file mode 100644
index 0000000000..2d1ab20990
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7100.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7100 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7100
+# objdump: -d -marm7100
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710c.d b/gas/testsuite/gas/arm/cpu-arm710c.d
new file mode 100644
index 0000000000..b2a9e86a43
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710c.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710c CPU
+# source: nop-asm.s
+# as: -mcpu=arm710c
+# objdump: -d -marm710c
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710t.d b/gas/testsuite/gas/arm/cpu-arm710t.d
new file mode 100644
index 0000000000..d7bef289e6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710t CPU
+# source: nop-asm.s
+# as: -mcpu=arm710t
+# objdump: -d -marm710t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm720.d b/gas/testsuite/gas/arm/cpu-arm720.d
new file mode 100644
index 0000000000..4c58203273
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm720.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm720 CPU
+# source: nop-asm.s
+# as: -mcpu=arm720
+# objdump: -d -marm720
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm720t.d b/gas/testsuite/gas/arm/cpu-arm720t.d
new file mode 100644
index 0000000000..75e00f8379
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm720t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm720t CPU
+# source: nop-asm.s
+# as: -mcpu=arm720t
+# objdump: -d -marm720t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm740t.d b/gas/testsuite/gas/arm/cpu-arm740t.d
new file mode 100644
index 0000000000..e202dccb58
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm740t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm740t CPU
+# source: nop-asm.s
+# as: -mcpu=arm740t
+# objdump: -d -marm740t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7500.d b/gas/testsuite/gas/arm/cpu-arm7500.d
new file mode 100644
index 0000000000..07e6498f0b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7500.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7500 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7500
+# objdump: -d -marm7500
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7500fe.d b/gas/testsuite/gas/arm/cpu-arm7500fe.d
new file mode 100644
index 0000000000..3a99de97d9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7500fe.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7500fe CPU
+# source: nop-asm.s
+# as: -mcpu=arm7500fe
+# objdump: -d -marm7500fe
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7d.d b/gas/testsuite/gas/arm/cpu-arm7d.d
new file mode 100644
index 0000000000..d93bc8be0d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7d.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7d CPU
+# source: nop-asm.s
+# as: -mcpu=arm7d
+# objdump: -d -marm7d
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7di.d b/gas/testsuite/gas/arm/cpu-arm7di.d
new file mode 100644
index 0000000000..31c541a2c7
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7di.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7di CPU
+# source: nop-asm.s
+# as: -mcpu=arm7di
+# objdump: -d -marm7di
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7dm.d b/gas/testsuite/gas/arm/cpu-arm7dm.d
new file mode 100644
index 0000000000..cc5e3619a4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7dm.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7dm CPU
+# source: nop-asm.s
+# as: -mcpu=arm7dm
+# objdump: -d -marm7dm
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7dmi.d b/gas/testsuite/gas/arm/cpu-arm7dmi.d
new file mode 100644
index 0000000000..569b4603b9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7dmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7dmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm7dmi
+# objdump: -d -marm7dmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7m.d b/gas/testsuite/gas/arm/cpu-arm7m.d
new file mode 100644
index 0000000000..eff3eb3bff
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7m.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7m CPU
+# source: nop-asm.s
+# as: -mcpu=arm7m
+# objdump: -d -marm7m
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7t.d b/gas/testsuite/gas/arm/cpu-arm7t.d
new file mode 100644
index 0000000000..822c16ce70
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7t CPU
+# source: nop-asm.s
+# as: -mcpu=arm7t
+# objdump: -d -marm7t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d b/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
new file mode 100644
index 0000000000..65aea8ab00
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7tdmi-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm7tdmi-s
+# objdump: -d -marm7tdmi-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7tdmi.d b/gas/testsuite/gas/arm/cpu-arm7tdmi.d
new file mode 100644
index 0000000000..09209a35c4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm7tdmi
+# objdump: -d -marm7tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm8.d b/gas/testsuite/gas/arm/cpu-arm8.d
new file mode 100644
index 0000000000..af13c2cce6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm8 CPU
+# source: nop-asm.s
+# as: -mcpu=arm8
+# objdump: -d -marm8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm810.d b/gas/testsuite/gas/arm/cpu-arm810.d
new file mode 100644
index 0000000000..842d2746b8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm810.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm810 CPU
+# source: nop-asm.s
+# as: -mcpu=arm810
+# objdump: -d -marm810
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9.d b/gas/testsuite/gas/arm/cpu-arm9.d
new file mode 100644
index 0000000000..9ae98be98e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9 CPU
+# source: nop-asm.s
+# as: -mcpu=arm9
+# objdump: -d -marm9
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm920.d b/gas/testsuite/gas/arm/cpu-arm920.d
new file mode 100644
index 0000000000..15835c4b19
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm920.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm920 CPU
+# source: nop-asm.s
+# as: -mcpu=arm920
+# objdump: -d -marm920
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm920t.d b/gas/testsuite/gas/arm/cpu-arm920t.d
new file mode 100644
index 0000000000..be2d591f8a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm920t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm920t CPU
+# source: nop-asm.s
+# as: -mcpu=arm920t
+# objdump: -d -marm920t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm922t.d b/gas/testsuite/gas/arm/cpu-arm922t.d
new file mode 100644
index 0000000000..3112bc8d33
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm922t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm922t CPU
+# source: nop-asm.s
+# as: -mcpu=arm922t
+# objdump: -d -marm922t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ej-s.d b/gas/testsuite/gas/arm/cpu-arm926ej-s.d
new file mode 100644
index 0000000000..0d1e657eae
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ej-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ej-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ej-s
+# objdump: -d -marm926ej-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ej.d b/gas/testsuite/gas/arm/cpu-arm926ej.d
new file mode 100644
index 0000000000..9ef27e37f5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ej.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ej CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ej
+# objdump: -d -marm926ej
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ejs.d b/gas/testsuite/gas/arm/cpu-arm926ejs.d
new file mode 100644
index 0000000000..af6c3f6e7d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ejs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ejs CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ejs
+# objdump: -d -marm926ejs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm940t.d b/gas/testsuite/gas/arm/cpu-arm940t.d
new file mode 100644
index 0000000000..4395a9274f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm940t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm940t CPU
+# source: nop-asm.s
+# as: -mcpu=arm940t
+# objdump: -d -marm940t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e-r0.d b/gas/testsuite/gas/arm/cpu-arm946e-r0.d
new file mode 100644
index 0000000000..c5e81b301a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e-r0
+# objdump: -d -marm946e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e-s.d b/gas/testsuite/gas/arm/cpu-arm946e-s.d
new file mode 100644
index 0000000000..ba4089a57a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e-s
+# objdump: -d -marm946e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e.d b/gas/testsuite/gas/arm/cpu-arm946e.d
new file mode 100644
index 0000000000..4ef1b42366
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e
+# objdump: -d -marm946e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e-r0.d b/gas/testsuite/gas/arm/cpu-arm966e-r0.d
new file mode 100644
index 0000000000..86986e3cf8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e-r0
+# objdump: -d -marm966e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e-s.d b/gas/testsuite/gas/arm/cpu-arm966e-s.d
new file mode 100644
index 0000000000..08b2e5afe8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e-s
+# objdump: -d -marm966e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e.d b/gas/testsuite/gas/arm/cpu-arm966e.d
new file mode 100644
index 0000000000..281bafbfcc
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e
+# objdump: -d -marm966e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm968e-s.d b/gas/testsuite/gas/arm/cpu-arm968e-s.d
new file mode 100644
index 0000000000..78eea9e375
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm968e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm968e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm968e-s
+# objdump: -d -marm968e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9e-r0.d b/gas/testsuite/gas/arm/cpu-arm9e-r0.d
new file mode 100644
index 0000000000..69434cafa1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm9e-r0
+# objdump: -d -marm9e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9e.d b/gas/testsuite/gas/arm/cpu-arm9e.d
new file mode 100644
index 0000000000..d6e5e6f51d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9e CPU
+# source: nop-asm.s
+# as: -mcpu=arm9e
+# objdump: -d -marm9e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9tdmi.d b/gas/testsuite/gas/arm/cpu-arm9tdmi.d
new file mode 100644
index 0000000000..94fdfc7564
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm9tdmi
+# objdump: -d -marm9tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm_any.d b/gas/testsuite/gas/arm/cpu-arm_any.d
new file mode 100644
index 0000000000..0e3d11e983
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm_any.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm2 CPU
+# source: nop-asm.s
+# as: -mcpu=all
+# objdump: -d -marm_any
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a12.d b/gas/testsuite/gas/arm/cpu-cortex-a12.d
new file mode 100644
index 0000000000..55c27d5f1a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a12.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a12 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a12
+# objdump: -d -mcortex-a12
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a15.d b/gas/testsuite/gas/arm/cpu-cortex-a15.d
new file mode 100644
index 0000000000..9a8272e67c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a15.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a15 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a15
+# objdump: -d -mcortex-a15
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a17.d b/gas/testsuite/gas/arm/cpu-cortex-a17.d
new file mode 100644
index 0000000000..490167e88b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a17.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a17 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a17
+# objdump: -d -mcortex-a17
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a32.d b/gas/testsuite/gas/arm/cpu-cortex-a32.d
new file mode 100644
index 0000000000..2e8895452b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a32.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a32 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a32
+# objdump: -d -mcortex-a32
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a35.d b/gas/testsuite/gas/arm/cpu-cortex-a35.d
new file mode 100644
index 0000000000..770915f25d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a35.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a35 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a35
+# objdump: -d -mcortex-a35
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a5.d b/gas/testsuite/gas/arm/cpu-cortex-a5.d
new file mode 100644
index 0000000000..0da6abbb80
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a5.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a5 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a5
+# objdump: -d -mcortex-a5
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a53.d b/gas/testsuite/gas/arm/cpu-cortex-a53.d
new file mode 100644
index 0000000000..1568e75956
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a53.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a53 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a53
+# objdump: -d -mcortex-a53
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a55.d b/gas/testsuite/gas/arm/cpu-cortex-a55.d
new file mode 100644
index 0000000000..9f7aa86c4d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a55.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a55 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a55
+# objdump: -d -mcortex-a55
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a57.d b/gas/testsuite/gas/arm/cpu-cortex-a57.d
new file mode 100644
index 0000000000..750bab2df6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a57.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a57 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a57
+# objdump: -d -mcortex-a57
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a7.d b/gas/testsuite/gas/arm/cpu-cortex-a7.d
new file mode 100644
index 0000000000..65c016ab0f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a7
+# objdump: -d -mcortex-a7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a72.d b/gas/testsuite/gas/arm/cpu-cortex-a72.d
new file mode 100644
index 0000000000..7784421f30
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a72.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a72 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a72
+# objdump: -d -mcortex-a72
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a73.d b/gas/testsuite/gas/arm/cpu-cortex-a73.d
new file mode 100644
index 0000000000..62dc3681d2
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a73.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a73 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a73
+# objdump: -d -mcortex-a73
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a75.d b/gas/testsuite/gas/arm/cpu-cortex-a75.d
new file mode 100644
index 0000000000..ca90cd6dd4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a75.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a75 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a75
+# objdump: -d -mcortex-a75
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a76.d b/gas/testsuite/gas/arm/cpu-cortex-a76.d
new file mode 100644
index 0000000000..f85de36037
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a76.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a76 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a76
+# objdump: -d -mcortex-a76
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a8.d b/gas/testsuite/gas/arm/cpu-cortex-a8.d
new file mode 100644
index 0000000000..6348206bfe
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a8 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a8
+# objdump: -d -mcortex-a8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a9.d b/gas/testsuite/gas/arm/cpu-cortex-a9.d
new file mode 100644
index 0000000000..ec5c692027
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a9.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a9 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a9
+# objdump: -d -mcortex-a9
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m0.d b/gas/testsuite/gas/arm/cpu-cortex-m0.d
new file mode 100644
index 0000000000..3a426b74a0
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m0 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m0
+# objdump: -d -M force-thumb -mcortex-m0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m0plus.d b/gas/testsuite/gas/arm/cpu-cortex-m0plus.d
new file mode 100644
index 0000000000..622904ad17
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m0plus.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m0plus CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m0plus
+# objdump: -d -M force-thumb -mcortex-m0plus
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m1.d b/gas/testsuite/gas/arm/cpu-cortex-m1.d
new file mode 100644
index 0000000000..583b44657d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m1 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m1
+# objdump: -d -M force-thumb -mcortex-m1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m23.d b/gas/testsuite/gas/arm/cpu-cortex-m23.d
new file mode 100644
index 0000000000..dcac99cd27
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m23.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m23 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m23
+# objdump: -d -M force-thumb -mcortex-m23
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m3.d b/gas/testsuite/gas/arm/cpu-cortex-m3.d
new file mode 100644
index 0000000000..5566ecd63c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m3.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m3 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m3
+# objdump: -d -M force-thumb -mcortex-m3
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m33.d b/gas/testsuite/gas/arm/cpu-cortex-m33.d
new file mode 100644
index 0000000000..30d3ac0836
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m33.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m33 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m33
+# objdump: -d -M force-thumb -mcortex-m33
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m4.d b/gas/testsuite/gas/arm/cpu-cortex-m4.d
new file mode 100644
index 0000000000..ebbd5a9666
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m4 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m4
+# objdump: -d -M force-thumb -mcortex-m4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m7.d b/gas/testsuite/gas/arm/cpu-cortex-m7.d
new file mode 100644
index 0000000000..411b40dbdb
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m7
+# objdump: -d -M force-thumb -mcortex-m7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r4.d b/gas/testsuite/gas/arm/cpu-cortex-r4.d
new file mode 100644
index 0000000000..448ae7750b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r4 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r4
+# objdump: -d -mcortex-r4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r4f.d b/gas/testsuite/gas/arm/cpu-cortex-r4f.d
new file mode 100644
index 0000000000..0a5a41d202
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r4f.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r4f CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r4f
+# objdump: -d -mcortex-r4f
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r5.d b/gas/testsuite/gas/arm/cpu-cortex-r5.d
new file mode 100644
index 0000000000..a4bce05cb3
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r5.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r5 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r5
+# objdump: -d -mcortex-r5
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r52.d b/gas/testsuite/gas/arm/cpu-cortex-r52.d
new file mode 100644
index 0000000000..f7f3c9897e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r52.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r52 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r52
+# objdump: -d -mcortex-r52
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r7.d b/gas/testsuite/gas/arm/cpu-cortex-r7.d
new file mode 100644
index 0000000000..bacfaacc8a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r7
+# objdump: -d -mcortex-r7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r8.d b/gas/testsuite/gas/arm/cpu-cortex-r8.d
new file mode 100644
index 0000000000..c43740b016
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r8 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r8
+# objdump: -d -mcortex-r8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-ep9312.d b/gas/testsuite/gas/arm/cpu-ep9312.d
new file mode 100644
index 0000000000..dfa0de7bf1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-ep9312.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for ep9312 CPU
+# source: nop-asm.s
+# as: -mcpu=ep9312
+# objdump: -d -mep9312
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-exynos-m1.d b/gas/testsuite/gas/arm/cpu-exynos-m1.d
new file mode 100644
index 0000000000..f62cc721a9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-exynos-m1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for exynos-m1 CPU
+# source: nop-asm.s
+# as: -mcpu=exynos-m1
+# objdump: -d -mexynos-m1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa526.d b/gas/testsuite/gas/arm/cpu-fa526.d
new file mode 100644
index 0000000000..ab2982b50a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa526.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa526 CPU
+# source: nop-asm.s
+# as: -mcpu=fa526
+# objdump: -d -mfa526
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa606te.d b/gas/testsuite/gas/arm/cpu-fa606te.d
new file mode 100644
index 0000000000..8f175041de
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa606te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa606te CPU
+# source: nop-asm.s
+# as: -mcpu=fa606te
+# objdump: -d -mfa606te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa616te.d b/gas/testsuite/gas/arm/cpu-fa616te.d
new file mode 100644
index 0000000000..164f6c715a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa616te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa616te CPU
+# source: nop-asm.s
+# as: -mcpu=fa616te
+# objdump: -d -mfa616te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa626.d b/gas/testsuite/gas/arm/cpu-fa626.d
new file mode 100644
index 0000000000..7cd5fd690a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa626.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa626 CPU
+# source: nop-asm.s
+# as: -mcpu=fa626
+# objdump: -d -mfa626
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa626te.d b/gas/testsuite/gas/arm/cpu-fa626te.d
new file mode 100644
index 0000000000..363fc407eb
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa626te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa626te CPU
+# source: nop-asm.s
+# as: -mcpu=fa626te
+# objdump: -d -mfa626te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa726te.d b/gas/testsuite/gas/arm/cpu-fa726te.d
new file mode 100644
index 0000000000..eb5d8d6692
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa726te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa726te CPU
+# source: nop-asm.s
+# as: -mcpu=fa726te
+# objdump: -d -mfa726te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fmp626.d b/gas/testsuite/gas/arm/cpu-fmp626.d
new file mode 100644
index 0000000000..8a2cc61224
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fmp626.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fmp626 CPU
+# source: nop-asm.s
+# as: -mcpu=fmp626
+# objdump: -d -mfmp626
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-i80200.d b/gas/testsuite/gas/arm/cpu-i80200.d
new file mode 100644
index 0000000000..d610d4daae
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-i80200.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for i80200 CPU
+# source: nop-asm.s
+# as: -mcpu=i80200
+# objdump: -d -mi80200
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-iwmmxt.d b/gas/testsuite/gas/arm/cpu-iwmmxt.d
new file mode 100644
index 0000000000..a1420ab196
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-iwmmxt.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for iwmmxt CPU
+# source: nop-asm.s
+# as: -mcpu=iwmmxt
+# objdump: -d -miwmmxt
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-iwmmxt2.d b/gas/testsuite/gas/arm/cpu-iwmmxt2.d
new file mode 100644
index 0000000000..f973ae5997
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-iwmmxt2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for iwmmxt2 CPU
+# source: nop-asm.s
+# as: -mcpu=iwmmxt2
+# objdump: -d -miwmmxt2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-marvell-pj4.d b/gas/testsuite/gas/arm/cpu-marvell-pj4.d
new file mode 100644
index 0000000000..72e0fb4e26
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-marvell-pj4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for marvell-pj4 CPU
+# source: nop-asm.s
+# as: -mcpu=marvell-pj4
+# objdump: -d -mmarvell-pj4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-marvell-whitney.d b/gas/testsuite/gas/arm/cpu-marvell-whitney.d
new file mode 100644
index 0000000000..06aa7c6db9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-marvell-whitney.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for marvell-whitney CPU
+# source: nop-asm.s
+# as: -mcpu=marvell-whitney
+# objdump: -d -mmarvell-whitney
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-mpcore.d b/gas/testsuite/gas/arm/cpu-mpcore.d
new file mode 100644
index 0000000000..d5490f39de
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-mpcore.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for mpcore CPU
+# source: nop-asm.s
+# as: -mcpu=mpcore
+# objdump: -d -mmpcore
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-mpcorenovfp.d b/gas/testsuite/gas/arm/cpu-mpcorenovfp.d
new file mode 100644
index 0000000000..249d4175dd
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-mpcorenovfp.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for mpcorenovfp CPU
+# source: nop-asm.s
+# as: -mcpu=mpcorenovfp
+# objdump: -d -mmpcorenovfp
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-sa1.d b/gas/testsuite/gas/arm/cpu-sa1.d
new file mode 100644
index 0000000000..1163996410
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-sa1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for sa1 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1
+# objdump: -d -msa1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm.d b/gas/testsuite/gas/arm/cpu-strongarm.d
new file mode 100644
index 0000000000..fc079b1cab
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm
+# objdump: -d -mstrongarm
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1.d b/gas/testsuite/gas/arm/cpu-strongarm1.d
new file mode 100644
index 0000000000..9d8d5c470f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1
+# objdump: -d -mstrongarm1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm110.d b/gas/testsuite/gas/arm/cpu-strongarm110.d
new file mode 100644
index 0000000000..4955884dd5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm110.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm110 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm110
+# objdump: -d -mstrongarm110
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1100.d b/gas/testsuite/gas/arm/cpu-strongarm1100.d
new file mode 100644
index 0000000000..c0bcba2a6e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1100.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1100 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1100
+# objdump: -d -mstrongarm1100
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1110.d b/gas/testsuite/gas/arm/cpu-strongarm1110.d
new file mode 100644
index 0000000000..86b87c6b08
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1110.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1110 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1110
+# objdump: -d -mstrongarm1110
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xgene1.d b/gas/testsuite/gas/arm/cpu-xgene1.d
new file mode 100644
index 0000000000..210527688f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xgene1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xgene1 CPU
+# source: nop-asm.s
+# as: -mcpu=xgene1
+# objdump: -d -mxgene1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xgene2.d b/gas/testsuite/gas/arm/cpu-xgene2.d
new file mode 100644
index 0000000000..3a8f5ebef8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xgene2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xgene2 CPU
+# source: nop-asm.s
+# as: -mcpu=xgene2
+# objdump: -d -mxgene2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xscale.d b/gas/testsuite/gas/arm/cpu-xscale.d
new file mode 100644
index 0000000000..b141f58e44
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xscale.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xscale CPU
+# source: nop-asm.s
+# as: -mcpu=xscale
+# objdump: -d -mxscale
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/nop-asm.s b/gas/testsuite/gas/arm/nop-asm.s
new file mode 100644
index 0000000000..c27745a58f
--- /dev/null
+++ b/gas/testsuite/gas/arm/nop-asm.s
@@ -0,0 +1 @@
+nop
diff --git a/gas/testsuite/gas/arm/note-march-armv2.d b/gas/testsuite/gas/arm/note-march-armv2.d
new file mode 100644
index 0000000000..f7af35a929
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2.d
@@ -0,0 +1,13 @@
+# name: armv2 note with -march=armv2
+# source: note-march-armv2.s RUN_OBJCOPY
+# as: -march=armv2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv2
diff --git a/gas/testsuite/gas/arm/note-march-armv2.s b/gas/testsuite/gas/arm/note-march-armv2.s
new file mode 100644
index 0000000000..6c76df7abe
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv2"
diff --git a/gas/testsuite/gas/arm/note-march-armv2a.d b/gas/testsuite/gas/arm/note-march-armv2a.d
new file mode 100644
index 0000000000..443a424718
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2a.d
@@ -0,0 +1,13 @@
+# name: armv2a note with -march=armv2a
+# source: note-march-armv2a.s RUN_OBJCOPY
+# as: -march=armv2a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv2a
diff --git a/gas/testsuite/gas/arm/note-march-armv2a.s b/gas/testsuite/gas/arm/note-march-armv2a.s
new file mode 100644
index 0000000000..abe1b32654
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2a.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv2a"
diff --git a/gas/testsuite/gas/arm/note-march-armv3.d b/gas/testsuite/gas/arm/note-march-armv3.d
new file mode 100644
index 0000000000..d8dd724c52
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3.d
@@ -0,0 +1,13 @@
+# name: armv3 note with -march=armv3
+# source: note-march-armv3.s RUN_OBJCOPY
+# as: -march=armv3
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv3
diff --git a/gas/testsuite/gas/arm/note-march-armv3.s b/gas/testsuite/gas/arm/note-march-armv3.s
new file mode 100644
index 0000000000..cdc513db4a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv3"
diff --git a/gas/testsuite/gas/arm/note-march-armv3m.d b/gas/testsuite/gas/arm/note-march-armv3m.d
new file mode 100644
index 0000000000..5c402c470e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3m.d
@@ -0,0 +1,13 @@
+# name: armv3M note with -march=armv3m
+# source: note-march-armv3m.s RUN_OBJCOPY
+# as: -march=armv3m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv3M
diff --git a/gas/testsuite/gas/arm/note-march-armv3m.s b/gas/testsuite/gas/arm/note-march-armv3m.s
new file mode 100644
index 0000000000..127695ec47
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv3M"
diff --git a/gas/testsuite/gas/arm/note-march-armv4.d b/gas/testsuite/gas/arm/note-march-armv4.d
new file mode 100644
index 0000000000..1882fa3f97
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4.d
@@ -0,0 +1,13 @@
+# name: armv4 note with -march=armv4
+# source: note-march-armv4.s RUN_OBJCOPY
+# as: -march=armv4
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv4
diff --git a/gas/testsuite/gas/arm/note-march-armv4.s b/gas/testsuite/gas/arm/note-march-armv4.s
new file mode 100644
index 0000000000..c403d7bc5a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv4"
diff --git a/gas/testsuite/gas/arm/note-march-armv4t.d b/gas/testsuite/gas/arm/note-march-armv4t.d
new file mode 100644
index 0000000000..bcddcf1793
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4t.d
@@ -0,0 +1,13 @@
+# name: armv4t note with -march=armv4t
+# source: note-march-armv4t.s RUN_OBJCOPY
+# as: -march=armv4t
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv4t
diff --git a/gas/testsuite/gas/arm/note-march-armv4t.s b/gas/testsuite/gas/arm/note-march-armv4t.s
new file mode 100644
index 0000000000..bc90f30a09
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4t.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv4t"
diff --git a/gas/testsuite/gas/arm/note-march-armv5.d b/gas/testsuite/gas/arm/note-march-armv5.d
new file mode 100644
index 0000000000..bf6a81a04d
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5.d
@@ -0,0 +1,13 @@
+# name: armv5 note with -march=armv5
+# source: note-march-armv5.s RUN_OBJCOPY
+# as: -march=armv5
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5
diff --git a/gas/testsuite/gas/arm/note-march-armv5.s b/gas/testsuite/gas/arm/note-march-armv5.s
new file mode 100644
index 0000000000..b77f5653b7
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv5"
diff --git a/gas/testsuite/gas/arm/note-march-armv5t.d b/gas/testsuite/gas/arm/note-march-armv5t.d
new file mode 100644
index 0000000000..2761143091
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5t.d
@@ -0,0 +1,13 @@
+# name: armv5t note with -march=armv5t
+# source: note-march-armv5t.s RUN_OBJCOPY
+# as: -march=armv5t
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5t
diff --git a/gas/testsuite/gas/arm/note-march-armv5t.s b/gas/testsuite/gas/arm/note-march-armv5t.s
new file mode 100644
index 0000000000..d88bf51ddd
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5t.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv5t"
diff --git a/gas/testsuite/gas/arm/note-march-armv5te.d b/gas/testsuite/gas/arm/note-march-armv5te.d
new file mode 100644
index 0000000000..8003740135
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5te.d
@@ -0,0 +1,13 @@
+# name: armv5te note with -march=armv5te
+# source: note-march-armv5te.s RUN_OBJCOPY
+# as: -march=armv5te
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5te
diff --git a/gas/testsuite/gas/arm/note-march-armv5te.s b/gas/testsuite/gas/arm/note-march-armv5te.s
new file mode 100644
index 0000000000..c2d72c17d3
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5te.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv5te"
diff --git a/gas/testsuite/gas/arm/note-march-armv5tej.d b/gas/testsuite/gas/arm/note-march-armv5tej.d
new file mode 100644
index 0000000000..1bcedf2185
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5tej.d
@@ -0,0 +1,13 @@
+# name: armv5tej note with -march=armv5tej
+# source: note-march-armv5tej.s RUN_OBJCOPY
+# as: -march=armv5tej
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5tej
diff --git a/gas/testsuite/gas/arm/note-march-armv5tej.s b/gas/testsuite/gas/arm/note-march-armv5tej.s
new file mode 100644
index 0000000000..a0effacd3f
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5tej.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv5tej"
diff --git a/gas/testsuite/gas/arm/note-march-armv6-m.d b/gas/testsuite/gas/arm/note-march-armv6-m.d
new file mode 100644
index 0000000000..38061e2eab
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6-m.d
@@ -0,0 +1,13 @@
+# name: armv6-m note with -march=armv6-m
+# source: note-march-armv6-m.s RUN_OBJCOPY
+# as: -march=armv6-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6-m
diff --git a/gas/testsuite/gas/arm/note-march-armv6-m.s b/gas/testsuite/gas/arm/note-march-armv6-m.s
new file mode 100644
index 0000000000..71d43e7a7b
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv6.d b/gas/testsuite/gas/arm/note-march-armv6.d
new file mode 100644
index 0000000000..99bf4348bc
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6.d
@@ -0,0 +1,13 @@
+# name: armv6 note with -march=armv6
+# source: note-march-armv6.s RUN_OBJCOPY
+# as: -march=armv6
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6
diff --git a/gas/testsuite/gas/arm/note-march-armv6.s b/gas/testsuite/gas/arm/note-march-armv6.s
new file mode 100644
index 0000000000..ae9fc7d69e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv6"
diff --git a/gas/testsuite/gas/arm/note-march-armv6k.d b/gas/testsuite/gas/arm/note-march-armv6k.d
new file mode 100644
index 0000000000..125b499e05
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6k.d
@@ -0,0 +1,13 @@
+# name: armv6k note with -march=armv6k
+# source: note-march-armv6k.s RUN_OBJCOPY
+# as: -march=armv6k
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6k
diff --git a/gas/testsuite/gas/arm/note-march-armv6k.s b/gas/testsuite/gas/arm/note-march-armv6k.s
new file mode 100644
index 0000000000..7cf198485a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6k.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv6k"
diff --git a/gas/testsuite/gas/arm/note-march-armv6kz.d b/gas/testsuite/gas/arm/note-march-armv6kz.d
new file mode 100644
index 0000000000..07a8eafeda
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6kz.d
@@ -0,0 +1,13 @@
+# name: armv6kz note with -march=armv6kz
+# source: note-march-armv6kz.s RUN_OBJCOPY
+# as: -march=armv6kz
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6kz
diff --git a/gas/testsuite/gas/arm/note-march-armv6kz.s b/gas/testsuite/gas/arm/note-march-armv6kz.s
new file mode 100644
index 0000000000..39f7035b3c
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6kz.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6kz"
diff --git a/gas/testsuite/gas/arm/note-march-armv6s-m.d b/gas/testsuite/gas/arm/note-march-armv6s-m.d
new file mode 100644
index 0000000000..cf59528326
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6s-m.d
@@ -0,0 +1,13 @@
+# name: armv6s-m note with -march=armv6s-m
+# source: note-march-armv6s-m.s RUN_OBJCOPY
+# as: -march=armv6s-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6s-m
diff --git a/gas/testsuite/gas/arm/note-march-armv6s-m.s b/gas/testsuite/gas/arm/note-march-armv6s-m.s
new file mode 100644
index 0000000000..eeeebf1a75
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6s-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv6s-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv6t2.d b/gas/testsuite/gas/arm/note-march-armv6t2.d
new file mode 100644
index 0000000000..0abf36deb2
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6t2.d
@@ -0,0 +1,13 @@
+# name: armv6t2 note with -march=armv6t2
+# source: note-march-armv6t2.s RUN_OBJCOPY
+# as: -march=armv6t2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6t2
diff --git a/gas/testsuite/gas/arm/note-march-armv6t2.s b/gas/testsuite/gas/arm/note-march-armv6t2.s
new file mode 100644
index 0000000000..6537751882
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6t2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6t2"
diff --git a/gas/testsuite/gas/arm/note-march-armv7-a.d b/gas/testsuite/gas/arm/note-march-armv7-a.d
new file mode 100644
index 0000000000..fab9ee160e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-a.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-a
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7-m.d b/gas/testsuite/gas/arm/note-march-armv7-m.d
new file mode 100644
index 0000000000..76d916c9f1
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-m.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-m
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7-r.d b/gas/testsuite/gas/arm/note-march-armv7-r.d
new file mode 100644
index 0000000000..19f80e8d19
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-r.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-r
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-r
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7.s b/gas/testsuite/gas/arm/note-march-armv7.s
new file mode 100644
index 0000000000..14e3bd2efe
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv7"
diff --git a/gas/testsuite/gas/arm/note-march-armv7e-m.d b/gas/testsuite/gas/arm/note-march-armv7e-m.d
new file mode 100644
index 0000000000..5b011781ba
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7e-m.d
@@ -0,0 +1,13 @@
+# name: armv7e-m note with -march=armv7e-m
+# source: note-march-armv7e-m.s RUN_OBJCOPY
+# as: -march=armv7e-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7e-m
diff --git a/gas/testsuite/gas/arm/note-march-armv7e-m.s b/gas/testsuite/gas/arm/note-march-armv7e-m.s
new file mode 100644
index 0000000000..0e2d943a4d
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7e-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv7e-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-a.d b/gas/testsuite/gas/arm/note-march-armv8-a.d
new file mode 100644
index 0000000000..3b44f84d14
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-a.d
@@ -0,0 +1,13 @@
+# name: armv8-a note with -march=armv8-a
+# source: note-march-armv8-a.s RUN_OBJCOPY
+# as: -march=armv8-a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-a
diff --git a/gas/testsuite/gas/arm/note-march-armv8-a.s b/gas/testsuite/gas/arm/note-march-armv8-a.s
new file mode 100644
index 0000000000..1f2d6fd41c
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-a.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-a"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.base.d b/gas/testsuite/gas/arm/note-march-armv8-m.base.d
new file mode 100644
index 0000000000..f14d9a867a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.base.d
@@ -0,0 +1,13 @@
+# name: armv8-m.base note with -march=armv8-m.base
+# source: note-march-armv8-m.base.s RUN_OBJCOPY
+# as: -march=armv8-m.base
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-m.base
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.base.s b/gas/testsuite/gas/arm/note-march-armv8-m.base.s
new file mode 100644
index 0000000000..7c19ae0c89
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.base.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 12
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-m.base"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.main.d b/gas/testsuite/gas/arm/note-march-armv8-m.main.d
new file mode 100644
index 0000000000..6884a3cae5
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.main.d
@@ -0,0 +1,13 @@
+# name: armv8-m.main note with -march=armv8-m.main
+# source: note-march-armv8-m.main.s RUN_OBJCOPY
+# as: -march=armv8-m.main
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-m.main
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.main.s b/gas/testsuite/gas/arm/note-march-armv8-m.main.s
new file mode 100644
index 0000000000..61062ec1db
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.main.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 12
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-m.main"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-r.d b/gas/testsuite/gas/arm/note-march-armv8-r.d
new file mode 100644
index 0000000000..f59b39c8ee
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-r.d
@@ -0,0 +1,13 @@
+# name: armv8-r note with -march=armv8-r
+# source: note-march-armv8-r.s RUN_OBJCOPY
+# as: -march=armv8-r
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-r
diff --git a/gas/testsuite/gas/arm/note-march-armv8-r.s b/gas/testsuite/gas/arm/note-march-armv8-r.s
new file mode 100644
index 0000000000..d946e3772e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-r.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-r"
diff --git a/gas/testsuite/gas/arm/note-march-ep9312.d b/gas/testsuite/gas/arm/note-march-ep9312.d
new file mode 100644
index 0000000000..dd72821630
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-ep9312.d
@@ -0,0 +1,13 @@
+# name: ep9312 note with -mcpu=ep9312 -mfpu=maverick
+# source: note-march-ep9312.s RUN_OBJCOPY
+# as: -mcpu=ep9312 -mfpu=maverick
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] ep9312
diff --git a/gas/testsuite/gas/arm/note-march-ep9312.s b/gas/testsuite/gas/arm/note-march-ep9312.s
new file mode 100644
index 0000000000..b542eba2e8
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-ep9312.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "ep9312"
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt.d b/gas/testsuite/gas/arm/note-march-iwmmxt.d
new file mode 100644
index 0000000000..eb3beede36
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt.d
@@ -0,0 +1,13 @@
+# name: iWMMXt note with -march=iwmmxt
+# source: note-march-iwmmxt.s RUN_OBJCOPY
+# as: -march=iwmmxt
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] iWMMXt
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt.s b/gas/testsuite/gas/arm/note-march-iwmmxt.s
new file mode 100644
index 0000000000..6e00eeb814
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "iWMMXt"
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt2.d b/gas/testsuite/gas/arm/note-march-iwmmxt2.d
new file mode 100644
index 0000000000..6c4a23a1ab
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt2.d
@@ -0,0 +1,13 @@
+# name: iWMMXt2 note with -march=iwmmxt2
+# source: note-march-iwmmxt2.s RUN_OBJCOPY
+# as: -march=iwmmxt2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] iWMMXt2
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt2.s b/gas/testsuite/gas/arm/note-march-iwmmxt2.s
new file mode 100644
index 0000000000..ee6e72cbe7
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "iWMMXt2"
diff --git a/gas/testsuite/gas/arm/note-march-xscale.d b/gas/testsuite/gas/arm/note-march-xscale.d
new file mode 100644
index 0000000000..d5943457c8
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-xscale.d
@@ -0,0 +1,13 @@
+# name: XScale note with -march=xscale
+# source: note-march-xscale.s RUN_OBJCOPY
+# as: -march=xscale
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] XScale
diff --git a/gas/testsuite/gas/arm/note-march-xscale.s b/gas/testsuite/gas/arm/note-march-xscale.s
new file mode 100644
index 0000000000..9149f5b967
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-xscale.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "XScale"
Thomas Preudhomme
2018-11-08 10:11:39 UTC
Permalink
Hi Richard,

How about the updated patch then? It only adds test for existing
note-related code and adds support for missing CPU in objdump -m<cpu>.
Updated ChangeLog entries are as follows:

*** bfd/ChangeLog ***

2018-11-08 Thomas Preud'homme <***@linaro.org>

* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.

*** gas/ChangeLog ***

2018-11-08 Thomas Preud'homme <***@linaro.org>

* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.

Best regards,

Thomas
On Fri, 2 Nov 2018 at 16:59, Thomas Preudhomme
Post by Thomas Preudhomme
TL;DR: Should we keep tests for existing entries? Do we want objdump
-m<cpu> to work for newer CPUs or only allows objdump -m<arch> (this
is already working with all current architectures thanks to a previous
patch)?
There was not. Note that the -m<cpu or arch> option of objdump uses
the processors list that is being updated at the beginning of the
patch (architecture list used for the architecture is already
up-to-date so not touched in this patch). Do we want to deprecate
specifying a CPU here as well and only allow architectures? It might
make sense to keep part of the tests as well for the entries already
in that file.
Best regards,
Thomas
On Fri, 2 Nov 2018 at 15:34, Richard Earnshaw (lists)
Post by Richard Earnshaw (lists)
Post by Thomas Preudhomme
And now with a patch.
On Fri, 26 Oct 2018 at 14:30, Thomas Preudhomme
Post by Thomas Preudhomme
Hi,
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.
Hmm,
If I remember correctly, I think we'd abandoned trying to fit all the
Arm architecture variants onto a simple enumeration - there are just too
many. Instead, we use the build attribute model to understand the
capabilites that an object file has.
So is there something motivating this patch beyond the 'it looks
incomplete'?
R.
Post by Thomas Preudhomme
Post by Thomas Preudhomme
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.
*** gas/ChangeLog ***
* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Testing: No testsuite regression when targeting arm-none-eabi.
Is this ok for master?
Best regards,
Thomas
update_knowledge_bfd_archs.patch
From ce28723429d06e81cb5143c6ec6a4f290e6979b3 Mon Sep 17 00:00:00 2001
Date: Fri, 19 Oct 2018 21:09:20 +0100
Subject: [PATCH 2/2] [ARM] Update knowledge of bfd architectures
Hi,
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.
*** gas/ChangeLog ***
* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Testing: No testsuite regression when targeting arm-none-eabi.
Is this ok for master?
Best regards,
Thomas
---
bfd/cpu-arm.c | 207 ++++++++++++++----
gas/config/tc-arm.c | 51 ++++-
gas/testsuite/gas/arm/cpu-arm1020.d | 7 +
gas/testsuite/gas/arm/cpu-arm1020e.d | 7 +
gas/testsuite/gas/arm/cpu-arm1020t.d | 7 +
gas/testsuite/gas/arm/cpu-arm1022e.d | 7 +
gas/testsuite/gas/arm/cpu-arm1026ej-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1026ejs.d | 7 +
gas/testsuite/gas/arm/cpu-arm10e.d | 7 +
gas/testsuite/gas/arm/cpu-arm10t.d | 7 +
gas/testsuite/gas/arm/cpu-arm10tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136j-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136jf-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136jfs.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136js.d | 7 +
gas/testsuite/gas/arm/cpu-arm1156t2-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1156t2f-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1176jz-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1176jzf-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm2.d | 7 +
gas/testsuite/gas/arm/cpu-arm250.d | 7 +
gas/testsuite/gas/arm/cpu-arm3.d | 7 +
gas/testsuite/gas/arm/cpu-arm6.d | 7 +
gas/testsuite/gas/arm/cpu-arm60.d | 7 +
gas/testsuite/gas/arm/cpu-arm600.d | 7 +
gas/testsuite/gas/arm/cpu-arm610.d | 7 +
gas/testsuite/gas/arm/cpu-arm620.d | 7 +
gas/testsuite/gas/arm/cpu-arm7.d | 7 +
gas/testsuite/gas/arm/cpu-arm70.d | 7 +
gas/testsuite/gas/arm/cpu-arm700.d | 7 +
gas/testsuite/gas/arm/cpu-arm700i.d | 7 +
gas/testsuite/gas/arm/cpu-arm710.d | 7 +
gas/testsuite/gas/arm/cpu-arm7100.d | 7 +
gas/testsuite/gas/arm/cpu-arm710c.d | 7 +
gas/testsuite/gas/arm/cpu-arm710t.d | 7 +
gas/testsuite/gas/arm/cpu-arm720.d | 7 +
gas/testsuite/gas/arm/cpu-arm720t.d | 7 +
gas/testsuite/gas/arm/cpu-arm740t.d | 7 +
gas/testsuite/gas/arm/cpu-arm7500.d | 7 +
gas/testsuite/gas/arm/cpu-arm7500fe.d | 7 +
gas/testsuite/gas/arm/cpu-arm7d.d | 7 +
gas/testsuite/gas/arm/cpu-arm7di.d | 7 +
gas/testsuite/gas/arm/cpu-arm7dm.d | 7 +
gas/testsuite/gas/arm/cpu-arm7dmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm7m.d | 7 +
gas/testsuite/gas/arm/cpu-arm7t.d | 7 +
gas/testsuite/gas/arm/cpu-arm7tdmi-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm7tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm8.d | 7 +
gas/testsuite/gas/arm/cpu-arm810.d | 7 +
gas/testsuite/gas/arm/cpu-arm9.d | 7 +
gas/testsuite/gas/arm/cpu-arm920.d | 7 +
gas/testsuite/gas/arm/cpu-arm920t.d | 7 +
gas/testsuite/gas/arm/cpu-arm922t.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ej-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ej.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ejs.d | 7 +
gas/testsuite/gas/arm/cpu-arm940t.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e.d | 7 +
gas/testsuite/gas/arm/cpu-arm968e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm9e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm9e.d | 7 +
gas/testsuite/gas/arm/cpu-arm9tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm_any.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a12.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a15.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a17.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a32.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a35.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a5.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a53.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a55.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a57.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a72.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a73.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a75.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a76.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a8.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a9.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m0.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m0plus.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m1.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m23.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m3.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m33.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m4.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r4.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r4f.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r5.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r52.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r8.d | 7 +
gas/testsuite/gas/arm/cpu-ep9312.d | 7 +
gas/testsuite/gas/arm/cpu-exynos-m1.d | 7 +
gas/testsuite/gas/arm/cpu-fa526.d | 7 +
gas/testsuite/gas/arm/cpu-fa606te.d | 7 +
gas/testsuite/gas/arm/cpu-fa616te.d | 7 +
gas/testsuite/gas/arm/cpu-fa626.d | 7 +
gas/testsuite/gas/arm/cpu-fa626te.d | 7 +
gas/testsuite/gas/arm/cpu-fa726te.d | 7 +
gas/testsuite/gas/arm/cpu-fmp626.d | 7 +
gas/testsuite/gas/arm/cpu-i80200.d | 7 +
gas/testsuite/gas/arm/cpu-iwmmxt.d | 7 +
gas/testsuite/gas/arm/cpu-iwmmxt2.d | 7 +
gas/testsuite/gas/arm/cpu-marvell-pj4.d | 7 +
gas/testsuite/gas/arm/cpu-marvell-whitney.d | 7 +
gas/testsuite/gas/arm/cpu-mpcore.d | 7 +
gas/testsuite/gas/arm/cpu-mpcorenovfp.d | 7 +
gas/testsuite/gas/arm/cpu-sa1.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm110.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1100.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1110.d | 7 +
gas/testsuite/gas/arm/cpu-xgene1.d | 7 +
gas/testsuite/gas/arm/cpu-xgene2.d | 7 +
gas/testsuite/gas/arm/cpu-xscale.d | 7 +
gas/testsuite/gas/arm/nop-asm.s | 1 +
gas/testsuite/gas/arm/note-march-armv2.d | 13 ++
gas/testsuite/gas/arm/note-march-armv2.s | 7 +
gas/testsuite/gas/arm/note-march-armv2a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv2a.s | 7 +
gas/testsuite/gas/arm/note-march-armv3.d | 13 ++
gas/testsuite/gas/arm/note-march-armv3.s | 7 +
gas/testsuite/gas/arm/note-march-armv3m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv3m.s | 7 +
gas/testsuite/gas/arm/note-march-armv4.d | 13 ++
gas/testsuite/gas/arm/note-march-armv4.s | 7 +
gas/testsuite/gas/arm/note-march-armv4t.d | 13 ++
gas/testsuite/gas/arm/note-march-armv4t.s | 7 +
gas/testsuite/gas/arm/note-march-armv5.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5.s | 7 +
gas/testsuite/gas/arm/note-march-armv5t.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5t.s | 7 +
gas/testsuite/gas/arm/note-march-armv5te.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5te.s | 7 +
gas/testsuite/gas/arm/note-march-armv5tej.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5tej.s | 7 +
gas/testsuite/gas/arm/note-march-armv6-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv6.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6.s | 7 +
gas/testsuite/gas/arm/note-march-armv6k.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6k.s | 7 +
gas/testsuite/gas/arm/note-march-armv6kz.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6kz.s | 7 +
gas/testsuite/gas/arm/note-march-armv6s-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6s-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv6t2.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6t2.s | 7 +
gas/testsuite/gas/arm/note-march-armv7-a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7-r.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7.s | 7 +
gas/testsuite/gas/arm/note-march-armv7e-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7e-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv8-a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv8-a.s | 7 +
.../gas/arm/note-march-armv8-m.base.d | 13 ++
.../gas/arm/note-march-armv8-m.base.s | 7 +
.../gas/arm/note-march-armv8-m.main.d | 13 ++
.../gas/arm/note-march-armv8-m.main.s | 7 +
gas/testsuite/gas/arm/note-march-armv8-r.d | 13 ++
gas/testsuite/gas/arm/note-march-armv8-r.s | 7 +
gas/testsuite/gas/arm/note-march-ep9312.d | 13 ++
gas/testsuite/gas/arm/note-march-ep9312.s | 7 +
gas/testsuite/gas/arm/note-march-iwmmxt.d | 13 ++
gas/testsuite/gas/arm/note-march-iwmmxt.s | 7 +
gas/testsuite/gas/arm/note-march-iwmmxt2.d | 13 ++
gas/testsuite/gas/arm/note-march-iwmmxt2.s | 7 +
gas/testsuite/gas/arm/note-march-xscale.d | 13 ++
gas/testsuite/gas/arm/note-march-xscale.s | 7 +
179 files changed, 1613 insertions(+), 46 deletions(-)
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1022e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ej-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ejs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136j-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jf-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jfs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136js.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jz-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm2.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm250.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm3.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm6.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm60.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm600.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm610.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm620.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm70.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm700.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm700i.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7100.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710c.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm720.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm720t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm740t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7500.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7500fe.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7d.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7di.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7dm.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7dmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7m.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm8.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm810.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm920.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm920t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm922t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ejs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm940t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm968e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm_any.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a12.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a15.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a17.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a32.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a35.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a5.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a53.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a55.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a57.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a72.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a73.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a75.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a76.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a8.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a9.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0plus.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m1.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m23.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m3.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m33.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m4.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4f.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r5.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r52.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r8.d
create mode 100644 gas/testsuite/gas/arm/cpu-ep9312.d
create mode 100644 gas/testsuite/gas/arm/cpu-exynos-m1.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa526.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa606te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa616te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa626.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa626te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa726te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fmp626.d
create mode 100644 gas/testsuite/gas/arm/cpu-i80200.d
create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt.d
create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt2.d
create mode 100644 gas/testsuite/gas/arm/cpu-marvell-pj4.d
create mode 100644 gas/testsuite/gas/arm/cpu-marvell-whitney.d
create mode 100644 gas/testsuite/gas/arm/cpu-mpcore.d
create mode 100644 gas/testsuite/gas/arm/cpu-mpcorenovfp.d
create mode 100644 gas/testsuite/gas/arm/cpu-sa1.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm110.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1100.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1110.d
create mode 100644 gas/testsuite/gas/arm/cpu-xgene1.d
create mode 100644 gas/testsuite/gas/arm/cpu-xgene2.d
create mode 100644 gas/testsuite/gas/arm/cpu-xscale.d
create mode 100644 gas/testsuite/gas/arm/nop-asm.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv2.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv2.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv3.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv3.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv4.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv4.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5tej.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5tej.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6k.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6k.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6kz.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6kz.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6s-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6s-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6t2.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6t2.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-r.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv7e-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7e-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-a.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.base.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.base.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.main.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.main.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-r.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-r.s
create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.d
create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.s
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.d
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.s
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.d
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.s
create mode 100644 gas/testsuite/gas/arm/note-march-xscale.d
create mode 100644 gas/testsuite/gas/arm/note-march-xscale.s
diff --git a/bfd/cpu-arm.c b/bfd/cpu-arm.c
index 4ef409b451..732d46f325 100644
--- a/bfd/cpu-arm.c
+++ b/bfd/cpu-arm.c
@@ -65,36 +65,129 @@ static struct
}
processors[] =
{
- { bfd_mach_arm_2, "arm2" },
- { bfd_mach_arm_2a, "arm250" },
- { bfd_mach_arm_2a, "arm3" },
- { bfd_mach_arm_3, "arm6" },
- { bfd_mach_arm_3, "arm60" },
- { bfd_mach_arm_3, "arm600" },
- { bfd_mach_arm_3, "arm610" },
- { bfd_mach_arm_3, "arm7" },
- { bfd_mach_arm_3, "arm710" },
- { bfd_mach_arm_3, "arm7500" },
- { bfd_mach_arm_3, "arm7d" },
- { bfd_mach_arm_3, "arm7di" },
- { bfd_mach_arm_3M, "arm7dm" },
- { bfd_mach_arm_3M, "arm7dmi" },
- { bfd_mach_arm_4T, "arm7tdmi" },
- { bfd_mach_arm_4, "arm8" },
- { bfd_mach_arm_4, "arm810" },
- { bfd_mach_arm_4, "arm9" },
- { bfd_mach_arm_4, "arm920" },
- { bfd_mach_arm_4T, "arm920t" },
- { bfd_mach_arm_4T, "arm9tdmi" },
- { bfd_mach_arm_4, "sa1" },
- { bfd_mach_arm_4, "strongarm"},
- { bfd_mach_arm_4, "strongarm110" },
- { bfd_mach_arm_4, "strongarm1100" },
- { bfd_mach_arm_XScale, "xscale" },
- { bfd_mach_arm_ep9312, "ep9312" },
- { bfd_mach_arm_iWMMXt, "iwmmxt" },
- { bfd_mach_arm_iWMMXt2, "iwmmxt2" },
- { bfd_mach_arm_unknown, "arm_any" }
+ { bfd_mach_arm_2, "arm2" },
+ { bfd_mach_arm_2a, "arm250" },
+ { bfd_mach_arm_2a, "arm3" },
+ { bfd_mach_arm_3, "arm6" },
+ { bfd_mach_arm_3, "arm60" },
+ { bfd_mach_arm_3, "arm600" },
+ { bfd_mach_arm_3, "arm610" },
+ { bfd_mach_arm_3, "arm620" },
+ { bfd_mach_arm_3, "arm7" },
+ { bfd_mach_arm_3, "arm70" },
+ { bfd_mach_arm_3, "arm700" },
+ { bfd_mach_arm_3, "arm700i" },
+ { bfd_mach_arm_3, "arm710" },
+ { bfd_mach_arm_3, "arm7100" },
+ { bfd_mach_arm_3, "arm710c" },
+ { bfd_mach_arm_4T, "arm710t" },
+ { bfd_mach_arm_3, "arm720" },
+ { bfd_mach_arm_4T, "arm720t" },
+ { bfd_mach_arm_4T, "arm740t" },
+ { bfd_mach_arm_3, "arm7500" },
+ { bfd_mach_arm_3, "arm7500fe" },
+ { bfd_mach_arm_3, "arm7d" },
+ { bfd_mach_arm_3, "arm7di" },
+ { bfd_mach_arm_3M, "arm7dm" },
+ { bfd_mach_arm_3M, "arm7dmi" },
+ { bfd_mach_arm_4T, "arm7t" },
+ { bfd_mach_arm_4T, "arm7tdmi" },
+ { bfd_mach_arm_4T, "arm7tdmi-s" },
+ { bfd_mach_arm_3M, "arm7m" },
+ { bfd_mach_arm_4, "arm8" },
+ { bfd_mach_arm_4, "arm810" },
+ { bfd_mach_arm_4, "arm9" },
+ { bfd_mach_arm_4T, "arm920" },
+ { bfd_mach_arm_4T, "arm920t" },
+ { bfd_mach_arm_4T, "arm922t" },
+ { bfd_mach_arm_5TEJ, "arm926ej" },
+ { bfd_mach_arm_5TEJ, "arm926ejs" },
+ { bfd_mach_arm_5TEJ, "arm926ej-s" },
+ { bfd_mach_arm_4T, "arm940t" },
+ { bfd_mach_arm_5TE, "arm946e" },
+ { bfd_mach_arm_5TE, "arm946e-r0" },
+ { bfd_mach_arm_5TE, "arm946e-s" },
+ { bfd_mach_arm_5TE, "arm966e" },
+ { bfd_mach_arm_5TE, "arm966e-r0" },
+ { bfd_mach_arm_5TE, "arm966e-s" },
+ { bfd_mach_arm_5TE, "arm968e-s" },
+ { bfd_mach_arm_5TE, "arm9e" },
+ { bfd_mach_arm_5TE, "arm9e-r0" },
+ { bfd_mach_arm_4T, "arm9tdmi" },
+ { bfd_mach_arm_5TE, "arm1020" },
+ { bfd_mach_arm_5T, "arm1020t" },
+ { bfd_mach_arm_5TE, "arm1020e" },
+ { bfd_mach_arm_5TE, "arm1022e" },
+ { bfd_mach_arm_5TEJ, "arm1026ejs" },
+ { bfd_mach_arm_5TEJ, "arm1026ej-s" },
+ { bfd_mach_arm_5TE, "arm10e" },
+ { bfd_mach_arm_5T, "arm10t" },
+ { bfd_mach_arm_5T, "arm10tdmi" },
+ { bfd_mach_arm_6, "arm1136j-s" },
+ { bfd_mach_arm_6, "arm1136js" },
+ { bfd_mach_arm_6, "arm1136jf-s" },
+ { bfd_mach_arm_6, "arm1136jfs" },
+ { bfd_mach_arm_6KZ, "arm1176jz-s" },
+ { bfd_mach_arm_6KZ, "arm1176jzf-s" },
+ { bfd_mach_arm_6T2, "arm1156t2-s" },
+ { bfd_mach_arm_6T2, "arm1156t2f-s" },
+ { bfd_mach_arm_7, "cortex-a5" },
+ { bfd_mach_arm_7, "cortex-a7" },
+ { bfd_mach_arm_7, "cortex-a8" },
+ { bfd_mach_arm_7, "cortex-a9" },
+ { bfd_mach_arm_7, "cortex-a12" },
+ { bfd_mach_arm_7, "cortex-a15" },
+ { bfd_mach_arm_7, "cortex-a17" },
+ { bfd_mach_arm_8, "cortex-a32" },
+ { bfd_mach_arm_8, "cortex-a35" },
+ { bfd_mach_arm_8, "cortex-a53" },
+ { bfd_mach_arm_8, "cortex-a55" },
+ { bfd_mach_arm_8, "cortex-a57" },
+ { bfd_mach_arm_8, "cortex-a72" },
+ { bfd_mach_arm_8, "cortex-a73" },
+ { bfd_mach_arm_8, "cortex-a75" },
+ { bfd_mach_arm_8, "cortex-a76" },
+ { bfd_mach_arm_6SM, "cortex-m0" },
+ { bfd_mach_arm_6SM, "cortex-m0plus" },
+ { bfd_mach_arm_6SM, "cortex-m1" },
+ { bfd_mach_arm_8M_BASE, "cortex-m23" },
+ { bfd_mach_arm_7, "cortex-m3" },
+ { bfd_mach_arm_8M_MAIN, "cortex-m33" },
+ { bfd_mach_arm_7EM, "cortex-m4" },
+ { bfd_mach_arm_7EM, "cortex-m7" },
+ { bfd_mach_arm_7, "cortex-r4" },
+ { bfd_mach_arm_7, "cortex-r4f" },
+ { bfd_mach_arm_7, "cortex-r5" },
+ { bfd_mach_arm_8R, "cortex-r52" },
+ { bfd_mach_arm_7, "cortex-r7" },
+ { bfd_mach_arm_7, "cortex-r8" },
+ { bfd_mach_arm_4T, "ep9312" },
+ { bfd_mach_arm_8, "exynos-m1" },
+ { bfd_mach_arm_4, "fa526" },
+ { bfd_mach_arm_5TE, "fa606te" },
+ { bfd_mach_arm_5TE, "fa616te" },
+ { bfd_mach_arm_4, "fa626" },
+ { bfd_mach_arm_5TE, "fa626te" },
+ { bfd_mach_arm_5TE, "fa726te" },
+ { bfd_mach_arm_5TE, "fmp626" },
+ { bfd_mach_arm_XScale, "i80200" },
+ { bfd_mach_arm_7, "marvell-pj4" },
+ { bfd_mach_arm_7, "marvell-whitney" },
+ { bfd_mach_arm_6K, "mpcore" },
+ { bfd_mach_arm_6K, "mpcorenovfp" },
+ { bfd_mach_arm_4, "sa1" },
+ { bfd_mach_arm_4, "strongarm" },
+ { bfd_mach_arm_4, "strongarm1" },
+ { bfd_mach_arm_4, "strongarm110" },
+ { bfd_mach_arm_4, "strongarm1100" },
+ { bfd_mach_arm_4, "strongarm1110" },
+ { bfd_mach_arm_XScale, "xscale" },
+ { bfd_mach_arm_8, "xgene1" },
+ { bfd_mach_arm_8, "xgene2" },
+ { bfd_mach_arm_ep9312, "ep9312" },
+ { bfd_mach_arm_iWMMXt, "iwmmxt" },
+ { bfd_mach_arm_iWMMXt2, "iwmmxt2" },
+ { bfd_mach_arm_unknown, "arm_any" }
};
static bfd_boolean
@@ -335,6 +428,19 @@ bfd_arm_update_notes (bfd *abfd, const char *note_section)
case bfd_mach_arm_ep9312: expected = "ep9312"; break;
case bfd_mach_arm_iWMMXt: expected = "iWMMXt"; break;
case bfd_mach_arm_iWMMXt2: expected = "iWMMXt2"; break;
+ case bfd_mach_arm_5TEJ: expected = "armv5tej"; break;
+ case bfd_mach_arm_6: expected = "armv6"; break;
+ case bfd_mach_arm_6KZ: expected = "armv6kz"; break;
+ case bfd_mach_arm_6T2: expected = "armv6t2"; break;
+ case bfd_mach_arm_6K: expected = "armv6k"; break;
+ case bfd_mach_arm_7: expected = "armv7"; break;
+ case bfd_mach_arm_6M: expected = "armv6-m"; break;
+ case bfd_mach_arm_6SM: expected = "armv6s-m"; break;
+ case bfd_mach_arm_7EM: expected = "armv7e-m"; break;
+ case bfd_mach_arm_8: expected = "armv8-a"; break;
+ case bfd_mach_arm_8R: expected = "armv8-r"; break;
+ case bfd_mach_arm_8M_BASE: expected = "armv8-m.base"; break;
+ case bfd_mach_arm_8M_MAIN: expected = "armv8-m.main"; break;
}
if (strcmp (arch_string, expected) != 0)
@@ -371,20 +477,33 @@ static struct
}
architectures[] =
{
- { "armv2", bfd_mach_arm_2 },
- { "armv2a", bfd_mach_arm_2a },
- { "armv3", bfd_mach_arm_3 },
- { "armv3M", bfd_mach_arm_3M },
- { "armv4", bfd_mach_arm_4 },
- { "armv4t", bfd_mach_arm_4T },
- { "armv5", bfd_mach_arm_5 },
- { "armv5t", bfd_mach_arm_5T },
- { "armv5te", bfd_mach_arm_5TE },
- { "XScale", bfd_mach_arm_XScale },
- { "ep9312", bfd_mach_arm_ep9312 },
- { "iWMMXt", bfd_mach_arm_iWMMXt },
- { "iWMMXt2", bfd_mach_arm_iWMMXt2 },
- { "arm_any", bfd_mach_arm_unknown }
+ { "armv2", bfd_mach_arm_2 },
+ { "armv2a", bfd_mach_arm_2a },
+ { "armv3", bfd_mach_arm_3 },
+ { "armv3M", bfd_mach_arm_3M },
+ { "armv4", bfd_mach_arm_4 },
+ { "armv4t", bfd_mach_arm_4T },
+ { "armv5", bfd_mach_arm_5 },
+ { "armv5t", bfd_mach_arm_5T },
+ { "armv5te", bfd_mach_arm_5TE },
+ { "XScale", bfd_mach_arm_XScale },
+ { "ep9312", bfd_mach_arm_ep9312 },
+ { "iWMMXt", bfd_mach_arm_iWMMXt },
+ { "iWMMXt2", bfd_mach_arm_iWMMXt2 },
+ { "armv5tej", bfd_mach_arm_5TEJ },
+ { "armv6", bfd_mach_arm_6 },
+ { "armv6kz", bfd_mach_arm_6KZ },
+ { "armv6t2", bfd_mach_arm_6T2 },
+ { "armv6k", bfd_mach_arm_6K },
+ { "armv7", bfd_mach_arm_7 },
+ { "armv6-m", bfd_mach_arm_6M },
+ { "armv6s-m", bfd_mach_arm_6SM },
+ { "armv7e-m", bfd_mach_arm_7EM },
+ { "armv8-a", bfd_mach_arm_8 },
+ { "armv8-r", bfd_mach_arm_8R },
+ { "armv8-m.base", bfd_mach_arm_8M_BASE },
+ { "armv8-m.main", bfd_mach_arm_8M_MAIN },
+ { "arm_any", bfd_mach_arm_unknown }
};
/* Extract the machine number stored in a note section. */
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 80fb0c3b5e..0caf2634be 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -204,6 +204,7 @@ static const arm_feature_set arm_ext_v5j = ARM_FEATURE_CORE_LOW (ARM_EXT_V5J);
static const arm_feature_set arm_ext_v6 = ARM_FEATURE_CORE_LOW (ARM_EXT_V6);
static const arm_feature_set arm_ext_v6k = ARM_FEATURE_CORE_LOW (ARM_EXT_V6K);
static const arm_feature_set arm_ext_v6t2 = ARM_FEATURE_CORE_LOW (ARM_EXT_V6T2);
+static const arm_feature_set arm_ext_v6m = ARM_FEATURE_CORE_LOW (ARM_EXT_V6M);
static const arm_feature_set arm_ext_v6_notm =
ARM_FEATURE_CORE_LOW (ARM_EXT_V6_NOTM);
static const arm_feature_set arm_ext_v6_dsp =
@@ -25589,7 +25590,48 @@ md_begin (void)
#endif
/* Record the CPU type as well. */
- if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt2))
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8m))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8m_main))
+ mach = bfd_mach_arm_8M_MAIN;
+ else
+ mach = bfd_mach_arm_8M_BASE;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8))
+ {
+ const arm_feature_set arm_ext_v8a = ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8A);
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8a))
+ mach = bfd_mach_arm_8;
+ else
+ mach = bfd_mach_arm_8R;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v7))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v7m)
+ && ARM_FSET_CPU_SUBSET (arm_ext_dsp, cpu_variant))
+ mach = bfd_mach_arm_7EM;
+ else
+ mach = bfd_mach_arm_7;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6m))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_os))
+ mach = bfd_mach_arm_6SM;
+ else
+ mach = bfd_mach_arm_6M;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6t2))
+ mach = bfd_mach_arm_6T2;
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6k))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_sec))
+ mach = bfd_mach_arm_6KZ;
+ else
+ mach = bfd_mach_arm_6K;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6))
+ mach = bfd_mach_arm_6;
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt2))
mach = bfd_mach_arm_iWMMXt2;
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt))
mach = bfd_mach_arm_iWMMXt;
@@ -25598,7 +25640,12 @@ md_begin (void)
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_maverick))
mach = bfd_mach_arm_ep9312;
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5e))
- mach = bfd_mach_arm_5TE;
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5j))
+ mach = bfd_mach_arm_5TEJ;
+ else
+ mach = bfd_mach_arm_5TE;
+ }
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5))
{
if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v4t))
diff --git a/gas/testsuite/gas/arm/cpu-arm1020.d b/gas/testsuite/gas/arm/cpu-arm1020.d
new file mode 100644
index 0000000000..0c5c62bafa
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020 CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020
+# objdump: -d -marm1020
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1020e.d b/gas/testsuite/gas/arm/cpu-arm1020e.d
new file mode 100644
index 0000000000..eda63605a5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020e CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020e
+# objdump: -d -marm1020e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1020t.d b/gas/testsuite/gas/arm/cpu-arm1020t.d
new file mode 100644
index 0000000000..30323a0984
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020t CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020t
+# objdump: -d -marm1020t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1022e.d b/gas/testsuite/gas/arm/cpu-arm1022e.d
new file mode 100644
index 0000000000..2e6d5ccb0c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1022e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1022e CPU
+# source: nop-asm.s
+# as: -mcpu=arm1022e
+# objdump: -d -marm1022e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1026ej-s.d b/gas/testsuite/gas/arm/cpu-arm1026ej-s.d
new file mode 100644
index 0000000000..2e9b375945
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1026ej-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1026ej-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1026ej-s
+# objdump: -d -marm1026ej-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1026ejs.d b/gas/testsuite/gas/arm/cpu-arm1026ejs.d
new file mode 100644
index 0000000000..354e464a7c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1026ejs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1026ejs CPU
+# source: nop-asm.s
+# as: -mcpu=arm1026ejs
+# objdump: -d -marm1026ejs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10e.d b/gas/testsuite/gas/arm/cpu-arm10e.d
new file mode 100644
index 0000000000..079728ac8c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10e CPU
+# source: nop-asm.s
+# as: -mcpu=arm10e
+# objdump: -d -marm10e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10t.d b/gas/testsuite/gas/arm/cpu-arm10t.d
new file mode 100644
index 0000000000..0f6ae4cf2c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10t CPU
+# source: nop-asm.s
+# as: -mcpu=arm10t
+# objdump: -d -marm10t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10tdmi.d b/gas/testsuite/gas/arm/cpu-arm10tdmi.d
new file mode 100644
index 0000000000..568f6a290f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm10tdmi
+# objdump: -d -marm10tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136j-s.d b/gas/testsuite/gas/arm/cpu-arm1136j-s.d
new file mode 100644
index 0000000000..efa8622372
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136j-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136j-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136j-s
+# objdump: -d -marm1136j-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136jf-s.d b/gas/testsuite/gas/arm/cpu-arm1136jf-s.d
new file mode 100644
index 0000000000..fcd9c24196
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136jf-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136jf-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136jf-s
+# objdump: -d -marm1136jf-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136jfs.d b/gas/testsuite/gas/arm/cpu-arm1136jfs.d
new file mode 100644
index 0000000000..0331e2b3ef
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136jfs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136jfs CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136jfs
+# objdump: -d -marm1136jfs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136js.d b/gas/testsuite/gas/arm/cpu-arm1136js.d
new file mode 100644
index 0000000000..6f70575ae1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136js.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136js CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136js
+# objdump: -d -marm1136js
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1156t2-s.d b/gas/testsuite/gas/arm/cpu-arm1156t2-s.d
new file mode 100644
index 0000000000..a415f66637
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1156t2-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1156t2-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1156t2-s
+# objdump: -d -marm1156t2-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d b/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
new file mode 100644
index 0000000000..7f876759e8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1156t2f-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1156t2f-s
+# objdump: -d -marm1156t2f-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1176jz-s.d b/gas/testsuite/gas/arm/cpu-arm1176jz-s.d
new file mode 100644
index 0000000000..3df745f902
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1176jz-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1176jz-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1176jz-s
+# objdump: -d -marm1176jz-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d b/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
new file mode 100644
index 0000000000..09b9528e8c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1176jzf-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1176jzf-s
+# objdump: -d -marm1176jzf-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm2.d b/gas/testsuite/gas/arm/cpu-arm2.d
new file mode 100644
index 0000000000..5de8f51da6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm2 CPU
+# source: nop-asm.s
+# as: -mcpu=arm2
+# objdump: -d -marm2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm250.d b/gas/testsuite/gas/arm/cpu-arm250.d
new file mode 100644
index 0000000000..56aa78bd3d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm250.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm250 CPU
+# source: nop-asm.s
+# as: -mcpu=arm250
+# objdump: -d -marm250
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm3.d b/gas/testsuite/gas/arm/cpu-arm3.d
new file mode 100644
index 0000000000..d6c035aa29
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm3.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm3 CPU
+# source: nop-asm.s
+# as: -mcpu=arm3
+# objdump: -d -marm3
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm6.d b/gas/testsuite/gas/arm/cpu-arm6.d
new file mode 100644
index 0000000000..14c407d8fd
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm6.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm6 CPU
+# source: nop-asm.s
+# as: -mcpu=arm6
+# objdump: -d -marm6
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm60.d b/gas/testsuite/gas/arm/cpu-arm60.d
new file mode 100644
index 0000000000..0eb8f87bd9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm60.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm60 CPU
+# source: nop-asm.s
+# as: -mcpu=arm60
+# objdump: -d -marm60
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm600.d b/gas/testsuite/gas/arm/cpu-arm600.d
new file mode 100644
index 0000000000..1f7b553ef9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm600.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm600 CPU
+# source: nop-asm.s
+# as: -mcpu=arm600
+# objdump: -d -marm600
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm610.d b/gas/testsuite/gas/arm/cpu-arm610.d
new file mode 100644
index 0000000000..2e62bae872
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm610.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm610 CPU
+# source: nop-asm.s
+# as: -mcpu=arm610
+# objdump: -d -marm610
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm620.d b/gas/testsuite/gas/arm/cpu-arm620.d
new file mode 100644
index 0000000000..1bad1f5ec7
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm620.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm620 CPU
+# source: nop-asm.s
+# as: -mcpu=arm620
+# objdump: -d -marm620
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7.d b/gas/testsuite/gas/arm/cpu-arm7.d
new file mode 100644
index 0000000000..070f9c8cb4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7
+# objdump: -d -marm7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm70.d b/gas/testsuite/gas/arm/cpu-arm70.d
new file mode 100644
index 0000000000..8398de25d6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm70.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm70 CPU
+# source: nop-asm.s
+# as: -mcpu=arm70
+# objdump: -d -marm70
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm700.d b/gas/testsuite/gas/arm/cpu-arm700.d
new file mode 100644
index 0000000000..f75401d305
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm700.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm700 CPU
+# source: nop-asm.s
+# as: -mcpu=arm700
+# objdump: -d -marm700
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm700i.d b/gas/testsuite/gas/arm/cpu-arm700i.d
new file mode 100644
index 0000000000..75f1afb77f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm700i.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm700i CPU
+# source: nop-asm.s
+# as: -mcpu=arm700i
+# objdump: -d -marm700i
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710.d b/gas/testsuite/gas/arm/cpu-arm710.d
new file mode 100644
index 0000000000..a0c1922b8f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710 CPU
+# source: nop-asm.s
+# as: -mcpu=arm710
+# objdump: -d -marm710
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7100.d b/gas/testsuite/gas/arm/cpu-arm7100.d
new file mode 100644
index 0000000000..2d1ab20990
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7100.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7100 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7100
+# objdump: -d -marm7100
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710c.d b/gas/testsuite/gas/arm/cpu-arm710c.d
new file mode 100644
index 0000000000..b2a9e86a43
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710c.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710c CPU
+# source: nop-asm.s
+# as: -mcpu=arm710c
+# objdump: -d -marm710c
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710t.d b/gas/testsuite/gas/arm/cpu-arm710t.d
new file mode 100644
index 0000000000..d7bef289e6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710t CPU
+# source: nop-asm.s
+# as: -mcpu=arm710t
+# objdump: -d -marm710t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm720.d b/gas/testsuite/gas/arm/cpu-arm720.d
new file mode 100644
index 0000000000..4c58203273
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm720.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm720 CPU
+# source: nop-asm.s
+# as: -mcpu=arm720
+# objdump: -d -marm720
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm720t.d b/gas/testsuite/gas/arm/cpu-arm720t.d
new file mode 100644
index 0000000000..75e00f8379
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm720t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm720t CPU
+# source: nop-asm.s
+# as: -mcpu=arm720t
+# objdump: -d -marm720t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm740t.d b/gas/testsuite/gas/arm/cpu-arm740t.d
new file mode 100644
index 0000000000..e202dccb58
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm740t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm740t CPU
+# source: nop-asm.s
+# as: -mcpu=arm740t
+# objdump: -d -marm740t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7500.d b/gas/testsuite/gas/arm/cpu-arm7500.d
new file mode 100644
index 0000000000..07e6498f0b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7500.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7500 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7500
+# objdump: -d -marm7500
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7500fe.d b/gas/testsuite/gas/arm/cpu-arm7500fe.d
new file mode 100644
index 0000000000..3a99de97d9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7500fe.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7500fe CPU
+# source: nop-asm.s
+# as: -mcpu=arm7500fe
+# objdump: -d -marm7500fe
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7d.d b/gas/testsuite/gas/arm/cpu-arm7d.d
new file mode 100644
index 0000000000..d93bc8be0d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7d.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7d CPU
+# source: nop-asm.s
+# as: -mcpu=arm7d
+# objdump: -d -marm7d
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7di.d b/gas/testsuite/gas/arm/cpu-arm7di.d
new file mode 100644
index 0000000000..31c541a2c7
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7di.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7di CPU
+# source: nop-asm.s
+# as: -mcpu=arm7di
+# objdump: -d -marm7di
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7dm.d b/gas/testsuite/gas/arm/cpu-arm7dm.d
new file mode 100644
index 0000000000..cc5e3619a4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7dm.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7dm CPU
+# source: nop-asm.s
+# as: -mcpu=arm7dm
+# objdump: -d -marm7dm
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7dmi.d b/gas/testsuite/gas/arm/cpu-arm7dmi.d
new file mode 100644
index 0000000000..569b4603b9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7dmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7dmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm7dmi
+# objdump: -d -marm7dmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7m.d b/gas/testsuite/gas/arm/cpu-arm7m.d
new file mode 100644
index 0000000000..eff3eb3bff
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7m.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7m CPU
+# source: nop-asm.s
+# as: -mcpu=arm7m
+# objdump: -d -marm7m
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7t.d b/gas/testsuite/gas/arm/cpu-arm7t.d
new file mode 100644
index 0000000000..822c16ce70
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7t CPU
+# source: nop-asm.s
+# as: -mcpu=arm7t
+# objdump: -d -marm7t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d b/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
new file mode 100644
index 0000000000..65aea8ab00
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7tdmi-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm7tdmi-s
+# objdump: -d -marm7tdmi-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7tdmi.d b/gas/testsuite/gas/arm/cpu-arm7tdmi.d
new file mode 100644
index 0000000000..09209a35c4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm7tdmi
+# objdump: -d -marm7tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm8.d b/gas/testsuite/gas/arm/cpu-arm8.d
new file mode 100644
index 0000000000..af13c2cce6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm8 CPU
+# source: nop-asm.s
+# as: -mcpu=arm8
+# objdump: -d -marm8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm810.d b/gas/testsuite/gas/arm/cpu-arm810.d
new file mode 100644
index 0000000000..842d2746b8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm810.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm810 CPU
+# source: nop-asm.s
+# as: -mcpu=arm810
+# objdump: -d -marm810
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9.d b/gas/testsuite/gas/arm/cpu-arm9.d
new file mode 100644
index 0000000000..9ae98be98e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9 CPU
+# source: nop-asm.s
+# as: -mcpu=arm9
+# objdump: -d -marm9
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm920.d b/gas/testsuite/gas/arm/cpu-arm920.d
new file mode 100644
index 0000000000..15835c4b19
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm920.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm920 CPU
+# source: nop-asm.s
+# as: -mcpu=arm920
+# objdump: -d -marm920
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm920t.d b/gas/testsuite/gas/arm/cpu-arm920t.d
new file mode 100644
index 0000000000..be2d591f8a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm920t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm920t CPU
+# source: nop-asm.s
+# as: -mcpu=arm920t
+# objdump: -d -marm920t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm922t.d b/gas/testsuite/gas/arm/cpu-arm922t.d
new file mode 100644
index 0000000000..3112bc8d33
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm922t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm922t CPU
+# source: nop-asm.s
+# as: -mcpu=arm922t
+# objdump: -d -marm922t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ej-s.d b/gas/testsuite/gas/arm/cpu-arm926ej-s.d
new file mode 100644
index 0000000000..0d1e657eae
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ej-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ej-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ej-s
+# objdump: -d -marm926ej-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ej.d b/gas/testsuite/gas/arm/cpu-arm926ej.d
new file mode 100644
index 0000000000..9ef27e37f5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ej.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ej CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ej
+# objdump: -d -marm926ej
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ejs.d b/gas/testsuite/gas/arm/cpu-arm926ejs.d
new file mode 100644
index 0000000000..af6c3f6e7d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ejs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ejs CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ejs
+# objdump: -d -marm926ejs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm940t.d b/gas/testsuite/gas/arm/cpu-arm940t.d
new file mode 100644
index 0000000000..4395a9274f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm940t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm940t CPU
+# source: nop-asm.s
+# as: -mcpu=arm940t
+# objdump: -d -marm940t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e-r0.d b/gas/testsuite/gas/arm/cpu-arm946e-r0.d
new file mode 100644
index 0000000000..c5e81b301a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e-r0
+# objdump: -d -marm946e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e-s.d b/gas/testsuite/gas/arm/cpu-arm946e-s.d
new file mode 100644
index 0000000000..ba4089a57a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e-s
+# objdump: -d -marm946e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e.d b/gas/testsuite/gas/arm/cpu-arm946e.d
new file mode 100644
index 0000000000..4ef1b42366
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e
+# objdump: -d -marm946e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e-r0.d b/gas/testsuite/gas/arm/cpu-arm966e-r0.d
new file mode 100644
index 0000000000..86986e3cf8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e-r0
+# objdump: -d -marm966e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e-s.d b/gas/testsuite/gas/arm/cpu-arm966e-s.d
new file mode 100644
index 0000000000..08b2e5afe8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e-s
+# objdump: -d -marm966e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e.d b/gas/testsuite/gas/arm/cpu-arm966e.d
new file mode 100644
index 0000000000..281bafbfcc
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e
+# objdump: -d -marm966e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm968e-s.d b/gas/testsuite/gas/arm/cpu-arm968e-s.d
new file mode 100644
index 0000000000..78eea9e375
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm968e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm968e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm968e-s
+# objdump: -d -marm968e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9e-r0.d b/gas/testsuite/gas/arm/cpu-arm9e-r0.d
new file mode 100644
index 0000000000..69434cafa1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm9e-r0
+# objdump: -d -marm9e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9e.d b/gas/testsuite/gas/arm/cpu-arm9e.d
new file mode 100644
index 0000000000..d6e5e6f51d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9e CPU
+# source: nop-asm.s
+# as: -mcpu=arm9e
+# objdump: -d -marm9e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9tdmi.d b/gas/testsuite/gas/arm/cpu-arm9tdmi.d
new file mode 100644
index 0000000000..94fdfc7564
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm9tdmi
+# objdump: -d -marm9tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm_any.d b/gas/testsuite/gas/arm/cpu-arm_any.d
new file mode 100644
index 0000000000..0e3d11e983
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm_any.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm2 CPU
+# source: nop-asm.s
+# as: -mcpu=all
+# objdump: -d -marm_any
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a12.d b/gas/testsuite/gas/arm/cpu-cortex-a12.d
new file mode 100644
index 0000000000..55c27d5f1a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a12.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a12 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a12
+# objdump: -d -mcortex-a12
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a15.d b/gas/testsuite/gas/arm/cpu-cortex-a15.d
new file mode 100644
index 0000000000..9a8272e67c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a15.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a15 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a15
+# objdump: -d -mcortex-a15
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a17.d b/gas/testsuite/gas/arm/cpu-cortex-a17.d
new file mode 100644
index 0000000000..490167e88b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a17.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a17 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a17
+# objdump: -d -mcortex-a17
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a32.d b/gas/testsuite/gas/arm/cpu-cortex-a32.d
new file mode 100644
index 0000000000..2e8895452b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a32.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a32 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a32
+# objdump: -d -mcortex-a32
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a35.d b/gas/testsuite/gas/arm/cpu-cortex-a35.d
new file mode 100644
index 0000000000..770915f25d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a35.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a35 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a35
+# objdump: -d -mcortex-a35
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a5.d b/gas/testsuite/gas/arm/cpu-cortex-a5.d
new file mode 100644
index 0000000000..0da6abbb80
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a5.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a5 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a5
+# objdump: -d -mcortex-a5
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a53.d b/gas/testsuite/gas/arm/cpu-cortex-a53.d
new file mode 100644
index 0000000000..1568e75956
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a53.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a53 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a53
+# objdump: -d -mcortex-a53
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a55.d b/gas/testsuite/gas/arm/cpu-cortex-a55.d
new file mode 100644
index 0000000000..9f7aa86c4d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a55.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a55 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a55
+# objdump: -d -mcortex-a55
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a57.d b/gas/testsuite/gas/arm/cpu-cortex-a57.d
new file mode 100644
index 0000000000..750bab2df6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a57.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a57 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a57
+# objdump: -d -mcortex-a57
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a7.d b/gas/testsuite/gas/arm/cpu-cortex-a7.d
new file mode 100644
index 0000000000..65c016ab0f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a7
+# objdump: -d -mcortex-a7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a72.d b/gas/testsuite/gas/arm/cpu-cortex-a72.d
new file mode 100644
index 0000000000..7784421f30
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a72.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a72 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a72
+# objdump: -d -mcortex-a72
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a73.d b/gas/testsuite/gas/arm/cpu-cortex-a73.d
new file mode 100644
index 0000000000..62dc3681d2
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a73.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a73 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a73
+# objdump: -d -mcortex-a73
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a75.d b/gas/testsuite/gas/arm/cpu-cortex-a75.d
new file mode 100644
index 0000000000..ca90cd6dd4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a75.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a75 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a75
+# objdump: -d -mcortex-a75
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a76.d b/gas/testsuite/gas/arm/cpu-cortex-a76.d
new file mode 100644
index 0000000000..f85de36037
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a76.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a76 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a76
+# objdump: -d -mcortex-a76
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a8.d b/gas/testsuite/gas/arm/cpu-cortex-a8.d
new file mode 100644
index 0000000000..6348206bfe
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a8 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a8
+# objdump: -d -mcortex-a8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a9.d b/gas/testsuite/gas/arm/cpu-cortex-a9.d
new file mode 100644
index 0000000000..ec5c692027
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a9.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a9 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a9
+# objdump: -d -mcortex-a9
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m0.d b/gas/testsuite/gas/arm/cpu-cortex-m0.d
new file mode 100644
index 0000000000..3a426b74a0
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m0 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m0
+# objdump: -d -M force-thumb -mcortex-m0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m0plus.d b/gas/testsuite/gas/arm/cpu-cortex-m0plus.d
new file mode 100644
index 0000000000..622904ad17
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m0plus.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m0plus CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m0plus
+# objdump: -d -M force-thumb -mcortex-m0plus
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m1.d b/gas/testsuite/gas/arm/cpu-cortex-m1.d
new file mode 100644
index 0000000000..583b44657d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m1 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m1
+# objdump: -d -M force-thumb -mcortex-m1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m23.d b/gas/testsuite/gas/arm/cpu-cortex-m23.d
new file mode 100644
index 0000000000..dcac99cd27
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m23.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m23 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m23
+# objdump: -d -M force-thumb -mcortex-m23
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m3.d b/gas/testsuite/gas/arm/cpu-cortex-m3.d
new file mode 100644
index 0000000000..5566ecd63c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m3.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m3 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m3
+# objdump: -d -M force-thumb -mcortex-m3
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m33.d b/gas/testsuite/gas/arm/cpu-cortex-m33.d
new file mode 100644
index 0000000000..30d3ac0836
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m33.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m33 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m33
+# objdump: -d -M force-thumb -mcortex-m33
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m4.d b/gas/testsuite/gas/arm/cpu-cortex-m4.d
new file mode 100644
index 0000000000..ebbd5a9666
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m4 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m4
+# objdump: -d -M force-thumb -mcortex-m4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m7.d b/gas/testsuite/gas/arm/cpu-cortex-m7.d
new file mode 100644
index 0000000000..411b40dbdb
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m7
+# objdump: -d -M force-thumb -mcortex-m7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r4.d b/gas/testsuite/gas/arm/cpu-cortex-r4.d
new file mode 100644
index 0000000000..448ae7750b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r4 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r4
+# objdump: -d -mcortex-r4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r4f.d b/gas/testsuite/gas/arm/cpu-cortex-r4f.d
new file mode 100644
index 0000000000..0a5a41d202
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r4f.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r4f CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r4f
+# objdump: -d -mcortex-r4f
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r5.d b/gas/testsuite/gas/arm/cpu-cortex-r5.d
new file mode 100644
index 0000000000..a4bce05cb3
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r5.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r5 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r5
+# objdump: -d -mcortex-r5
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r52.d b/gas/testsuite/gas/arm/cpu-cortex-r52.d
new file mode 100644
index 0000000000..f7f3c9897e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r52.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r52 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r52
+# objdump: -d -mcortex-r52
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r7.d b/gas/testsuite/gas/arm/cpu-cortex-r7.d
new file mode 100644
index 0000000000..bacfaacc8a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r7
+# objdump: -d -mcortex-r7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r8.d b/gas/testsuite/gas/arm/cpu-cortex-r8.d
new file mode 100644
index 0000000000..c43740b016
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r8 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r8
+# objdump: -d -mcortex-r8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-ep9312.d b/gas/testsuite/gas/arm/cpu-ep9312.d
new file mode 100644
index 0000000000..dfa0de7bf1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-ep9312.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for ep9312 CPU
+# source: nop-asm.s
+# as: -mcpu=ep9312
+# objdump: -d -mep9312
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-exynos-m1.d b/gas/testsuite/gas/arm/cpu-exynos-m1.d
new file mode 100644
index 0000000000..f62cc721a9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-exynos-m1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for exynos-m1 CPU
+# source: nop-asm.s
+# as: -mcpu=exynos-m1
+# objdump: -d -mexynos-m1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa526.d b/gas/testsuite/gas/arm/cpu-fa526.d
new file mode 100644
index 0000000000..ab2982b50a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa526.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa526 CPU
+# source: nop-asm.s
+# as: -mcpu=fa526
+# objdump: -d -mfa526
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa606te.d b/gas/testsuite/gas/arm/cpu-fa606te.d
new file mode 100644
index 0000000000..8f175041de
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa606te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa606te CPU
+# source: nop-asm.s
+# as: -mcpu=fa606te
+# objdump: -d -mfa606te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa616te.d b/gas/testsuite/gas/arm/cpu-fa616te.d
new file mode 100644
index 0000000000..164f6c715a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa616te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa616te CPU
+# source: nop-asm.s
+# as: -mcpu=fa616te
+# objdump: -d -mfa616te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa626.d b/gas/testsuite/gas/arm/cpu-fa626.d
new file mode 100644
index 0000000000..7cd5fd690a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa626.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa626 CPU
+# source: nop-asm.s
+# as: -mcpu=fa626
+# objdump: -d -mfa626
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa626te.d b/gas/testsuite/gas/arm/cpu-fa626te.d
new file mode 100644
index 0000000000..363fc407eb
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa626te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa626te CPU
+# source: nop-asm.s
+# as: -mcpu=fa626te
+# objdump: -d -mfa626te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa726te.d b/gas/testsuite/gas/arm/cpu-fa726te.d
new file mode 100644
index 0000000000..eb5d8d6692
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa726te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa726te CPU
+# source: nop-asm.s
+# as: -mcpu=fa726te
+# objdump: -d -mfa726te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fmp626.d b/gas/testsuite/gas/arm/cpu-fmp626.d
new file mode 100644
index 0000000000..8a2cc61224
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fmp626.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fmp626 CPU
+# source: nop-asm.s
+# as: -mcpu=fmp626
+# objdump: -d -mfmp626
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-i80200.d b/gas/testsuite/gas/arm/cpu-i80200.d
new file mode 100644
index 0000000000..d610d4daae
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-i80200.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for i80200 CPU
+# source: nop-asm.s
+# as: -mcpu=i80200
+# objdump: -d -mi80200
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-iwmmxt.d b/gas/testsuite/gas/arm/cpu-iwmmxt.d
new file mode 100644
index 0000000000..a1420ab196
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-iwmmxt.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for iwmmxt CPU
+# source: nop-asm.s
+# as: -mcpu=iwmmxt
+# objdump: -d -miwmmxt
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-iwmmxt2.d b/gas/testsuite/gas/arm/cpu-iwmmxt2.d
new file mode 100644
index 0000000000..f973ae5997
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-iwmmxt2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for iwmmxt2 CPU
+# source: nop-asm.s
+# as: -mcpu=iwmmxt2
+# objdump: -d -miwmmxt2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-marvell-pj4.d b/gas/testsuite/gas/arm/cpu-marvell-pj4.d
new file mode 100644
index 0000000000..72e0fb4e26
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-marvell-pj4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for marvell-pj4 CPU
+# source: nop-asm.s
+# as: -mcpu=marvell-pj4
+# objdump: -d -mmarvell-pj4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-marvell-whitney.d b/gas/testsuite/gas/arm/cpu-marvell-whitney.d
new file mode 100644
index 0000000000..06aa7c6db9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-marvell-whitney.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for marvell-whitney CPU
+# source: nop-asm.s
+# as: -mcpu=marvell-whitney
+# objdump: -d -mmarvell-whitney
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-mpcore.d b/gas/testsuite/gas/arm/cpu-mpcore.d
new file mode 100644
index 0000000000..d5490f39de
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-mpcore.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for mpcore CPU
+# source: nop-asm.s
+# as: -mcpu=mpcore
+# objdump: -d -mmpcore
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-mpcorenovfp.d b/gas/testsuite/gas/arm/cpu-mpcorenovfp.d
new file mode 100644
index 0000000000..249d4175dd
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-mpcorenovfp.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for mpcorenovfp CPU
+# source: nop-asm.s
+# as: -mcpu=mpcorenovfp
+# objdump: -d -mmpcorenovfp
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-sa1.d b/gas/testsuite/gas/arm/cpu-sa1.d
new file mode 100644
index 0000000000..1163996410
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-sa1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for sa1 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1
+# objdump: -d -msa1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm.d b/gas/testsuite/gas/arm/cpu-strongarm.d
new file mode 100644
index 0000000000..fc079b1cab
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm
+# objdump: -d -mstrongarm
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1.d b/gas/testsuite/gas/arm/cpu-strongarm1.d
new file mode 100644
index 0000000000..9d8d5c470f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1
+# objdump: -d -mstrongarm1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm110.d b/gas/testsuite/gas/arm/cpu-strongarm110.d
new file mode 100644
index 0000000000..4955884dd5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm110.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm110 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm110
+# objdump: -d -mstrongarm110
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1100.d b/gas/testsuite/gas/arm/cpu-strongarm1100.d
new file mode 100644
index 0000000000..c0bcba2a6e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1100.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1100 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1100
+# objdump: -d -mstrongarm1100
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1110.d b/gas/testsuite/gas/arm/cpu-strongarm1110.d
new file mode 100644
index 0000000000..86b87c6b08
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1110.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1110 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1110
+# objdump: -d -mstrongarm1110
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xgene1.d b/gas/testsuite/gas/arm/cpu-xgene1.d
new file mode 100644
index 0000000000..210527688f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xgene1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xgene1 CPU
+# source: nop-asm.s
+# as: -mcpu=xgene1
+# objdump: -d -mxgene1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xgene2.d b/gas/testsuite/gas/arm/cpu-xgene2.d
new file mode 100644
index 0000000000..3a8f5ebef8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xgene2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xgene2 CPU
+# source: nop-asm.s
+# as: -mcpu=xgene2
+# objdump: -d -mxgene2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xscale.d b/gas/testsuite/gas/arm/cpu-xscale.d
new file mode 100644
index 0000000000..b141f58e44
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xscale.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xscale CPU
+# source: nop-asm.s
+# as: -mcpu=xscale
+# objdump: -d -mxscale
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/nop-asm.s b/gas/testsuite/gas/arm/nop-asm.s
new file mode 100644
index 0000000000..c27745a58f
--- /dev/null
+++ b/gas/testsuite/gas/arm/nop-asm.s
@@ -0,0 +1 @@
+nop
diff --git a/gas/testsuite/gas/arm/note-march-armv2.d b/gas/testsuite/gas/arm/note-march-armv2.d
new file mode 100644
index 0000000000..f7af35a929
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2.d
@@ -0,0 +1,13 @@
+# name: armv2 note with -march=armv2
+# source: note-march-armv2.s RUN_OBJCOPY
+# as: -march=armv2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv2
diff --git a/gas/testsuite/gas/arm/note-march-armv2.s b/gas/testsuite/gas/arm/note-march-armv2.s
new file mode 100644
index 0000000000..6c76df7abe
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv2"
diff --git a/gas/testsuite/gas/arm/note-march-armv2a.d b/gas/testsuite/gas/arm/note-march-armv2a.d
new file mode 100644
index 0000000000..443a424718
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2a.d
@@ -0,0 +1,13 @@
+# name: armv2a note with -march=armv2a
+# source: note-march-armv2a.s RUN_OBJCOPY
+# as: -march=armv2a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv2a
diff --git a/gas/testsuite/gas/arm/note-march-armv2a.s b/gas/testsuite/gas/arm/note-march-armv2a.s
new file mode 100644
index 0000000000..abe1b32654
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2a.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv2a"
diff --git a/gas/testsuite/gas/arm/note-march-armv3.d b/gas/testsuite/gas/arm/note-march-armv3.d
new file mode 100644
index 0000000000..d8dd724c52
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3.d
@@ -0,0 +1,13 @@
+# name: armv3 note with -march=armv3
+# source: note-march-armv3.s RUN_OBJCOPY
+# as: -march=armv3
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv3
diff --git a/gas/testsuite/gas/arm/note-march-armv3.s b/gas/testsuite/gas/arm/note-march-armv3.s
new file mode 100644
index 0000000000..cdc513db4a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv3"
diff --git a/gas/testsuite/gas/arm/note-march-armv3m.d b/gas/testsuite/gas/arm/note-march-armv3m.d
new file mode 100644
index 0000000000..5c402c470e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3m.d
@@ -0,0 +1,13 @@
+# name: armv3M note with -march=armv3m
+# source: note-march-armv3m.s RUN_OBJCOPY
+# as: -march=armv3m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv3M
diff --git a/gas/testsuite/gas/arm/note-march-armv3m.s b/gas/testsuite/gas/arm/note-march-armv3m.s
new file mode 100644
index 0000000000..127695ec47
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv3M"
diff --git a/gas/testsuite/gas/arm/note-march-armv4.d b/gas/testsuite/gas/arm/note-march-armv4.d
new file mode 100644
index 0000000000..1882fa3f97
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4.d
@@ -0,0 +1,13 @@
+# name: armv4 note with -march=armv4
+# source: note-march-armv4.s RUN_OBJCOPY
+# as: -march=armv4
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv4
diff --git a/gas/testsuite/gas/arm/note-march-armv4.s b/gas/testsuite/gas/arm/note-march-armv4.s
new file mode 100644
index 0000000000..c403d7bc5a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv4"
diff --git a/gas/testsuite/gas/arm/note-march-armv4t.d b/gas/testsuite/gas/arm/note-march-armv4t.d
new file mode 100644
index 0000000000..bcddcf1793
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4t.d
@@ -0,0 +1,13 @@
+# name: armv4t note with -march=armv4t
+# source: note-march-armv4t.s RUN_OBJCOPY
+# as: -march=armv4t
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv4t
diff --git a/gas/testsuite/gas/arm/note-march-armv4t.s b/gas/testsuite/gas/arm/note-march-armv4t.s
new file mode 100644
index 0000000000..bc90f30a09
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4t.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv4t"
diff --git a/gas/testsuite/gas/arm/note-march-armv5.d b/gas/testsuite/gas/arm/note-march-armv5.d
new file mode 100644
index 0000000000..bf6a81a04d
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5.d
@@ -0,0 +1,13 @@
+# name: armv5 note with -march=armv5
+# source: note-march-armv5.s RUN_OBJCOPY
+# as: -march=armv5
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5
diff --git a/gas/testsuite/gas/arm/note-march-armv5.s b/gas/testsuite/gas/arm/note-march-armv5.s
new file mode 100644
index 0000000000..b77f5653b7
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv5"
diff --git a/gas/testsuite/gas/arm/note-march-armv5t.d b/gas/testsuite/gas/arm/note-march-armv5t.d
new file mode 100644
index 0000000000..2761143091
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5t.d
@@ -0,0 +1,13 @@
+# name: armv5t note with -march=armv5t
+# source: note-march-armv5t.s RUN_OBJCOPY
+# as: -march=armv5t
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5t
diff --git a/gas/testsuite/gas/arm/note-march-armv5t.s b/gas/testsuite/gas/arm/note-march-armv5t.s
new file mode 100644
index 0000000000..d88bf51ddd
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5t.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv5t"
diff --git a/gas/testsuite/gas/arm/note-march-armv5te.d b/gas/testsuite/gas/arm/note-march-armv5te.d
new file mode 100644
index 0000000000..8003740135
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5te.d
@@ -0,0 +1,13 @@
+# name: armv5te note with -march=armv5te
+# source: note-march-armv5te.s RUN_OBJCOPY
+# as: -march=armv5te
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5te
diff --git a/gas/testsuite/gas/arm/note-march-armv5te.s b/gas/testsuite/gas/arm/note-march-armv5te.s
new file mode 100644
index 0000000000..c2d72c17d3
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5te.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv5te"
diff --git a/gas/testsuite/gas/arm/note-march-armv5tej.d b/gas/testsuite/gas/arm/note-march-armv5tej.d
new file mode 100644
index 0000000000..1bcedf2185
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5tej.d
@@ -0,0 +1,13 @@
+# name: armv5tej note with -march=armv5tej
+# source: note-march-armv5tej.s RUN_OBJCOPY
+# as: -march=armv5tej
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5tej
diff --git a/gas/testsuite/gas/arm/note-march-armv5tej.s b/gas/testsuite/gas/arm/note-march-armv5tej.s
new file mode 100644
index 0000000000..a0effacd3f
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5tej.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv5tej"
diff --git a/gas/testsuite/gas/arm/note-march-armv6-m.d b/gas/testsuite/gas/arm/note-march-armv6-m.d
new file mode 100644
index 0000000000..38061e2eab
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6-m.d
@@ -0,0 +1,13 @@
+# name: armv6-m note with -march=armv6-m
+# source: note-march-armv6-m.s RUN_OBJCOPY
+# as: -march=armv6-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6-m
diff --git a/gas/testsuite/gas/arm/note-march-armv6-m.s b/gas/testsuite/gas/arm/note-march-armv6-m.s
new file mode 100644
index 0000000000..71d43e7a7b
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv6.d b/gas/testsuite/gas/arm/note-march-armv6.d
new file mode 100644
index 0000000000..99bf4348bc
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6.d
@@ -0,0 +1,13 @@
+# name: armv6 note with -march=armv6
+# source: note-march-armv6.s RUN_OBJCOPY
+# as: -march=armv6
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6
diff --git a/gas/testsuite/gas/arm/note-march-armv6.s b/gas/testsuite/gas/arm/note-march-armv6.s
new file mode 100644
index 0000000000..ae9fc7d69e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv6"
diff --git a/gas/testsuite/gas/arm/note-march-armv6k.d b/gas/testsuite/gas/arm/note-march-armv6k.d
new file mode 100644
index 0000000000..125b499e05
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6k.d
@@ -0,0 +1,13 @@
+# name: armv6k note with -march=armv6k
+# source: note-march-armv6k.s RUN_OBJCOPY
+# as: -march=armv6k
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6k
diff --git a/gas/testsuite/gas/arm/note-march-armv6k.s b/gas/testsuite/gas/arm/note-march-armv6k.s
new file mode 100644
index 0000000000..7cf198485a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6k.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv6k"
diff --git a/gas/testsuite/gas/arm/note-march-armv6kz.d b/gas/testsuite/gas/arm/note-march-armv6kz.d
new file mode 100644
index 0000000000..07a8eafeda
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6kz.d
@@ -0,0 +1,13 @@
+# name: armv6kz note with -march=armv6kz
+# source: note-march-armv6kz.s RUN_OBJCOPY
+# as: -march=armv6kz
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6kz
diff --git a/gas/testsuite/gas/arm/note-march-armv6kz.s b/gas/testsuite/gas/arm/note-march-armv6kz.s
new file mode 100644
index 0000000000..39f7035b3c
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6kz.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6kz"
diff --git a/gas/testsuite/gas/arm/note-march-armv6s-m.d b/gas/testsuite/gas/arm/note-march-armv6s-m.d
new file mode 100644
index 0000000000..cf59528326
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6s-m.d
@@ -0,0 +1,13 @@
+# name: armv6s-m note with -march=armv6s-m
+# source: note-march-armv6s-m.s RUN_OBJCOPY
+# as: -march=armv6s-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6s-m
diff --git a/gas/testsuite/gas/arm/note-march-armv6s-m.s b/gas/testsuite/gas/arm/note-march-armv6s-m.s
new file mode 100644
index 0000000000..eeeebf1a75
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6s-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv6s-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv6t2.d b/gas/testsuite/gas/arm/note-march-armv6t2.d
new file mode 100644
index 0000000000..0abf36deb2
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6t2.d
@@ -0,0 +1,13 @@
+# name: armv6t2 note with -march=armv6t2
+# source: note-march-armv6t2.s RUN_OBJCOPY
+# as: -march=armv6t2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6t2
diff --git a/gas/testsuite/gas/arm/note-march-armv6t2.s b/gas/testsuite/gas/arm/note-march-armv6t2.s
new file mode 100644
index 0000000000..6537751882
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6t2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6t2"
diff --git a/gas/testsuite/gas/arm/note-march-armv7-a.d b/gas/testsuite/gas/arm/note-march-armv7-a.d
new file mode 100644
index 0000000000..fab9ee160e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-a.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-a
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7-m.d b/gas/testsuite/gas/arm/note-march-armv7-m.d
new file mode 100644
index 0000000000..76d916c9f1
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-m.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-m
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7-r.d b/gas/testsuite/gas/arm/note-march-armv7-r.d
new file mode 100644
index 0000000000..19f80e8d19
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-r.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-r
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-r
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7.s b/gas/testsuite/gas/arm/note-march-armv7.s
new file mode 100644
index 0000000000..14e3bd2efe
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv7"
diff --git a/gas/testsuite/gas/arm/note-march-armv7e-m.d b/gas/testsuite/gas/arm/note-march-armv7e-m.d
new file mode 100644
index 0000000000..5b011781ba
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7e-m.d
@@ -0,0 +1,13 @@
+# name: armv7e-m note with -march=armv7e-m
+# source: note-march-armv7e-m.s RUN_OBJCOPY
+# as: -march=armv7e-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7e-m
diff --git a/gas/testsuite/gas/arm/note-march-armv7e-m.s b/gas/testsuite/gas/arm/note-march-armv7e-m.s
new file mode 100644
index 0000000000..0e2d943a4d
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7e-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv7e-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-a.d b/gas/testsuite/gas/arm/note-march-armv8-a.d
new file mode 100644
index 0000000000..3b44f84d14
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-a.d
@@ -0,0 +1,13 @@
+# name: armv8-a note with -march=armv8-a
+# source: note-march-armv8-a.s RUN_OBJCOPY
+# as: -march=armv8-a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-a
diff --git a/gas/testsuite/gas/arm/note-march-armv8-a.s b/gas/testsuite/gas/arm/note-march-armv8-a.s
new file mode 100644
index 0000000000..1f2d6fd41c
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-a.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-a"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.base.d b/gas/testsuite/gas/arm/note-march-armv8-m.base.d
new file mode 100644
index 0000000000..f14d9a867a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.base.d
@@ -0,0 +1,13 @@
+# name: armv8-m.base note with -march=armv8-m.base
+# source: note-march-armv8-m.base.s RUN_OBJCOPY
+# as: -march=armv8-m.base
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-m.base
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.base.s b/gas/testsuite/gas/arm/note-march-armv8-m.base.s
new file mode 100644
index 0000000000..7c19ae0c89
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.base.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 12
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-m.base"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.main.d b/gas/testsuite/gas/arm/note-march-armv8-m.main.d
new file mode 100644
index 0000000000..6884a3cae5
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.main.d
@@ -0,0 +1,13 @@
+# name: armv8-m.main note with -march=armv8-m.main
+# source: note-march-armv8-m.main.s RUN_OBJCOPY
+# as: -march=armv8-m.main
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-m.main
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.main.s b/gas/testsuite/gas/arm/note-march-armv8-m.main.s
new file mode 100644
index 0000000000..61062ec1db
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.main.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 12
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-m.main"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-r.d b/gas/testsuite/gas/arm/note-march-armv8-r.d
new file mode 100644
index 0000000000..f59b39c8ee
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-r.d
@@ -0,0 +1,13 @@
+# name: armv8-r note with -march=armv8-r
+# source: note-march-armv8-r.s RUN_OBJCOPY
+# as: -march=armv8-r
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-r
diff --git a/gas/testsuite/gas/arm/note-march-armv8-r.s b/gas/testsuite/gas/arm/note-march-armv8-r.s
new file mode 100644
index 0000000000..d946e3772e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-r.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-r"
diff --git a/gas/testsuite/gas/arm/note-march-ep9312.d b/gas/testsuite/gas/arm/note-march-ep9312.d
new file mode 100644
index 0000000000..dd72821630
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-ep9312.d
@@ -0,0 +1,13 @@
+# name: ep9312 note with -mcpu=ep9312 -mfpu=maverick
+# source: note-march-ep9312.s RUN_OBJCOPY
+# as: -mcpu=ep9312 -mfpu=maverick
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] ep9312
diff --git a/gas/testsuite/gas/arm/note-march-ep9312.s b/gas/testsuite/gas/arm/note-march-ep9312.s
new file mode 100644
index 0000000000..b542eba2e8
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-ep9312.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "ep9312"
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt.d b/gas/testsuite/gas/arm/note-march-iwmmxt.d
new file mode 100644
index 0000000000..eb3beede36
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt.d
@@ -0,0 +1,13 @@
+# name: iWMMXt note with -march=iwmmxt
+# source: note-march-iwmmxt.s RUN_OBJCOPY
+# as: -march=iwmmxt
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] iWMMXt
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt.s b/gas/testsuite/gas/arm/note-march-iwmmxt.s
new file mode 100644
index 0000000000..6e00eeb814
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "iWMMXt"
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt2.d b/gas/testsuite/gas/arm/note-march-iwmmxt2.d
new file mode 100644
index 0000000000..6c4a23a1ab
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt2.d
@@ -0,0 +1,13 @@
+# name: iWMMXt2 note with -march=iwmmxt2
+# source: note-march-iwmmxt2.s RUN_OBJCOPY
+# as: -march=iwmmxt2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] iWMMXt2
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt2.s b/gas/testsuite/gas/arm/note-march-iwmmxt2.s
new file mode 100644
index 0000000000..ee6e72cbe7
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "iWMMXt2"
diff --git a/gas/testsuite/gas/arm/note-march-xscale.d b/gas/testsuite/gas/arm/note-march-xscale.d
new file mode 100644
index 0000000000..d5943457c8
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-xscale.d
@@ -0,0 +1,13 @@
+# name: XScale note with -march=xscale
+# source: note-march-xscale.s RUN_OBJCOPY
+# as: -march=xscale
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] XScale
diff --git a/gas/testsuite/gas/arm/note-march-xscale.s b/gas/testsuite/gas/arm/note-march-xscale.s
new file mode 100644
index 0000000000..9149f5b967
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-xscale.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "XScale"
Thomas Preudhomme
2018-11-16 15:32:36 UTC
Permalink
Ping? I've now also added a comment next to the two outdated lists of
architecture to explain why they should not be updated. Updated *bfd*
ChangeLog entry is as follows:

*** bfd/ChangeLog ***

2018-11-16 Thomas Preud'homme <***@linaro.org>

* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add comment explaining why the list of
architectures in the switch should not be updated.
(architectures): Likewise.

gas ChangeLog entry unchanged (not pasted here to keep this reply small)

Best regards,

Thomas
On Thu, 8 Nov 2018 at 10:11, Thomas Preudhomme
Post by Thomas Preudhomme
Hi Richard,
How about the updated patch then? It only adds test for existing
note-related code and adds support for missing CPU in objdump -m<cpu>.
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
*** gas/ChangeLog ***
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Best regards,
Thomas
On Fri, 2 Nov 2018 at 16:59, Thomas Preudhomme
Post by Thomas Preudhomme
TL;DR: Should we keep tests for existing entries? Do we want objdump
-m<cpu> to work for newer CPUs or only allows objdump -m<arch> (this
is already working with all current architectures thanks to a previous
patch)?
There was not. Note that the -m<cpu or arch> option of objdump uses
the processors list that is being updated at the beginning of the
patch (architecture list used for the architecture is already
up-to-date so not touched in this patch). Do we want to deprecate
specifying a CPU here as well and only allow architectures? It might
make sense to keep part of the tests as well for the entries already
in that file.
Best regards,
Thomas
On Fri, 2 Nov 2018 at 15:34, Richard Earnshaw (lists)
Post by Richard Earnshaw (lists)
Post by Thomas Preudhomme
And now with a patch.
On Fri, 26 Oct 2018 at 14:30, Thomas Preudhomme
Post by Thomas Preudhomme
Hi,
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.
Hmm,
If I remember correctly, I think we'd abandoned trying to fit all the
Arm architecture variants onto a simple enumeration - there are just too
many. Instead, we use the build attribute model to understand the
capabilites that an object file has.
So is there something motivating this patch beyond the 'it looks
incomplete'?
R.
Post by Thomas Preudhomme
Post by Thomas Preudhomme
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.
*** gas/ChangeLog ***
* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Testing: No testsuite regression when targeting arm-none-eabi.
Is this ok for master?
Best regards,
Thomas
update_knowledge_bfd_archs.patch
From ce28723429d06e81cb5143c6ec6a4f290e6979b3 Mon Sep 17 00:00:00 2001
Date: Fri, 19 Oct 2018 21:09:20 +0100
Subject: [PATCH 2/2] [ARM] Update knowledge of bfd architectures
Hi,
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.
*** gas/ChangeLog ***
* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Testing: No testsuite regression when targeting arm-none-eabi.
Is this ok for master?
Best regards,
Thomas
---
bfd/cpu-arm.c | 207 ++++++++++++++----
gas/config/tc-arm.c | 51 ++++-
gas/testsuite/gas/arm/cpu-arm1020.d | 7 +
gas/testsuite/gas/arm/cpu-arm1020e.d | 7 +
gas/testsuite/gas/arm/cpu-arm1020t.d | 7 +
gas/testsuite/gas/arm/cpu-arm1022e.d | 7 +
gas/testsuite/gas/arm/cpu-arm1026ej-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1026ejs.d | 7 +
gas/testsuite/gas/arm/cpu-arm10e.d | 7 +
gas/testsuite/gas/arm/cpu-arm10t.d | 7 +
gas/testsuite/gas/arm/cpu-arm10tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136j-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136jf-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136jfs.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136js.d | 7 +
gas/testsuite/gas/arm/cpu-arm1156t2-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1156t2f-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1176jz-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1176jzf-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm2.d | 7 +
gas/testsuite/gas/arm/cpu-arm250.d | 7 +
gas/testsuite/gas/arm/cpu-arm3.d | 7 +
gas/testsuite/gas/arm/cpu-arm6.d | 7 +
gas/testsuite/gas/arm/cpu-arm60.d | 7 +
gas/testsuite/gas/arm/cpu-arm600.d | 7 +
gas/testsuite/gas/arm/cpu-arm610.d | 7 +
gas/testsuite/gas/arm/cpu-arm620.d | 7 +
gas/testsuite/gas/arm/cpu-arm7.d | 7 +
gas/testsuite/gas/arm/cpu-arm70.d | 7 +
gas/testsuite/gas/arm/cpu-arm700.d | 7 +
gas/testsuite/gas/arm/cpu-arm700i.d | 7 +
gas/testsuite/gas/arm/cpu-arm710.d | 7 +
gas/testsuite/gas/arm/cpu-arm7100.d | 7 +
gas/testsuite/gas/arm/cpu-arm710c.d | 7 +
gas/testsuite/gas/arm/cpu-arm710t.d | 7 +
gas/testsuite/gas/arm/cpu-arm720.d | 7 +
gas/testsuite/gas/arm/cpu-arm720t.d | 7 +
gas/testsuite/gas/arm/cpu-arm740t.d | 7 +
gas/testsuite/gas/arm/cpu-arm7500.d | 7 +
gas/testsuite/gas/arm/cpu-arm7500fe.d | 7 +
gas/testsuite/gas/arm/cpu-arm7d.d | 7 +
gas/testsuite/gas/arm/cpu-arm7di.d | 7 +
gas/testsuite/gas/arm/cpu-arm7dm.d | 7 +
gas/testsuite/gas/arm/cpu-arm7dmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm7m.d | 7 +
gas/testsuite/gas/arm/cpu-arm7t.d | 7 +
gas/testsuite/gas/arm/cpu-arm7tdmi-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm7tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm8.d | 7 +
gas/testsuite/gas/arm/cpu-arm810.d | 7 +
gas/testsuite/gas/arm/cpu-arm9.d | 7 +
gas/testsuite/gas/arm/cpu-arm920.d | 7 +
gas/testsuite/gas/arm/cpu-arm920t.d | 7 +
gas/testsuite/gas/arm/cpu-arm922t.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ej-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ej.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ejs.d | 7 +
gas/testsuite/gas/arm/cpu-arm940t.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e.d | 7 +
gas/testsuite/gas/arm/cpu-arm968e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm9e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm9e.d | 7 +
gas/testsuite/gas/arm/cpu-arm9tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm_any.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a12.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a15.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a17.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a32.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a35.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a5.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a53.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a55.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a57.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a72.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a73.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a75.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a76.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a8.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a9.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m0.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m0plus.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m1.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m23.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m3.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m33.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m4.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r4.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r4f.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r5.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r52.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r8.d | 7 +
gas/testsuite/gas/arm/cpu-ep9312.d | 7 +
gas/testsuite/gas/arm/cpu-exynos-m1.d | 7 +
gas/testsuite/gas/arm/cpu-fa526.d | 7 +
gas/testsuite/gas/arm/cpu-fa606te.d | 7 +
gas/testsuite/gas/arm/cpu-fa616te.d | 7 +
gas/testsuite/gas/arm/cpu-fa626.d | 7 +
gas/testsuite/gas/arm/cpu-fa626te.d | 7 +
gas/testsuite/gas/arm/cpu-fa726te.d | 7 +
gas/testsuite/gas/arm/cpu-fmp626.d | 7 +
gas/testsuite/gas/arm/cpu-i80200.d | 7 +
gas/testsuite/gas/arm/cpu-iwmmxt.d | 7 +
gas/testsuite/gas/arm/cpu-iwmmxt2.d | 7 +
gas/testsuite/gas/arm/cpu-marvell-pj4.d | 7 +
gas/testsuite/gas/arm/cpu-marvell-whitney.d | 7 +
gas/testsuite/gas/arm/cpu-mpcore.d | 7 +
gas/testsuite/gas/arm/cpu-mpcorenovfp.d | 7 +
gas/testsuite/gas/arm/cpu-sa1.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm110.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1100.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1110.d | 7 +
gas/testsuite/gas/arm/cpu-xgene1.d | 7 +
gas/testsuite/gas/arm/cpu-xgene2.d | 7 +
gas/testsuite/gas/arm/cpu-xscale.d | 7 +
gas/testsuite/gas/arm/nop-asm.s | 1 +
gas/testsuite/gas/arm/note-march-armv2.d | 13 ++
gas/testsuite/gas/arm/note-march-armv2.s | 7 +
gas/testsuite/gas/arm/note-march-armv2a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv2a.s | 7 +
gas/testsuite/gas/arm/note-march-armv3.d | 13 ++
gas/testsuite/gas/arm/note-march-armv3.s | 7 +
gas/testsuite/gas/arm/note-march-armv3m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv3m.s | 7 +
gas/testsuite/gas/arm/note-march-armv4.d | 13 ++
gas/testsuite/gas/arm/note-march-armv4.s | 7 +
gas/testsuite/gas/arm/note-march-armv4t.d | 13 ++
gas/testsuite/gas/arm/note-march-armv4t.s | 7 +
gas/testsuite/gas/arm/note-march-armv5.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5.s | 7 +
gas/testsuite/gas/arm/note-march-armv5t.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5t.s | 7 +
gas/testsuite/gas/arm/note-march-armv5te.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5te.s | 7 +
gas/testsuite/gas/arm/note-march-armv5tej.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5tej.s | 7 +
gas/testsuite/gas/arm/note-march-armv6-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv6.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6.s | 7 +
gas/testsuite/gas/arm/note-march-armv6k.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6k.s | 7 +
gas/testsuite/gas/arm/note-march-armv6kz.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6kz.s | 7 +
gas/testsuite/gas/arm/note-march-armv6s-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6s-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv6t2.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6t2.s | 7 +
gas/testsuite/gas/arm/note-march-armv7-a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7-r.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7.s | 7 +
gas/testsuite/gas/arm/note-march-armv7e-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7e-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv8-a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv8-a.s | 7 +
.../gas/arm/note-march-armv8-m.base.d | 13 ++
.../gas/arm/note-march-armv8-m.base.s | 7 +
.../gas/arm/note-march-armv8-m.main.d | 13 ++
.../gas/arm/note-march-armv8-m.main.s | 7 +
gas/testsuite/gas/arm/note-march-armv8-r.d | 13 ++
gas/testsuite/gas/arm/note-march-armv8-r.s | 7 +
gas/testsuite/gas/arm/note-march-ep9312.d | 13 ++
gas/testsuite/gas/arm/note-march-ep9312.s | 7 +
gas/testsuite/gas/arm/note-march-iwmmxt.d | 13 ++
gas/testsuite/gas/arm/note-march-iwmmxt.s | 7 +
gas/testsuite/gas/arm/note-march-iwmmxt2.d | 13 ++
gas/testsuite/gas/arm/note-march-iwmmxt2.s | 7 +
gas/testsuite/gas/arm/note-march-xscale.d | 13 ++
gas/testsuite/gas/arm/note-march-xscale.s | 7 +
179 files changed, 1613 insertions(+), 46 deletions(-)
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1022e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ej-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ejs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136j-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jf-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jfs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136js.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jz-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm2.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm250.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm3.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm6.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm60.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm600.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm610.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm620.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm70.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm700.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm700i.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7100.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710c.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm720.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm720t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm740t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7500.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7500fe.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7d.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7di.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7dm.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7dmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7m.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm8.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm810.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm920.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm920t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm922t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ejs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm940t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm968e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm_any.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a12.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a15.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a17.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a32.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a35.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a5.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a53.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a55.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a57.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a72.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a73.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a75.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a76.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a8.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a9.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0plus.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m1.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m23.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m3.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m33.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m4.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4f.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r5.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r52.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r8.d
create mode 100644 gas/testsuite/gas/arm/cpu-ep9312.d
create mode 100644 gas/testsuite/gas/arm/cpu-exynos-m1.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa526.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa606te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa616te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa626.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa626te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa726te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fmp626.d
create mode 100644 gas/testsuite/gas/arm/cpu-i80200.d
create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt.d
create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt2.d
create mode 100644 gas/testsuite/gas/arm/cpu-marvell-pj4.d
create mode 100644 gas/testsuite/gas/arm/cpu-marvell-whitney.d
create mode 100644 gas/testsuite/gas/arm/cpu-mpcore.d
create mode 100644 gas/testsuite/gas/arm/cpu-mpcorenovfp.d
create mode 100644 gas/testsuite/gas/arm/cpu-sa1.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm110.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1100.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1110.d
create mode 100644 gas/testsuite/gas/arm/cpu-xgene1.d
create mode 100644 gas/testsuite/gas/arm/cpu-xgene2.d
create mode 100644 gas/testsuite/gas/arm/cpu-xscale.d
create mode 100644 gas/testsuite/gas/arm/nop-asm.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv2.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv2.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv3.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv3.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv4.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv4.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5tej.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5tej.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6k.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6k.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6kz.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6kz.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6s-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6s-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6t2.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6t2.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-r.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv7e-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7e-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-a.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.base.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.base.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.main.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.main.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-r.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-r.s
create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.d
create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.s
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.d
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.s
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.d
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.s
create mode 100644 gas/testsuite/gas/arm/note-march-xscale.d
create mode 100644 gas/testsuite/gas/arm/note-march-xscale.s
diff --git a/bfd/cpu-arm.c b/bfd/cpu-arm.c
index 4ef409b451..732d46f325 100644
--- a/bfd/cpu-arm.c
+++ b/bfd/cpu-arm.c
@@ -65,36 +65,129 @@ static struct
}
processors[] =
{
- { bfd_mach_arm_2, "arm2" },
- { bfd_mach_arm_2a, "arm250" },
- { bfd_mach_arm_2a, "arm3" },
- { bfd_mach_arm_3, "arm6" },
- { bfd_mach_arm_3, "arm60" },
- { bfd_mach_arm_3, "arm600" },
- { bfd_mach_arm_3, "arm610" },
- { bfd_mach_arm_3, "arm7" },
- { bfd_mach_arm_3, "arm710" },
- { bfd_mach_arm_3, "arm7500" },
- { bfd_mach_arm_3, "arm7d" },
- { bfd_mach_arm_3, "arm7di" },
- { bfd_mach_arm_3M, "arm7dm" },
- { bfd_mach_arm_3M, "arm7dmi" },
- { bfd_mach_arm_4T, "arm7tdmi" },
- { bfd_mach_arm_4, "arm8" },
- { bfd_mach_arm_4, "arm810" },
- { bfd_mach_arm_4, "arm9" },
- { bfd_mach_arm_4, "arm920" },
- { bfd_mach_arm_4T, "arm920t" },
- { bfd_mach_arm_4T, "arm9tdmi" },
- { bfd_mach_arm_4, "sa1" },
- { bfd_mach_arm_4, "strongarm"},
- { bfd_mach_arm_4, "strongarm110" },
- { bfd_mach_arm_4, "strongarm1100" },
- { bfd_mach_arm_XScale, "xscale" },
- { bfd_mach_arm_ep9312, "ep9312" },
- { bfd_mach_arm_iWMMXt, "iwmmxt" },
- { bfd_mach_arm_iWMMXt2, "iwmmxt2" },
- { bfd_mach_arm_unknown, "arm_any" }
+ { bfd_mach_arm_2, "arm2" },
+ { bfd_mach_arm_2a, "arm250" },
+ { bfd_mach_arm_2a, "arm3" },
+ { bfd_mach_arm_3, "arm6" },
+ { bfd_mach_arm_3, "arm60" },
+ { bfd_mach_arm_3, "arm600" },
+ { bfd_mach_arm_3, "arm610" },
+ { bfd_mach_arm_3, "arm620" },
+ { bfd_mach_arm_3, "arm7" },
+ { bfd_mach_arm_3, "arm70" },
+ { bfd_mach_arm_3, "arm700" },
+ { bfd_mach_arm_3, "arm700i" },
+ { bfd_mach_arm_3, "arm710" },
+ { bfd_mach_arm_3, "arm7100" },
+ { bfd_mach_arm_3, "arm710c" },
+ { bfd_mach_arm_4T, "arm710t" },
+ { bfd_mach_arm_3, "arm720" },
+ { bfd_mach_arm_4T, "arm720t" },
+ { bfd_mach_arm_4T, "arm740t" },
+ { bfd_mach_arm_3, "arm7500" },
+ { bfd_mach_arm_3, "arm7500fe" },
+ { bfd_mach_arm_3, "arm7d" },
+ { bfd_mach_arm_3, "arm7di" },
+ { bfd_mach_arm_3M, "arm7dm" },
+ { bfd_mach_arm_3M, "arm7dmi" },
+ { bfd_mach_arm_4T, "arm7t" },
+ { bfd_mach_arm_4T, "arm7tdmi" },
+ { bfd_mach_arm_4T, "arm7tdmi-s" },
+ { bfd_mach_arm_3M, "arm7m" },
+ { bfd_mach_arm_4, "arm8" },
+ { bfd_mach_arm_4, "arm810" },
+ { bfd_mach_arm_4, "arm9" },
+ { bfd_mach_arm_4T, "arm920" },
+ { bfd_mach_arm_4T, "arm920t" },
+ { bfd_mach_arm_4T, "arm922t" },
+ { bfd_mach_arm_5TEJ, "arm926ej" },
+ { bfd_mach_arm_5TEJ, "arm926ejs" },
+ { bfd_mach_arm_5TEJ, "arm926ej-s" },
+ { bfd_mach_arm_4T, "arm940t" },
+ { bfd_mach_arm_5TE, "arm946e" },
+ { bfd_mach_arm_5TE, "arm946e-r0" },
+ { bfd_mach_arm_5TE, "arm946e-s" },
+ { bfd_mach_arm_5TE, "arm966e" },
+ { bfd_mach_arm_5TE, "arm966e-r0" },
+ { bfd_mach_arm_5TE, "arm966e-s" },
+ { bfd_mach_arm_5TE, "arm968e-s" },
+ { bfd_mach_arm_5TE, "arm9e" },
+ { bfd_mach_arm_5TE, "arm9e-r0" },
+ { bfd_mach_arm_4T, "arm9tdmi" },
+ { bfd_mach_arm_5TE, "arm1020" },
+ { bfd_mach_arm_5T, "arm1020t" },
+ { bfd_mach_arm_5TE, "arm1020e" },
+ { bfd_mach_arm_5TE, "arm1022e" },
+ { bfd_mach_arm_5TEJ, "arm1026ejs" },
+ { bfd_mach_arm_5TEJ, "arm1026ej-s" },
+ { bfd_mach_arm_5TE, "arm10e" },
+ { bfd_mach_arm_5T, "arm10t" },
+ { bfd_mach_arm_5T, "arm10tdmi" },
+ { bfd_mach_arm_6, "arm1136j-s" },
+ { bfd_mach_arm_6, "arm1136js" },
+ { bfd_mach_arm_6, "arm1136jf-s" },
+ { bfd_mach_arm_6, "arm1136jfs" },
+ { bfd_mach_arm_6KZ, "arm1176jz-s" },
+ { bfd_mach_arm_6KZ, "arm1176jzf-s" },
+ { bfd_mach_arm_6T2, "arm1156t2-s" },
+ { bfd_mach_arm_6T2, "arm1156t2f-s" },
+ { bfd_mach_arm_7, "cortex-a5" },
+ { bfd_mach_arm_7, "cortex-a7" },
+ { bfd_mach_arm_7, "cortex-a8" },
+ { bfd_mach_arm_7, "cortex-a9" },
+ { bfd_mach_arm_7, "cortex-a12" },
+ { bfd_mach_arm_7, "cortex-a15" },
+ { bfd_mach_arm_7, "cortex-a17" },
+ { bfd_mach_arm_8, "cortex-a32" },
+ { bfd_mach_arm_8, "cortex-a35" },
+ { bfd_mach_arm_8, "cortex-a53" },
+ { bfd_mach_arm_8, "cortex-a55" },
+ { bfd_mach_arm_8, "cortex-a57" },
+ { bfd_mach_arm_8, "cortex-a72" },
+ { bfd_mach_arm_8, "cortex-a73" },
+ { bfd_mach_arm_8, "cortex-a75" },
+ { bfd_mach_arm_8, "cortex-a76" },
+ { bfd_mach_arm_6SM, "cortex-m0" },
+ { bfd_mach_arm_6SM, "cortex-m0plus" },
+ { bfd_mach_arm_6SM, "cortex-m1" },
+ { bfd_mach_arm_8M_BASE, "cortex-m23" },
+ { bfd_mach_arm_7, "cortex-m3" },
+ { bfd_mach_arm_8M_MAIN, "cortex-m33" },
+ { bfd_mach_arm_7EM, "cortex-m4" },
+ { bfd_mach_arm_7EM, "cortex-m7" },
+ { bfd_mach_arm_7, "cortex-r4" },
+ { bfd_mach_arm_7, "cortex-r4f" },
+ { bfd_mach_arm_7, "cortex-r5" },
+ { bfd_mach_arm_8R, "cortex-r52" },
+ { bfd_mach_arm_7, "cortex-r7" },
+ { bfd_mach_arm_7, "cortex-r8" },
+ { bfd_mach_arm_4T, "ep9312" },
+ { bfd_mach_arm_8, "exynos-m1" },
+ { bfd_mach_arm_4, "fa526" },
+ { bfd_mach_arm_5TE, "fa606te" },
+ { bfd_mach_arm_5TE, "fa616te" },
+ { bfd_mach_arm_4, "fa626" },
+ { bfd_mach_arm_5TE, "fa626te" },
+ { bfd_mach_arm_5TE, "fa726te" },
+ { bfd_mach_arm_5TE, "fmp626" },
+ { bfd_mach_arm_XScale, "i80200" },
+ { bfd_mach_arm_7, "marvell-pj4" },
+ { bfd_mach_arm_7, "marvell-whitney" },
+ { bfd_mach_arm_6K, "mpcore" },
+ { bfd_mach_arm_6K, "mpcorenovfp" },
+ { bfd_mach_arm_4, "sa1" },
+ { bfd_mach_arm_4, "strongarm" },
+ { bfd_mach_arm_4, "strongarm1" },
+ { bfd_mach_arm_4, "strongarm110" },
+ { bfd_mach_arm_4, "strongarm1100" },
+ { bfd_mach_arm_4, "strongarm1110" },
+ { bfd_mach_arm_XScale, "xscale" },
+ { bfd_mach_arm_8, "xgene1" },
+ { bfd_mach_arm_8, "xgene2" },
+ { bfd_mach_arm_ep9312, "ep9312" },
+ { bfd_mach_arm_iWMMXt, "iwmmxt" },
+ { bfd_mach_arm_iWMMXt2, "iwmmxt2" },
+ { bfd_mach_arm_unknown, "arm_any" }
};
static bfd_boolean
@@ -335,6 +428,19 @@ bfd_arm_update_notes (bfd *abfd, const char *note_section)
case bfd_mach_arm_ep9312: expected = "ep9312"; break;
case bfd_mach_arm_iWMMXt: expected = "iWMMXt"; break;
case bfd_mach_arm_iWMMXt2: expected = "iWMMXt2"; break;
+ case bfd_mach_arm_5TEJ: expected = "armv5tej"; break;
+ case bfd_mach_arm_6: expected = "armv6"; break;
+ case bfd_mach_arm_6KZ: expected = "armv6kz"; break;
+ case bfd_mach_arm_6T2: expected = "armv6t2"; break;
+ case bfd_mach_arm_6K: expected = "armv6k"; break;
+ case bfd_mach_arm_7: expected = "armv7"; break;
+ case bfd_mach_arm_6M: expected = "armv6-m"; break;
+ case bfd_mach_arm_6SM: expected = "armv6s-m"; break;
+ case bfd_mach_arm_7EM: expected = "armv7e-m"; break;
+ case bfd_mach_arm_8: expected = "armv8-a"; break;
+ case bfd_mach_arm_8R: expected = "armv8-r"; break;
+ case bfd_mach_arm_8M_BASE: expected = "armv8-m.base"; break;
+ case bfd_mach_arm_8M_MAIN: expected = "armv8-m.main"; break;
}
if (strcmp (arch_string, expected) != 0)
@@ -371,20 +477,33 @@ static struct
}
architectures[] =
{
- { "armv2", bfd_mach_arm_2 },
- { "armv2a", bfd_mach_arm_2a },
- { "armv3", bfd_mach_arm_3 },
- { "armv3M", bfd_mach_arm_3M },
- { "armv4", bfd_mach_arm_4 },
- { "armv4t", bfd_mach_arm_4T },
- { "armv5", bfd_mach_arm_5 },
- { "armv5t", bfd_mach_arm_5T },
- { "armv5te", bfd_mach_arm_5TE },
- { "XScale", bfd_mach_arm_XScale },
- { "ep9312", bfd_mach_arm_ep9312 },
- { "iWMMXt", bfd_mach_arm_iWMMXt },
- { "iWMMXt2", bfd_mach_arm_iWMMXt2 },
- { "arm_any", bfd_mach_arm_unknown }
+ { "armv2", bfd_mach_arm_2 },
+ { "armv2a", bfd_mach_arm_2a },
+ { "armv3", bfd_mach_arm_3 },
+ { "armv3M", bfd_mach_arm_3M },
+ { "armv4", bfd_mach_arm_4 },
+ { "armv4t", bfd_mach_arm_4T },
+ { "armv5", bfd_mach_arm_5 },
+ { "armv5t", bfd_mach_arm_5T },
+ { "armv5te", bfd_mach_arm_5TE },
+ { "XScale", bfd_mach_arm_XScale },
+ { "ep9312", bfd_mach_arm_ep9312 },
+ { "iWMMXt", bfd_mach_arm_iWMMXt },
+ { "iWMMXt2", bfd_mach_arm_iWMMXt2 },
+ { "armv5tej", bfd_mach_arm_5TEJ },
+ { "armv6", bfd_mach_arm_6 },
+ { "armv6kz", bfd_mach_arm_6KZ },
+ { "armv6t2", bfd_mach_arm_6T2 },
+ { "armv6k", bfd_mach_arm_6K },
+ { "armv7", bfd_mach_arm_7 },
+ { "armv6-m", bfd_mach_arm_6M },
+ { "armv6s-m", bfd_mach_arm_6SM },
+ { "armv7e-m", bfd_mach_arm_7EM },
+ { "armv8-a", bfd_mach_arm_8 },
+ { "armv8-r", bfd_mach_arm_8R },
+ { "armv8-m.base", bfd_mach_arm_8M_BASE },
+ { "armv8-m.main", bfd_mach_arm_8M_MAIN },
+ { "arm_any", bfd_mach_arm_unknown }
};
/* Extract the machine number stored in a note section. */
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 80fb0c3b5e..0caf2634be 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -204,6 +204,7 @@ static const arm_feature_set arm_ext_v5j = ARM_FEATURE_CORE_LOW (ARM_EXT_V5J);
static const arm_feature_set arm_ext_v6 = ARM_FEATURE_CORE_LOW (ARM_EXT_V6);
static const arm_feature_set arm_ext_v6k = ARM_FEATURE_CORE_LOW (ARM_EXT_V6K);
static const arm_feature_set arm_ext_v6t2 = ARM_FEATURE_CORE_LOW (ARM_EXT_V6T2);
+static const arm_feature_set arm_ext_v6m = ARM_FEATURE_CORE_LOW (ARM_EXT_V6M);
static const arm_feature_set arm_ext_v6_notm =
ARM_FEATURE_CORE_LOW (ARM_EXT_V6_NOTM);
static const arm_feature_set arm_ext_v6_dsp =
@@ -25589,7 +25590,48 @@ md_begin (void)
#endif
/* Record the CPU type as well. */
- if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt2))
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8m))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8m_main))
+ mach = bfd_mach_arm_8M_MAIN;
+ else
+ mach = bfd_mach_arm_8M_BASE;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8))
+ {
+ const arm_feature_set arm_ext_v8a = ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8A);
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8a))
+ mach = bfd_mach_arm_8;
+ else
+ mach = bfd_mach_arm_8R;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v7))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v7m)
+ && ARM_FSET_CPU_SUBSET (arm_ext_dsp, cpu_variant))
+ mach = bfd_mach_arm_7EM;
+ else
+ mach = bfd_mach_arm_7;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6m))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_os))
+ mach = bfd_mach_arm_6SM;
+ else
+ mach = bfd_mach_arm_6M;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6t2))
+ mach = bfd_mach_arm_6T2;
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6k))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_sec))
+ mach = bfd_mach_arm_6KZ;
+ else
+ mach = bfd_mach_arm_6K;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6))
+ mach = bfd_mach_arm_6;
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt2))
mach = bfd_mach_arm_iWMMXt2;
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt))
mach = bfd_mach_arm_iWMMXt;
@@ -25598,7 +25640,12 @@ md_begin (void)
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_maverick))
mach = bfd_mach_arm_ep9312;
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5e))
- mach = bfd_mach_arm_5TE;
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5j))
+ mach = bfd_mach_arm_5TEJ;
+ else
+ mach = bfd_mach_arm_5TE;
+ }
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5))
{
if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v4t))
diff --git a/gas/testsuite/gas/arm/cpu-arm1020.d b/gas/testsuite/gas/arm/cpu-arm1020.d
new file mode 100644
index 0000000000..0c5c62bafa
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020 CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020
+# objdump: -d -marm1020
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1020e.d b/gas/testsuite/gas/arm/cpu-arm1020e.d
new file mode 100644
index 0000000000..eda63605a5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020e CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020e
+# objdump: -d -marm1020e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1020t.d b/gas/testsuite/gas/arm/cpu-arm1020t.d
new file mode 100644
index 0000000000..30323a0984
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020t CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020t
+# objdump: -d -marm1020t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1022e.d b/gas/testsuite/gas/arm/cpu-arm1022e.d
new file mode 100644
index 0000000000..2e6d5ccb0c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1022e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1022e CPU
+# source: nop-asm.s
+# as: -mcpu=arm1022e
+# objdump: -d -marm1022e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1026ej-s.d b/gas/testsuite/gas/arm/cpu-arm1026ej-s.d
new file mode 100644
index 0000000000..2e9b375945
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1026ej-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1026ej-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1026ej-s
+# objdump: -d -marm1026ej-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1026ejs.d b/gas/testsuite/gas/arm/cpu-arm1026ejs.d
new file mode 100644
index 0000000000..354e464a7c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1026ejs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1026ejs CPU
+# source: nop-asm.s
+# as: -mcpu=arm1026ejs
+# objdump: -d -marm1026ejs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10e.d b/gas/testsuite/gas/arm/cpu-arm10e.d
new file mode 100644
index 0000000000..079728ac8c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10e CPU
+# source: nop-asm.s
+# as: -mcpu=arm10e
+# objdump: -d -marm10e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10t.d b/gas/testsuite/gas/arm/cpu-arm10t.d
new file mode 100644
index 0000000000..0f6ae4cf2c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10t CPU
+# source: nop-asm.s
+# as: -mcpu=arm10t
+# objdump: -d -marm10t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10tdmi.d b/gas/testsuite/gas/arm/cpu-arm10tdmi.d
new file mode 100644
index 0000000000..568f6a290f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm10tdmi
+# objdump: -d -marm10tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136j-s.d b/gas/testsuite/gas/arm/cpu-arm1136j-s.d
new file mode 100644
index 0000000000..efa8622372
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136j-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136j-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136j-s
+# objdump: -d -marm1136j-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136jf-s.d b/gas/testsuite/gas/arm/cpu-arm1136jf-s.d
new file mode 100644
index 0000000000..fcd9c24196
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136jf-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136jf-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136jf-s
+# objdump: -d -marm1136jf-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136jfs.d b/gas/testsuite/gas/arm/cpu-arm1136jfs.d
new file mode 100644
index 0000000000..0331e2b3ef
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136jfs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136jfs CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136jfs
+# objdump: -d -marm1136jfs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136js.d b/gas/testsuite/gas/arm/cpu-arm1136js.d
new file mode 100644
index 0000000000..6f70575ae1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136js.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136js CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136js
+# objdump: -d -marm1136js
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1156t2-s.d b/gas/testsuite/gas/arm/cpu-arm1156t2-s.d
new file mode 100644
index 0000000000..a415f66637
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1156t2-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1156t2-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1156t2-s
+# objdump: -d -marm1156t2-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d b/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
new file mode 100644
index 0000000000..7f876759e8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1156t2f-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1156t2f-s
+# objdump: -d -marm1156t2f-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1176jz-s.d b/gas/testsuite/gas/arm/cpu-arm1176jz-s.d
new file mode 100644
index 0000000000..3df745f902
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1176jz-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1176jz-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1176jz-s
+# objdump: -d -marm1176jz-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d b/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
new file mode 100644
index 0000000000..09b9528e8c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1176jzf-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1176jzf-s
+# objdump: -d -marm1176jzf-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm2.d b/gas/testsuite/gas/arm/cpu-arm2.d
new file mode 100644
index 0000000000..5de8f51da6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm2 CPU
+# source: nop-asm.s
+# as: -mcpu=arm2
+# objdump: -d -marm2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm250.d b/gas/testsuite/gas/arm/cpu-arm250.d
new file mode 100644
index 0000000000..56aa78bd3d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm250.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm250 CPU
+# source: nop-asm.s
+# as: -mcpu=arm250
+# objdump: -d -marm250
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm3.d b/gas/testsuite/gas/arm/cpu-arm3.d
new file mode 100644
index 0000000000..d6c035aa29
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm3.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm3 CPU
+# source: nop-asm.s
+# as: -mcpu=arm3
+# objdump: -d -marm3
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm6.d b/gas/testsuite/gas/arm/cpu-arm6.d
new file mode 100644
index 0000000000..14c407d8fd
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm6.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm6 CPU
+# source: nop-asm.s
+# as: -mcpu=arm6
+# objdump: -d -marm6
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm60.d b/gas/testsuite/gas/arm/cpu-arm60.d
new file mode 100644
index 0000000000..0eb8f87bd9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm60.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm60 CPU
+# source: nop-asm.s
+# as: -mcpu=arm60
+# objdump: -d -marm60
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm600.d b/gas/testsuite/gas/arm/cpu-arm600.d
new file mode 100644
index 0000000000..1f7b553ef9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm600.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm600 CPU
+# source: nop-asm.s
+# as: -mcpu=arm600
+# objdump: -d -marm600
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm610.d b/gas/testsuite/gas/arm/cpu-arm610.d
new file mode 100644
index 0000000000..2e62bae872
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm610.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm610 CPU
+# source: nop-asm.s
+# as: -mcpu=arm610
+# objdump: -d -marm610
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm620.d b/gas/testsuite/gas/arm/cpu-arm620.d
new file mode 100644
index 0000000000..1bad1f5ec7
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm620.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm620 CPU
+# source: nop-asm.s
+# as: -mcpu=arm620
+# objdump: -d -marm620
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7.d b/gas/testsuite/gas/arm/cpu-arm7.d
new file mode 100644
index 0000000000..070f9c8cb4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7
+# objdump: -d -marm7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm70.d b/gas/testsuite/gas/arm/cpu-arm70.d
new file mode 100644
index 0000000000..8398de25d6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm70.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm70 CPU
+# source: nop-asm.s
+# as: -mcpu=arm70
+# objdump: -d -marm70
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm700.d b/gas/testsuite/gas/arm/cpu-arm700.d
new file mode 100644
index 0000000000..f75401d305
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm700.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm700 CPU
+# source: nop-asm.s
+# as: -mcpu=arm700
+# objdump: -d -marm700
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm700i.d b/gas/testsuite/gas/arm/cpu-arm700i.d
new file mode 100644
index 0000000000..75f1afb77f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm700i.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm700i CPU
+# source: nop-asm.s
+# as: -mcpu=arm700i
+# objdump: -d -marm700i
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710.d b/gas/testsuite/gas/arm/cpu-arm710.d
new file mode 100644
index 0000000000..a0c1922b8f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710 CPU
+# source: nop-asm.s
+# as: -mcpu=arm710
+# objdump: -d -marm710
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7100.d b/gas/testsuite/gas/arm/cpu-arm7100.d
new file mode 100644
index 0000000000..2d1ab20990
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7100.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7100 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7100
+# objdump: -d -marm7100
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710c.d b/gas/testsuite/gas/arm/cpu-arm710c.d
new file mode 100644
index 0000000000..b2a9e86a43
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710c.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710c CPU
+# source: nop-asm.s
+# as: -mcpu=arm710c
+# objdump: -d -marm710c
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710t.d b/gas/testsuite/gas/arm/cpu-arm710t.d
new file mode 100644
index 0000000000..d7bef289e6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710t CPU
+# source: nop-asm.s
+# as: -mcpu=arm710t
+# objdump: -d -marm710t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm720.d b/gas/testsuite/gas/arm/cpu-arm720.d
new file mode 100644
index 0000000000..4c58203273
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm720.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm720 CPU
+# source: nop-asm.s
+# as: -mcpu=arm720
+# objdump: -d -marm720
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm720t.d b/gas/testsuite/gas/arm/cpu-arm720t.d
new file mode 100644
index 0000000000..75e00f8379
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm720t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm720t CPU
+# source: nop-asm.s
+# as: -mcpu=arm720t
+# objdump: -d -marm720t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm740t.d b/gas/testsuite/gas/arm/cpu-arm740t.d
new file mode 100644
index 0000000000..e202dccb58
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm740t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm740t CPU
+# source: nop-asm.s
+# as: -mcpu=arm740t
+# objdump: -d -marm740t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7500.d b/gas/testsuite/gas/arm/cpu-arm7500.d
new file mode 100644
index 0000000000..07e6498f0b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7500.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7500 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7500
+# objdump: -d -marm7500
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7500fe.d b/gas/testsuite/gas/arm/cpu-arm7500fe.d
new file mode 100644
index 0000000000..3a99de97d9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7500fe.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7500fe CPU
+# source: nop-asm.s
+# as: -mcpu=arm7500fe
+# objdump: -d -marm7500fe
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7d.d b/gas/testsuite/gas/arm/cpu-arm7d.d
new file mode 100644
index 0000000000..d93bc8be0d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7d.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7d CPU
+# source: nop-asm.s
+# as: -mcpu=arm7d
+# objdump: -d -marm7d
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7di.d b/gas/testsuite/gas/arm/cpu-arm7di.d
new file mode 100644
index 0000000000..31c541a2c7
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7di.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7di CPU
+# source: nop-asm.s
+# as: -mcpu=arm7di
+# objdump: -d -marm7di
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7dm.d b/gas/testsuite/gas/arm/cpu-arm7dm.d
new file mode 100644
index 0000000000..cc5e3619a4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7dm.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7dm CPU
+# source: nop-asm.s
+# as: -mcpu=arm7dm
+# objdump: -d -marm7dm
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7dmi.d b/gas/testsuite/gas/arm/cpu-arm7dmi.d
new file mode 100644
index 0000000000..569b4603b9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7dmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7dmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm7dmi
+# objdump: -d -marm7dmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7m.d b/gas/testsuite/gas/arm/cpu-arm7m.d
new file mode 100644
index 0000000000..eff3eb3bff
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7m.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7m CPU
+# source: nop-asm.s
+# as: -mcpu=arm7m
+# objdump: -d -marm7m
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7t.d b/gas/testsuite/gas/arm/cpu-arm7t.d
new file mode 100644
index 0000000000..822c16ce70
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7t CPU
+# source: nop-asm.s
+# as: -mcpu=arm7t
+# objdump: -d -marm7t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d b/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
new file mode 100644
index 0000000000..65aea8ab00
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7tdmi-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm7tdmi-s
+# objdump: -d -marm7tdmi-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7tdmi.d b/gas/testsuite/gas/arm/cpu-arm7tdmi.d
new file mode 100644
index 0000000000..09209a35c4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm7tdmi
+# objdump: -d -marm7tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm8.d b/gas/testsuite/gas/arm/cpu-arm8.d
new file mode 100644
index 0000000000..af13c2cce6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm8 CPU
+# source: nop-asm.s
+# as: -mcpu=arm8
+# objdump: -d -marm8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm810.d b/gas/testsuite/gas/arm/cpu-arm810.d
new file mode 100644
index 0000000000..842d2746b8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm810.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm810 CPU
+# source: nop-asm.s
+# as: -mcpu=arm810
+# objdump: -d -marm810
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9.d b/gas/testsuite/gas/arm/cpu-arm9.d
new file mode 100644
index 0000000000..9ae98be98e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9 CPU
+# source: nop-asm.s
+# as: -mcpu=arm9
+# objdump: -d -marm9
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm920.d b/gas/testsuite/gas/arm/cpu-arm920.d
new file mode 100644
index 0000000000..15835c4b19
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm920.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm920 CPU
+# source: nop-asm.s
+# as: -mcpu=arm920
+# objdump: -d -marm920
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm920t.d b/gas/testsuite/gas/arm/cpu-arm920t.d
new file mode 100644
index 0000000000..be2d591f8a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm920t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm920t CPU
+# source: nop-asm.s
+# as: -mcpu=arm920t
+# objdump: -d -marm920t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm922t.d b/gas/testsuite/gas/arm/cpu-arm922t.d
new file mode 100644
index 0000000000..3112bc8d33
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm922t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm922t CPU
+# source: nop-asm.s
+# as: -mcpu=arm922t
+# objdump: -d -marm922t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ej-s.d b/gas/testsuite/gas/arm/cpu-arm926ej-s.d
new file mode 100644
index 0000000000..0d1e657eae
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ej-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ej-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ej-s
+# objdump: -d -marm926ej-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ej.d b/gas/testsuite/gas/arm/cpu-arm926ej.d
new file mode 100644
index 0000000000..9ef27e37f5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ej.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ej CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ej
+# objdump: -d -marm926ej
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ejs.d b/gas/testsuite/gas/arm/cpu-arm926ejs.d
new file mode 100644
index 0000000000..af6c3f6e7d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ejs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ejs CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ejs
+# objdump: -d -marm926ejs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm940t.d b/gas/testsuite/gas/arm/cpu-arm940t.d
new file mode 100644
index 0000000000..4395a9274f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm940t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm940t CPU
+# source: nop-asm.s
+# as: -mcpu=arm940t
+# objdump: -d -marm940t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e-r0.d b/gas/testsuite/gas/arm/cpu-arm946e-r0.d
new file mode 100644
index 0000000000..c5e81b301a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e-r0
+# objdump: -d -marm946e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e-s.d b/gas/testsuite/gas/arm/cpu-arm946e-s.d
new file mode 100644
index 0000000000..ba4089a57a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e-s
+# objdump: -d -marm946e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e.d b/gas/testsuite/gas/arm/cpu-arm946e.d
new file mode 100644
index 0000000000..4ef1b42366
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e
+# objdump: -d -marm946e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e-r0.d b/gas/testsuite/gas/arm/cpu-arm966e-r0.d
new file mode 100644
index 0000000000..86986e3cf8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e-r0
+# objdump: -d -marm966e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e-s.d b/gas/testsuite/gas/arm/cpu-arm966e-s.d
new file mode 100644
index 0000000000..08b2e5afe8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e-s
+# objdump: -d -marm966e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e.d b/gas/testsuite/gas/arm/cpu-arm966e.d
new file mode 100644
index 0000000000..281bafbfcc
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e
+# objdump: -d -marm966e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm968e-s.d b/gas/testsuite/gas/arm/cpu-arm968e-s.d
new file mode 100644
index 0000000000..78eea9e375
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm968e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm968e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm968e-s
+# objdump: -d -marm968e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9e-r0.d b/gas/testsuite/gas/arm/cpu-arm9e-r0.d
new file mode 100644
index 0000000000..69434cafa1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm9e-r0
+# objdump: -d -marm9e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9e.d b/gas/testsuite/gas/arm/cpu-arm9e.d
new file mode 100644
index 0000000000..d6e5e6f51d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9e CPU
+# source: nop-asm.s
+# as: -mcpu=arm9e
+# objdump: -d -marm9e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9tdmi.d b/gas/testsuite/gas/arm/cpu-arm9tdmi.d
new file mode 100644
index 0000000000..94fdfc7564
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm9tdmi
+# objdump: -d -marm9tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm_any.d b/gas/testsuite/gas/arm/cpu-arm_any.d
new file mode 100644
index 0000000000..0e3d11e983
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm_any.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm2 CPU
+# source: nop-asm.s
+# as: -mcpu=all
+# objdump: -d -marm_any
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a12.d b/gas/testsuite/gas/arm/cpu-cortex-a12.d
new file mode 100644
index 0000000000..55c27d5f1a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a12.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a12 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a12
+# objdump: -d -mcortex-a12
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a15.d b/gas/testsuite/gas/arm/cpu-cortex-a15.d
new file mode 100644
index 0000000000..9a8272e67c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a15.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a15 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a15
+# objdump: -d -mcortex-a15
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a17.d b/gas/testsuite/gas/arm/cpu-cortex-a17.d
new file mode 100644
index 0000000000..490167e88b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a17.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a17 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a17
+# objdump: -d -mcortex-a17
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a32.d b/gas/testsuite/gas/arm/cpu-cortex-a32.d
new file mode 100644
index 0000000000..2e8895452b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a32.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a32 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a32
+# objdump: -d -mcortex-a32
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a35.d b/gas/testsuite/gas/arm/cpu-cortex-a35.d
new file mode 100644
index 0000000000..770915f25d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a35.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a35 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a35
+# objdump: -d -mcortex-a35
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a5.d b/gas/testsuite/gas/arm/cpu-cortex-a5.d
new file mode 100644
index 0000000000..0da6abbb80
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a5.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a5 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a5
+# objdump: -d -mcortex-a5
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a53.d b/gas/testsuite/gas/arm/cpu-cortex-a53.d
new file mode 100644
index 0000000000..1568e75956
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a53.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a53 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a53
+# objdump: -d -mcortex-a53
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a55.d b/gas/testsuite/gas/arm/cpu-cortex-a55.d
new file mode 100644
index 0000000000..9f7aa86c4d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a55.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a55 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a55
+# objdump: -d -mcortex-a55
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a57.d b/gas/testsuite/gas/arm/cpu-cortex-a57.d
new file mode 100644
index 0000000000..750bab2df6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a57.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a57 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a57
+# objdump: -d -mcortex-a57
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a7.d b/gas/testsuite/gas/arm/cpu-cortex-a7.d
new file mode 100644
index 0000000000..65c016ab0f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a7
+# objdump: -d -mcortex-a7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a72.d b/gas/testsuite/gas/arm/cpu-cortex-a72.d
new file mode 100644
index 0000000000..7784421f30
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a72.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a72 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a72
+# objdump: -d -mcortex-a72
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a73.d b/gas/testsuite/gas/arm/cpu-cortex-a73.d
new file mode 100644
index 0000000000..62dc3681d2
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a73.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a73 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a73
+# objdump: -d -mcortex-a73
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a75.d b/gas/testsuite/gas/arm/cpu-cortex-a75.d
new file mode 100644
index 0000000000..ca90cd6dd4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a75.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a75 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a75
+# objdump: -d -mcortex-a75
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a76.d b/gas/testsuite/gas/arm/cpu-cortex-a76.d
new file mode 100644
index 0000000000..f85de36037
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a76.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a76 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a76
+# objdump: -d -mcortex-a76
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a8.d b/gas/testsuite/gas/arm/cpu-cortex-a8.d
new file mode 100644
index 0000000000..6348206bfe
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a8 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a8
+# objdump: -d -mcortex-a8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a9.d b/gas/testsuite/gas/arm/cpu-cortex-a9.d
new file mode 100644
index 0000000000..ec5c692027
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a9.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a9 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a9
+# objdump: -d -mcortex-a9
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m0.d b/gas/testsuite/gas/arm/cpu-cortex-m0.d
new file mode 100644
index 0000000000..3a426b74a0
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m0 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m0
+# objdump: -d -M force-thumb -mcortex-m0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m0plus.d b/gas/testsuite/gas/arm/cpu-cortex-m0plus.d
new file mode 100644
index 0000000000..622904ad17
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m0plus.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m0plus CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m0plus
+# objdump: -d -M force-thumb -mcortex-m0plus
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m1.d b/gas/testsuite/gas/arm/cpu-cortex-m1.d
new file mode 100644
index 0000000000..583b44657d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m1 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m1
+# objdump: -d -M force-thumb -mcortex-m1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m23.d b/gas/testsuite/gas/arm/cpu-cortex-m23.d
new file mode 100644
index 0000000000..dcac99cd27
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m23.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m23 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m23
+# objdump: -d -M force-thumb -mcortex-m23
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m3.d b/gas/testsuite/gas/arm/cpu-cortex-m3.d
new file mode 100644
index 0000000000..5566ecd63c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m3.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m3 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m3
+# objdump: -d -M force-thumb -mcortex-m3
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m33.d b/gas/testsuite/gas/arm/cpu-cortex-m33.d
new file mode 100644
index 0000000000..30d3ac0836
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m33.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m33 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m33
+# objdump: -d -M force-thumb -mcortex-m33
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m4.d b/gas/testsuite/gas/arm/cpu-cortex-m4.d
new file mode 100644
index 0000000000..ebbd5a9666
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m4 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m4
+# objdump: -d -M force-thumb -mcortex-m4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m7.d b/gas/testsuite/gas/arm/cpu-cortex-m7.d
new file mode 100644
index 0000000000..411b40dbdb
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m7
+# objdump: -d -M force-thumb -mcortex-m7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r4.d b/gas/testsuite/gas/arm/cpu-cortex-r4.d
new file mode 100644
index 0000000000..448ae7750b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r4 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r4
+# objdump: -d -mcortex-r4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r4f.d b/gas/testsuite/gas/arm/cpu-cortex-r4f.d
new file mode 100644
index 0000000000..0a5a41d202
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r4f.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r4f CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r4f
+# objdump: -d -mcortex-r4f
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r5.d b/gas/testsuite/gas/arm/cpu-cortex-r5.d
new file mode 100644
index 0000000000..a4bce05cb3
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r5.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r5 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r5
+# objdump: -d -mcortex-r5
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r52.d b/gas/testsuite/gas/arm/cpu-cortex-r52.d
new file mode 100644
index 0000000000..f7f3c9897e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r52.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r52 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r52
+# objdump: -d -mcortex-r52
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r7.d b/gas/testsuite/gas/arm/cpu-cortex-r7.d
new file mode 100644
index 0000000000..bacfaacc8a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r7
+# objdump: -d -mcortex-r7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r8.d b/gas/testsuite/gas/arm/cpu-cortex-r8.d
new file mode 100644
index 0000000000..c43740b016
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r8 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r8
+# objdump: -d -mcortex-r8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-ep9312.d b/gas/testsuite/gas/arm/cpu-ep9312.d
new file mode 100644
index 0000000000..dfa0de7bf1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-ep9312.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for ep9312 CPU
+# source: nop-asm.s
+# as: -mcpu=ep9312
+# objdump: -d -mep9312
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-exynos-m1.d b/gas/testsuite/gas/arm/cpu-exynos-m1.d
new file mode 100644
index 0000000000..f62cc721a9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-exynos-m1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for exynos-m1 CPU
+# source: nop-asm.s
+# as: -mcpu=exynos-m1
+# objdump: -d -mexynos-m1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa526.d b/gas/testsuite/gas/arm/cpu-fa526.d
new file mode 100644
index 0000000000..ab2982b50a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa526.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa526 CPU
+# source: nop-asm.s
+# as: -mcpu=fa526
+# objdump: -d -mfa526
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa606te.d b/gas/testsuite/gas/arm/cpu-fa606te.d
new file mode 100644
index 0000000000..8f175041de
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa606te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa606te CPU
+# source: nop-asm.s
+# as: -mcpu=fa606te
+# objdump: -d -mfa606te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa616te.d b/gas/testsuite/gas/arm/cpu-fa616te.d
new file mode 100644
index 0000000000..164f6c715a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa616te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa616te CPU
+# source: nop-asm.s
+# as: -mcpu=fa616te
+# objdump: -d -mfa616te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa626.d b/gas/testsuite/gas/arm/cpu-fa626.d
new file mode 100644
index 0000000000..7cd5fd690a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa626.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa626 CPU
+# source: nop-asm.s
+# as: -mcpu=fa626
+# objdump: -d -mfa626
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa626te.d b/gas/testsuite/gas/arm/cpu-fa626te.d
new file mode 100644
index 0000000000..363fc407eb
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa626te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa626te CPU
+# source: nop-asm.s
+# as: -mcpu=fa626te
+# objdump: -d -mfa626te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa726te.d b/gas/testsuite/gas/arm/cpu-fa726te.d
new file mode 100644
index 0000000000..eb5d8d6692
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa726te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa726te CPU
+# source: nop-asm.s
+# as: -mcpu=fa726te
+# objdump: -d -mfa726te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fmp626.d b/gas/testsuite/gas/arm/cpu-fmp626.d
new file mode 100644
index 0000000000..8a2cc61224
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fmp626.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fmp626 CPU
+# source: nop-asm.s
+# as: -mcpu=fmp626
+# objdump: -d -mfmp626
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-i80200.d b/gas/testsuite/gas/arm/cpu-i80200.d
new file mode 100644
index 0000000000..d610d4daae
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-i80200.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for i80200 CPU
+# source: nop-asm.s
+# as: -mcpu=i80200
+# objdump: -d -mi80200
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-iwmmxt.d b/gas/testsuite/gas/arm/cpu-iwmmxt.d
new file mode 100644
index 0000000000..a1420ab196
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-iwmmxt.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for iwmmxt CPU
+# source: nop-asm.s
+# as: -mcpu=iwmmxt
+# objdump: -d -miwmmxt
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-iwmmxt2.d b/gas/testsuite/gas/arm/cpu-iwmmxt2.d
new file mode 100644
index 0000000000..f973ae5997
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-iwmmxt2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for iwmmxt2 CPU
+# source: nop-asm.s
+# as: -mcpu=iwmmxt2
+# objdump: -d -miwmmxt2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-marvell-pj4.d b/gas/testsuite/gas/arm/cpu-marvell-pj4.d
new file mode 100644
index 0000000000..72e0fb4e26
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-marvell-pj4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for marvell-pj4 CPU
+# source: nop-asm.s
+# as: -mcpu=marvell-pj4
+# objdump: -d -mmarvell-pj4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-marvell-whitney.d b/gas/testsuite/gas/arm/cpu-marvell-whitney.d
new file mode 100644
index 0000000000..06aa7c6db9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-marvell-whitney.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for marvell-whitney CPU
+# source: nop-asm.s
+# as: -mcpu=marvell-whitney
+# objdump: -d -mmarvell-whitney
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-mpcore.d b/gas/testsuite/gas/arm/cpu-mpcore.d
new file mode 100644
index 0000000000..d5490f39de
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-mpcore.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for mpcore CPU
+# source: nop-asm.s
+# as: -mcpu=mpcore
+# objdump: -d -mmpcore
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-mpcorenovfp.d b/gas/testsuite/gas/arm/cpu-mpcorenovfp.d
new file mode 100644
index 0000000000..249d4175dd
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-mpcorenovfp.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for mpcorenovfp CPU
+# source: nop-asm.s
+# as: -mcpu=mpcorenovfp
+# objdump: -d -mmpcorenovfp
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-sa1.d b/gas/testsuite/gas/arm/cpu-sa1.d
new file mode 100644
index 0000000000..1163996410
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-sa1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for sa1 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1
+# objdump: -d -msa1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm.d b/gas/testsuite/gas/arm/cpu-strongarm.d
new file mode 100644
index 0000000000..fc079b1cab
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm
+# objdump: -d -mstrongarm
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1.d b/gas/testsuite/gas/arm/cpu-strongarm1.d
new file mode 100644
index 0000000000..9d8d5c470f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1
+# objdump: -d -mstrongarm1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm110.d b/gas/testsuite/gas/arm/cpu-strongarm110.d
new file mode 100644
index 0000000000..4955884dd5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm110.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm110 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm110
+# objdump: -d -mstrongarm110
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1100.d b/gas/testsuite/gas/arm/cpu-strongarm1100.d
new file mode 100644
index 0000000000..c0bcba2a6e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1100.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1100 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1100
+# objdump: -d -mstrongarm1100
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1110.d b/gas/testsuite/gas/arm/cpu-strongarm1110.d
new file mode 100644
index 0000000000..86b87c6b08
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1110.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1110 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1110
+# objdump: -d -mstrongarm1110
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xgene1.d b/gas/testsuite/gas/arm/cpu-xgene1.d
new file mode 100644
index 0000000000..210527688f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xgene1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xgene1 CPU
+# source: nop-asm.s
+# as: -mcpu=xgene1
+# objdump: -d -mxgene1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xgene2.d b/gas/testsuite/gas/arm/cpu-xgene2.d
new file mode 100644
index 0000000000..3a8f5ebef8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xgene2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xgene2 CPU
+# source: nop-asm.s
+# as: -mcpu=xgene2
+# objdump: -d -mxgene2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xscale.d b/gas/testsuite/gas/arm/cpu-xscale.d
new file mode 100644
index 0000000000..b141f58e44
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xscale.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xscale CPU
+# source: nop-asm.s
+# as: -mcpu=xscale
+# objdump: -d -mxscale
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/nop-asm.s b/gas/testsuite/gas/arm/nop-asm.s
new file mode 100644
index 0000000000..c27745a58f
--- /dev/null
+++ b/gas/testsuite/gas/arm/nop-asm.s
@@ -0,0 +1 @@
+nop
diff --git a/gas/testsuite/gas/arm/note-march-armv2.d b/gas/testsuite/gas/arm/note-march-armv2.d
new file mode 100644
index 0000000000..f7af35a929
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2.d
@@ -0,0 +1,13 @@
+# name: armv2 note with -march=armv2
+# source: note-march-armv2.s RUN_OBJCOPY
+# as: -march=armv2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv2
diff --git a/gas/testsuite/gas/arm/note-march-armv2.s b/gas/testsuite/gas/arm/note-march-armv2.s
new file mode 100644
index 0000000000..6c76df7abe
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv2"
diff --git a/gas/testsuite/gas/arm/note-march-armv2a.d b/gas/testsuite/gas/arm/note-march-armv2a.d
new file mode 100644
index 0000000000..443a424718
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2a.d
@@ -0,0 +1,13 @@
+# name: armv2a note with -march=armv2a
+# source: note-march-armv2a.s RUN_OBJCOPY
+# as: -march=armv2a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv2a
diff --git a/gas/testsuite/gas/arm/note-march-armv2a.s b/gas/testsuite/gas/arm/note-march-armv2a.s
new file mode 100644
index 0000000000..abe1b32654
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2a.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv2a"
diff --git a/gas/testsuite/gas/arm/note-march-armv3.d b/gas/testsuite/gas/arm/note-march-armv3.d
new file mode 100644
index 0000000000..d8dd724c52
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3.d
@@ -0,0 +1,13 @@
+# name: armv3 note with -march=armv3
+# source: note-march-armv3.s RUN_OBJCOPY
+# as: -march=armv3
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv3
diff --git a/gas/testsuite/gas/arm/note-march-armv3.s b/gas/testsuite/gas/arm/note-march-armv3.s
new file mode 100644
index 0000000000..cdc513db4a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv3"
diff --git a/gas/testsuite/gas/arm/note-march-armv3m.d b/gas/testsuite/gas/arm/note-march-armv3m.d
new file mode 100644
index 0000000000..5c402c470e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3m.d
@@ -0,0 +1,13 @@
+# name: armv3M note with -march=armv3m
+# source: note-march-armv3m.s RUN_OBJCOPY
+# as: -march=armv3m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv3M
diff --git a/gas/testsuite/gas/arm/note-march-armv3m.s b/gas/testsuite/gas/arm/note-march-armv3m.s
new file mode 100644
index 0000000000..127695ec47
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv3M"
diff --git a/gas/testsuite/gas/arm/note-march-armv4.d b/gas/testsuite/gas/arm/note-march-armv4.d
new file mode 100644
index 0000000000..1882fa3f97
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4.d
@@ -0,0 +1,13 @@
+# name: armv4 note with -march=armv4
+# source: note-march-armv4.s RUN_OBJCOPY
+# as: -march=armv4
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv4
diff --git a/gas/testsuite/gas/arm/note-march-armv4.s b/gas/testsuite/gas/arm/note-march-armv4.s
new file mode 100644
index 0000000000..c403d7bc5a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv4"
diff --git a/gas/testsuite/gas/arm/note-march-armv4t.d b/gas/testsuite/gas/arm/note-march-armv4t.d
new file mode 100644
index 0000000000..bcddcf1793
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4t.d
@@ -0,0 +1,13 @@
+# name: armv4t note with -march=armv4t
+# source: note-march-armv4t.s RUN_OBJCOPY
+# as: -march=armv4t
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv4t
diff --git a/gas/testsuite/gas/arm/note-march-armv4t.s b/gas/testsuite/gas/arm/note-march-armv4t.s
new file mode 100644
index 0000000000..bc90f30a09
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4t.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv4t"
diff --git a/gas/testsuite/gas/arm/note-march-armv5.d b/gas/testsuite/gas/arm/note-march-armv5.d
new file mode 100644
index 0000000000..bf6a81a04d
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5.d
@@ -0,0 +1,13 @@
+# name: armv5 note with -march=armv5
+# source: note-march-armv5.s RUN_OBJCOPY
+# as: -march=armv5
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5
diff --git a/gas/testsuite/gas/arm/note-march-armv5.s b/gas/testsuite/gas/arm/note-march-armv5.s
new file mode 100644
index 0000000000..b77f5653b7
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv5"
diff --git a/gas/testsuite/gas/arm/note-march-armv5t.d b/gas/testsuite/gas/arm/note-march-armv5t.d
new file mode 100644
index 0000000000..2761143091
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5t.d
@@ -0,0 +1,13 @@
+# name: armv5t note with -march=armv5t
+# source: note-march-armv5t.s RUN_OBJCOPY
+# as: -march=armv5t
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5t
diff --git a/gas/testsuite/gas/arm/note-march-armv5t.s b/gas/testsuite/gas/arm/note-march-armv5t.s
new file mode 100644
index 0000000000..d88bf51ddd
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5t.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv5t"
diff --git a/gas/testsuite/gas/arm/note-march-armv5te.d b/gas/testsuite/gas/arm/note-march-armv5te.d
new file mode 100644
index 0000000000..8003740135
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5te.d
@@ -0,0 +1,13 @@
+# name: armv5te note with -march=armv5te
+# source: note-march-armv5te.s RUN_OBJCOPY
+# as: -march=armv5te
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5te
diff --git a/gas/testsuite/gas/arm/note-march-armv5te.s b/gas/testsuite/gas/arm/note-march-armv5te.s
new file mode 100644
index 0000000000..c2d72c17d3
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5te.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv5te"
diff --git a/gas/testsuite/gas/arm/note-march-armv5tej.d b/gas/testsuite/gas/arm/note-march-armv5tej.d
new file mode 100644
index 0000000000..1bcedf2185
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5tej.d
@@ -0,0 +1,13 @@
+# name: armv5tej note with -march=armv5tej
+# source: note-march-armv5tej.s RUN_OBJCOPY
+# as: -march=armv5tej
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5tej
diff --git a/gas/testsuite/gas/arm/note-march-armv5tej.s b/gas/testsuite/gas/arm/note-march-armv5tej.s
new file mode 100644
index 0000000000..a0effacd3f
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5tej.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv5tej"
diff --git a/gas/testsuite/gas/arm/note-march-armv6-m.d b/gas/testsuite/gas/arm/note-march-armv6-m.d
new file mode 100644
index 0000000000..38061e2eab
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6-m.d
@@ -0,0 +1,13 @@
+# name: armv6-m note with -march=armv6-m
+# source: note-march-armv6-m.s RUN_OBJCOPY
+# as: -march=armv6-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6-m
diff --git a/gas/testsuite/gas/arm/note-march-armv6-m.s b/gas/testsuite/gas/arm/note-march-armv6-m.s
new file mode 100644
index 0000000000..71d43e7a7b
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv6.d b/gas/testsuite/gas/arm/note-march-armv6.d
new file mode 100644
index 0000000000..99bf4348bc
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6.d
@@ -0,0 +1,13 @@
+# name: armv6 note with -march=armv6
+# source: note-march-armv6.s RUN_OBJCOPY
+# as: -march=armv6
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6
diff --git a/gas/testsuite/gas/arm/note-march-armv6.s b/gas/testsuite/gas/arm/note-march-armv6.s
new file mode 100644
index 0000000000..ae9fc7d69e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv6"
diff --git a/gas/testsuite/gas/arm/note-march-armv6k.d b/gas/testsuite/gas/arm/note-march-armv6k.d
new file mode 100644
index 0000000000..125b499e05
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6k.d
@@ -0,0 +1,13 @@
+# name: armv6k note with -march=armv6k
+# source: note-march-armv6k.s RUN_OBJCOPY
+# as: -march=armv6k
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6k
diff --git a/gas/testsuite/gas/arm/note-march-armv6k.s b/gas/testsuite/gas/arm/note-march-armv6k.s
new file mode 100644
index 0000000000..7cf198485a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6k.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv6k"
diff --git a/gas/testsuite/gas/arm/note-march-armv6kz.d b/gas/testsuite/gas/arm/note-march-armv6kz.d
new file mode 100644
index 0000000000..07a8eafeda
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6kz.d
@@ -0,0 +1,13 @@
+# name: armv6kz note with -march=armv6kz
+# source: note-march-armv6kz.s RUN_OBJCOPY
+# as: -march=armv6kz
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6kz
diff --git a/gas/testsuite/gas/arm/note-march-armv6kz.s b/gas/testsuite/gas/arm/note-march-armv6kz.s
new file mode 100644
index 0000000000..39f7035b3c
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6kz.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6kz"
diff --git a/gas/testsuite/gas/arm/note-march-armv6s-m.d b/gas/testsuite/gas/arm/note-march-armv6s-m.d
new file mode 100644
index 0000000000..cf59528326
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6s-m.d
@@ -0,0 +1,13 @@
+# name: armv6s-m note with -march=armv6s-m
+# source: note-march-armv6s-m.s RUN_OBJCOPY
+# as: -march=armv6s-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6s-m
diff --git a/gas/testsuite/gas/arm/note-march-armv6s-m.s b/gas/testsuite/gas/arm/note-march-armv6s-m.s
new file mode 100644
index 0000000000..eeeebf1a75
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6s-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv6s-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv6t2.d b/gas/testsuite/gas/arm/note-march-armv6t2.d
new file mode 100644
index 0000000000..0abf36deb2
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6t2.d
@@ -0,0 +1,13 @@
+# name: armv6t2 note with -march=armv6t2
+# source: note-march-armv6t2.s RUN_OBJCOPY
+# as: -march=armv6t2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6t2
diff --git a/gas/testsuite/gas/arm/note-march-armv6t2.s b/gas/testsuite/gas/arm/note-march-armv6t2.s
new file mode 100644
index 0000000000..6537751882
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6t2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6t2"
diff --git a/gas/testsuite/gas/arm/note-march-armv7-a.d b/gas/testsuite/gas/arm/note-march-armv7-a.d
new file mode 100644
index 0000000000..fab9ee160e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-a.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-a
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7-m.d b/gas/testsuite/gas/arm/note-march-armv7-m.d
new file mode 100644
index 0000000000..76d916c9f1
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-m.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-m
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7-r.d b/gas/testsuite/gas/arm/note-march-armv7-r.d
new file mode 100644
index 0000000000..19f80e8d19
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-r.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-r
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-r
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7.s b/gas/testsuite/gas/arm/note-march-armv7.s
new file mode 100644
index 0000000000..14e3bd2efe
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv7"
diff --git a/gas/testsuite/gas/arm/note-march-armv7e-m.d b/gas/testsuite/gas/arm/note-march-armv7e-m.d
new file mode 100644
index 0000000000..5b011781ba
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7e-m.d
@@ -0,0 +1,13 @@
+# name: armv7e-m note with -march=armv7e-m
+# source: note-march-armv7e-m.s RUN_OBJCOPY
+# as: -march=armv7e-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7e-m
diff --git a/gas/testsuite/gas/arm/note-march-armv7e-m.s b/gas/testsuite/gas/arm/note-march-armv7e-m.s
new file mode 100644
index 0000000000..0e2d943a4d
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7e-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv7e-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-a.d b/gas/testsuite/gas/arm/note-march-armv8-a.d
new file mode 100644
index 0000000000..3b44f84d14
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-a.d
@@ -0,0 +1,13 @@
+# name: armv8-a note with -march=armv8-a
+# source: note-march-armv8-a.s RUN_OBJCOPY
+# as: -march=armv8-a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-a
diff --git a/gas/testsuite/gas/arm/note-march-armv8-a.s b/gas/testsuite/gas/arm/note-march-armv8-a.s
new file mode 100644
index 0000000000..1f2d6fd41c
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-a.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-a"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.base.d b/gas/testsuite/gas/arm/note-march-armv8-m.base.d
new file mode 100644
index 0000000000..f14d9a867a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.base.d
@@ -0,0 +1,13 @@
+# name: armv8-m.base note with -march=armv8-m.base
+# source: note-march-armv8-m.base.s RUN_OBJCOPY
+# as: -march=armv8-m.base
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-m.base
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.base.s b/gas/testsuite/gas/arm/note-march-armv8-m.base.s
new file mode 100644
index 0000000000..7c19ae0c89
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.base.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 12
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-m.base"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.main.d b/gas/testsuite/gas/arm/note-march-armv8-m.main.d
new file mode 100644
index 0000000000..6884a3cae5
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.main.d
@@ -0,0 +1,13 @@
+# name: armv8-m.main note with -march=armv8-m.main
+# source: note-march-armv8-m.main.s RUN_OBJCOPY
+# as: -march=armv8-m.main
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-m.main
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.main.s b/gas/testsuite/gas/arm/note-march-armv8-m.main.s
new file mode 100644
index 0000000000..61062ec1db
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.main.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 12
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-m.main"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-r.d b/gas/testsuite/gas/arm/note-march-armv8-r.d
new file mode 100644
index 0000000000..f59b39c8ee
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-r.d
@@ -0,0 +1,13 @@
+# name: armv8-r note with -march=armv8-r
+# source: note-march-armv8-r.s RUN_OBJCOPY
+# as: -march=armv8-r
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-r
diff --git a/gas/testsuite/gas/arm/note-march-armv8-r.s b/gas/testsuite/gas/arm/note-march-armv8-r.s
new file mode 100644
index 0000000000..d946e3772e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-r.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-r"
diff --git a/gas/testsuite/gas/arm/note-march-ep9312.d b/gas/testsuite/gas/arm/note-march-ep9312.d
new file mode 100644
index 0000000000..dd72821630
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-ep9312.d
@@ -0,0 +1,13 @@
+# name: ep9312 note with -mcpu=ep9312 -mfpu=maverick
+# source: note-march-ep9312.s RUN_OBJCOPY
+# as: -mcpu=ep9312 -mfpu=maverick
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] ep9312
diff --git a/gas/testsuite/gas/arm/note-march-ep9312.s b/gas/testsuite/gas/arm/note-march-ep9312.s
new file mode 100644
index 0000000000..b542eba2e8
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-ep9312.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "ep9312"
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt.d b/gas/testsuite/gas/arm/note-march-iwmmxt.d
new file mode 100644
index 0000000000..eb3beede36
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt.d
@@ -0,0 +1,13 @@
+# name: iWMMXt note with -march=iwmmxt
+# source: note-march-iwmmxt.s RUN_OBJCOPY
+# as: -march=iwmmxt
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] iWMMXt
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt.s b/gas/testsuite/gas/arm/note-march-iwmmxt.s
new file mode 100644
index 0000000000..6e00eeb814
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "iWMMXt"
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt2.d b/gas/testsuite/gas/arm/note-march-iwmmxt2.d
new file mode 100644
index 0000000000..6c4a23a1ab
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt2.d
@@ -0,0 +1,13 @@
+# name: iWMMXt2 note with -march=iwmmxt2
+# source: note-march-iwmmxt2.s RUN_OBJCOPY
+# as: -march=iwmmxt2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] iWMMXt2
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt2.s b/gas/testsuite/gas/arm/note-march-iwmmxt2.s
new file mode 100644
index 0000000000..ee6e72cbe7
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "iWMMXt2"
diff --git a/gas/testsuite/gas/arm/note-march-xscale.d b/gas/testsuite/gas/arm/note-march-xscale.d
new file mode 100644
index 0000000000..d5943457c8
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-xscale.d
@@ -0,0 +1,13 @@
+# name: XScale note with -march=xscale
+# source: note-march-xscale.s RUN_OBJCOPY
+# as: -march=xscale
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] XScale
diff --git a/gas/testsuite/gas/arm/note-march-xscale.s b/gas/testsuite/gas/arm/note-march-xscale.s
new file mode 100644
index 0000000000..9149f5b967
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-xscale.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "XScale"
Thomas Preudhomme
2018-11-26 10:02:18 UTC
Permalink
Ping?

Best regards,

Thomas
On Fri, 16 Nov 2018 at 15:32, Thomas Preudhomme
Post by Thomas Preudhomme
Ping? I've now also added a comment next to the two outdated lists of
architecture to explain why they should not be updated. Updated *bfd*
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add comment explaining why the list of
architectures in the switch should not be updated.
(architectures): Likewise.
gas ChangeLog entry unchanged (not pasted here to keep this reply small)
Best regards,
Thomas
On Thu, 8 Nov 2018 at 10:11, Thomas Preudhomme
Post by Thomas Preudhomme
Hi Richard,
How about the updated patch then? It only adds test for existing
note-related code and adds support for missing CPU in objdump -m<cpu>.
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
*** gas/ChangeLog ***
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Best regards,
Thomas
On Fri, 2 Nov 2018 at 16:59, Thomas Preudhomme
Post by Thomas Preudhomme
TL;DR: Should we keep tests for existing entries? Do we want objdump
-m<cpu> to work for newer CPUs or only allows objdump -m<arch> (this
is already working with all current architectures thanks to a previous
patch)?
There was not. Note that the -m<cpu or arch> option of objdump uses
the processors list that is being updated at the beginning of the
patch (architecture list used for the architecture is already
up-to-date so not touched in this patch). Do we want to deprecate
specifying a CPU here as well and only allow architectures? It might
make sense to keep part of the tests as well for the entries already
in that file.
Best regards,
Thomas
On Fri, 2 Nov 2018 at 15:34, Richard Earnshaw (lists)
Post by Richard Earnshaw (lists)
Post by Thomas Preudhomme
And now with a patch.
On Fri, 26 Oct 2018 at 14:30, Thomas Preudhomme
Post by Thomas Preudhomme
Hi,
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.
Hmm,
If I remember correctly, I think we'd abandoned trying to fit all the
Arm architecture variants onto a simple enumeration - there are just too
many. Instead, we use the build attribute model to understand the
capabilites that an object file has.
So is there something motivating this patch beyond the 'it looks
incomplete'?
R.
Post by Thomas Preudhomme
Post by Thomas Preudhomme
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.
*** gas/ChangeLog ***
* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Testing: No testsuite regression when targeting arm-none-eabi.
Is this ok for master?
Best regards,
Thomas
update_knowledge_bfd_archs.patch
From ce28723429d06e81cb5143c6ec6a4f290e6979b3 Mon Sep 17 00:00:00 2001
Date: Fri, 19 Oct 2018 21:09:20 +0100
Subject: [PATCH 2/2] [ARM] Update knowledge of bfd architectures
Hi,
Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge
of Arm architectures to Armv5TEJ and later but missed a couple of
- processor list in bfd/cpu-arm.c used by objdump to select a CPU to
disassemble for
- architecture lists for .note.gnu.arm.ident notes used by GAS
(bfd_arm_update_notes ()) and objcopy (architectures array used by
bfd_arm_get_mach_from_notes ())
- architectures to set bfd mach to in GAS' md_begin ()
Note that the CPU list in bfd/cpu-arm.c was simply copied over from
GAS' CPU list but sorted alphabetically as already done for existing
entries. When working on this I've noticed that none of the existing
testcase in the whole binutils covered the note codepaths so I've added
testcases even for already present architectures. I've only ever managed
for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on
a file with a note but no Arm build attribute. I thus make use of both
objcopy supported by run_dump_test which requires to have an ld line as
well. This is now possible with the separate patch posted to fix ld
action in run_dump_test.
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add support Armv5TEJ and later architectures.
(architectures): Likewise and reindent.
*** gas/ChangeLog ***
* config/tc-arm.c (arm_ext_v6m): Define.
(md_begin): Add support for Armv5TEJ and later architectures.
Fix detection of Maverick when in architecture autodetection mode.
* testsuite/gas/arm/cpu-arm1020.d: New testcase.
* testsuite/gas/arm/cpu-arm1020e.d: Likewise.
* testsuite/gas/arm/cpu-arm1020t.d: Likewise.
* testsuite/gas/arm/cpu-arm1022e.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1026ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm10e.d: Likewise.
* testsuite/gas/arm/cpu-arm10t.d: Likewise.
* testsuite/gas/arm/cpu-arm10tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm1136j-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1136jfs.d: Likewise.
* testsuite/gas/arm/cpu-arm1136js.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise.
* testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise.
* testsuite/gas/arm/cpu-arm2.d: Likewise.
* testsuite/gas/arm/cpu-arm250.d: Likewise.
* testsuite/gas/arm/cpu-arm3.d: Likewise.
* testsuite/gas/arm/cpu-arm6.d: Likewise.
* testsuite/gas/arm/cpu-arm60.d: Likewise.
* testsuite/gas/arm/cpu-arm600.d: Likewise.
* testsuite/gas/arm/cpu-arm610.d: Likewise.
* testsuite/gas/arm/cpu-arm620.d: Likewise.
* testsuite/gas/arm/cpu-arm7.d: Likewise.
* testsuite/gas/arm/cpu-arm70.d: Likewise.
* testsuite/gas/arm/cpu-arm700.d: Likewise.
* testsuite/gas/arm/cpu-arm700i.d: Likewise.
* testsuite/gas/arm/cpu-arm710.d: Likewise.
* testsuite/gas/arm/cpu-arm7100.d: Likewise.
* testsuite/gas/arm/cpu-arm710c.d: Likewise.
* testsuite/gas/arm/cpu-arm710t.d: Likewise.
* testsuite/gas/arm/cpu-arm720.d: Likewise.
* testsuite/gas/arm/cpu-arm720t.d: Likewise.
* testsuite/gas/arm/cpu-arm740t.d: Likewise.
* testsuite/gas/arm/cpu-arm7500.d: Likewise.
* testsuite/gas/arm/cpu-arm7500fe.d: Likewise.
* testsuite/gas/arm/cpu-arm7d.d: Likewise.
* testsuite/gas/arm/cpu-arm7di.d: Likewise.
* testsuite/gas/arm/cpu-arm7dm.d: Likewise.
* testsuite/gas/arm/cpu-arm7dmi.d: Likewise.
* testsuite/gas/arm/cpu-arm7m.d: Likewise.
* testsuite/gas/arm/cpu-arm7t.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise.
* testsuite/gas/arm/cpu-arm7tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm8.d: Likewise.
* testsuite/gas/arm/cpu-arm810.d: Likewise.
* testsuite/gas/arm/cpu-arm9.d: Likewise.
* testsuite/gas/arm/cpu-arm920.d: Likewise.
* testsuite/gas/arm/cpu-arm920t.d: Likewise.
* testsuite/gas/arm/cpu-arm922t.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej-s.d: Likewise.
* testsuite/gas/arm/cpu-arm926ej.d: Likewise.
* testsuite/gas/arm/cpu-arm926ejs.d: Likewise.
* testsuite/gas/arm/cpu-arm940t.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm946e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm946e.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm966e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm966e.d: Likewise.
* testsuite/gas/arm/cpu-arm968e-s.d: Likewise.
* testsuite/gas/arm/cpu-arm9e-r0.d: Likewise.
* testsuite/gas/arm/cpu-arm9e.d: Likewise.
* testsuite/gas/arm/cpu-arm9tdmi.d: Likewise.
* testsuite/gas/arm/cpu-arm_any.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a12.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a15.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a17.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a32.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a35.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a53.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a55.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a57.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a72.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a73.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a75.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a76.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a8.d: Likewise.
* testsuite/gas/arm/cpu-cortex-a9.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m1.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m23.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m3.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m33.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-m7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r4f.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r5.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r52.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r7.d: Likewise.
* testsuite/gas/arm/cpu-cortex-r8.d: Likewise.
* testsuite/gas/arm/cpu-ep9312.d: Likewise.
* testsuite/gas/arm/cpu-exynos-m1.d: Likewise.
* testsuite/gas/arm/cpu-fa526.d: Likewise.
* testsuite/gas/arm/cpu-fa606te.d: Likewise.
* testsuite/gas/arm/cpu-fa616te.d: Likewise.
* testsuite/gas/arm/cpu-fa626.d: Likewise.
* testsuite/gas/arm/cpu-fa626te.d: Likewise.
* testsuite/gas/arm/cpu-fa726te.d: Likewise.
* testsuite/gas/arm/cpu-fmp626.d: Likewise.
* testsuite/gas/arm/cpu-i80200.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt.d: Likewise.
* testsuite/gas/arm/cpu-iwmmxt2.d: Likewise.
* testsuite/gas/arm/cpu-marvell-pj4.d: Likewise.
* testsuite/gas/arm/cpu-marvell-whitney.d: Likewise.
* testsuite/gas/arm/cpu-mpcore.d: Likewise.
* testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise.
* testsuite/gas/arm/cpu-sa1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1.d: Likewise.
* testsuite/gas/arm/cpu-strongarm110.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1100.d: Likewise.
* testsuite/gas/arm/cpu-strongarm1110.d: Likewise.
* testsuite/gas/arm/cpu-xgene1.d: Likewise.
* testsuite/gas/arm/cpu-xgene2.d: Likewise.
* testsuite/gas/arm/cpu-xscale.d: Likewise.
* testsuite/gas/arm/nop-asm.s: Likewise.
* testsuite/gas/arm/note-march-armv2.d: Likewise.
* testsuite/gas/arm/note-march-armv2.s: Likewise.
* testsuite/gas/arm/note-march-armv2a.d: Likewise.
* testsuite/gas/arm/note-march-armv2a.s: Likewise.
* testsuite/gas/arm/note-march-armv3.d: Likewise.
* testsuite/gas/arm/note-march-armv3.s: Likewise.
* testsuite/gas/arm/note-march-armv3m.d: Likewise.
* testsuite/gas/arm/note-march-armv3m.s: Likewise.
* testsuite/gas/arm/note-march-armv4.d: Likewise.
* testsuite/gas/arm/note-march-armv4.s: Likewise.
* testsuite/gas/arm/note-march-armv4t.d: Likewise.
* testsuite/gas/arm/note-march-armv4t.s: Likewise.
* testsuite/gas/arm/note-march-armv5.d: Likewise.
* testsuite/gas/arm/note-march-armv5.s: Likewise.
* testsuite/gas/arm/note-march-armv5t.d: Likewise.
* testsuite/gas/arm/note-march-armv5t.s: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5te.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.d: Likewise.
* testsuite/gas/arm/note-march-armv5tej.s: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6.d: Likewise.
* testsuite/gas/arm/note-march-armv6.s: Likewise.
* testsuite/gas/arm/note-march-armv6k.d: Likewise.
* testsuite/gas/arm/note-march-armv6k.s: Likewise.
* testsuite/gas/arm/note-march-armv6kz.d: Likewise.
* testsuite/gas/arm/note-march-armv6kz.s: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.d: Likewise.
* testsuite/gas/arm/note-march-armv6s-m.s: Likewise.
* testsuite/gas/arm/note-march-armv6t2.d: Likewise.
* testsuite/gas/arm/note-march-armv6t2.s: Likewise.
* testsuite/gas/arm/note-march-armv7-a.d: Likewise.
* testsuite/gas/arm/note-march-armv7-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7-r.d: Likewise.
* testsuite/gas/arm/note-march-armv7.s: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.d: Likewise.
* testsuite/gas/arm/note-march-armv7e-m.s: Likewise.
* testsuite/gas/arm/note-march-armv8-a.d: Likewise.
* testsuite/gas/arm/note-march-armv8-a.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.base.s: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.d: Likewise.
* testsuite/gas/arm/note-march-armv8-m.main.s: Likewise.
* testsuite/gas/arm/note-march-armv8-r.d: Likewise.
* testsuite/gas/arm/note-march-armv8-r.s: Likewise.
* testsuite/gas/arm/note-march-ep9312.d: Likewise.
* testsuite/gas/arm/note-march-ep9312.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt.s: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.d: Likewise.
* testsuite/gas/arm/note-march-iwmmxt2.s: Likewise.
* testsuite/gas/arm/note-march-xscale.d: Likewise.
* testsuite/gas/arm/note-march-xscale.s: Likewise.
Testing: No testsuite regression when targeting arm-none-eabi.
Is this ok for master?
Best regards,
Thomas
---
bfd/cpu-arm.c | 207 ++++++++++++++----
gas/config/tc-arm.c | 51 ++++-
gas/testsuite/gas/arm/cpu-arm1020.d | 7 +
gas/testsuite/gas/arm/cpu-arm1020e.d | 7 +
gas/testsuite/gas/arm/cpu-arm1020t.d | 7 +
gas/testsuite/gas/arm/cpu-arm1022e.d | 7 +
gas/testsuite/gas/arm/cpu-arm1026ej-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1026ejs.d | 7 +
gas/testsuite/gas/arm/cpu-arm10e.d | 7 +
gas/testsuite/gas/arm/cpu-arm10t.d | 7 +
gas/testsuite/gas/arm/cpu-arm10tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136j-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136jf-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136jfs.d | 7 +
gas/testsuite/gas/arm/cpu-arm1136js.d | 7 +
gas/testsuite/gas/arm/cpu-arm1156t2-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1156t2f-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1176jz-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm1176jzf-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm2.d | 7 +
gas/testsuite/gas/arm/cpu-arm250.d | 7 +
gas/testsuite/gas/arm/cpu-arm3.d | 7 +
gas/testsuite/gas/arm/cpu-arm6.d | 7 +
gas/testsuite/gas/arm/cpu-arm60.d | 7 +
gas/testsuite/gas/arm/cpu-arm600.d | 7 +
gas/testsuite/gas/arm/cpu-arm610.d | 7 +
gas/testsuite/gas/arm/cpu-arm620.d | 7 +
gas/testsuite/gas/arm/cpu-arm7.d | 7 +
gas/testsuite/gas/arm/cpu-arm70.d | 7 +
gas/testsuite/gas/arm/cpu-arm700.d | 7 +
gas/testsuite/gas/arm/cpu-arm700i.d | 7 +
gas/testsuite/gas/arm/cpu-arm710.d | 7 +
gas/testsuite/gas/arm/cpu-arm7100.d | 7 +
gas/testsuite/gas/arm/cpu-arm710c.d | 7 +
gas/testsuite/gas/arm/cpu-arm710t.d | 7 +
gas/testsuite/gas/arm/cpu-arm720.d | 7 +
gas/testsuite/gas/arm/cpu-arm720t.d | 7 +
gas/testsuite/gas/arm/cpu-arm740t.d | 7 +
gas/testsuite/gas/arm/cpu-arm7500.d | 7 +
gas/testsuite/gas/arm/cpu-arm7500fe.d | 7 +
gas/testsuite/gas/arm/cpu-arm7d.d | 7 +
gas/testsuite/gas/arm/cpu-arm7di.d | 7 +
gas/testsuite/gas/arm/cpu-arm7dm.d | 7 +
gas/testsuite/gas/arm/cpu-arm7dmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm7m.d | 7 +
gas/testsuite/gas/arm/cpu-arm7t.d | 7 +
gas/testsuite/gas/arm/cpu-arm7tdmi-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm7tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm8.d | 7 +
gas/testsuite/gas/arm/cpu-arm810.d | 7 +
gas/testsuite/gas/arm/cpu-arm9.d | 7 +
gas/testsuite/gas/arm/cpu-arm920.d | 7 +
gas/testsuite/gas/arm/cpu-arm920t.d | 7 +
gas/testsuite/gas/arm/cpu-arm922t.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ej-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ej.d | 7 +
gas/testsuite/gas/arm/cpu-arm926ejs.d | 7 +
gas/testsuite/gas/arm/cpu-arm940t.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm946e.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm966e.d | 7 +
gas/testsuite/gas/arm/cpu-arm968e-s.d | 7 +
gas/testsuite/gas/arm/cpu-arm9e-r0.d | 7 +
gas/testsuite/gas/arm/cpu-arm9e.d | 7 +
gas/testsuite/gas/arm/cpu-arm9tdmi.d | 7 +
gas/testsuite/gas/arm/cpu-arm_any.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a12.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a15.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a17.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a32.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a35.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a5.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a53.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a55.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a57.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a72.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a73.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a75.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a76.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a8.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-a9.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m0.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m0plus.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m1.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m23.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m3.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m33.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m4.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-m7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r4.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r4f.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r5.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r52.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r7.d | 7 +
gas/testsuite/gas/arm/cpu-cortex-r8.d | 7 +
gas/testsuite/gas/arm/cpu-ep9312.d | 7 +
gas/testsuite/gas/arm/cpu-exynos-m1.d | 7 +
gas/testsuite/gas/arm/cpu-fa526.d | 7 +
gas/testsuite/gas/arm/cpu-fa606te.d | 7 +
gas/testsuite/gas/arm/cpu-fa616te.d | 7 +
gas/testsuite/gas/arm/cpu-fa626.d | 7 +
gas/testsuite/gas/arm/cpu-fa626te.d | 7 +
gas/testsuite/gas/arm/cpu-fa726te.d | 7 +
gas/testsuite/gas/arm/cpu-fmp626.d | 7 +
gas/testsuite/gas/arm/cpu-i80200.d | 7 +
gas/testsuite/gas/arm/cpu-iwmmxt.d | 7 +
gas/testsuite/gas/arm/cpu-iwmmxt2.d | 7 +
gas/testsuite/gas/arm/cpu-marvell-pj4.d | 7 +
gas/testsuite/gas/arm/cpu-marvell-whitney.d | 7 +
gas/testsuite/gas/arm/cpu-mpcore.d | 7 +
gas/testsuite/gas/arm/cpu-mpcorenovfp.d | 7 +
gas/testsuite/gas/arm/cpu-sa1.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm110.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1100.d | 7 +
gas/testsuite/gas/arm/cpu-strongarm1110.d | 7 +
gas/testsuite/gas/arm/cpu-xgene1.d | 7 +
gas/testsuite/gas/arm/cpu-xgene2.d | 7 +
gas/testsuite/gas/arm/cpu-xscale.d | 7 +
gas/testsuite/gas/arm/nop-asm.s | 1 +
gas/testsuite/gas/arm/note-march-armv2.d | 13 ++
gas/testsuite/gas/arm/note-march-armv2.s | 7 +
gas/testsuite/gas/arm/note-march-armv2a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv2a.s | 7 +
gas/testsuite/gas/arm/note-march-armv3.d | 13 ++
gas/testsuite/gas/arm/note-march-armv3.s | 7 +
gas/testsuite/gas/arm/note-march-armv3m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv3m.s | 7 +
gas/testsuite/gas/arm/note-march-armv4.d | 13 ++
gas/testsuite/gas/arm/note-march-armv4.s | 7 +
gas/testsuite/gas/arm/note-march-armv4t.d | 13 ++
gas/testsuite/gas/arm/note-march-armv4t.s | 7 +
gas/testsuite/gas/arm/note-march-armv5.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5.s | 7 +
gas/testsuite/gas/arm/note-march-armv5t.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5t.s | 7 +
gas/testsuite/gas/arm/note-march-armv5te.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5te.s | 7 +
gas/testsuite/gas/arm/note-march-armv5tej.d | 13 ++
gas/testsuite/gas/arm/note-march-armv5tej.s | 7 +
gas/testsuite/gas/arm/note-march-armv6-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv6.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6.s | 7 +
gas/testsuite/gas/arm/note-march-armv6k.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6k.s | 7 +
gas/testsuite/gas/arm/note-march-armv6kz.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6kz.s | 7 +
gas/testsuite/gas/arm/note-march-armv6s-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6s-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv6t2.d | 13 ++
gas/testsuite/gas/arm/note-march-armv6t2.s | 7 +
gas/testsuite/gas/arm/note-march-armv7-a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7-r.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7.s | 7 +
gas/testsuite/gas/arm/note-march-armv7e-m.d | 13 ++
gas/testsuite/gas/arm/note-march-armv7e-m.s | 7 +
gas/testsuite/gas/arm/note-march-armv8-a.d | 13 ++
gas/testsuite/gas/arm/note-march-armv8-a.s | 7 +
.../gas/arm/note-march-armv8-m.base.d | 13 ++
.../gas/arm/note-march-armv8-m.base.s | 7 +
.../gas/arm/note-march-armv8-m.main.d | 13 ++
.../gas/arm/note-march-armv8-m.main.s | 7 +
gas/testsuite/gas/arm/note-march-armv8-r.d | 13 ++
gas/testsuite/gas/arm/note-march-armv8-r.s | 7 +
gas/testsuite/gas/arm/note-march-ep9312.d | 13 ++
gas/testsuite/gas/arm/note-march-ep9312.s | 7 +
gas/testsuite/gas/arm/note-march-iwmmxt.d | 13 ++
gas/testsuite/gas/arm/note-march-iwmmxt.s | 7 +
gas/testsuite/gas/arm/note-march-iwmmxt2.d | 13 ++
gas/testsuite/gas/arm/note-march-iwmmxt2.s | 7 +
gas/testsuite/gas/arm/note-march-xscale.d | 13 ++
gas/testsuite/gas/arm/note-march-xscale.s | 7 +
179 files changed, 1613 insertions(+), 46 deletions(-)
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1020t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1022e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ej-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ejs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm10tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136j-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jf-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jfs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1136js.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jz-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm2.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm250.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm3.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm6.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm60.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm600.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm610.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm620.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm70.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm700.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm700i.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7100.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710c.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm710t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm720.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm720t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm740t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7500.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7500fe.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7d.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7di.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7dm.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7dmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7m.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm8.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm810.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm920.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm920t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm922t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm926ejs.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm940t.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm946e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm966e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm968e-s.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9e-r0.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9e.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm9tdmi.d
create mode 100644 gas/testsuite/gas/arm/cpu-arm_any.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a12.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a15.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a17.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a32.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a35.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a5.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a53.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a55.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a57.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a72.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a73.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a75.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a76.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a8.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a9.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0plus.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m1.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m23.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m3.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m33.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m4.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4f.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r5.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r52.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r7.d
create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r8.d
create mode 100644 gas/testsuite/gas/arm/cpu-ep9312.d
create mode 100644 gas/testsuite/gas/arm/cpu-exynos-m1.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa526.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa606te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa616te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa626.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa626te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fa726te.d
create mode 100644 gas/testsuite/gas/arm/cpu-fmp626.d
create mode 100644 gas/testsuite/gas/arm/cpu-i80200.d
create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt.d
create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt2.d
create mode 100644 gas/testsuite/gas/arm/cpu-marvell-pj4.d
create mode 100644 gas/testsuite/gas/arm/cpu-marvell-whitney.d
create mode 100644 gas/testsuite/gas/arm/cpu-mpcore.d
create mode 100644 gas/testsuite/gas/arm/cpu-mpcorenovfp.d
create mode 100644 gas/testsuite/gas/arm/cpu-sa1.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm110.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1100.d
create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1110.d
create mode 100644 gas/testsuite/gas/arm/cpu-xgene1.d
create mode 100644 gas/testsuite/gas/arm/cpu-xgene2.d
create mode 100644 gas/testsuite/gas/arm/cpu-xscale.d
create mode 100644 gas/testsuite/gas/arm/nop-asm.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv2.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv2.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv3.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv3.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv4.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv4.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv5tej.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv5tej.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6k.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6k.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6kz.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6kz.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6s-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6s-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv6t2.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv6t2.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7-r.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv7e-m.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv7e-m.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-a.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-a.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.base.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.base.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.main.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-m.main.s
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-r.d
create mode 100644 gas/testsuite/gas/arm/note-march-armv8-r.s
create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.d
create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.s
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.d
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.s
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.d
create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.s
create mode 100644 gas/testsuite/gas/arm/note-march-xscale.d
create mode 100644 gas/testsuite/gas/arm/note-march-xscale.s
diff --git a/bfd/cpu-arm.c b/bfd/cpu-arm.c
index 4ef409b451..732d46f325 100644
--- a/bfd/cpu-arm.c
+++ b/bfd/cpu-arm.c
@@ -65,36 +65,129 @@ static struct
}
processors[] =
{
- { bfd_mach_arm_2, "arm2" },
- { bfd_mach_arm_2a, "arm250" },
- { bfd_mach_arm_2a, "arm3" },
- { bfd_mach_arm_3, "arm6" },
- { bfd_mach_arm_3, "arm60" },
- { bfd_mach_arm_3, "arm600" },
- { bfd_mach_arm_3, "arm610" },
- { bfd_mach_arm_3, "arm7" },
- { bfd_mach_arm_3, "arm710" },
- { bfd_mach_arm_3, "arm7500" },
- { bfd_mach_arm_3, "arm7d" },
- { bfd_mach_arm_3, "arm7di" },
- { bfd_mach_arm_3M, "arm7dm" },
- { bfd_mach_arm_3M, "arm7dmi" },
- { bfd_mach_arm_4T, "arm7tdmi" },
- { bfd_mach_arm_4, "arm8" },
- { bfd_mach_arm_4, "arm810" },
- { bfd_mach_arm_4, "arm9" },
- { bfd_mach_arm_4, "arm920" },
- { bfd_mach_arm_4T, "arm920t" },
- { bfd_mach_arm_4T, "arm9tdmi" },
- { bfd_mach_arm_4, "sa1" },
- { bfd_mach_arm_4, "strongarm"},
- { bfd_mach_arm_4, "strongarm110" },
- { bfd_mach_arm_4, "strongarm1100" },
- { bfd_mach_arm_XScale, "xscale" },
- { bfd_mach_arm_ep9312, "ep9312" },
- { bfd_mach_arm_iWMMXt, "iwmmxt" },
- { bfd_mach_arm_iWMMXt2, "iwmmxt2" },
- { bfd_mach_arm_unknown, "arm_any" }
+ { bfd_mach_arm_2, "arm2" },
+ { bfd_mach_arm_2a, "arm250" },
+ { bfd_mach_arm_2a, "arm3" },
+ { bfd_mach_arm_3, "arm6" },
+ { bfd_mach_arm_3, "arm60" },
+ { bfd_mach_arm_3, "arm600" },
+ { bfd_mach_arm_3, "arm610" },
+ { bfd_mach_arm_3, "arm620" },
+ { bfd_mach_arm_3, "arm7" },
+ { bfd_mach_arm_3, "arm70" },
+ { bfd_mach_arm_3, "arm700" },
+ { bfd_mach_arm_3, "arm700i" },
+ { bfd_mach_arm_3, "arm710" },
+ { bfd_mach_arm_3, "arm7100" },
+ { bfd_mach_arm_3, "arm710c" },
+ { bfd_mach_arm_4T, "arm710t" },
+ { bfd_mach_arm_3, "arm720" },
+ { bfd_mach_arm_4T, "arm720t" },
+ { bfd_mach_arm_4T, "arm740t" },
+ { bfd_mach_arm_3, "arm7500" },
+ { bfd_mach_arm_3, "arm7500fe" },
+ { bfd_mach_arm_3, "arm7d" },
+ { bfd_mach_arm_3, "arm7di" },
+ { bfd_mach_arm_3M, "arm7dm" },
+ { bfd_mach_arm_3M, "arm7dmi" },
+ { bfd_mach_arm_4T, "arm7t" },
+ { bfd_mach_arm_4T, "arm7tdmi" },
+ { bfd_mach_arm_4T, "arm7tdmi-s" },
+ { bfd_mach_arm_3M, "arm7m" },
+ { bfd_mach_arm_4, "arm8" },
+ { bfd_mach_arm_4, "arm810" },
+ { bfd_mach_arm_4, "arm9" },
+ { bfd_mach_arm_4T, "arm920" },
+ { bfd_mach_arm_4T, "arm920t" },
+ { bfd_mach_arm_4T, "arm922t" },
+ { bfd_mach_arm_5TEJ, "arm926ej" },
+ { bfd_mach_arm_5TEJ, "arm926ejs" },
+ { bfd_mach_arm_5TEJ, "arm926ej-s" },
+ { bfd_mach_arm_4T, "arm940t" },
+ { bfd_mach_arm_5TE, "arm946e" },
+ { bfd_mach_arm_5TE, "arm946e-r0" },
+ { bfd_mach_arm_5TE, "arm946e-s" },
+ { bfd_mach_arm_5TE, "arm966e" },
+ { bfd_mach_arm_5TE, "arm966e-r0" },
+ { bfd_mach_arm_5TE, "arm966e-s" },
+ { bfd_mach_arm_5TE, "arm968e-s" },
+ { bfd_mach_arm_5TE, "arm9e" },
+ { bfd_mach_arm_5TE, "arm9e-r0" },
+ { bfd_mach_arm_4T, "arm9tdmi" },
+ { bfd_mach_arm_5TE, "arm1020" },
+ { bfd_mach_arm_5T, "arm1020t" },
+ { bfd_mach_arm_5TE, "arm1020e" },
+ { bfd_mach_arm_5TE, "arm1022e" },
+ { bfd_mach_arm_5TEJ, "arm1026ejs" },
+ { bfd_mach_arm_5TEJ, "arm1026ej-s" },
+ { bfd_mach_arm_5TE, "arm10e" },
+ { bfd_mach_arm_5T, "arm10t" },
+ { bfd_mach_arm_5T, "arm10tdmi" },
+ { bfd_mach_arm_6, "arm1136j-s" },
+ { bfd_mach_arm_6, "arm1136js" },
+ { bfd_mach_arm_6, "arm1136jf-s" },
+ { bfd_mach_arm_6, "arm1136jfs" },
+ { bfd_mach_arm_6KZ, "arm1176jz-s" },
+ { bfd_mach_arm_6KZ, "arm1176jzf-s" },
+ { bfd_mach_arm_6T2, "arm1156t2-s" },
+ { bfd_mach_arm_6T2, "arm1156t2f-s" },
+ { bfd_mach_arm_7, "cortex-a5" },
+ { bfd_mach_arm_7, "cortex-a7" },
+ { bfd_mach_arm_7, "cortex-a8" },
+ { bfd_mach_arm_7, "cortex-a9" },
+ { bfd_mach_arm_7, "cortex-a12" },
+ { bfd_mach_arm_7, "cortex-a15" },
+ { bfd_mach_arm_7, "cortex-a17" },
+ { bfd_mach_arm_8, "cortex-a32" },
+ { bfd_mach_arm_8, "cortex-a35" },
+ { bfd_mach_arm_8, "cortex-a53" },
+ { bfd_mach_arm_8, "cortex-a55" },
+ { bfd_mach_arm_8, "cortex-a57" },
+ { bfd_mach_arm_8, "cortex-a72" },
+ { bfd_mach_arm_8, "cortex-a73" },
+ { bfd_mach_arm_8, "cortex-a75" },
+ { bfd_mach_arm_8, "cortex-a76" },
+ { bfd_mach_arm_6SM, "cortex-m0" },
+ { bfd_mach_arm_6SM, "cortex-m0plus" },
+ { bfd_mach_arm_6SM, "cortex-m1" },
+ { bfd_mach_arm_8M_BASE, "cortex-m23" },
+ { bfd_mach_arm_7, "cortex-m3" },
+ { bfd_mach_arm_8M_MAIN, "cortex-m33" },
+ { bfd_mach_arm_7EM, "cortex-m4" },
+ { bfd_mach_arm_7EM, "cortex-m7" },
+ { bfd_mach_arm_7, "cortex-r4" },
+ { bfd_mach_arm_7, "cortex-r4f" },
+ { bfd_mach_arm_7, "cortex-r5" },
+ { bfd_mach_arm_8R, "cortex-r52" },
+ { bfd_mach_arm_7, "cortex-r7" },
+ { bfd_mach_arm_7, "cortex-r8" },
+ { bfd_mach_arm_4T, "ep9312" },
+ { bfd_mach_arm_8, "exynos-m1" },
+ { bfd_mach_arm_4, "fa526" },
+ { bfd_mach_arm_5TE, "fa606te" },
+ { bfd_mach_arm_5TE, "fa616te" },
+ { bfd_mach_arm_4, "fa626" },
+ { bfd_mach_arm_5TE, "fa626te" },
+ { bfd_mach_arm_5TE, "fa726te" },
+ { bfd_mach_arm_5TE, "fmp626" },
+ { bfd_mach_arm_XScale, "i80200" },
+ { bfd_mach_arm_7, "marvell-pj4" },
+ { bfd_mach_arm_7, "marvell-whitney" },
+ { bfd_mach_arm_6K, "mpcore" },
+ { bfd_mach_arm_6K, "mpcorenovfp" },
+ { bfd_mach_arm_4, "sa1" },
+ { bfd_mach_arm_4, "strongarm" },
+ { bfd_mach_arm_4, "strongarm1" },
+ { bfd_mach_arm_4, "strongarm110" },
+ { bfd_mach_arm_4, "strongarm1100" },
+ { bfd_mach_arm_4, "strongarm1110" },
+ { bfd_mach_arm_XScale, "xscale" },
+ { bfd_mach_arm_8, "xgene1" },
+ { bfd_mach_arm_8, "xgene2" },
+ { bfd_mach_arm_ep9312, "ep9312" },
+ { bfd_mach_arm_iWMMXt, "iwmmxt" },
+ { bfd_mach_arm_iWMMXt2, "iwmmxt2" },
+ { bfd_mach_arm_unknown, "arm_any" }
};
static bfd_boolean
@@ -335,6 +428,19 @@ bfd_arm_update_notes (bfd *abfd, const char *note_section)
case bfd_mach_arm_ep9312: expected = "ep9312"; break;
case bfd_mach_arm_iWMMXt: expected = "iWMMXt"; break;
case bfd_mach_arm_iWMMXt2: expected = "iWMMXt2"; break;
+ case bfd_mach_arm_5TEJ: expected = "armv5tej"; break;
+ case bfd_mach_arm_6: expected = "armv6"; break;
+ case bfd_mach_arm_6KZ: expected = "armv6kz"; break;
+ case bfd_mach_arm_6T2: expected = "armv6t2"; break;
+ case bfd_mach_arm_6K: expected = "armv6k"; break;
+ case bfd_mach_arm_7: expected = "armv7"; break;
+ case bfd_mach_arm_6M: expected = "armv6-m"; break;
+ case bfd_mach_arm_6SM: expected = "armv6s-m"; break;
+ case bfd_mach_arm_7EM: expected = "armv7e-m"; break;
+ case bfd_mach_arm_8: expected = "armv8-a"; break;
+ case bfd_mach_arm_8R: expected = "armv8-r"; break;
+ case bfd_mach_arm_8M_BASE: expected = "armv8-m.base"; break;
+ case bfd_mach_arm_8M_MAIN: expected = "armv8-m.main"; break;
}
if (strcmp (arch_string, expected) != 0)
@@ -371,20 +477,33 @@ static struct
}
architectures[] =
{
- { "armv2", bfd_mach_arm_2 },
- { "armv2a", bfd_mach_arm_2a },
- { "armv3", bfd_mach_arm_3 },
- { "armv3M", bfd_mach_arm_3M },
- { "armv4", bfd_mach_arm_4 },
- { "armv4t", bfd_mach_arm_4T },
- { "armv5", bfd_mach_arm_5 },
- { "armv5t", bfd_mach_arm_5T },
- { "armv5te", bfd_mach_arm_5TE },
- { "XScale", bfd_mach_arm_XScale },
- { "ep9312", bfd_mach_arm_ep9312 },
- { "iWMMXt", bfd_mach_arm_iWMMXt },
- { "iWMMXt2", bfd_mach_arm_iWMMXt2 },
- { "arm_any", bfd_mach_arm_unknown }
+ { "armv2", bfd_mach_arm_2 },
+ { "armv2a", bfd_mach_arm_2a },
+ { "armv3", bfd_mach_arm_3 },
+ { "armv3M", bfd_mach_arm_3M },
+ { "armv4", bfd_mach_arm_4 },
+ { "armv4t", bfd_mach_arm_4T },
+ { "armv5", bfd_mach_arm_5 },
+ { "armv5t", bfd_mach_arm_5T },
+ { "armv5te", bfd_mach_arm_5TE },
+ { "XScale", bfd_mach_arm_XScale },
+ { "ep9312", bfd_mach_arm_ep9312 },
+ { "iWMMXt", bfd_mach_arm_iWMMXt },
+ { "iWMMXt2", bfd_mach_arm_iWMMXt2 },
+ { "armv5tej", bfd_mach_arm_5TEJ },
+ { "armv6", bfd_mach_arm_6 },
+ { "armv6kz", bfd_mach_arm_6KZ },
+ { "armv6t2", bfd_mach_arm_6T2 },
+ { "armv6k", bfd_mach_arm_6K },
+ { "armv7", bfd_mach_arm_7 },
+ { "armv6-m", bfd_mach_arm_6M },
+ { "armv6s-m", bfd_mach_arm_6SM },
+ { "armv7e-m", bfd_mach_arm_7EM },
+ { "armv8-a", bfd_mach_arm_8 },
+ { "armv8-r", bfd_mach_arm_8R },
+ { "armv8-m.base", bfd_mach_arm_8M_BASE },
+ { "armv8-m.main", bfd_mach_arm_8M_MAIN },
+ { "arm_any", bfd_mach_arm_unknown }
};
/* Extract the machine number stored in a note section. */
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 80fb0c3b5e..0caf2634be 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -204,6 +204,7 @@ static const arm_feature_set arm_ext_v5j = ARM_FEATURE_CORE_LOW (ARM_EXT_V5J);
static const arm_feature_set arm_ext_v6 = ARM_FEATURE_CORE_LOW (ARM_EXT_V6);
static const arm_feature_set arm_ext_v6k = ARM_FEATURE_CORE_LOW (ARM_EXT_V6K);
static const arm_feature_set arm_ext_v6t2 = ARM_FEATURE_CORE_LOW (ARM_EXT_V6T2);
+static const arm_feature_set arm_ext_v6m = ARM_FEATURE_CORE_LOW (ARM_EXT_V6M);
static const arm_feature_set arm_ext_v6_notm =
ARM_FEATURE_CORE_LOW (ARM_EXT_V6_NOTM);
static const arm_feature_set arm_ext_v6_dsp =
@@ -25589,7 +25590,48 @@ md_begin (void)
#endif
/* Record the CPU type as well. */
- if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt2))
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8m))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8m_main))
+ mach = bfd_mach_arm_8M_MAIN;
+ else
+ mach = bfd_mach_arm_8M_BASE;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8))
+ {
+ const arm_feature_set arm_ext_v8a = ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8A);
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8a))
+ mach = bfd_mach_arm_8;
+ else
+ mach = bfd_mach_arm_8R;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v7))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v7m)
+ && ARM_FSET_CPU_SUBSET (arm_ext_dsp, cpu_variant))
+ mach = bfd_mach_arm_7EM;
+ else
+ mach = bfd_mach_arm_7;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6m))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_os))
+ mach = bfd_mach_arm_6SM;
+ else
+ mach = bfd_mach_arm_6M;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6t2))
+ mach = bfd_mach_arm_6T2;
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6k))
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_sec))
+ mach = bfd_mach_arm_6KZ;
+ else
+ mach = bfd_mach_arm_6K;
+ }
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6))
+ mach = bfd_mach_arm_6;
+ else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt2))
mach = bfd_mach_arm_iWMMXt2;
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_iwmmxt))
mach = bfd_mach_arm_iWMMXt;
@@ -25598,7 +25640,12 @@ md_begin (void)
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_cext_maverick))
mach = bfd_mach_arm_ep9312;
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5e))
- mach = bfd_mach_arm_5TE;
+ {
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5j))
+ mach = bfd_mach_arm_5TEJ;
+ else
+ mach = bfd_mach_arm_5TE;
+ }
else if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v5))
{
if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v4t))
diff --git a/gas/testsuite/gas/arm/cpu-arm1020.d b/gas/testsuite/gas/arm/cpu-arm1020.d
new file mode 100644
index 0000000000..0c5c62bafa
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020 CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020
+# objdump: -d -marm1020
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1020e.d b/gas/testsuite/gas/arm/cpu-arm1020e.d
new file mode 100644
index 0000000000..eda63605a5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020e CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020e
+# objdump: -d -marm1020e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1020t.d b/gas/testsuite/gas/arm/cpu-arm1020t.d
new file mode 100644
index 0000000000..30323a0984
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1020t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1020t CPU
+# source: nop-asm.s
+# as: -mcpu=arm1020t
+# objdump: -d -marm1020t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1022e.d b/gas/testsuite/gas/arm/cpu-arm1022e.d
new file mode 100644
index 0000000000..2e6d5ccb0c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1022e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1022e CPU
+# source: nop-asm.s
+# as: -mcpu=arm1022e
+# objdump: -d -marm1022e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1026ej-s.d b/gas/testsuite/gas/arm/cpu-arm1026ej-s.d
new file mode 100644
index 0000000000..2e9b375945
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1026ej-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1026ej-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1026ej-s
+# objdump: -d -marm1026ej-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1026ejs.d b/gas/testsuite/gas/arm/cpu-arm1026ejs.d
new file mode 100644
index 0000000000..354e464a7c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1026ejs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1026ejs CPU
+# source: nop-asm.s
+# as: -mcpu=arm1026ejs
+# objdump: -d -marm1026ejs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10e.d b/gas/testsuite/gas/arm/cpu-arm10e.d
new file mode 100644
index 0000000000..079728ac8c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10e CPU
+# source: nop-asm.s
+# as: -mcpu=arm10e
+# objdump: -d -marm10e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10t.d b/gas/testsuite/gas/arm/cpu-arm10t.d
new file mode 100644
index 0000000000..0f6ae4cf2c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10t CPU
+# source: nop-asm.s
+# as: -mcpu=arm10t
+# objdump: -d -marm10t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm10tdmi.d b/gas/testsuite/gas/arm/cpu-arm10tdmi.d
new file mode 100644
index 0000000000..568f6a290f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm10tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm10tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm10tdmi
+# objdump: -d -marm10tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136j-s.d b/gas/testsuite/gas/arm/cpu-arm1136j-s.d
new file mode 100644
index 0000000000..efa8622372
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136j-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136j-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136j-s
+# objdump: -d -marm1136j-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136jf-s.d b/gas/testsuite/gas/arm/cpu-arm1136jf-s.d
new file mode 100644
index 0000000000..fcd9c24196
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136jf-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136jf-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136jf-s
+# objdump: -d -marm1136jf-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136jfs.d b/gas/testsuite/gas/arm/cpu-arm1136jfs.d
new file mode 100644
index 0000000000..0331e2b3ef
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136jfs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136jfs CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136jfs
+# objdump: -d -marm1136jfs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1136js.d b/gas/testsuite/gas/arm/cpu-arm1136js.d
new file mode 100644
index 0000000000..6f70575ae1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1136js.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1136js CPU
+# source: nop-asm.s
+# as: -mcpu=arm1136js
+# objdump: -d -marm1136js
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1156t2-s.d b/gas/testsuite/gas/arm/cpu-arm1156t2-s.d
new file mode 100644
index 0000000000..a415f66637
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1156t2-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1156t2-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1156t2-s
+# objdump: -d -marm1156t2-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d b/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
new file mode 100644
index 0000000000..7f876759e8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1156t2f-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1156t2f-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1156t2f-s
+# objdump: -d -marm1156t2f-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1176jz-s.d b/gas/testsuite/gas/arm/cpu-arm1176jz-s.d
new file mode 100644
index 0000000000..3df745f902
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1176jz-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1176jz-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1176jz-s
+# objdump: -d -marm1176jz-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d b/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
new file mode 100644
index 0000000000..09b9528e8c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm1176jzf-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm1176jzf-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm1176jzf-s
+# objdump: -d -marm1176jzf-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm2.d b/gas/testsuite/gas/arm/cpu-arm2.d
new file mode 100644
index 0000000000..5de8f51da6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm2 CPU
+# source: nop-asm.s
+# as: -mcpu=arm2
+# objdump: -d -marm2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm250.d b/gas/testsuite/gas/arm/cpu-arm250.d
new file mode 100644
index 0000000000..56aa78bd3d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm250.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm250 CPU
+# source: nop-asm.s
+# as: -mcpu=arm250
+# objdump: -d -marm250
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm3.d b/gas/testsuite/gas/arm/cpu-arm3.d
new file mode 100644
index 0000000000..d6c035aa29
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm3.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm3 CPU
+# source: nop-asm.s
+# as: -mcpu=arm3
+# objdump: -d -marm3
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm6.d b/gas/testsuite/gas/arm/cpu-arm6.d
new file mode 100644
index 0000000000..14c407d8fd
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm6.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm6 CPU
+# source: nop-asm.s
+# as: -mcpu=arm6
+# objdump: -d -marm6
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm60.d b/gas/testsuite/gas/arm/cpu-arm60.d
new file mode 100644
index 0000000000..0eb8f87bd9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm60.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm60 CPU
+# source: nop-asm.s
+# as: -mcpu=arm60
+# objdump: -d -marm60
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm600.d b/gas/testsuite/gas/arm/cpu-arm600.d
new file mode 100644
index 0000000000..1f7b553ef9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm600.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm600 CPU
+# source: nop-asm.s
+# as: -mcpu=arm600
+# objdump: -d -marm600
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm610.d b/gas/testsuite/gas/arm/cpu-arm610.d
new file mode 100644
index 0000000000..2e62bae872
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm610.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm610 CPU
+# source: nop-asm.s
+# as: -mcpu=arm610
+# objdump: -d -marm610
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm620.d b/gas/testsuite/gas/arm/cpu-arm620.d
new file mode 100644
index 0000000000..1bad1f5ec7
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm620.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm620 CPU
+# source: nop-asm.s
+# as: -mcpu=arm620
+# objdump: -d -marm620
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7.d b/gas/testsuite/gas/arm/cpu-arm7.d
new file mode 100644
index 0000000000..070f9c8cb4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7
+# objdump: -d -marm7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm70.d b/gas/testsuite/gas/arm/cpu-arm70.d
new file mode 100644
index 0000000000..8398de25d6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm70.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm70 CPU
+# source: nop-asm.s
+# as: -mcpu=arm70
+# objdump: -d -marm70
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm700.d b/gas/testsuite/gas/arm/cpu-arm700.d
new file mode 100644
index 0000000000..f75401d305
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm700.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm700 CPU
+# source: nop-asm.s
+# as: -mcpu=arm700
+# objdump: -d -marm700
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm700i.d b/gas/testsuite/gas/arm/cpu-arm700i.d
new file mode 100644
index 0000000000..75f1afb77f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm700i.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm700i CPU
+# source: nop-asm.s
+# as: -mcpu=arm700i
+# objdump: -d -marm700i
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710.d b/gas/testsuite/gas/arm/cpu-arm710.d
new file mode 100644
index 0000000000..a0c1922b8f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710 CPU
+# source: nop-asm.s
+# as: -mcpu=arm710
+# objdump: -d -marm710
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7100.d b/gas/testsuite/gas/arm/cpu-arm7100.d
new file mode 100644
index 0000000000..2d1ab20990
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7100.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7100 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7100
+# objdump: -d -marm7100
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710c.d b/gas/testsuite/gas/arm/cpu-arm710c.d
new file mode 100644
index 0000000000..b2a9e86a43
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710c.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710c CPU
+# source: nop-asm.s
+# as: -mcpu=arm710c
+# objdump: -d -marm710c
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm710t.d b/gas/testsuite/gas/arm/cpu-arm710t.d
new file mode 100644
index 0000000000..d7bef289e6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm710t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm710t CPU
+# source: nop-asm.s
+# as: -mcpu=arm710t
+# objdump: -d -marm710t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm720.d b/gas/testsuite/gas/arm/cpu-arm720.d
new file mode 100644
index 0000000000..4c58203273
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm720.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm720 CPU
+# source: nop-asm.s
+# as: -mcpu=arm720
+# objdump: -d -marm720
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm720t.d b/gas/testsuite/gas/arm/cpu-arm720t.d
new file mode 100644
index 0000000000..75e00f8379
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm720t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm720t CPU
+# source: nop-asm.s
+# as: -mcpu=arm720t
+# objdump: -d -marm720t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm740t.d b/gas/testsuite/gas/arm/cpu-arm740t.d
new file mode 100644
index 0000000000..e202dccb58
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm740t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm740t CPU
+# source: nop-asm.s
+# as: -mcpu=arm740t
+# objdump: -d -marm740t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7500.d b/gas/testsuite/gas/arm/cpu-arm7500.d
new file mode 100644
index 0000000000..07e6498f0b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7500.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7500 CPU
+# source: nop-asm.s
+# as: -mcpu=arm7500
+# objdump: -d -marm7500
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7500fe.d b/gas/testsuite/gas/arm/cpu-arm7500fe.d
new file mode 100644
index 0000000000..3a99de97d9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7500fe.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7500fe CPU
+# source: nop-asm.s
+# as: -mcpu=arm7500fe
+# objdump: -d -marm7500fe
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7d.d b/gas/testsuite/gas/arm/cpu-arm7d.d
new file mode 100644
index 0000000000..d93bc8be0d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7d.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7d CPU
+# source: nop-asm.s
+# as: -mcpu=arm7d
+# objdump: -d -marm7d
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7di.d b/gas/testsuite/gas/arm/cpu-arm7di.d
new file mode 100644
index 0000000000..31c541a2c7
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7di.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7di CPU
+# source: nop-asm.s
+# as: -mcpu=arm7di
+# objdump: -d -marm7di
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7dm.d b/gas/testsuite/gas/arm/cpu-arm7dm.d
new file mode 100644
index 0000000000..cc5e3619a4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7dm.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7dm CPU
+# source: nop-asm.s
+# as: -mcpu=arm7dm
+# objdump: -d -marm7dm
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7dmi.d b/gas/testsuite/gas/arm/cpu-arm7dmi.d
new file mode 100644
index 0000000000..569b4603b9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7dmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7dmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm7dmi
+# objdump: -d -marm7dmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7m.d b/gas/testsuite/gas/arm/cpu-arm7m.d
new file mode 100644
index 0000000000..eff3eb3bff
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7m.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7m CPU
+# source: nop-asm.s
+# as: -mcpu=arm7m
+# objdump: -d -marm7m
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7t.d b/gas/testsuite/gas/arm/cpu-arm7t.d
new file mode 100644
index 0000000000..822c16ce70
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7t CPU
+# source: nop-asm.s
+# as: -mcpu=arm7t
+# objdump: -d -marm7t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d b/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
new file mode 100644
index 0000000000..65aea8ab00
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7tdmi-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7tdmi-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm7tdmi-s
+# objdump: -d -marm7tdmi-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm7tdmi.d b/gas/testsuite/gas/arm/cpu-arm7tdmi.d
new file mode 100644
index 0000000000..09209a35c4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm7tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm7tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm7tdmi
+# objdump: -d -marm7tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm8.d b/gas/testsuite/gas/arm/cpu-arm8.d
new file mode 100644
index 0000000000..af13c2cce6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm8 CPU
+# source: nop-asm.s
+# as: -mcpu=arm8
+# objdump: -d -marm8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm810.d b/gas/testsuite/gas/arm/cpu-arm810.d
new file mode 100644
index 0000000000..842d2746b8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm810.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm810 CPU
+# source: nop-asm.s
+# as: -mcpu=arm810
+# objdump: -d -marm810
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9.d b/gas/testsuite/gas/arm/cpu-arm9.d
new file mode 100644
index 0000000000..9ae98be98e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9 CPU
+# source: nop-asm.s
+# as: -mcpu=arm9
+# objdump: -d -marm9
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm920.d b/gas/testsuite/gas/arm/cpu-arm920.d
new file mode 100644
index 0000000000..15835c4b19
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm920.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm920 CPU
+# source: nop-asm.s
+# as: -mcpu=arm920
+# objdump: -d -marm920
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm920t.d b/gas/testsuite/gas/arm/cpu-arm920t.d
new file mode 100644
index 0000000000..be2d591f8a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm920t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm920t CPU
+# source: nop-asm.s
+# as: -mcpu=arm920t
+# objdump: -d -marm920t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm922t.d b/gas/testsuite/gas/arm/cpu-arm922t.d
new file mode 100644
index 0000000000..3112bc8d33
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm922t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm922t CPU
+# source: nop-asm.s
+# as: -mcpu=arm922t
+# objdump: -d -marm922t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ej-s.d b/gas/testsuite/gas/arm/cpu-arm926ej-s.d
new file mode 100644
index 0000000000..0d1e657eae
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ej-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ej-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ej-s
+# objdump: -d -marm926ej-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ej.d b/gas/testsuite/gas/arm/cpu-arm926ej.d
new file mode 100644
index 0000000000..9ef27e37f5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ej.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ej CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ej
+# objdump: -d -marm926ej
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm926ejs.d b/gas/testsuite/gas/arm/cpu-arm926ejs.d
new file mode 100644
index 0000000000..af6c3f6e7d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm926ejs.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm926ejs CPU
+# source: nop-asm.s
+# as: -mcpu=arm926ejs
+# objdump: -d -marm926ejs
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm940t.d b/gas/testsuite/gas/arm/cpu-arm940t.d
new file mode 100644
index 0000000000..4395a9274f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm940t.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm940t CPU
+# source: nop-asm.s
+# as: -mcpu=arm940t
+# objdump: -d -marm940t
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e-r0.d b/gas/testsuite/gas/arm/cpu-arm946e-r0.d
new file mode 100644
index 0000000000..c5e81b301a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e-r0
+# objdump: -d -marm946e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e-s.d b/gas/testsuite/gas/arm/cpu-arm946e-s.d
new file mode 100644
index 0000000000..ba4089a57a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e-s
+# objdump: -d -marm946e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm946e.d b/gas/testsuite/gas/arm/cpu-arm946e.d
new file mode 100644
index 0000000000..4ef1b42366
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm946e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm946e CPU
+# source: nop-asm.s
+# as: -mcpu=arm946e
+# objdump: -d -marm946e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e-r0.d b/gas/testsuite/gas/arm/cpu-arm966e-r0.d
new file mode 100644
index 0000000000..86986e3cf8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e-r0
+# objdump: -d -marm966e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e-s.d b/gas/testsuite/gas/arm/cpu-arm966e-s.d
new file mode 100644
index 0000000000..08b2e5afe8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e-s
+# objdump: -d -marm966e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm966e.d b/gas/testsuite/gas/arm/cpu-arm966e.d
new file mode 100644
index 0000000000..281bafbfcc
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm966e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm966e CPU
+# source: nop-asm.s
+# as: -mcpu=arm966e
+# objdump: -d -marm966e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm968e-s.d b/gas/testsuite/gas/arm/cpu-arm968e-s.d
new file mode 100644
index 0000000000..78eea9e375
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm968e-s.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm968e-s CPU
+# source: nop-asm.s
+# as: -mcpu=arm968e-s
+# objdump: -d -marm968e-s
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9e-r0.d b/gas/testsuite/gas/arm/cpu-arm9e-r0.d
new file mode 100644
index 0000000000..69434cafa1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9e-r0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9e-r0 CPU
+# source: nop-asm.s
+# as: -mcpu=arm9e-r0
+# objdump: -d -marm9e-r0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9e.d b/gas/testsuite/gas/arm/cpu-arm9e.d
new file mode 100644
index 0000000000..d6e5e6f51d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9e.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9e CPU
+# source: nop-asm.s
+# as: -mcpu=arm9e
+# objdump: -d -marm9e
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm9tdmi.d b/gas/testsuite/gas/arm/cpu-arm9tdmi.d
new file mode 100644
index 0000000000..94fdfc7564
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm9tdmi.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm9tdmi CPU
+# source: nop-asm.s
+# as: -mcpu=arm9tdmi
+# objdump: -d -marm9tdmi
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-arm_any.d b/gas/testsuite/gas/arm/cpu-arm_any.d
new file mode 100644
index 0000000000..0e3d11e983
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-arm_any.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for arm2 CPU
+# source: nop-asm.s
+# as: -mcpu=all
+# objdump: -d -marm_any
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a12.d b/gas/testsuite/gas/arm/cpu-cortex-a12.d
new file mode 100644
index 0000000000..55c27d5f1a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a12.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a12 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a12
+# objdump: -d -mcortex-a12
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a15.d b/gas/testsuite/gas/arm/cpu-cortex-a15.d
new file mode 100644
index 0000000000..9a8272e67c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a15.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a15 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a15
+# objdump: -d -mcortex-a15
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a17.d b/gas/testsuite/gas/arm/cpu-cortex-a17.d
new file mode 100644
index 0000000000..490167e88b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a17.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a17 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a17
+# objdump: -d -mcortex-a17
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a32.d b/gas/testsuite/gas/arm/cpu-cortex-a32.d
new file mode 100644
index 0000000000..2e8895452b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a32.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a32 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a32
+# objdump: -d -mcortex-a32
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a35.d b/gas/testsuite/gas/arm/cpu-cortex-a35.d
new file mode 100644
index 0000000000..770915f25d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a35.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a35 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a35
+# objdump: -d -mcortex-a35
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a5.d b/gas/testsuite/gas/arm/cpu-cortex-a5.d
new file mode 100644
index 0000000000..0da6abbb80
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a5.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a5 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a5
+# objdump: -d -mcortex-a5
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a53.d b/gas/testsuite/gas/arm/cpu-cortex-a53.d
new file mode 100644
index 0000000000..1568e75956
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a53.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a53 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a53
+# objdump: -d -mcortex-a53
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a55.d b/gas/testsuite/gas/arm/cpu-cortex-a55.d
new file mode 100644
index 0000000000..9f7aa86c4d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a55.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a55 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a55
+# objdump: -d -mcortex-a55
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a57.d b/gas/testsuite/gas/arm/cpu-cortex-a57.d
new file mode 100644
index 0000000000..750bab2df6
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a57.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a57 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a57
+# objdump: -d -mcortex-a57
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a7.d b/gas/testsuite/gas/arm/cpu-cortex-a7.d
new file mode 100644
index 0000000000..65c016ab0f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a7
+# objdump: -d -mcortex-a7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a72.d b/gas/testsuite/gas/arm/cpu-cortex-a72.d
new file mode 100644
index 0000000000..7784421f30
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a72.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a72 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a72
+# objdump: -d -mcortex-a72
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a73.d b/gas/testsuite/gas/arm/cpu-cortex-a73.d
new file mode 100644
index 0000000000..62dc3681d2
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a73.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a73 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a73
+# objdump: -d -mcortex-a73
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a75.d b/gas/testsuite/gas/arm/cpu-cortex-a75.d
new file mode 100644
index 0000000000..ca90cd6dd4
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a75.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a75 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a75
+# objdump: -d -mcortex-a75
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a76.d b/gas/testsuite/gas/arm/cpu-cortex-a76.d
new file mode 100644
index 0000000000..f85de36037
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a76.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a76 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a76
+# objdump: -d -mcortex-a76
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a8.d b/gas/testsuite/gas/arm/cpu-cortex-a8.d
new file mode 100644
index 0000000000..6348206bfe
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a8 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a8
+# objdump: -d -mcortex-a8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-a9.d b/gas/testsuite/gas/arm/cpu-cortex-a9.d
new file mode 100644
index 0000000000..ec5c692027
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-a9.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-a9 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-a9
+# objdump: -d -mcortex-a9
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m0.d b/gas/testsuite/gas/arm/cpu-cortex-m0.d
new file mode 100644
index 0000000000..3a426b74a0
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m0.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m0 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m0
+# objdump: -d -M force-thumb -mcortex-m0
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m0plus.d b/gas/testsuite/gas/arm/cpu-cortex-m0plus.d
new file mode 100644
index 0000000000..622904ad17
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m0plus.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m0plus CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m0plus
+# objdump: -d -M force-thumb -mcortex-m0plus
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m1.d b/gas/testsuite/gas/arm/cpu-cortex-m1.d
new file mode 100644
index 0000000000..583b44657d
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m1 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m1
+# objdump: -d -M force-thumb -mcortex-m1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m23.d b/gas/testsuite/gas/arm/cpu-cortex-m23.d
new file mode 100644
index 0000000000..dcac99cd27
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m23.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m23 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m23
+# objdump: -d -M force-thumb -mcortex-m23
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m3.d b/gas/testsuite/gas/arm/cpu-cortex-m3.d
new file mode 100644
index 0000000000..5566ecd63c
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m3.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m3 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m3
+# objdump: -d -M force-thumb -mcortex-m3
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m33.d b/gas/testsuite/gas/arm/cpu-cortex-m33.d
new file mode 100644
index 0000000000..30d3ac0836
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m33.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m33 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m33
+# objdump: -d -M force-thumb -mcortex-m33
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m4.d b/gas/testsuite/gas/arm/cpu-cortex-m4.d
new file mode 100644
index 0000000000..ebbd5a9666
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m4 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m4
+# objdump: -d -M force-thumb -mcortex-m4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-m7.d b/gas/testsuite/gas/arm/cpu-cortex-m7.d
new file mode 100644
index 0000000000..411b40dbdb
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-m7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-m7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-m7
+# objdump: -d -M force-thumb -mcortex-m7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r4.d b/gas/testsuite/gas/arm/cpu-cortex-r4.d
new file mode 100644
index 0000000000..448ae7750b
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r4 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r4
+# objdump: -d -mcortex-r4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r4f.d b/gas/testsuite/gas/arm/cpu-cortex-r4f.d
new file mode 100644
index 0000000000..0a5a41d202
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r4f.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r4f CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r4f
+# objdump: -d -mcortex-r4f
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r5.d b/gas/testsuite/gas/arm/cpu-cortex-r5.d
new file mode 100644
index 0000000000..a4bce05cb3
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r5.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r5 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r5
+# objdump: -d -mcortex-r5
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r52.d b/gas/testsuite/gas/arm/cpu-cortex-r52.d
new file mode 100644
index 0000000000..f7f3c9897e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r52.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r52 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r52
+# objdump: -d -mcortex-r52
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r7.d b/gas/testsuite/gas/arm/cpu-cortex-r7.d
new file mode 100644
index 0000000000..bacfaacc8a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r7.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r7 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r7
+# objdump: -d -mcortex-r7
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-cortex-r8.d b/gas/testsuite/gas/arm/cpu-cortex-r8.d
new file mode 100644
index 0000000000..c43740b016
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-cortex-r8.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for cortex-r8 CPU
+# source: nop-asm.s
+# as: -mcpu=cortex-r8
+# objdump: -d -mcortex-r8
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-ep9312.d b/gas/testsuite/gas/arm/cpu-ep9312.d
new file mode 100644
index 0000000000..dfa0de7bf1
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-ep9312.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for ep9312 CPU
+# source: nop-asm.s
+# as: -mcpu=ep9312
+# objdump: -d -mep9312
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-exynos-m1.d b/gas/testsuite/gas/arm/cpu-exynos-m1.d
new file mode 100644
index 0000000000..f62cc721a9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-exynos-m1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for exynos-m1 CPU
+# source: nop-asm.s
+# as: -mcpu=exynos-m1
+# objdump: -d -mexynos-m1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa526.d b/gas/testsuite/gas/arm/cpu-fa526.d
new file mode 100644
index 0000000000..ab2982b50a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa526.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa526 CPU
+# source: nop-asm.s
+# as: -mcpu=fa526
+# objdump: -d -mfa526
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa606te.d b/gas/testsuite/gas/arm/cpu-fa606te.d
new file mode 100644
index 0000000000..8f175041de
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa606te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa606te CPU
+# source: nop-asm.s
+# as: -mcpu=fa606te
+# objdump: -d -mfa606te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa616te.d b/gas/testsuite/gas/arm/cpu-fa616te.d
new file mode 100644
index 0000000000..164f6c715a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa616te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa616te CPU
+# source: nop-asm.s
+# as: -mcpu=fa616te
+# objdump: -d -mfa616te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa626.d b/gas/testsuite/gas/arm/cpu-fa626.d
new file mode 100644
index 0000000000..7cd5fd690a
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa626.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa626 CPU
+# source: nop-asm.s
+# as: -mcpu=fa626
+# objdump: -d -mfa626
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa626te.d b/gas/testsuite/gas/arm/cpu-fa626te.d
new file mode 100644
index 0000000000..363fc407eb
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa626te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa626te CPU
+# source: nop-asm.s
+# as: -mcpu=fa626te
+# objdump: -d -mfa626te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fa726te.d b/gas/testsuite/gas/arm/cpu-fa726te.d
new file mode 100644
index 0000000000..eb5d8d6692
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fa726te.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fa726te CPU
+# source: nop-asm.s
+# as: -mcpu=fa726te
+# objdump: -d -mfa726te
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-fmp626.d b/gas/testsuite/gas/arm/cpu-fmp626.d
new file mode 100644
index 0000000000..8a2cc61224
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-fmp626.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for fmp626 CPU
+# source: nop-asm.s
+# as: -mcpu=fmp626
+# objdump: -d -mfmp626
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-i80200.d b/gas/testsuite/gas/arm/cpu-i80200.d
new file mode 100644
index 0000000000..d610d4daae
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-i80200.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for i80200 CPU
+# source: nop-asm.s
+# as: -mcpu=i80200
+# objdump: -d -mi80200
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-iwmmxt.d b/gas/testsuite/gas/arm/cpu-iwmmxt.d
new file mode 100644
index 0000000000..a1420ab196
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-iwmmxt.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for iwmmxt CPU
+# source: nop-asm.s
+# as: -mcpu=iwmmxt
+# objdump: -d -miwmmxt
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-iwmmxt2.d b/gas/testsuite/gas/arm/cpu-iwmmxt2.d
new file mode 100644
index 0000000000..f973ae5997
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-iwmmxt2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for iwmmxt2 CPU
+# source: nop-asm.s
+# as: -mcpu=iwmmxt2
+# objdump: -d -miwmmxt2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-marvell-pj4.d b/gas/testsuite/gas/arm/cpu-marvell-pj4.d
new file mode 100644
index 0000000000..72e0fb4e26
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-marvell-pj4.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for marvell-pj4 CPU
+# source: nop-asm.s
+# as: -mcpu=marvell-pj4
+# objdump: -d -mmarvell-pj4
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-marvell-whitney.d b/gas/testsuite/gas/arm/cpu-marvell-whitney.d
new file mode 100644
index 0000000000..06aa7c6db9
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-marvell-whitney.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for marvell-whitney CPU
+# source: nop-asm.s
+# as: -mcpu=marvell-whitney
+# objdump: -d -mmarvell-whitney
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-mpcore.d b/gas/testsuite/gas/arm/cpu-mpcore.d
new file mode 100644
index 0000000000..d5490f39de
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-mpcore.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for mpcore CPU
+# source: nop-asm.s
+# as: -mcpu=mpcore
+# objdump: -d -mmpcore
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-mpcorenovfp.d b/gas/testsuite/gas/arm/cpu-mpcorenovfp.d
new file mode 100644
index 0000000000..249d4175dd
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-mpcorenovfp.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for mpcorenovfp CPU
+# source: nop-asm.s
+# as: -mcpu=mpcorenovfp
+# objdump: -d -mmpcorenovfp
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-sa1.d b/gas/testsuite/gas/arm/cpu-sa1.d
new file mode 100644
index 0000000000..1163996410
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-sa1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for sa1 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1
+# objdump: -d -msa1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm.d b/gas/testsuite/gas/arm/cpu-strongarm.d
new file mode 100644
index 0000000000..fc079b1cab
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm
+# objdump: -d -mstrongarm
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1.d b/gas/testsuite/gas/arm/cpu-strongarm1.d
new file mode 100644
index 0000000000..9d8d5c470f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1
+# objdump: -d -mstrongarm1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm110.d b/gas/testsuite/gas/arm/cpu-strongarm110.d
new file mode 100644
index 0000000000..4955884dd5
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm110.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm110 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm110
+# objdump: -d -mstrongarm110
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1100.d b/gas/testsuite/gas/arm/cpu-strongarm1100.d
new file mode 100644
index 0000000000..c0bcba2a6e
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1100.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1100 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1100
+# objdump: -d -mstrongarm1100
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-strongarm1110.d b/gas/testsuite/gas/arm/cpu-strongarm1110.d
new file mode 100644
index 0000000000..86b87c6b08
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-strongarm1110.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for strongarm1110 CPU
+# source: nop-asm.s
+# as: -mcpu=strongarm1110
+# objdump: -d -mstrongarm1110
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xgene1.d b/gas/testsuite/gas/arm/cpu-xgene1.d
new file mode 100644
index 0000000000..210527688f
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xgene1.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xgene1 CPU
+# source: nop-asm.s
+# as: -mcpu=xgene1
+# objdump: -d -mxgene1
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xgene2.d b/gas/testsuite/gas/arm/cpu-xgene2.d
new file mode 100644
index 0000000000..3a8f5ebef8
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xgene2.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xgene2 CPU
+# source: nop-asm.s
+# as: -mcpu=xgene2
+# objdump: -d -mxgene2
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/cpu-xscale.d b/gas/testsuite/gas/arm/cpu-xscale.d
new file mode 100644
index 0000000000..b141f58e44
--- /dev/null
+++ b/gas/testsuite/gas/arm/cpu-xscale.d
@@ -0,0 +1,7 @@
+# name: Assemble and dump for xscale CPU
+# source: nop-asm.s
+# as: -mcpu=xscale
+# objdump: -d -mxscale
+# This test is only valid on EABI based ports.
+
+#...
diff --git a/gas/testsuite/gas/arm/nop-asm.s b/gas/testsuite/gas/arm/nop-asm.s
new file mode 100644
index 0000000000..c27745a58f
--- /dev/null
+++ b/gas/testsuite/gas/arm/nop-asm.s
@@ -0,0 +1 @@
+nop
diff --git a/gas/testsuite/gas/arm/note-march-armv2.d b/gas/testsuite/gas/arm/note-march-armv2.d
new file mode 100644
index 0000000000..f7af35a929
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2.d
@@ -0,0 +1,13 @@
+# name: armv2 note with -march=armv2
+# source: note-march-armv2.s RUN_OBJCOPY
+# as: -march=armv2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv2
diff --git a/gas/testsuite/gas/arm/note-march-armv2.s b/gas/testsuite/gas/arm/note-march-armv2.s
new file mode 100644
index 0000000000..6c76df7abe
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv2"
diff --git a/gas/testsuite/gas/arm/note-march-armv2a.d b/gas/testsuite/gas/arm/note-march-armv2a.d
new file mode 100644
index 0000000000..443a424718
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2a.d
@@ -0,0 +1,13 @@
+# name: armv2a note with -march=armv2a
+# source: note-march-armv2a.s RUN_OBJCOPY
+# as: -march=armv2a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv2a
diff --git a/gas/testsuite/gas/arm/note-march-armv2a.s b/gas/testsuite/gas/arm/note-march-armv2a.s
new file mode 100644
index 0000000000..abe1b32654
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv2a.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv2a"
diff --git a/gas/testsuite/gas/arm/note-march-armv3.d b/gas/testsuite/gas/arm/note-march-armv3.d
new file mode 100644
index 0000000000..d8dd724c52
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3.d
@@ -0,0 +1,13 @@
+# name: armv3 note with -march=armv3
+# source: note-march-armv3.s RUN_OBJCOPY
+# as: -march=armv3
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv3
diff --git a/gas/testsuite/gas/arm/note-march-armv3.s b/gas/testsuite/gas/arm/note-march-armv3.s
new file mode 100644
index 0000000000..cdc513db4a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv3"
diff --git a/gas/testsuite/gas/arm/note-march-armv3m.d b/gas/testsuite/gas/arm/note-march-armv3m.d
new file mode 100644
index 0000000000..5c402c470e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3m.d
@@ -0,0 +1,13 @@
+# name: armv3M note with -march=armv3m
+# source: note-march-armv3m.s RUN_OBJCOPY
+# as: -march=armv3m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv3M
diff --git a/gas/testsuite/gas/arm/note-march-armv3m.s b/gas/testsuite/gas/arm/note-march-armv3m.s
new file mode 100644
index 0000000000..127695ec47
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv3m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv3M"
diff --git a/gas/testsuite/gas/arm/note-march-armv4.d b/gas/testsuite/gas/arm/note-march-armv4.d
new file mode 100644
index 0000000000..1882fa3f97
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4.d
@@ -0,0 +1,13 @@
+# name: armv4 note with -march=armv4
+# source: note-march-armv4.s RUN_OBJCOPY
+# as: -march=armv4
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv4
diff --git a/gas/testsuite/gas/arm/note-march-armv4.s b/gas/testsuite/gas/arm/note-march-armv4.s
new file mode 100644
index 0000000000..c403d7bc5a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv4"
diff --git a/gas/testsuite/gas/arm/note-march-armv4t.d b/gas/testsuite/gas/arm/note-march-armv4t.d
new file mode 100644
index 0000000000..bcddcf1793
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4t.d
@@ -0,0 +1,13 @@
+# name: armv4t note with -march=armv4t
+# source: note-march-armv4t.s RUN_OBJCOPY
+# as: -march=armv4t
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv4t
diff --git a/gas/testsuite/gas/arm/note-march-armv4t.s b/gas/testsuite/gas/arm/note-march-armv4t.s
new file mode 100644
index 0000000000..bc90f30a09
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv4t.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv4t"
diff --git a/gas/testsuite/gas/arm/note-march-armv5.d b/gas/testsuite/gas/arm/note-march-armv5.d
new file mode 100644
index 0000000000..bf6a81a04d
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5.d
@@ -0,0 +1,13 @@
+# name: armv5 note with -march=armv5
+# source: note-march-armv5.s RUN_OBJCOPY
+# as: -march=armv5
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5
diff --git a/gas/testsuite/gas/arm/note-march-armv5.s b/gas/testsuite/gas/arm/note-march-armv5.s
new file mode 100644
index 0000000000..b77f5653b7
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv5"
diff --git a/gas/testsuite/gas/arm/note-march-armv5t.d b/gas/testsuite/gas/arm/note-march-armv5t.d
new file mode 100644
index 0000000000..2761143091
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5t.d
@@ -0,0 +1,13 @@
+# name: armv5t note with -march=armv5t
+# source: note-march-armv5t.s RUN_OBJCOPY
+# as: -march=armv5t
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5t
diff --git a/gas/testsuite/gas/arm/note-march-armv5t.s b/gas/testsuite/gas/arm/note-march-armv5t.s
new file mode 100644
index 0000000000..d88bf51ddd
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5t.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv5t"
diff --git a/gas/testsuite/gas/arm/note-march-armv5te.d b/gas/testsuite/gas/arm/note-march-armv5te.d
new file mode 100644
index 0000000000..8003740135
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5te.d
@@ -0,0 +1,13 @@
+# name: armv5te note with -march=armv5te
+# source: note-march-armv5te.s RUN_OBJCOPY
+# as: -march=armv5te
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5te
diff --git a/gas/testsuite/gas/arm/note-march-armv5te.s b/gas/testsuite/gas/arm/note-march-armv5te.s
new file mode 100644
index 0000000000..c2d72c17d3
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5te.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv5te"
diff --git a/gas/testsuite/gas/arm/note-march-armv5tej.d b/gas/testsuite/gas/arm/note-march-armv5tej.d
new file mode 100644
index 0000000000..1bcedf2185
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5tej.d
@@ -0,0 +1,13 @@
+# name: armv5tej note with -march=armv5tej
+# source: note-march-armv5tej.s RUN_OBJCOPY
+# as: -march=armv5tej
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv5tej
diff --git a/gas/testsuite/gas/arm/note-march-armv5tej.s b/gas/testsuite/gas/arm/note-march-armv5tej.s
new file mode 100644
index 0000000000..a0effacd3f
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv5tej.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv5tej"
diff --git a/gas/testsuite/gas/arm/note-march-armv6-m.d b/gas/testsuite/gas/arm/note-march-armv6-m.d
new file mode 100644
index 0000000000..38061e2eab
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6-m.d
@@ -0,0 +1,13 @@
+# name: armv6-m note with -march=armv6-m
+# source: note-march-armv6-m.s RUN_OBJCOPY
+# as: -march=armv6-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6-m
diff --git a/gas/testsuite/gas/arm/note-march-armv6-m.s b/gas/testsuite/gas/arm/note-march-armv6-m.s
new file mode 100644
index 0000000000..71d43e7a7b
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv6.d b/gas/testsuite/gas/arm/note-march-armv6.d
new file mode 100644
index 0000000000..99bf4348bc
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6.d
@@ -0,0 +1,13 @@
+# name: armv6 note with -march=armv6
+# source: note-march-armv6.s RUN_OBJCOPY
+# as: -march=armv6
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6
diff --git a/gas/testsuite/gas/arm/note-march-armv6.s b/gas/testsuite/gas/arm/note-march-armv6.s
new file mode 100644
index 0000000000..ae9fc7d69e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv6"
diff --git a/gas/testsuite/gas/arm/note-march-armv6k.d b/gas/testsuite/gas/arm/note-march-armv6k.d
new file mode 100644
index 0000000000..125b499e05
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6k.d
@@ -0,0 +1,13 @@
+# name: armv6k note with -march=armv6k
+# source: note-march-armv6k.s RUN_OBJCOPY
+# as: -march=armv6k
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6k
diff --git a/gas/testsuite/gas/arm/note-march-armv6k.s b/gas/testsuite/gas/arm/note-march-armv6k.s
new file mode 100644
index 0000000000..7cf198485a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6k.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "armv6k"
diff --git a/gas/testsuite/gas/arm/note-march-armv6kz.d b/gas/testsuite/gas/arm/note-march-armv6kz.d
new file mode 100644
index 0000000000..07a8eafeda
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6kz.d
@@ -0,0 +1,13 @@
+# name: armv6kz note with -march=armv6kz
+# source: note-march-armv6kz.s RUN_OBJCOPY
+# as: -march=armv6kz
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6kz
diff --git a/gas/testsuite/gas/arm/note-march-armv6kz.s b/gas/testsuite/gas/arm/note-march-armv6kz.s
new file mode 100644
index 0000000000..39f7035b3c
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6kz.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6kz"
diff --git a/gas/testsuite/gas/arm/note-march-armv6s-m.d b/gas/testsuite/gas/arm/note-march-armv6s-m.d
new file mode 100644
index 0000000000..cf59528326
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6s-m.d
@@ -0,0 +1,13 @@
+# name: armv6s-m note with -march=armv6s-m
+# source: note-march-armv6s-m.s RUN_OBJCOPY
+# as: -march=armv6s-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6s-m
diff --git a/gas/testsuite/gas/arm/note-march-armv6s-m.s b/gas/testsuite/gas/arm/note-march-armv6s-m.s
new file mode 100644
index 0000000000..eeeebf1a75
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6s-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv6s-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv6t2.d b/gas/testsuite/gas/arm/note-march-armv6t2.d
new file mode 100644
index 0000000000..0abf36deb2
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6t2.d
@@ -0,0 +1,13 @@
+# name: armv6t2 note with -march=armv6t2
+# source: note-march-armv6t2.s RUN_OBJCOPY
+# as: -march=armv6t2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv6t2
diff --git a/gas/testsuite/gas/arm/note-march-armv6t2.s b/gas/testsuite/gas/arm/note-march-armv6t2.s
new file mode 100644
index 0000000000..6537751882
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv6t2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv6t2"
diff --git a/gas/testsuite/gas/arm/note-march-armv7-a.d b/gas/testsuite/gas/arm/note-march-armv7-a.d
new file mode 100644
index 0000000000..fab9ee160e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-a.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-a
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7-m.d b/gas/testsuite/gas/arm/note-march-armv7-m.d
new file mode 100644
index 0000000000..76d916c9f1
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-m.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-m
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7-r.d b/gas/testsuite/gas/arm/note-march-armv7-r.d
new file mode 100644
index 0000000000..19f80e8d19
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7-r.d
@@ -0,0 +1,13 @@
+# name: armv7 note with -march=armv7-r
+# source: note-march-armv7.s RUN_OBJCOPY
+# as: -march=armv7-r
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7
diff --git a/gas/testsuite/gas/arm/note-march-armv7.s b/gas/testsuite/gas/arm/note-march-armv7.s
new file mode 100644
index 0000000000..14e3bd2efe
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 5
+.word 2
+.string "arch: "
+.align 2
+.string "armv7"
diff --git a/gas/testsuite/gas/arm/note-march-armv7e-m.d b/gas/testsuite/gas/arm/note-march-armv7e-m.d
new file mode 100644
index 0000000000..5b011781ba
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7e-m.d
@@ -0,0 +1,13 @@
+# name: armv7e-m note with -march=armv7e-m
+# source: note-march-armv7e-m.s RUN_OBJCOPY
+# as: -march=armv7e-m
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv7e-m
diff --git a/gas/testsuite/gas/arm/note-march-armv7e-m.s b/gas/testsuite/gas/arm/note-march-armv7e-m.s
new file mode 100644
index 0000000000..0e2d943a4d
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv7e-m.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 8
+.word 2
+.string "arch: "
+.align 2
+.string "armv7e-m"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-a.d b/gas/testsuite/gas/arm/note-march-armv8-a.d
new file mode 100644
index 0000000000..3b44f84d14
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-a.d
@@ -0,0 +1,13 @@
+# name: armv8-a note with -march=armv8-a
+# source: note-march-armv8-a.s RUN_OBJCOPY
+# as: -march=armv8-a
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-a
diff --git a/gas/testsuite/gas/arm/note-march-armv8-a.s b/gas/testsuite/gas/arm/note-march-armv8-a.s
new file mode 100644
index 0000000000..1f2d6fd41c
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-a.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-a"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.base.d b/gas/testsuite/gas/arm/note-march-armv8-m.base.d
new file mode 100644
index 0000000000..f14d9a867a
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.base.d
@@ -0,0 +1,13 @@
+# name: armv8-m.base note with -march=armv8-m.base
+# source: note-march-armv8-m.base.s RUN_OBJCOPY
+# as: -march=armv8-m.base
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-m.base
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.base.s b/gas/testsuite/gas/arm/note-march-armv8-m.base.s
new file mode 100644
index 0000000000..7c19ae0c89
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.base.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 12
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-m.base"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.main.d b/gas/testsuite/gas/arm/note-march-armv8-m.main.d
new file mode 100644
index 0000000000..6884a3cae5
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.main.d
@@ -0,0 +1,13 @@
+# name: armv8-m.main note with -march=armv8-m.main
+# source: note-march-armv8-m.main.s RUN_OBJCOPY
+# as: -march=armv8-m.main
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-m.main
diff --git a/gas/testsuite/gas/arm/note-march-armv8-m.main.s b/gas/testsuite/gas/arm/note-march-armv8-m.main.s
new file mode 100644
index 0000000000..61062ec1db
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-m.main.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 12
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-m.main"
diff --git a/gas/testsuite/gas/arm/note-march-armv8-r.d b/gas/testsuite/gas/arm/note-march-armv8-r.d
new file mode 100644
index 0000000000..f59b39c8ee
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-r.d
@@ -0,0 +1,13 @@
+# name: armv8-r note with -march=armv8-r
+# source: note-march-armv8-r.s RUN_OBJCOPY
+# as: -march=armv8-r
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] armv8-r
diff --git a/gas/testsuite/gas/arm/note-march-armv8-r.s b/gas/testsuite/gas/arm/note-march-armv8-r.s
new file mode 100644
index 0000000000..d946e3772e
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-armv8-r.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "armv8-r"
diff --git a/gas/testsuite/gas/arm/note-march-ep9312.d b/gas/testsuite/gas/arm/note-march-ep9312.d
new file mode 100644
index 0000000000..dd72821630
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-ep9312.d
@@ -0,0 +1,13 @@
+# name: ep9312 note with -mcpu=ep9312 -mfpu=maverick
+# source: note-march-ep9312.s RUN_OBJCOPY
+# as: -mcpu=ep9312 -mfpu=maverick
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] ep9312
diff --git a/gas/testsuite/gas/arm/note-march-ep9312.s b/gas/testsuite/gas/arm/note-march-ep9312.s
new file mode 100644
index 0000000000..b542eba2e8
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-ep9312.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "ep9312"
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt.d b/gas/testsuite/gas/arm/note-march-iwmmxt.d
new file mode 100644
index 0000000000..eb3beede36
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt.d
@@ -0,0 +1,13 @@
+# name: iWMMXt note with -march=iwmmxt
+# source: note-march-iwmmxt.s RUN_OBJCOPY
+# as: -march=iwmmxt
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] iWMMXt
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt.s b/gas/testsuite/gas/arm/note-march-iwmmxt.s
new file mode 100644
index 0000000000..6e00eeb814
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "iWMMXt"
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt2.d b/gas/testsuite/gas/arm/note-march-iwmmxt2.d
new file mode 100644
index 0000000000..6c4a23a1ab
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt2.d
@@ -0,0 +1,13 @@
+# name: iWMMXt2 note with -march=iwmmxt2
+# source: note-march-iwmmxt2.s RUN_OBJCOPY
+# as: -march=iwmmxt2
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] iWMMXt2
diff --git a/gas/testsuite/gas/arm/note-march-iwmmxt2.s b/gas/testsuite/gas/arm/note-march-iwmmxt2.s
new file mode 100644
index 0000000000..ee6e72cbe7
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-iwmmxt2.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 7
+.word 2
+.string "arch: "
+.align 2
+.string "iWMMXt2"
diff --git a/gas/testsuite/gas/arm/note-march-xscale.d b/gas/testsuite/gas/arm/note-march-xscale.d
new file mode 100644
index 0000000000..d5943457c8
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-xscale.d
@@ -0,0 +1,13 @@
+# name: XScale note with -march=xscale
+# source: note-march-xscale.s RUN_OBJCOPY
+# as: -march=xscale
+# objcopy_objects: -R .ARM.attributes
+# ld: -e 0x10000
+# readelf: -p .note.gnu.arm.ident
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+ \[\s*[0-9a-f]+\] XScale
diff --git a/gas/testsuite/gas/arm/note-march-xscale.s b/gas/testsuite/gas/arm/note-march-xscale.s
new file mode 100644
index 0000000000..9149f5b967
--- /dev/null
+++ b/gas/testsuite/gas/arm/note-march-xscale.s
@@ -0,0 +1,7 @@
+.section .note.gnu.arm.ident
+.word 8
+.word 6
+.word 2
+.string "arch: "
+.align 2
+.string "XScale"
Nick Clifton
2018-11-26 17:29:49 UTC
Permalink
Hi Thomas,
Ping?
oops, sorry...
Post by Thomas Preudhomme
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add comment explaining why the list of
architectures in the switch should not be updated.
(architectures): Likewise.
gas ChangeLog entry unchanged (not pasted here to keep this reply small)
Approved (bfd and gas changes). Please apply.

Cheers
Nick
Thomas Preudhomme
2018-11-27 18:31:35 UTC
Permalink
Hi Nick,

I've committed with one obvious change: I've deleted the line about
the test being only valid on EABI based ports for the cpu-* tests
since they only tests gas and objdump's CLI and the tests didn't have
any target restriction. Committed patch attached for reference.

Best regards,

Thomas
Post by Nick Clifton
Hi Thomas,
Ping?
oops, sorry...
Post by Thomas Preudhomme
*** bfd/ChangeLog ***
* cpu-arm.c (processors): Add processors known to GAS but missing here
and reindent.
(bfd_arm_update_notes): Add comment explaining why the list of
architectures in the switch should not be updated.
(architectures): Likewise.
gas ChangeLog entry unchanged (not pasted here to keep this reply small)
Approved (bfd and gas changes). Please apply.
Cheers
Nick
Loading...