2010-05-10 Andrew Stubbs <ams@codesourcery.com>
authorNick Clifton <nickc@redhat.com>
Tue, 11 May 2010 17:36:33 +0000 (17:36 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 11 May 2010 17:36:33 +0000 (17:36 +0000)
        gas/
        * config/tc-arm.c (aeabi_set_public_attributes): Set Tag_DIV_use.

        gas/testsuite/
        * gas/arm/attr-cpu-directive.d: Add Tag_DIV_use.
        * gas/arm/attr-default.d: Likewise.
        * gas/arm/attr-march-armv1.d: Likewise.
        * gas/arm/attr-march-armv2.d: Likewise.
        * gas/arm/attr-march-armv2a.d: Likewise.
        * gas/arm/attr-march-armv2s.d: Likewise.
        * gas/arm/attr-march-armv3.d: Likewise.
        * gas/arm/attr-march-armv3m.d: Likewise.
        * gas/arm/attr-march-armv4.d: Likewise.
        * gas/arm/attr-march-armv4t.d: Likewise.
        * gas/arm/attr-march-armv4txm.d: Likewise.
        * gas/arm/attr-march-armv4xm.d: Likewise.
        * gas/arm/attr-march-armv5.d: Likewise.
        * gas/arm/attr-march-armv5t.d: Likewise.
        * gas/arm/attr-march-armv5te.d: Likewise.
        * gas/arm/attr-march-armv5tej.d: Likewise.
        * gas/arm/attr-march-armv5texp.d: Likewise.
        * gas/arm/attr-march-armv5txm.d: Likewise.
        * gas/arm/attr-march-armv6-m.d: Likewise.
        * gas/arm/attr-march-armv6.d: Likewise.
        * gas/arm/attr-march-armv6j.d: Likewise.
        * gas/arm/attr-march-armv6k.d: Likewise.
        * gas/arm/attr-march-armv6kt2.d: Likewise.
        * gas/arm/attr-march-armv6t2.d: Likewise.
        * gas/arm/attr-march-armv6z.d: Likewise.
        * gas/arm/attr-march-armv6zk.d: Likewise.
        * gas/arm/attr-march-armv6zkt2.d: Likewise.
        * gas/arm/attr-march-armv6zt2.d: Likewise.
        * gas/arm/attr-march-armv7-a.d: Likewise.
        * gas/arm/attr-march-armv7.d: Likewise.
        * gas/arm/attr-march-armv7a.d: Likewise.
        * gas/arm/attr-march-iwmmxt.d: Likewise.
        * gas/arm/attr-march-iwmmxt2.d: Likewise.
        * gas/arm/attr-march-marvell-f.d: Likewise.
        * gas/arm/attr-march-xscale.d: Likewise.
        * gas/arm/attr-mcpu.d: Likewise.
        * gas/arm/attr-mfpu-arm1020e.d: Likewise.
        * gas/arm/attr-mfpu-arm1020t.d: Likewise.
        * gas/arm/attr-mfpu-arm1136jf-s.d: Likewise.
        * gas/arm/attr-mfpu-arm1136jfs.d: Likewise.
        * gas/arm/attr-mfpu-arm7500fe.d: Likewise.
        * gas/arm/attr-mfpu-fpa.d: Likewise.
        * gas/arm/attr-mfpu-fpa10.d: Likewise.
        * gas/arm/attr-mfpu-fpa11.d: Likewise.
        * gas/arm/attr-mfpu-fpe.d: Likewise.
        * gas/arm/attr-mfpu-fpe2.d: Likewise.
        * gas/arm/attr-mfpu-fpe3.d: Likewise.
        * gas/arm/attr-mfpu-maverick.d: Likewise.
        * gas/arm/attr-mfpu-neon-fp16.d: Likewise.
        * gas/arm/attr-mfpu-neon.d: Likewise.
        * gas/arm/attr-mfpu-softfpa.d: Likewise.
        * gas/arm/attr-mfpu-softvfp+vfp.d: Likewise.
        * gas/arm/attr-mfpu-softvfp.d: Likewise.
        * gas/arm/attr-mfpu-vfp.d: Likewise.
        * gas/arm/attr-mfpu-vfp10-r0.d: Likewise.
        * gas/arm/attr-mfpu-vfp10.d: Likewise.
        * gas/arm/attr-mfpu-vfp3.d: Likewise.
        * gas/arm/attr-mfpu-vfp9.d: Likewise.
        * gas/arm/attr-mfpu-vfpv2.d: Likewise.
        * gas/arm/attr-mfpu-vfpv3-d16.d: Likewise.
        * gas/arm/attr-mfpu-vfpv3.d: Likewise.
        * gas/arm/attr-mfpu-vfpv4-d16.d: Likewise.
        * gas/arm/attr-mfpu-vfpv4.d: Likewise.
        * gas/arm/attr-mfpu-vfpxd.d: Likewise.
        * gas/arm/attr-order.d: Likewise.
        * gas/arm/attr-override-cpu-directive.d: Likewise.
        * gas/arm/attr-override-mcpu.d: Likewise.
        * gas/arm/eabi_attr_1.d: Likewise.

        ld/testsuite/
        * ld-arm/attr-merge-2.attr: Add Tag_DIV_use.
        * ld-arm/attr-merge-2a.s: Likewise.
        * ld-arm/attr-merge-2b.s: Likewise.
        * ld-arm/attr-merge-3a.s: Likewise.
        * ld-arm/attr-merge-3b.s: Likewise.
        * ld-arm/attr-merge-4.attr: Likewise.
        * ld-arm/attr-merge-5.attr: Likewise.
        * ld-arm/attr-merge-6.attr: Likewise.
        * ld-arm/attr-merge-7.attr: Likewise.
        * ld-arm/attr-merge-arch-1.attr: Likewise.
        * ld-arm/attr-merge-arch-2.attr: Likewise.
        * ld-arm/attr-merge-unknown-2.d: Likewise.
        * ld-arm/attr-merge-unknown-2r.d: Likewise.
        * ld-arm/attr-merge-unknown-3.d: Likewise.
        * ld-arm/attr-merge-vfp-1.d: Likewise.
        * ld-arm/attr-merge-vfp-1r.d: Likewise.
        * ld-arm/attr-merge-vfp-2.d: Likewise.
        * ld-arm/attr-merge-vfp-2r.d: Likewise.
        * ld-arm/attr-merge-vfp-3.d: Likewise.
        * ld-arm/attr-merge-vfp-3r.d: Likewise.
        * ld-arm/attr-merge-vfp-4.d: Likewise.
        * ld-arm/attr-merge-vfp-4r.d: Likewise.
        * ld-arm/attr-merge-vfp-5.d: Likewise.
        * ld-arm/attr-merge-vfp-5r.d: Likewise.
        * ld-arm/attr-merge-wchar-00-nowarn.d: Likewise.
        * ld-arm/attr-merge-wchar-00.d: Likewise.
        * ld-arm/attr-merge-wchar-02-nowarn.d: Likewise.
        * ld-arm/attr-merge-wchar-02.d: Likewise.
        * ld-arm/attr-merge-wchar-04-nowarn.d: Likewise.
        * ld-arm/attr-merge-wchar-04.d: Likewise.
        * ld-arm/attr-merge-wchar-20-nowarn.d: Likewise.
        * ld-arm/attr-merge-wchar-20.d: Likewise.
        * ld-arm/attr-merge-wchar-22-nowarn.d: Likewise.
        * ld-arm/attr-merge-wchar-22.d: Likewise.
        * ld-arm/attr-merge-wchar-24-nowarn.d: Likewise.
        * ld-arm/attr-merge-wchar-40-nowarn.d: Likewise.
        * ld-arm/attr-merge-wchar-40.d: Likewise.
        * ld-arm/attr-merge-wchar-42-nowarn.d: Likewise.
        * ld-arm/attr-merge-wchar-44-nowarn.d: Likewise.
        * ld-arm/attr-merge-wchar-44.d: Likewise.
        * ld-arm/attr-merge.attr: Likewise.

2010-04-07  Jie Zhang  <jie@codesourcery.com>

        gas/
        * config/tc-arm.c (aeabi_set_public_attributes): Set
        Tag_ABI_HardFP_use to 1 if a single precision FPU is selected.

        gas/testsuite/
        * gas/arm/attr-mfpu-vfpxd.d: New test.

        bfd/
        * elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge
        Tag_ABI_HardFP_use correctly.

        ld/testsuite/
        * ld-arm/attr-merge-vfp-6.d: New test.
        * ld-arm/attr-merge-vfp-6r.d: New test.
        * ld-arm/attr-merge-vfpv3xd.s: New test.
        * ld-arm/arm-elf.exp: Add attr-merge-vfp-6 and attr-merge-vfp-6r.

2010-05-11  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

        * arm-dis.c (thumb_opcodes): Update ldmia entry to use new %W
        format.
        (print_insn_thumb16): Add support for new %W format.

        * gas/arm/thumb32.d: Fix expected disassembly of ldmia
          instruction.

121 files changed:
bfd/ChangeLog
bfd/elf32-arm.c
gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/attr-cpu-directive.d
gas/testsuite/gas/arm/attr-default.d
gas/testsuite/gas/arm/attr-march-armv1.d
gas/testsuite/gas/arm/attr-march-armv2.d
gas/testsuite/gas/arm/attr-march-armv2a.d
gas/testsuite/gas/arm/attr-march-armv2s.d
gas/testsuite/gas/arm/attr-march-armv3.d
gas/testsuite/gas/arm/attr-march-armv3m.d
gas/testsuite/gas/arm/attr-march-armv4.d
gas/testsuite/gas/arm/attr-march-armv4t.d
gas/testsuite/gas/arm/attr-march-armv4txm.d
gas/testsuite/gas/arm/attr-march-armv4xm.d
gas/testsuite/gas/arm/attr-march-armv5.d
gas/testsuite/gas/arm/attr-march-armv5t.d
gas/testsuite/gas/arm/attr-march-armv5te.d
gas/testsuite/gas/arm/attr-march-armv5tej.d
gas/testsuite/gas/arm/attr-march-armv5texp.d
gas/testsuite/gas/arm/attr-march-armv5txm.d
gas/testsuite/gas/arm/attr-march-armv6-m.d
gas/testsuite/gas/arm/attr-march-armv6.d
gas/testsuite/gas/arm/attr-march-armv6j.d
gas/testsuite/gas/arm/attr-march-armv6k.d
gas/testsuite/gas/arm/attr-march-armv6kt2.d
gas/testsuite/gas/arm/attr-march-armv6t2.d
gas/testsuite/gas/arm/attr-march-armv6z.d
gas/testsuite/gas/arm/attr-march-armv6zk.d
gas/testsuite/gas/arm/attr-march-armv6zkt2.d
gas/testsuite/gas/arm/attr-march-armv6zt2.d
gas/testsuite/gas/arm/attr-march-armv7-a.d
gas/testsuite/gas/arm/attr-march-armv7.d
gas/testsuite/gas/arm/attr-march-armv7a.d
gas/testsuite/gas/arm/attr-march-iwmmxt.d
gas/testsuite/gas/arm/attr-march-iwmmxt2.d
gas/testsuite/gas/arm/attr-march-xscale.d
gas/testsuite/gas/arm/attr-mcpu.d
gas/testsuite/gas/arm/attr-mfpu-arm1020e.d
gas/testsuite/gas/arm/attr-mfpu-arm1020t.d
gas/testsuite/gas/arm/attr-mfpu-arm1136jf-s.d
gas/testsuite/gas/arm/attr-mfpu-arm1136jfs.d
gas/testsuite/gas/arm/attr-mfpu-arm7500fe.d
gas/testsuite/gas/arm/attr-mfpu-fpa.d
gas/testsuite/gas/arm/attr-mfpu-fpa10.d
gas/testsuite/gas/arm/attr-mfpu-fpa11.d
gas/testsuite/gas/arm/attr-mfpu-fpe.d
gas/testsuite/gas/arm/attr-mfpu-fpe2.d
gas/testsuite/gas/arm/attr-mfpu-fpe3.d
gas/testsuite/gas/arm/attr-mfpu-maverick.d
gas/testsuite/gas/arm/attr-mfpu-neon-fp16.d
gas/testsuite/gas/arm/attr-mfpu-neon.d
gas/testsuite/gas/arm/attr-mfpu-softfpa.d
gas/testsuite/gas/arm/attr-mfpu-softvfp+vfp.d
gas/testsuite/gas/arm/attr-mfpu-softvfp.d
gas/testsuite/gas/arm/attr-mfpu-vfp.d
gas/testsuite/gas/arm/attr-mfpu-vfp10-r0.d
gas/testsuite/gas/arm/attr-mfpu-vfp10.d
gas/testsuite/gas/arm/attr-mfpu-vfp3.d
gas/testsuite/gas/arm/attr-mfpu-vfp9.d
gas/testsuite/gas/arm/attr-mfpu-vfpv2.d
gas/testsuite/gas/arm/attr-mfpu-vfpv3-d16.d
gas/testsuite/gas/arm/attr-mfpu-vfpv3.d
gas/testsuite/gas/arm/attr-mfpu-vfpv4-d16.d
gas/testsuite/gas/arm/attr-mfpu-vfpv4.d
gas/testsuite/gas/arm/attr-mfpu-vfpxd.d
gas/testsuite/gas/arm/attr-order.d
gas/testsuite/gas/arm/attr-override-cpu-directive.d
gas/testsuite/gas/arm/attr-override-mcpu.d
gas/testsuite/gas/arm/eabi_attr_1.d
gas/testsuite/gas/arm/thumb32.d
ld/testsuite/ChangeLog
ld/testsuite/ld-arm/arm-elf.exp
ld/testsuite/ld-arm/attr-merge-2.attr
ld/testsuite/ld-arm/attr-merge-2a.s
ld/testsuite/ld-arm/attr-merge-2b.s
ld/testsuite/ld-arm/attr-merge-3a.s
ld/testsuite/ld-arm/attr-merge-3b.s
ld/testsuite/ld-arm/attr-merge-4.attr
ld/testsuite/ld-arm/attr-merge-5.attr
ld/testsuite/ld-arm/attr-merge-6.attr
ld/testsuite/ld-arm/attr-merge-7.attr
ld/testsuite/ld-arm/attr-merge-arch-1.attr
ld/testsuite/ld-arm/attr-merge-arch-2.attr
ld/testsuite/ld-arm/attr-merge-unknown-2.d
ld/testsuite/ld-arm/attr-merge-unknown-2r.d
ld/testsuite/ld-arm/attr-merge-unknown-3.d
ld/testsuite/ld-arm/attr-merge-vfp-1.d
ld/testsuite/ld-arm/attr-merge-vfp-1r.d
ld/testsuite/ld-arm/attr-merge-vfp-2.d
ld/testsuite/ld-arm/attr-merge-vfp-2r.d
ld/testsuite/ld-arm/attr-merge-vfp-3.d
ld/testsuite/ld-arm/attr-merge-vfp-3r.d
ld/testsuite/ld-arm/attr-merge-vfp-4.d
ld/testsuite/ld-arm/attr-merge-vfp-4r.d
ld/testsuite/ld-arm/attr-merge-vfp-5.d
ld/testsuite/ld-arm/attr-merge-vfp-5r.d
ld/testsuite/ld-arm/attr-merge-vfp-6.d [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfp-6r.d [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-vfpv3xd.s [new file with mode: 0644]
ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d
ld/testsuite/ld-arm/attr-merge-wchar-00.d
ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d
ld/testsuite/ld-arm/attr-merge-wchar-02.d
ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d
ld/testsuite/ld-arm/attr-merge-wchar-04.d
ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d
ld/testsuite/ld-arm/attr-merge-wchar-20.d
ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d
ld/testsuite/ld-arm/attr-merge-wchar-22.d
ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d
ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d
ld/testsuite/ld-arm/attr-merge-wchar-40.d
ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d
ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d
ld/testsuite/ld-arm/attr-merge-wchar-44.d
ld/testsuite/ld-arm/attr-merge.attr
opcodes/ChangeLog
opcodes/arm-dis.c

index 5cfcc878c13b5860076be654f353e3059f3c55f8..cbfe6afe9f1fe79faf22771b363e8b2f1ac2d73e 100644 (file)
@@ -1,3 +1,8 @@
+2010-05-11  Jie Zhang  <jie@codesourcery.com>
+
+       * elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge
+       Tag_ABI_HardFP_use correctly.
+
 2010-05-11  Alan Modra  <amodra@gmail.com>
 
        * coffcode.h (coff_write_object_contents): Enclose all occurrences
index 18fddc68ccb28dccf600ebab1d075c66236bd022..df259774e0e694afcde236dbe0c4915eb059c3d7 100644 (file)
@@ -10106,6 +10106,11 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd)
          break;
        case Tag_FP_arch:
            {
+             /* Tag_ABI_HardFP_use is handled along with Tag_FP_arch since
+                the meaning of Tag_ABI_HardFP_use depends on Tag_FP_arch
+                when it's 0.  It might mean absence of FP hardware if
+                Tag_FP_arch is zero, otherwise it is effectively SP + DP.  */
+
              static const struct
              {
                  int ver;
@@ -10124,6 +10129,40 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd)
              int regs;
              int newval;
 
+             /* If the output has no requirement about FP hardware,
+                follow the requirement of the input.  */
+             if (out_attr[i].i == 0)
+               {
+                 BFD_ASSERT (out_attr[Tag_ABI_HardFP_use].i == 0);
+                 out_attr[i].i = in_attr[i].i;
+                 out_attr[Tag_ABI_HardFP_use].i
+                   = in_attr[Tag_ABI_HardFP_use].i;
+                 break;
+               }
+             /* If the input has no requirement about FP hardware, do
+                nothing.  */
+             else if (in_attr[i].i == 0)
+               {
+                 BFD_ASSERT (in_attr[Tag_ABI_HardFP_use].i == 0);
+                 break;
+               }
+
+             /* Both the input and the output have nonzero Tag_FP_arch.
+                So Tag_ABI_HardFP_use is (SP & DP) when it's zero.  */
+
+             /* If both the input and the output have zero Tag_ABI_HardFP_use,
+                do nothing.  */
+             if (in_attr[Tag_ABI_HardFP_use].i == 0
+                 && out_attr[Tag_ABI_HardFP_use].i == 0)
+               ;
+             /* If the input and the output have different Tag_ABI_HardFP_use,
+                the combination of them is 3 (SP & DP).  */
+             else if (in_attr[Tag_ABI_HardFP_use].i
+                      != out_attr[Tag_ABI_HardFP_use].i)
+               out_attr[Tag_ABI_HardFP_use].i = 3;
+
+             /* Now we can handle Tag_FP_arch.  */
+
              /* Values greater than 6 aren't defined, so just pick the
                 biggest */
              if (in_attr[i].i > 6 && in_attr[i].i > out_attr[i].i)
@@ -10244,12 +10283,7 @@ elf32_arm_merge_eabi_attributes (bfd *ibfd, bfd *obfd)
          /* Merged in target-independent code.  */
          break;
        case Tag_ABI_HardFP_use:
-         /* 1 (SP) and 2 (DP) conflict, so combine to 3 (SP & DP).  */
-         if ((in_attr[i].i == 1 && out_attr[i].i == 2)
-             || (in_attr[i].i == 2 && out_attr[i].i == 1))
-           out_attr[i].i = 3;
-         else if (in_attr[i].i > out_attr[i].i)
-           out_attr[i].i = in_attr[i].i;
+         /* This is handled along with Tag_FP_arch.  */
          break;
        case Tag_ABI_FP_16bit_format:
          if (in_attr[i].i != 0 && out_attr[i].i != 0)
index 1ab09e8a8b70378fcb3742a12cd0c9ae2e11b796..0ec4f604ee735999bfc1ccf861e52240cd1ee6d5 100644 (file)
@@ -1,3 +1,12 @@
+2010-05-11  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/tc-arm.c (aeabi_set_public_attributes): Set Tag_DIV_use.
+
+2010-05-11  Jie Zhang  <jie@codesourcery.com>
+
+       * config/tc-arm.c (aeabi_set_public_attributes): Set
+       Tag_ABI_HardFP_use to 1 if a single precision FPU is selected.
+
 2010-05-07  Tristan Gingold  <gingold@adacore.com>
 
        * Makefile.in: Regenerate with automake 1.11.1.
index a50ac1d6c6cba86ddfac36a70803c6ff30e2361b..8c9b33b1b8b764a3c1ca2e6ed47ca5a860cf397d 100644 (file)
@@ -22856,6 +22856,11 @@ aeabi_set_public_attributes (void)
            || ARM_CPU_HAS_FEATURE (flags, fpu_vfp_ext_v1xd))
     aeabi_set_attribute_int (Tag_VFP_arch, 1);
 
+  /* Tag_ABI_HardFP_use.  */
+  if (ARM_CPU_HAS_FEATURE (flags, fpu_vfp_ext_v1xd)
+      && !ARM_CPU_HAS_FEATURE (flags, fpu_vfp_ext_v1))
+    aeabi_set_attribute_int (Tag_ABI_HardFP_use, 1);
+
   /* Tag_WMMX_arch.  */
   if (ARM_CPU_HAS_FEATURE (flags, arm_cext_iwmmxt2))
     aeabi_set_attribute_int (Tag_WMMX_arch, 2);
@@ -22871,6 +22876,15 @@ aeabi_set_public_attributes (void)
   /* Tag_VFP_HP_extension (formerly Tag_NEON_FP16_arch).  */
   if (ARM_CPU_HAS_FEATURE (flags, fpu_vfp_fp16))
     aeabi_set_attribute_int (Tag_VFP_HP_extension, 1);
+
+  /* Tag_DIV_use.  */
+  if (ARM_CPU_HAS_FEATURE (flags, arm_ext_div))
+    aeabi_set_attribute_int (Tag_DIV_use, 0);
+  /* Fill this in when gas supports v7a sdiv/udiv.
+    else if (... v7a with div extension used ...)
+      aeabi_set_attribute_int (Tag_DIV_use, 2);  */
+  else
+    aeabi_set_attribute_int (Tag_DIV_use, 1);
 }
 
 /* Add the default contents for the .ARM.attributes section.  */
index bed67b51bc65b7554a7e411fb258277f18d9b96f..c267d2c3755589bebeea66a3a4e21d79cfcd19e9 100644 (file)
@@ -1,3 +1,83 @@
+2010-05-11  Andrew Stubbs  <ams@codesourcery.com>
+
+       * gas/arm/attr-cpu-directive.d: Add Tag_DIV_use.
+       * gas/arm/attr-default.d: Likewise.
+       * gas/arm/attr-march-armv1.d: Likewise.
+       * gas/arm/attr-march-armv2.d: Likewise.
+       * gas/arm/attr-march-armv2a.d: Likewise.
+       * gas/arm/attr-march-armv2s.d: Likewise.
+       * gas/arm/attr-march-armv3.d: Likewise.
+       * gas/arm/attr-march-armv3m.d: Likewise.
+       * gas/arm/attr-march-armv4.d: Likewise.
+       * gas/arm/attr-march-armv4t.d: Likewise.
+       * gas/arm/attr-march-armv4txm.d: Likewise.
+       * gas/arm/attr-march-armv4xm.d: Likewise.
+       * gas/arm/attr-march-armv5.d: Likewise.
+       * gas/arm/attr-march-armv5t.d: Likewise.
+       * gas/arm/attr-march-armv5te.d: Likewise.
+       * gas/arm/attr-march-armv5tej.d: Likewise.
+       * gas/arm/attr-march-armv5texp.d: Likewise.
+       * gas/arm/attr-march-armv5txm.d: Likewise.
+       * gas/arm/attr-march-armv6-m.d: Likewise.
+       * gas/arm/attr-march-armv6.d: Likewise.
+       * gas/arm/attr-march-armv6j.d: Likewise.
+       * gas/arm/attr-march-armv6k.d: Likewise.
+       * gas/arm/attr-march-armv6kt2.d: Likewise.
+       * gas/arm/attr-march-armv6t2.d: Likewise.
+       * gas/arm/attr-march-armv6z.d: Likewise.
+       * gas/arm/attr-march-armv6zk.d: Likewise.
+       * gas/arm/attr-march-armv6zkt2.d: Likewise.
+       * gas/arm/attr-march-armv6zt2.d: Likewise.
+       * gas/arm/attr-march-armv7-a.d: Likewise.
+       * gas/arm/attr-march-armv7.d: Likewise.
+       * gas/arm/attr-march-armv7a.d: Likewise.
+       * gas/arm/attr-march-iwmmxt.d: Likewise.
+       * gas/arm/attr-march-iwmmxt2.d: Likewise.
+       * gas/arm/attr-march-marvell-f.d: Likewise.
+       * gas/arm/attr-march-xscale.d: Likewise.
+       * gas/arm/attr-mcpu.d: Likewise.
+       * gas/arm/attr-mfpu-arm1020e.d: Likewise.
+       * gas/arm/attr-mfpu-arm1020t.d: Likewise.
+       * gas/arm/attr-mfpu-arm1136jf-s.d: Likewise.
+       * gas/arm/attr-mfpu-arm1136jfs.d: Likewise.
+       * gas/arm/attr-mfpu-arm7500fe.d: Likewise.
+       * gas/arm/attr-mfpu-fpa.d: Likewise.
+       * gas/arm/attr-mfpu-fpa10.d: Likewise.
+       * gas/arm/attr-mfpu-fpa11.d: Likewise.
+       * gas/arm/attr-mfpu-fpe.d: Likewise.
+       * gas/arm/attr-mfpu-fpe2.d: Likewise.
+       * gas/arm/attr-mfpu-fpe3.d: Likewise.
+       * gas/arm/attr-mfpu-maverick.d: Likewise.
+       * gas/arm/attr-mfpu-neon-fp16.d: Likewise.
+       * gas/arm/attr-mfpu-neon.d: Likewise.
+       * gas/arm/attr-mfpu-softfpa.d: Likewise.
+       * gas/arm/attr-mfpu-softvfp+vfp.d: Likewise.
+       * gas/arm/attr-mfpu-softvfp.d: Likewise.
+       * gas/arm/attr-mfpu-vfp.d: Likewise.
+       * gas/arm/attr-mfpu-vfp10-r0.d: Likewise.
+       * gas/arm/attr-mfpu-vfp10.d: Likewise.
+       * gas/arm/attr-mfpu-vfp3.d: Likewise.
+       * gas/arm/attr-mfpu-vfp9.d: Likewise.
+       * gas/arm/attr-mfpu-vfpv2.d: Likewise.
+       * gas/arm/attr-mfpu-vfpv3-d16.d: Likewise.
+       * gas/arm/attr-mfpu-vfpv3.d: Likewise.
+       * gas/arm/attr-mfpu-vfpv4-d16.d: Likewise.
+       * gas/arm/attr-mfpu-vfpv4.d: Likewise.
+       * gas/arm/attr-mfpu-vfpxd.d: Likewise.
+       * gas/arm/attr-order.d: Likewise.
+       * gas/arm/attr-override-cpu-directive.d: Likewise.
+       * gas/arm/attr-override-mcpu.d: Likewise.
+       * gas/arm/eabi_attr_1.d: Likewise.
+
+2010-05-11  Jie Zhang  <jie@codesourcery.com>
+
+       * gas/arm/attr-mfpu-vfpxd.d: New test.
+
+2010-05-11  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
+
+       * gas/arm/thumb32.d: Fix expected disassembly of ldmia
+       instruction.
+
 2010-05-05  Nathan Sidwell  <nathan@codesourcery.com>
 
        * gas/all/byte.s: New.
index 0eeab8ce0171f532cf1c809dd21f871812a1da66..4e884ef6c40cf1c84b9fbe4cc1cfab54a47042c5 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_CPU_arch_profile: Application
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-2
+  Tag_DIV_use: Not allowed
index 4439180dfeb37b364d4699d79bc838c62dfa86af..93d5bf636f24141c0ae541fc5e81b2f45480d26e 100644 (file)
@@ -9,3 +9,4 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 4867087637cd2a853a5f53b05ebf208c5ce47c87..8c09564f70a4851936acdded38dd16605fdc54b1 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_CPU_name: "1"
   Tag_CPU_arch: v4
   Tag_ARM_ISA_use: Yes
+  Tag_DIV_use: Not allowed
index 352e38f1f797a1712a621aa37dfca6cf6873b9c7..0ed663a45e119bd27bf5b04c2dd1fa1a1caef0d4 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_CPU_name: "2"
   Tag_CPU_arch: v4
   Tag_ARM_ISA_use: Yes
+  Tag_DIV_use: Not allowed
index 956f6fd3046d01a4958e74f5ccd2198e3e7cf445..862ec74d144d378195786415044937ff5c64283c 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_CPU_name: "2A"
   Tag_CPU_arch: v4
   Tag_ARM_ISA_use: Yes
+  Tag_DIV_use: Not allowed
index 67ba746148f41f39bd9d70119342dc6a3b5045ef..6db9d34ed0c74c67758e69aa111137810a47ef8f 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_CPU_name: "2S"
   Tag_CPU_arch: v4
   Tag_ARM_ISA_use: Yes
+  Tag_DIV_use: Not allowed
index e3b606c1f771c280422b24f4b4b9b61988a8d389..aea9cf7ef5878d6c75dd50e85c44bd6d61f3284b 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_CPU_name: "3"
   Tag_CPU_arch: v4
   Tag_ARM_ISA_use: Yes
+  Tag_DIV_use: Not allowed
index b3878cdbba978573914ad6c133b1a4db207ad8af..a7df5a2d410836f5e29ec91f18376f0d8c9ec666 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_CPU_name: "3M"
   Tag_CPU_arch: v4
   Tag_ARM_ISA_use: Yes
+  Tag_DIV_use: Not allowed
index c0c3b92bd4827a7ed6eb44bfb8b19805a8cd0042..649d02c1fecb1a07b307552224ff47ba607039a8 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_CPU_name: "4"
   Tag_CPU_arch: v4
   Tag_ARM_ISA_use: Yes
+  Tag_DIV_use: Not allowed
index c2a5d98a1d74b79dca5356bbdb8c8bf54189f14a..0ac758ffbb4f1c1316dc0a379be1ee015b76e71d 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v4T
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 2b29db5f8544a87bcecbd193d97910eea20d0f86..260e6a696cdf8f8f10b492fa965e2dbdaa973579 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v4T
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index b1966019ccccfb5e9f4730893f949c3ddc5777e7..dea944bfcd1e4bcb5f25cef3b65b086ec6d63b15 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_CPU_name: "4XM"
   Tag_CPU_arch: v4
   Tag_ARM_ISA_use: Yes
+  Tag_DIV_use: Not allowed
index 2ed81c9603b5fc6fccfcea39c455607bd1da5174..c21d80b50c4b509bf903f5b8eecd4322488c5b89 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_CPU_name: "5"
   Tag_CPU_arch: v5T
   Tag_ARM_ISA_use: Yes
+  Tag_DIV_use: Not allowed
index 23e132468e3041d28dbf45506a883a08ca87af49..1270fd4271a488658d4738b617979e7d55c1ecef 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v5T
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 25699959cb68241473aa671c38ba7401da68f3ad..2601545819466a380172c3c7b8b68319ca74dc57 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v5TE
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 780a9f98a9c89676205f0069aa0f5e9c8d8e125e..3b4b636cb7fa12ce7692a4b406a2490c0b0fb7f2 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v5TEJ
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 4f3a75f013df5f60c40e5b269d9ef0cf315f2a7b..67a773070f7dcbbde7aa020dfe821b9c53d55f52 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v5TE
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index e78ca3fe7eea0397e6627a3013707c0880506348..e4d75c201278f3833fb4f05334392c0f7bc5116a 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v5T
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index ad79347398411f7993b03471bf8724f8b75a6c95..36ac3c8c778d0349791ffe93fc957f1a4a2ac75c 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v6-M
   Tag_CPU_arch_profile: Microcontroller
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index f509d5faea647e91e9cd6c4959c3b266d3265487..a8561e1233c7b2ca8dc584ae5a415f99dc229e02 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v6
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index d8b37ec8cda6b3664f69d886022abc06d06e503e..627986c251544a50c356e11686778522cee687e9 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v6
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 4ff70574b0ad80a8cf5e8ee92c4371153c7098c8..321ecf2af7c0daa4de8df029410fde070a028d84 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v6K
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 43db36b19e76a82e1ec73c8e3cc04c96092205b2..db2fe9aa63e787cb01e99e4e6dccafef1419df0d 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v6T2
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-2
+  Tag_DIV_use: Not allowed
index d0074f13a63fc1ed521ec3f52041c806ded866d2..ac2aa238f6fa84b007d0b9ef117eed3385032f07 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v6T2
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-2
+  Tag_DIV_use: Not allowed
index 59937376c38a58442ee877815ef61c865b37f283..f3eff4dd5a4ad9c46c2d3269017b16b416977c8e 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v6KZ
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 0b2ab0e23a73b8f547d77b9c6ff961df9280ac77..2a4111062879ee3a6d052aaddef9650bc845ef4d 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v6K
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index e360f1e7b6e1905c53aa4fc4a4fc3daba2a81131..5021d23b2cafa6db4cfc06122dd85e197af6c4be 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v6T2
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-2
+  Tag_DIV_use: Not allowed
index 4b80a4dae2cbcfccac390907bcb86cf083636c4e..92e6d454aede55ff6e6fddd839a29bbea7857499 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v6T2
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-2
+  Tag_DIV_use: Not allowed
index da687a75f0315f8826d8aac3110586c9a62fbef3..3a6fb3b5160f38c1af356b4bb48dac1d67d2037d 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_CPU_arch_profile: Application
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-2
+  Tag_DIV_use: Not allowed
index 8ca9e7d6d54ee1cd9f8ef11657f02422551dd91e..57e021e1fae2c0e04d5af71833583317240981ed 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_CPU_name: "7"
   Tag_CPU_arch: v7
   Tag_THUMB_ISA_use: Thumb-2
+  Tag_DIV_use: Not allowed
index 055b3cfcad050c2b15e3dd7729b9f9d86d1d1a9e..6ce60ef70c28ff371bb03783510a5cac4340e543 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_CPU_arch_profile: Application
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-2
+  Tag_DIV_use: Not allowed
index ccc496164afefcd73d0b40585748206f665673ab..b6471473822678d516dc1eb0870214a146f4ac5e 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_WMMX_arch: WMMXv1
+  Tag_DIV_use: Not allowed
index be46d2215347492a2f4295332c5525b0f844addf..69c3ef80ccf7c6cf72934b266f2996c43db13b0c 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_WMMX_arch: WMMXv2
+  Tag_DIV_use: Not allowed
index 5c80a6d86c47d6a130fa196ed7afd31984cfbde9..7b1761766ab37e2608af3fac8ffb7a419e12b705 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v5TE
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 4e8f321140bac21ab5fe778c2aed81349172ebdd..86c8fe73d68a2e0270e0af1d478255d8c3c83d54 100644 (file)
@@ -14,3 +14,4 @@ File Attributes
   Tag_THUMB_ISA_use: Thumb-2
   Tag_FP_arch: VFPv3
   Tag_Advanced_SIMD_arch: NEONv1
+  Tag_DIV_use: Not allowed
index 95ea725dd032534de176671836a7a577ede7355f..b6db97db9872fa2e417909d1145e603391fbcddf 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv2
+  Tag_DIV_use: Not allowed
index 19b001b926b5164afb919019c8b4756e623315a7..efc2cd534ebd1a3650b61d4d63942716812b60c9 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv1
+  Tag_DIV_use: Not allowed
index f25aebe2122bd2fcf18df1e77398fd5175fb54ca..ed065e7db899060d2255435d292fe362a9191220 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv2
+  Tag_DIV_use: Not allowed
index 4b8fce6bdfaf91847ae81602d3c41be1274bb7e2..f2de9befe2ac345b92cf95726491ff17352fec16 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv2
+  Tag_DIV_use: Not allowed
index 5e14e3f69ce8cfbae7befa5d2b026bd75626e540..5f1ca3032ba1286d537793f6437472c80e0ca86a 100644 (file)
@@ -9,3 +9,4 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 425e44df1d7e47b658bb8075075e5cd9d0da34cc..da56a7d601f7296cffff6ae53f947fe126e5ac6f 100644 (file)
@@ -9,3 +9,4 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 339daf08b44dc443cda6bb88dcc2253d90652509..6399fff4ddc114f6a99dce584ebfc62d902716b1 100644 (file)
@@ -9,3 +9,4 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 5b94ac51152595480c84d6fffbd10e70299b68d8..1a4b9e701c8f9af768bb239b88dfd47527c91b96 100644 (file)
@@ -9,3 +9,4 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 416bb5bd0bfc630a29d0012f6bc6fc8b3359c8ac..87283b3731ef497ca6487329f2a4c503047217a7 100644 (file)
@@ -9,3 +9,4 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index a34cc6f82b7a2b7122ef78c5d6d1b63bf30c1055..bfcfb4afcc7742b6fcb38f486f91d1bfbb2f3e27 100644 (file)
@@ -9,3 +9,4 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index c9174549e9412e8e628d7e7ca177cb378de3fcc1..a578f750e26afee6fb5735618434a3d0fc155f08 100644 (file)
@@ -9,3 +9,4 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index afbbc6ce2e3c445c443fffcb335979334890e28e..994d4b69ca1d204131da0852591dfd37c941b01f 100644 (file)
@@ -9,3 +9,4 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 3866572b2834d86bade940534f7d73fbc1227895..6f401bfbc31f710f1178ecb8278a9de46d3ef05c 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_FP_arch: VFPv3
   Tag_Advanced_SIMD_arch: NEONv1
   Tag_FP_HP_extension: Allowed
+  Tag_DIV_use: Not allowed
index 1d7d33b801b2890893c412892e462a11dcdd55d1..1dd33a58812375212949d8232a2f46e99edd92a4 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv3
   Tag_Advanced_SIMD_arch: NEONv1
+  Tag_DIV_use: Not allowed
index d46115bc35c473d5db09af341ab791b2be137028..abe315afbde762ef399d1c1943cf2bc36b739555 100644 (file)
@@ -9,3 +9,4 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index d0524c29aeaba85393413e9f6928f17635d68cde..462bc139b999708e2d7f5bfaaf018ee36953ad6c 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv2
+  Tag_DIV_use: Not allowed
index bab19b607d337f44dff3c5b0c05e0d40a3406d75..8d9a8942415d7bbcab04a3125c79c383e88a72e9 100644 (file)
@@ -9,3 +9,4 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 331b81a18039a85982f40d0a5434ea87a97351e7..9c66044e8001c0c5c7e3ff4d9b8a7e92d2f2157f 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv2
+  Tag_DIV_use: Not allowed
index 6f89e6abe0985453a2e0aabc2d076616b122fe27..bc44861f2188b0b02c0bde929ac46da0e261d3b6 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv1
+  Tag_DIV_use: Not allowed
index 37af0758170e365750182a9a3384a3283769767b..6f16f12b991358ce05f63fd6944f5bd4c5aa3428 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv2
+  Tag_DIV_use: Not allowed
index f02d2cdb54beddeb788e62cbf729be7d6aebc911..5c0964c369e67cd8dae4202b8ad09dc5d591afbc 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv3
+  Tag_DIV_use: Not allowed
index 57f5df7eb22dcaa086fd513616800927b214d1f0..516b8b6e9391e975fd93fbd5011b7f57fdfae1c9 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv2
+  Tag_DIV_use: Not allowed
index 678eb9eeb609b3e5691347bde276c2e85d98141e..b259b8207be3ca645a49a440ad6d9157006ff4b2 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv2
+  Tag_DIV_use: Not allowed
index 36d9914bdebab4b1192605cc4986bded92e5c663..88d9ca73827300738a69782c0b54c6a76586a997 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv3-D16
+  Tag_DIV_use: Not allowed
index b6cf496d7dd1083da311419a1785181a4f5d17fe..9b22499af73d381be6cfa621d17109c191150308 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv3
+  Tag_DIV_use: Not allowed
index 967e912a5428fb3461329494f45cfac25f9b9561..3ec64bd3d7cf49f9fa0a683d906f26940057047e 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv4-D16
   Tag_FP_HP_extension: Allowed
+  Tag_DIV_use: Not allowed
index fd92773a6a648b7abb9fffd5edaa143829b66ff3..4d2726f0b15253955858a10ed58b625b02cb3ea8 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv4
   Tag_FP_HP_extension: Allowed
+  Tag_DIV_use: Not allowed
index 735860e1c03b4c700ae2b087ea3a5400c5f245bd..9a1a9f55477fafa5e7953b5945a14363ea687629 100644 (file)
@@ -10,3 +10,5 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv1
+  Tag_ABI_HardFP_use: SP only
+  Tag_DIV_use: Not allowed
index 83f9f68bffbef780358415613d54dff922339891..99ecd7ba48add55e3abdd5d3f88df28e910d5d26 100644 (file)
@@ -13,6 +13,7 @@ File Attributes
   Tag_CPU_arch: v4T
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
   Tag_unknown_63: "val"
   Tag_also_compatible_with: v6-M
   Tag_T2EE_use: Allowed
index 54c5e37bb1486275912d82b98fe543802c5730f9..9423392ffa2e8e6273e7fb4d7c52d7611927bd8e 100644 (file)
@@ -10,3 +10,4 @@ File Attributes
   Tag_CPU_name: "custom name"
   Tag_CPU_arch: v7
   Tag_THUMB_ISA_use: \?\?\? \(10\)
+  Tag_DIV_use: Not allowed
index cfa11b9d7fcc63bf56c91ddbf8dc228718e7d7a6..425f0959ff51f7bb658e6351b28232d3c7deb7ac 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_CPU_arch: v4T
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index e3e3982d419d47324c39399467b3ab92f1ed1826..a8762ff29b95a044ef266156ba1ee1858869abb8 100644 (file)
@@ -10,5 +10,6 @@ File Attributes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_ABI_VFP_args: VFP registers
   Tag_compatibility: flag = 3, vendor = GNU
+  Tag_DIV_use: Not allowed
   Tag_unknown_128: 1234 \(0x4d2\)
   Tag_unknown_129: "bar"
index d04ef6b8906be4683a04c99e8e63281b1b4b7dff..530b86bc23c6e1253f3ca6dd46fd2a3e34e839b1 100644 (file)
@@ -559,7 +559,7 @@ Disassembly of section .text:
 0[0-9a-f]+ <[^>]+> e854 1f81   ldrex   r1, \[r4, #516\].*
 0[0-9a-f]+ <[^>]+> e844 2181   strex   r1, r2, \[r4, #516\].*
 0[0-9a-f]+ <[^>]+> c80e        ldmia   r0!, \{r1, r2, r3\}
-0[0-9a-f]+ <[^>]+> ca07        ldmia   r2!, \{r0, r1, r2\}
+0[0-9a-f]+ <[^>]+> ca07        ldmia   r2, \{r0, r1, r2\}
 0[0-9a-f]+ <[^>]+> e892 0007   ldmia\.w        r2, \{r0, r1, r2\}
 0[0-9a-f]+ <[^>]+> e899 0007   ldmia\.w        r9, \{r0, r1, r2\}
 0[0-9a-f]+ <[^>]+> e890 0580   ldmia\.w        r0, \{r7, r8, sl\}
index 565a6242a96a774a8738b633284a21a622488e3f..bafd3bb531a48c681b7777b137aaa3f46cdfbc7f 100644 (file)
@@ -1,3 +1,54 @@
+2010-05-11  Andrew Stubbs  <ams@codesourcery.com>
+
+       * ld-arm/attr-merge-2.attr: Add Tag_DIV_use.
+       * ld-arm/attr-merge-2a.s: Likewise.
+       * ld-arm/attr-merge-2b.s: Likewise.
+       * ld-arm/attr-merge-3a.s: Likewise.
+       * ld-arm/attr-merge-3b.s: Likewise.
+       * ld-arm/attr-merge-4.attr: Likewise.
+       * ld-arm/attr-merge-5.attr: Likewise.
+       * ld-arm/attr-merge-6.attr: Likewise.
+       * ld-arm/attr-merge-7.attr: Likewise.
+       * ld-arm/attr-merge-arch-1.attr: Likewise.
+       * ld-arm/attr-merge-arch-2.attr: Likewise.
+       * ld-arm/attr-merge-unknown-2.d: Likewise.
+       * ld-arm/attr-merge-unknown-2r.d: Likewise.
+       * ld-arm/attr-merge-unknown-3.d: Likewise.
+       * ld-arm/attr-merge-vfp-1.d: Likewise.
+       * ld-arm/attr-merge-vfp-1r.d: Likewise.
+       * ld-arm/attr-merge-vfp-2.d: Likewise.
+       * ld-arm/attr-merge-vfp-2r.d: Likewise.
+       * ld-arm/attr-merge-vfp-3.d: Likewise.
+       * ld-arm/attr-merge-vfp-3r.d: Likewise.
+       * ld-arm/attr-merge-vfp-4.d: Likewise.
+       * ld-arm/attr-merge-vfp-4r.d: Likewise.
+       * ld-arm/attr-merge-vfp-5.d: Likewise.
+       * ld-arm/attr-merge-vfp-5r.d: Likewise.
+       * ld-arm/attr-merge-wchar-00-nowarn.d: Likewise.
+       * ld-arm/attr-merge-wchar-00.d: Likewise.
+       * ld-arm/attr-merge-wchar-02-nowarn.d: Likewise.
+       * ld-arm/attr-merge-wchar-02.d: Likewise.
+       * ld-arm/attr-merge-wchar-04-nowarn.d: Likewise.
+       * ld-arm/attr-merge-wchar-04.d: Likewise.
+       * ld-arm/attr-merge-wchar-20-nowarn.d: Likewise.
+       * ld-arm/attr-merge-wchar-20.d: Likewise.
+       * ld-arm/attr-merge-wchar-22-nowarn.d: Likewise.
+       * ld-arm/attr-merge-wchar-22.d: Likewise.
+       * ld-arm/attr-merge-wchar-24-nowarn.d: Likewise.
+       * ld-arm/attr-merge-wchar-40-nowarn.d: Likewise.
+       * ld-arm/attr-merge-wchar-40.d: Likewise.
+       * ld-arm/attr-merge-wchar-42-nowarn.d: Likewise.
+       * ld-arm/attr-merge-wchar-44-nowarn.d: Likewise.
+       * ld-arm/attr-merge-wchar-44.d: Likewise.
+       * ld-arm/attr-merge.attr: Likewise.
+
+2010-05-11  Jie Zhang  <jie@codesourcery.com>
+
+       * ld-arm/attr-merge-vfp-6.d: New test.
+       * ld-arm/attr-merge-vfp-6r.d: New test.
+       * ld-arm/attr-merge-vfpv3xd.s: New test.
+       * ld-arm/arm-elf.exp: Add attr-merge-vfp-6 and attr-merge-vfp-6r.
+
 2010-05-07  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * ld-arm/cortex-a8-fix-bl-rel-plt.d: New file.
index 6180393f0f0b4479980972a2c43cddcd7abb496e..c23da5498ec4b642e4b25dee3295753b55f63c64 100644 (file)
@@ -518,4 +518,6 @@ run_dump_test "attr-merge-vfp-4"
 run_dump_test "attr-merge-vfp-4r"
 run_dump_test "attr-merge-vfp-5"
 run_dump_test "attr-merge-vfp-5r"
+run_dump_test "attr-merge-vfp-6"
+run_dump_test "attr-merge-vfp-6r"
 run_dump_test "attr-merge-incompatible"
index 578333b26336ae73b77a3b36e4fb75954c1ce98b..e34111b9d7ab23550a15cd392faae7789015892a 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Allowed in v7-A with integer division extension
index 03031634b00ab048a1459fd023df12bc807d5751..9d9ae18485cbc1121367b2128b3f5f4cb7d8d3f7 100644 (file)
@@ -7,4 +7,5 @@
        .eabi_attribute 25, 1
        .eabi_attribute 26, 1
        .eabi_attribute 30, 6
+       .eabi_attribute Tag_DIV_use, 1
        .file   "attr-merge-2a.s"
index 047890a04d1302f9331bd7fd6a924c4cea1f3e0b..6aa8da90249ef67bf96814626ca197e25ec9079b 100644 (file)
@@ -8,4 +8,5 @@
        .eabi_attribute 26, 1
        .eabi_attribute 30, 6
        .eabi_attribute 18, 4
+       .eabi_attribute Tag_DIV_use, 2
        .file   "attr-merge-2b.s"
index 789fcf1b957e4b3d17f68182b180a8d0ed29ed55..bc7a0c1a4eebbfbc36d46b7d8e29e59cbaf65993 100644 (file)
@@ -36,3 +36,4 @@
        .eabi_attribute Tag_conformance, "0"
        .eabi_attribute Tag_Virtualization_use, 0
        .eabi_attribute Tag_MPextension_use, 0
+        .eabi_attribute Tag_DIV_use, 0
index 73d65907e9845b0ba5c9b94f2f1bc44f0259b5f4..681f661c7bf555ebd51636bfadce6b1e34458cad 100644 (file)
@@ -36,3 +36,4 @@
        .eabi_attribute Tag_conformance, "2.08"
        .eabi_attribute Tag_Virtualization_use, 1
        .eabi_attribute Tag_MPextension_use, 1
+       .eabi_attribute Tag_DIV_use, 1
index 75fd063117dbf44c284222f839da67366bb1e7ac..c8fc7ecffea8de82dfbe69942f980d0f3f50c699 100644 (file)
@@ -5,4 +5,5 @@ File Attributes
   Tag_CPU_arch_profile: Microcontroller
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
   Tag_also_compatible_with: v6-M
index 9d3e97100b57d15b22574f856b1d6dd90a5b41aa..f016708d9f5493e580e4aa7e4f2d03753e234bfc 100644 (file)
@@ -3,3 +3,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_compatibility: flag = 1, vendor = gnu
+  Tag_DIV_use: Not allowed
index e996c93745b65717de5acb09879b60b680af9f05..02d270599525178a40415ab5ca5dc614dde60aec 100644 (file)
@@ -6,4 +6,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-2
   Tag_MPextension_use: Allowed
-
+  Tag_DIV_use: Not allowed
index e996c93745b65717de5acb09879b60b680af9f05..02d270599525178a40415ab5ca5dc614dde60aec 100644 (file)
@@ -6,4 +6,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-2
   Tag_MPextension_use: Allowed
-
+  Tag_DIV_use: Not allowed
index f69f1e76c289050b9f80cba62cee3ef344f5109d..b39634fe23aefb43199d1115007d3bb0afc4908e 100644 (file)
@@ -4,3 +4,4 @@ File Attributes
   Tag_CPU_arch: v7
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-2
+  Tag_DIV_use: Not allowed
index ac7679c8153730abc71ec4eb0ffea323ff9117d5..4f9c90548e4107a2fdbabc1049086f06dd2ec24b 100644 (file)
@@ -5,3 +5,4 @@ File Attributes
   Tag_CPU_arch: v6K
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
index 851b2afc74687a436c6784e774533c1ec70b78db..5755803a80c8a04d3f9a1953cf2ab7bbf0fbb5dc 100644 (file)
@@ -11,4 +11,4 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
-
+  Tag_DIV_use: Not allowed
index 49141967f98c7742ff68025cc34c9a6ff047934a..d950b3ec247d12afee9774674f65da5f80897a26 100644 (file)
@@ -11,4 +11,4 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
-
+  Tag_DIV_use: Not allowed
index 1d08bff0602fa90751fb7072f6daad488af49894..c210a06d01cd9731ff38bfcd604ff2de3018247d 100644 (file)
@@ -11,5 +11,5 @@ Attribute Section: aeabi
 File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
+  Tag_DIV_use: Not allowed
   Tag_unknown_82: 1 \(0x1\)
-
index 86257351767775879ec1f4ab3c92b1f07d12f958..99fc8e47fadb167945994f04babc8d900c20251b 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv3-D16
+  Tag_DIV_use: Not allowed
index d7a15d7bb642e424cfe39988bb48fb0c1ea978f4..42bfe995137823942163a0f5cf9fde1b24e6ad95 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv3-D16
+  Tag_DIV_use: Not allowed
index 6444bd00a3de889e06e9b7a7bce2c5204fada783..3161e1196d7bb9ccb39902992465f7192b870482 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv3
+  Tag_DIV_use: Not allowed
index 1d36983304e2a9c18d41abe2f55d60ca2eec7b9e..9c6367f49e1d15fe2678365882ce45cf60efda99 100644 (file)
@@ -11,3 +11,4 @@ File Attributes
   Tag_ARM_ISA_use: Yes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv3
+  Tag_DIV_use: Not allowed
index ee89384a28b641dfc7f7cf82ab06833bf384adeb..9853879acdbd0ed886f6611252f528c760a9fb3e 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv4-D16
   Tag_FP_HP_extension: Allowed
+  Tag_DIV_use: Not allowed
index d06bd2732c4e29318772ff7853ee271e995e1987..24df9729928fc3b7a178e7cdc164e347ca532298 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv4-D16
   Tag_FP_HP_extension: Allowed
+  Tag_DIV_use: Not allowed
index c18d672d194f78dacdac3260b04c4b32a373615f..469fc9ba3f002f272c64c396d6af9add5b29174c 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv4
   Tag_FP_HP_extension: Allowed
+  Tag_DIV_use: Not allowed
index 327e0c384fe47246e7c88fbd977f8063bfb267ad..c84e50800c701a30c23e92ee7449c4d66f784707 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv4
   Tag_FP_HP_extension: Allowed
+  Tag_DIV_use: Not allowed
index cd55a86b74262ccdc8c3f342e7b5e5d66b3bb724..dc0c6ee816117eb20a3ee3acc917366582a44a5d 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv4
   Tag_FP_HP_extension: Allowed
+  Tag_DIV_use: Not allowed
index 505c31b36c0795a4a255e55e6831f683316148e0..5e1d23af29d776654f2d0896b1a676e86e1c814b 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_THUMB_ISA_use: Thumb-1
   Tag_FP_arch: VFPv4
   Tag_FP_HP_extension: Allowed
+  Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-6.d b/ld/testsuite/ld-arm/attr-merge-vfp-6.d
new file mode 100644 (file)
index 0000000..ca89181
--- /dev/null
@@ -0,0 +1,15 @@
+#source: attr-merge-vfp-3.s
+#source: attr-merge-vfpv3xd.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+  Tag_ARM_ISA_use: Yes
+  Tag_THUMB_ISA_use: Thumb-1
+  Tag_FP_arch: VFPv3
+  Tag_ABI_HardFP_use: SP and DP
+  Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfp-6r.d b/ld/testsuite/ld-arm/attr-merge-vfp-6r.d
new file mode 100644 (file)
index 0000000..f533632
--- /dev/null
@@ -0,0 +1,15 @@
+#source: attr-merge-vfpv3xd.s
+#source: attr-merge-vfp-3.s
+#as:
+#ld: -r
+#readelf: -A
+# This test is only valid on ELF based ports.
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+Attribute Section: aeabi
+File Attributes
+  Tag_ARM_ISA_use: Yes
+  Tag_THUMB_ISA_use: Thumb-1
+  Tag_FP_arch: VFPv3
+  Tag_ABI_HardFP_use: SP and DP
+  Tag_DIV_use: Not allowed
diff --git a/ld/testsuite/ld-arm/attr-merge-vfpv3xd.s b/ld/testsuite/ld-arm/attr-merge-vfpv3xd.s
new file mode 100644 (file)
index 0000000..295ca17
--- /dev/null
@@ -0,0 +1,2 @@
+.fpu vfpv3xd
+
index 8a01f2d2104967dd9574fbc36f79e59dfa3efbc5..88e5d2519e7ca1996e53c4044d16ff7c70ded276 100644 (file)
@@ -19,3 +19,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index 4242822c8d537abe9b8c638e1485ffa5f823c0ec..73df821fbbd7abcc6ceed5eb0cc85bf2f7f5d74b 100644 (file)
@@ -19,3 +19,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index f3935169d3843abc2746927555d7418e3262ea31..f55bf52a222903d618e87b605d730989755f3c4b 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index f662120c56cbf61cab3e8d1aaf3d19cb740152be..500b6a9facd709acb22fc60375f2d487e84993f8 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index 16cc469683b59cc7657c749dbfc26c77817397ba..c1d4efd08662600a67c17173c36d4dd73ad3525b 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index 41413b9d6bf7e8f8da276b8add2eb83a301eb320..cd119803e210905df8de7652030d4abf3b45a3fd 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index c0b12488a522187f8b4ad3e90cdcf90247ff5b7b..b60e458e7cdfb15c40871cbbd49f49c22e8bb4b8 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index b81fb1588502dcacf186bc161816bffb2a54e550..96738b1d193353603a8260f51b376c7459ba6a83 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index e9a1e944e4828dbc829d97d1cd2be6ce9f0681e3..22539de4973a08f0c1fb4e1606ed92ccf78ea464 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index bf756606de0981af4f73a6ad27cfe0b948f95de9..c0e67dcaf8ff3cea248cfd724f308ae702b942f0 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index 0c9b33e574f521defc0afec95f9ace24d53665e4..e7f256638889b01a6f55d7aafd05fe7cb8dcdb9c 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index 54f0c54a44e03b7d1244b2b27e710393b02fd33d..efeafccd84189da37263ec2d22a8f67c8177b7cd 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index 46be48c223801db356563d2efcf36fc56d384bc2..39cb58a502128b15df66aa213e41b40744ebf6d2 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index cc72d3e4da16ecd0bc5f2fceae485e8cdadce2a9..b989f35451a9ac08acab6365868caa443ebb7934 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index 35eb756e1c3b778863bbc108415f9598641ae47d..988dd6ebd7ebf74e9a6ec66b4b96c65b31ab60c3 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index c0fba85666b51ea63bdeb2fcaf7b5d5b32d6d395..acda7e7bacf11be0ad4a73ce6815fa9bf7712e04 100644 (file)
@@ -20,3 +20,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index 578333b26336ae73b77a3b36e4fb75954c1ce98b..f07930e2b6145165b2ee5a54ba4cad4d3388cea3 100644 (file)
@@ -12,3 +12,4 @@ File Attributes
   Tag_ABI_align_preserved: 8-byte, except leaf SP
   Tag_ABI_enum_size: small
   Tag_ABI_optimization_goals: Aggressive Debug
+  Tag_DIV_use: Not allowed
index abc36cb3523038e178046324532d4605acb5ee7a..feea13533762d4ab9d639c497f4c1b4776fdef3a 100644 (file)
@@ -1,3 +1,9 @@
+2010-05-11  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
+
+       * arm-dis.c (thumb_opcodes): Update ldmia entry to use new %W
+       format.
+       (print_insn_thumb16): Add support for new %W format.
+
 2010-05-07  Tristan Gingold  <gingold@adacore.com>
 
        * Makefile.in: Regenerate with automake 1.11.1.
index 1d53128dc9bdea33e69b8ef8ea7397cb75a683eb..c5b00da0ecbfa00b7154dd9d271deb9ee07e8825 100644 (file)
@@ -1161,6 +1161,7 @@ static const struct opcode32 arm_opcodes[] =
    %x                  print warning if conditional an not at end of IT block"
    %X                  print "\t; unpredictable <IT:code>" if conditional
    %I                  print IT instruction suffix and operands
+   %W                  print Thumb Writeback indicator for LDMIA
    %<bitfield>r                print bitfield as an ARM register
    %<bitfield>d                print bitfield as a decimal
    %<bitfield>H         print (bitfield * 2) as a decimal
@@ -1274,7 +1275,7 @@ static const struct opcode16 thumb_opcodes[] =
   {ARM_EXT_V4T, 0xA800, 0xF800, "add%c\t%8-10r, sp, #%0-7W"},
   /* format 15 */
   {ARM_EXT_V4T, 0xC000, 0xF800, "stmia%c\t%8-10r!, %M"},
-  {ARM_EXT_V4T, 0xC800, 0xF800, "ldmia%c\t%8-10r!, %M"},
+  {ARM_EXT_V4T, 0xC800, 0xF800, "ldmia%c\t%8-10r%W, %M"},
   /* format 17 */
   {ARM_EXT_V4T, 0xDF00, 0xFF00, "svc%c\t%0-7d"},
   /* format 16 */
@@ -3438,6 +3439,14 @@ print_insn_thumb16 (bfd_vma pc, struct disassemble_info *info, long given)
                }
                break;
 
+             case 'W':
+               /* Print writeback indicator for a LDMIA.  We are doing a
+                  writeback if the base register is not in the register
+                  mask.  */
+               if ((given & (1 << ((given & 0x0700) >> 8))) == 0)
+                 func (stream, "!");
+               break;
+
              case 'b':
                /* Print ARM V6T2 CZB address: pc+4+6 bits.  */
                {