* ld/testsuite/ld-arm/attr-merge-3.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-1.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-1r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-2.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-2r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-3.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-3r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-4.d: Likeiwse.
* ld/testsuite/ld-arm/attr-merge-vfp-4r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-5.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-5r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-00.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-02.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-04.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-20.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-22.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-40.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-44.d: Likewise.
* ld/testsuite/ld-arm/attr-merge.attr: Likewise.
* binutils/readelf.c (arm_attr_tag_FP_arch): Rename from arm_attr_tag_VFP_arch.
(arm_attr_tag_ABI_align8_needed): Remove.
(arm_attr_tag_ABI_align8_preserved): Remove.
(arm_attr_tag_ABI_HardFP_use): Update text strings.
(arm_attr_public_tags): Add strings for ABI v2.08 attribute tags.
(display_arm_attribute): Add decoding of ABI v2.08 attributes.
* include/elf/arm.h (Tag_FP_arch, Tag_ABI_align_needed, Tag_ABI_align_preserved,
Tag_FP_HP_extension): Add new ABI attribute tags.
* gas/config/tc-arm.c (arm_convert_symbolic_attribute): Add support for
new tag names in v2.08 of ARM ABI.
* gas/doc/c-arm.texi: Document new tag names in ABI.
* gas/testsuite/gas/arm/attr-mcpu.d: Update for new attribute tag names.
* gas/testsuite/gas/arm/attr-mfpu-arm1020e.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1020t.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1136jf-s.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1136jfs.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-neon-fp16.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-neon.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-softvfp+vfp.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp10-r0.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp10.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp3.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp9.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv2.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv3-d16.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv3.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv4-d16.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv4.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpxd.d: Likewise.
* gas/testsuite/gas/arm/attr-names.d: Add test to make sure all attribute names
are recognised.
* gas/testsuite/gas/arm/attr-names.s: Likewise.
+2010-04-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * elf32-arm.c (elf32_arm_merge_eabi_attributes): Support additions to
+ attributes in v2.08 of the ABI.
+
2010-04-15 Alan Modra <amodra@gmail.com>
* config.bfd (vax*-*-*vms*): Delete.
case Tag_ABI_FP_exceptions:
case Tag_ABI_FP_user_exceptions:
case Tag_ABI_FP_number_model:
- case Tag_VFP_HP_extension:
+ case Tag_FP_HP_extension:
case Tag_CPU_unaligned_access:
case Tag_T2EE_use:
- case Tag_Virtualization_use:
case Tag_MPextension_use:
/* Use the largest value specified. */
if (in_attr[i].i > out_attr[i].i)
out_attr[i].i = in_attr[i].i;
break;
- case Tag_ABI_align8_preserved:
+ case Tag_ABI_align_preserved:
case Tag_ABI_PCS_RO_data:
/* Use the smallest value specified. */
if (in_attr[i].i < out_attr[i].i)
out_attr[i].i = in_attr[i].i;
break;
- case Tag_ABI_align8_needed:
+ case Tag_ABI_align_needed:
if ((in_attr[i].i > 0 || out_attr[i].i > 0)
- && (in_attr[Tag_ABI_align8_preserved].i == 0
- || out_attr[Tag_ABI_align8_preserved].i == 0))
+ && (in_attr[Tag_ABI_align_preserved].i == 0
+ || out_attr[Tag_ABI_align_preserved].i == 0))
{
/* This error message should be enabled once all non-conformant
binaries in the toolchain have had the attributes set
out_attr[i].i = in_attr[i].i;
break;
+ case Tag_Virtualization_use:
+ /* The virtualization tag effectively stores two bits of
+ information: the intended use of TrustZone (in bit 0), and the
+ intended use of Virtualization (in bit 1). */
+ if (out_attr[i].i == 0)
+ out_attr[i].i = in_attr[i].i;
+ else if (in_attr[i].i != 0
+ && in_attr[i].i != out_attr[i].i)
+ {
+ if (in_attr[i].i <= 3 && out_attr[i].i <= 3)
+ out_attr[i].i = 3;
+ else
+ {
+ _bfd_error_handler
+ (_("error: %B: unable to merge virtualization attributes "
+ "with %B"),
+ obfd, ibfd);
+ result = FALSE;
+ }
+ }
+ break;
case Tag_CPU_arch_profile:
if (out_attr[i].i != in_attr[i].i)
}
}
break;
- case Tag_VFP_arch:
+ case Tag_FP_arch:
{
static const struct
{
+2010-04-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * readelf.c (arm_attr_tag_FP_arch): Rename from arm_attr_tag_VFP_arch.
+ (arm_attr_tag_ABI_align8_needed): Remove.
+ (arm_attr_tag_ABI_align8_preserved): Remove.
+ (arm_attr_tag_ABI_HardFP_use): Update text strings.
+ (arm_attr_public_tags): Add strings for ABI v2.08 attribute tags.
+ (display_arm_attribute): Add decoding of ABI v2.08 attributes.
+
2010-04-13 Nick Clifton <nickc@redhat.com>
PR binutils/11419
static const char * arm_attr_tag_ARM_ISA_use[] = {"No", "Yes"};
static const char * arm_attr_tag_THUMB_ISA_use[] =
{"No", "Thumb-1", "Thumb-2"};
-static const char * arm_attr_tag_VFP_arch[] =
+static const char * arm_attr_tag_FP_arch[] =
{"No", "VFPv1", "VFPv2", "VFPv3", "VFPv3-D16", "VFPv4", "VFPv4-D16"};
static const char * arm_attr_tag_WMMX_arch[] = {"No", "WMMXv1", "WMMXv2"};
static const char * arm_attr_tag_Advanced_SIMD_arch[] =
static const char * arm_attr_tag_ABI_FP_user_exceptions[] = {"Unused", "Needed"};
static const char * arm_attr_tag_ABI_FP_number_model[] =
{"Unused", "Finite", "RTABI", "IEEE 754"};
-static const char * arm_attr_tag_ABI_align8_needed[] = {"No", "Yes", "4-byte"};
-static const char * arm_attr_tag_ABI_align8_preserved[] =
- {"No", "Yes, except leaf SP", "Yes"};
static const char * arm_attr_tag_ABI_enum_size[] =
{"Unused", "small", "int", "forced to int"};
static const char * arm_attr_tag_ABI_HardFP_use[] =
- {"As Tag_VFP_arch", "SP only", "DP only", "SP and DP"};
+ {"As Tag_FP_arch", "SP only", "DP only", "SP and DP"};
static const char * arm_attr_tag_ABI_VFP_args[] =
{"AAPCS", "VFP registers", "custom"};
static const char * arm_attr_tag_ABI_WMMX_args[] =
{"None", "Prefer Speed", "Aggressive Speed", "Prefer Size",
"Aggressive Size", "Prefer Accuracy", "Aggressive Accuracy"};
static const char * arm_attr_tag_CPU_unaligned_access[] = {"None", "v6"};
-static const char * arm_attr_tag_VFP_HP_extension[] =
+static const char * arm_attr_tag_FP_HP_extension[] =
{"Not Allowed", "Allowed"};
static const char * arm_attr_tag_ABI_FP_16bit_format[] =
{"None", "IEEE 754", "Alternative Format"};
{7, "CPU_arch_profile", 0, NULL},
LOOKUP(8, ARM_ISA_use),
LOOKUP(9, THUMB_ISA_use),
- LOOKUP(10, VFP_arch),
+ LOOKUP(10, FP_arch),
LOOKUP(11, WMMX_arch),
LOOKUP(12, Advanced_SIMD_arch),
LOOKUP(13, PCS_config),
LOOKUP(21, ABI_FP_exceptions),
LOOKUP(22, ABI_FP_user_exceptions),
LOOKUP(23, ABI_FP_number_model),
- LOOKUP(24, ABI_align8_needed),
- LOOKUP(25, ABI_align8_preserved),
+ {24, "ABI_align_needed", 0, NULL},
+ {25, "ABI_align_preserved", 0, NULL},
LOOKUP(26, ABI_enum_size),
LOOKUP(27, ABI_HardFP_use),
LOOKUP(28, ABI_VFP_args),
LOOKUP(31, ABI_FP_optimization_goals),
{32, "compatibility", 0, NULL},
LOOKUP(34, CPU_unaligned_access),
- LOOKUP(36, VFP_HP_extension),
+ LOOKUP(36, FP_HP_extension),
LOOKUP(38, ABI_FP_16bit_format),
LOOKUP(42, MPextension_use),
LOOKUP(44, DIV_use),
case 'A': printf ("Application\n"); break;
case 'R': printf ("Realtime\n"); break;
case 'M': printf ("Microcontroller\n"); break;
+ case 'S': printf ("Application or Realtime\n"); break;
default: printf ("??? (%d)\n", val); break;
}
break;
+ case 24: /* Tag_align_needed. */
+ val = read_uleb128 (p, &len);
+ p += len;
+ switch (val)
+ {
+ case 0: printf ("None\n"); break;
+ case 1: printf ("8-byte\n"); break;
+ case 2: printf ("4-byte\n"); break;
+ case 3: printf ("??? 3\n"); break;
+ default:
+ if (val <= 12)
+ printf ("8-byte and up to %d-byte extended\n",
+ 1 << val);
+ else
+ printf ("??? (%d)\n", val);
+ break;
+ }
+ break;
+
+ case 25: /* Tag_align_preserved. */
+ val = read_uleb128 (p, &len);
+ p += len;
+ switch (val)
+ {
+ case 0: printf ("None\n"); break;
+ case 1: printf ("8-byte, except leaf SP\n"); break;
+ case 2: printf ("8-byte\n"); break;
+ case 3: printf ("??? 3\n"); break;
+ default:
+ if (val <= 12)
+ printf ("8-byte and up to %d-byte extended\n",
+ 1 << val);
+ else
+ printf ("??? (%d)\n", val);
+ break;
+ }
+ break;
+
case 32: /* Tag_compatibility. */
val = read_uleb128 (p, &len);
p += len;
+2010-04-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * config/tc-arm.c (arm_convert_symbolic_attribute): Add support for
+ new tag names in v2.08 of ARM ABI.
+ * doc/c-arm.texi: Document new tag names in ABI.
+
2010-04-14 Tristan Gingold <gingold@adacore.com>
* config/tc-alpha.c: Includes vms/egps.h on EVAX.
T (Tag_CPU_arch_profile),
T (Tag_ARM_ISA_use),
T (Tag_THUMB_ISA_use),
+ T (Tag_FP_arch),
T (Tag_VFP_arch),
T (Tag_WMMX_arch),
T (Tag_Advanced_SIMD_arch),
T (Tag_ABI_FP_exceptions),
T (Tag_ABI_FP_user_exceptions),
T (Tag_ABI_FP_number_model),
+ T (Tag_ABI_align_needed),
T (Tag_ABI_align8_needed),
+ T (Tag_ABI_align_preserved),
T (Tag_ABI_align8_preserved),
T (Tag_ABI_enum_size),
T (Tag_ABI_HardFP_use),
T (Tag_ABI_FP_optimization_goals),
T (Tag_compatibility),
T (Tag_CPU_unaligned_access),
+ T (Tag_FP_HP_extension),
T (Tag_VFP_HP_extension),
T (Tag_ABI_FP_16bit_format),
T (Tag_MPextension_use),
The @var{tag} is either an attribute number, or one of the following:
@code{Tag_CPU_raw_name}, @code{Tag_CPU_name}, @code{Tag_CPU_arch},
@code{Tag_CPU_arch_profile}, @code{Tag_ARM_ISA_use},
-@code{Tag_THUMB_ISA_use}, @code{Tag_VFP_arch}, @code{Tag_WMMX_arch},
+@code{Tag_THUMB_ISA_use}, @code{Tag_FP_arch}, @code{Tag_WMMX_arch},
@code{Tag_Advanced_SIMD_arch}, @code{Tag_PCS_config},
@code{Tag_ABI_PCS_R9_use}, @code{Tag_ABI_PCS_RW_data},
@code{Tag_ABI_PCS_RO_data}, @code{Tag_ABI_PCS_GOT_use},
@code{Tag_ABI_PCS_wchar_t}, @code{Tag_ABI_FP_rounding},
@code{Tag_ABI_FP_denormal}, @code{Tag_ABI_FP_exceptions},
@code{Tag_ABI_FP_user_exceptions}, @code{Tag_ABI_FP_number_model},
-@code{Tag_ABI_align8_needed}, @code{Tag_ABI_align8_preserved},
+@code{Tag_ABI_align_needed}, @code{Tag_ABI_align_preserved},
@code{Tag_ABI_enum_size}, @code{Tag_ABI_HardFP_use},
@code{Tag_ABI_VFP_args}, @code{Tag_ABI_WMMX_args},
@code{Tag_ABI_optimization_goals}, @code{Tag_ABI_FP_optimization_goals},
@code{Tag_compatibility}, @code{Tag_CPU_unaligned_access},
-@code{Tag_VFP_HP_extension}, @code{Tag_ABI_FP_16bit_format},
+@code{Tag_FP_HP_extension}, @code{Tag_ABI_FP_16bit_format},
@code{Tag_MPextension_use}, @code{Tag_DIV_use},
@code{Tag_nodefaults}, @code{Tag_also_compatible_with},
@code{Tag_conformance}, @code{Tag_T2EE_use},
The @var{value} is either a @code{number}, @code{"string"}, or
@code{number, "string"} depending on the tag.
+Note - the following legacy values are also accepted by @var{tag}:
+@code{Tag_VFP_arch}, @code{Tag_ABI_align8_needed},
+@code{Tag_ABI_align8_preserved}, @code{Tag_VFP_HP_extension},
+
@cindex @code{.even} directive, ARM
@item .even
This directive aligns to an even-numbered address.
+2010-04-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * gas/arm/attr-mcpu.d: Update for new attribute tag names.
+ * 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-neon-fp16.d: Likewise.
+ * gas/arm/attr-mfpu-neon.d: Likewise.
+ * gas/arm/attr-mfpu-softvfp+vfp.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-names.d: Add test to make sure all attribute names
+ are recognised.
+ * gas/arm/attr-names.s: Likewise.
+
2010-04-07 Jie Zhang <jie@codesourcery.com>
* gas/arm/mapmisc.s: Test multiple mapping symbols have
Tag_CPU_arch_profile: Application
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
- Tag_VFP_arch: VFPv3
+ Tag_FP_arch: VFPv3
Tag_Advanced_SIMD_arch: NEONv1
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv2
+ Tag_FP_arch: VFPv2
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv1
+ Tag_FP_arch: VFPv1
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv2
+ Tag_FP_arch: VFPv2
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv2
+ Tag_FP_arch: VFPv2
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv3
+ Tag_FP_arch: VFPv3
Tag_Advanced_SIMD_arch: NEONv1
- Tag_VFP_HP_extension: Allowed
+ Tag_FP_HP_extension: Allowed
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv3
+ Tag_FP_arch: VFPv3
Tag_Advanced_SIMD_arch: NEONv1
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv2
+ Tag_FP_arch: VFPv2
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv2
+ Tag_FP_arch: VFPv2
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv1
+ Tag_FP_arch: VFPv1
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv2
+ Tag_FP_arch: VFPv2
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv3
+ Tag_FP_arch: VFPv3
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv2
+ Tag_FP_arch: VFPv2
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv2
+ Tag_FP_arch: VFPv2
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv3-D16
+ Tag_FP_arch: VFPv3-D16
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv3
+ Tag_FP_arch: VFPv3
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv4-D16
- Tag_VFP_HP_extension: Allowed
+ Tag_FP_arch: VFPv4-D16
+ Tag_FP_HP_extension: Allowed
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv4
- Tag_VFP_HP_extension: Allowed
+ Tag_FP_arch: VFPv4
+ Tag_FP_HP_extension: Allowed
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv1
+ Tag_FP_arch: VFPv1
--- /dev/null
+# name: EABI attribute names
+# source: attr-names.s
+# as:
+# readelf: -A
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi
+
+Attribute Section: aeabi
+File Attributes
+ Tag_conformance: "2.08"
+ Tag_nodefaults: True
+ Tag_CPU_raw_name: "random-cpu"
+ Tag_CPU_name: "cpu"
+ Tag_CPU_arch: v4
+ Tag_CPU_arch_profile: Application or Realtime
+ Tag_ARM_ISA_use: Yes
+ Tag_THUMB_ISA_use: Thumb-1
+ Tag_FP_arch: VFPv1
+ Tag_WMMX_arch: WMMXv1
+ Tag_Advanced_SIMD_arch: NEONv1
+ Tag_PCS_config: Bare platform
+ Tag_ABI_PCS_R9_use: SB
+ Tag_ABI_PCS_RW_data: PC-relative
+ Tag_ABI_PCS_RO_data: PC-relative
+ Tag_ABI_PCS_GOT_use: direct
+ Tag_ABI_PCS_wchar_t: 2
+ Tag_ABI_FP_rounding: Needed
+ Tag_ABI_FP_denormal: Needed
+ Tag_ABI_FP_exceptions: Needed
+ Tag_ABI_FP_user_exceptions: Needed
+ Tag_ABI_FP_number_model: Finite
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
+ Tag_ABI_enum_size: small
+ Tag_ABI_HardFP_use: SP only
+ Tag_ABI_VFP_args: VFP registers
+ Tag_ABI_WMMX_args: WMMX registers
+ Tag_ABI_optimization_goals: Prefer Speed
+ Tag_ABI_FP_optimization_goals: Prefer Speed
+ Tag_compatibility: flag = 1, vendor = gnu
+ Tag_CPU_unaligned_access: v6
+ Tag_FP_HP_extension: Allowed
+ Tag_ABI_FP_16bit_format: IEEE 754
+ Tag_MPextension_use: Allowed
+ Tag_DIV_use: Not allowed
+ Tag_also_compatible_with: v6-M
+ Tag_T2EE_use: Allowed
+ Tag_Virtualization_use: TrustZone and Virtualization Extensions
--- /dev/null
+.eabi_attribute Tag_CPU_raw_name, "random-cpu"
+.eabi_attribute Tag_CPU_name, "cpu"
+.eabi_attribute Tag_CPU_arch, 1
+.eabi_attribute Tag_CPU_arch_profile, 'S'
+.eabi_attribute Tag_ARM_ISA_use, 1
+.eabi_attribute Tag_THUMB_ISA_use, 1
+.eabi_attribute Tag_FP_arch, 1
+.eabi_attribute Tag_VFP_arch, 1
+.eabi_attribute Tag_WMMX_arch, 1
+.eabi_attribute Tag_Advanced_SIMD_arch, 1
+.eabi_attribute Tag_PCS_config, 1
+.eabi_attribute Tag_ABI_PCS_R9_use, 1
+.eabi_attribute Tag_ABI_PCS_RW_data, 1
+.eabi_attribute Tag_ABI_PCS_RO_data, 1
+.eabi_attribute Tag_ABI_PCS_GOT_use, 1
+.eabi_attribute Tag_ABI_PCS_wchar_t, 2
+.eabi_attribute Tag_ABI_FP_rounding, 1
+.eabi_attribute Tag_ABI_FP_denormal, 1
+.eabi_attribute Tag_ABI_FP_exceptions, 1
+.eabi_attribute Tag_ABI_FP_user_exceptions, 1
+.eabi_attribute Tag_ABI_FP_number_model, 1
+.eabi_attribute Tag_ABI_align_needed, 1
+.eabi_attribute Tag_ABI_align8_needed, 1
+.eabi_attribute Tag_ABI_align_preserved, 1
+.eabi_attribute Tag_ABI_align8_preserved, 1
+.eabi_attribute Tag_ABI_enum_size, 1
+.eabi_attribute Tag_ABI_HardFP_use, 1
+.eabi_attribute Tag_ABI_VFP_args, 1
+.eabi_attribute Tag_ABI_WMMX_args, 1
+.eabi_attribute Tag_ABI_optimization_goals, 1
+.eabi_attribute Tag_ABI_FP_optimization_goals, 1
+.eabi_attribute Tag_compatibility, 1, "gnu"
+.eabi_attribute Tag_CPU_unaligned_access, 1
+.eabi_attribute Tag_FP_HP_extension, 1
+.eabi_attribute Tag_VFP_HP_extension, 1
+.eabi_attribute Tag_ABI_FP_16bit_format, 1
+.eabi_attribute Tag_MPextension_use, 1
+.eabi_attribute Tag_DIV_use, 1
+.eabi_attribute Tag_nodefaults, 0
+.eabi_attribute Tag_also_compatible_with, "\06\013"
+.eabi_attribute Tag_conformance, "2.08"
+.eabi_attribute Tag_T2EE_use, 1
+.eabi_attribute Tag_Virtualization_use, 3
+2010-04-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * arm.h (Tag_FP_arch, Tag_ABI_align_needed, Tag_ABI_align_preserved,
+ Tag_FP_HP_extension): Add new ABI attribute tags.
+
2010-04-15 Nick Clifton <nickc@redhat.com>
* alpha.h: Update copyright notice to use GPLv3.
Tag_CPU_arch_profile,
Tag_ARM_ISA_use,
Tag_THUMB_ISA_use,
- Tag_VFP_arch,
+ Tag_FP_arch,
Tag_WMMX_arch,
Tag_Advanced_SIMD_arch,
Tag_PCS_config,
Tag_ABI_FP_exceptions,
Tag_ABI_FP_user_exceptions,
Tag_ABI_FP_number_model,
- Tag_ABI_align8_needed,
- Tag_ABI_align8_preserved,
+ Tag_ABI_align_needed,
+ Tag_ABI_align_preserved,
Tag_ABI_enum_size,
Tag_ABI_HardFP_use,
Tag_ABI_VFP_args,
Tag_undefined33 = 33,
Tag_CPU_unaligned_access,
Tag_undefined35,
- Tag_VFP_HP_extension,
+ Tag_FP_HP_extension,
Tag_undefined37,
Tag_ABI_FP_16bit_format,
Tag_undefined39,
Tag_conformance,
Tag_Virtualization_use,
Tag_undefined69,
- Tag_MPextension_use_legacy
+ Tag_MPextension_use_legacy,
+
+ /* The following tags are legacy names for other tags. */
+ Tag_VFP_arch = Tag_FP_arch,
+ Tag_ABI_align8_needed = Tag_ABI_align_needed,
+ Tag_ABI_align8_preserved = Tag_ABI_align_preserved,
+ Tag_VFP_HP_extension = Tag_FP_HP_extension
};
#endif
+2010-04-15 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * ld-arm/attr-merge-2.attr: Update for changes in attribute output.
+ * ld-arm/attr-merge-3.attr: 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: Likeiwse.
+ * 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-06 David S. Miller <davem@davemloft.net>
* ld-elfvers/vers.exp: Pass -Av9a to assembler on sparc-*-*
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_CPU_arch: v5T
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
- Tag_VFP_arch: VFPv3
+ Tag_FP_arch: VFPv3
Tag_WMMX_arch: WMMXv2
Tag_Advanced_SIMD_arch: NEONv1
Tag_PCS_config: Linux application
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_user_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_HardFP_use: SP and DP
Tag_ABI_VFP_args: VFP registers
Tag_CPU_unaligned_access: v6
- Tag_VFP_HP_extension: Allowed
+ Tag_FP_HP_extension: Allowed
Tag_MPextension_use: Allowed
Tag_T2EE_use: Allowed
Tag_Virtualization_use: TrustZone
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv3-D16
+ Tag_FP_arch: VFPv3-D16
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv3-D16
+ Tag_FP_arch: VFPv3-D16
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv3
+ Tag_FP_arch: VFPv3
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv3
+ Tag_FP_arch: VFPv3
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv4-D16
- Tag_VFP_HP_extension: Allowed
+ Tag_FP_arch: VFPv4-D16
+ Tag_FP_HP_extension: Allowed
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv4-D16
- Tag_VFP_HP_extension: Allowed
+ Tag_FP_arch: VFPv4-D16
+ Tag_FP_HP_extension: Allowed
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv4
- Tag_VFP_HP_extension: Allowed
+ Tag_FP_arch: VFPv4
+ Tag_FP_HP_extension: Allowed
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv4
- Tag_VFP_HP_extension: Allowed
+ Tag_FP_arch: VFPv4
+ Tag_FP_HP_extension: Allowed
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv4
- Tag_VFP_HP_extension: Allowed
+ Tag_FP_arch: VFPv4
+ Tag_FP_HP_extension: Allowed
File Attributes
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
- Tag_VFP_arch: VFPv4
- Tag_VFP_HP_extension: Allowed
+ Tag_FP_arch: VFPv4
+ Tag_FP_HP_extension: Allowed
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
- Tag_ABI_align8_needed: Yes
- Tag_ABI_align8_preserved: Yes, except leaf SP
+ Tag_ABI_align_needed: 8-byte
+ Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: small
Tag_ABI_optimization_goals: Aggressive Debug