* gas/arm/attr-syntax.d: Do not run for non-ELF based ARM targets.
authorNick Clifton <nickc@redhat.com>
Mon, 19 Jan 2009 15:46:31 +0000 (15:46 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 19 Jan 2009 15:46:31 +0000 (15:46 +0000)
        * config/tc-arm.h (CONVERT_SYMBOLIC_ATTRIBUTE): Only define for
        ELF format ARM targets.
        * config/tc-arm.c (arm_convert_symbolic_attribute): Likewise.

gas/config/tc-arm.c
gas/config/tc-arm.h
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/attr-syntax.d

index bdd42f81729e26d1af0be7d35e5f16e74c06b950..cf7d74b5ba19f10a6692c761a5c78575816e0b1d 100644 (file)
@@ -1,6 +1,6 @@
 /* tc-arm.c -- Assemble for the ARM
    Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-   2004, 2005, 2006, 2007, 2008
+   2004, 2005, 2006, 2007, 2008, 2009
    Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
        Modified by David Taylor (dtaylor@armltd.co.uk)
@@ -12727,6 +12727,7 @@ do_vfp_nsyn_cvtz (void)
   if (flavour >= 0 && flavour < (int) ARRAY_SIZE (enc) && enc[flavour])
     do_vfp_nsyn_opcode (enc[flavour]);
 }
+
 static void
 do_neon_cvt (void)
 {
@@ -16028,7 +16029,7 @@ static const struct asm_opcode insns[] =
  nCEF(vcvt,     vcvt,    3, (RNSDQ, RNSDQ, oI32b), neon_cvt),
  nCEF(vcvtb,   vcvt,    2, (RVS, RVS), neon_cvtb),
  nCEF(vcvtt,   vcvt,    2, (RVS, RVS), neon_cvtt),
+
 
   /* NOTE: All VMOV encoding is special-cased!  */
  NCE(vmov,      0,       1, (VMOV), neon_mov),
@@ -20935,7 +20936,6 @@ s_arm_object_arch (int ignored ATTRIBUTE_UNUSED)
   ignore_rest_of_line ();
 }
 
-
 /* Parse a .fpu directive.  */
 
 static void
@@ -20967,72 +20967,79 @@ s_arm_fpu (int ignored ATTRIBUTE_UNUSED)
 }
 
 /* Copy symbol information.  */
+
 void
 arm_copy_symbol_attributes (symbolS *dest, symbolS *src)
 {
   ARM_GET_FLAG (dest) = ARM_GET_FLAG (src);
 }
 
+#ifdef OBJ_ELF
 /* Given a symbolic attribute NAME, return the proper integer value.
    Returns -1 if the attribute is not known.  */
+
 int
 arm_convert_symbolic_attribute (const char *name)
 {
+  static const struct
+  {
+    const char * name;
+    const int    tag;
+  }
+  attribute_table[] =
+    {
+      /* When you modify this table you should
+        also modify the list in doc/c-arm.texi.  */
 #define T(tag) {#tag, tag}
-  /* When you modify this table you should also
-     modify the list in doc/c-arm.texi.  */
-  static const struct {
-    const char *name;
-    const int tag;
-  } attribute_table[] = {
-      T(Tag_CPU_raw_name),
-      T(Tag_CPU_name),
-      T(Tag_CPU_arch),
-      T(Tag_CPU_arch_profile),
-      T(Tag_ARM_ISA_use),
-      T(Tag_THUMB_ISA_use),
-      T(Tag_VFP_arch),
-      T(Tag_WMMX_arch),
-      T(Tag_Advanced_SIMD_arch),
-      T(Tag_PCS_config),
-      T(Tag_ABI_PCS_R9_use),
-      T(Tag_ABI_PCS_RW_data),
-      T(Tag_ABI_PCS_RO_data),
-      T(Tag_ABI_PCS_GOT_use),
-      T(Tag_ABI_PCS_wchar_t),
-      T(Tag_ABI_FP_rounding),
-      T(Tag_ABI_FP_denormal),
-      T(Tag_ABI_FP_exceptions),
-      T(Tag_ABI_FP_user_exceptions),
-      T(Tag_ABI_FP_number_model),
-      T(Tag_ABI_align8_needed),
-      T(Tag_ABI_align8_preserved),
-      T(Tag_ABI_enum_size),
-      T(Tag_ABI_HardFP_use),
-      T(Tag_ABI_VFP_args),
-      T(Tag_ABI_WMMX_args),
-      T(Tag_ABI_optimization_goals),
-      T(Tag_ABI_FP_optimization_goals),
-      T(Tag_compatibility),
-      T(Tag_CPU_unaligned_access),
-      T(Tag_VFP_HP_extension),
-      T(Tag_ABI_FP_16bit_format),
-      T(Tag_nodefaults),
-      T(Tag_also_compatible_with),
-      T(Tag_conformance),
-      T(Tag_T2EE_use),
-      T(Tag_Virtualization_use),
-      T(Tag_MPextension_use)
-  };
+      T (Tag_CPU_raw_name),
+      T (Tag_CPU_name),
+      T (Tag_CPU_arch),
+      T (Tag_CPU_arch_profile),
+      T (Tag_ARM_ISA_use),
+      T (Tag_THUMB_ISA_use),
+      T (Tag_VFP_arch),
+      T (Tag_WMMX_arch),
+      T (Tag_Advanced_SIMD_arch),
+      T (Tag_PCS_config),
+      T (Tag_ABI_PCS_R9_use),
+      T (Tag_ABI_PCS_RW_data),
+      T (Tag_ABI_PCS_RO_data),
+      T (Tag_ABI_PCS_GOT_use),
+      T (Tag_ABI_PCS_wchar_t),
+      T (Tag_ABI_FP_rounding),
+      T (Tag_ABI_FP_denormal),
+      T (Tag_ABI_FP_exceptions),
+      T (Tag_ABI_FP_user_exceptions),
+      T (Tag_ABI_FP_number_model),
+      T (Tag_ABI_align8_needed),
+      T (Tag_ABI_align8_preserved),
+      T (Tag_ABI_enum_size),
+      T (Tag_ABI_HardFP_use),
+      T (Tag_ABI_VFP_args),
+      T (Tag_ABI_WMMX_args),
+      T (Tag_ABI_optimization_goals),
+      T (Tag_ABI_FP_optimization_goals),
+      T (Tag_compatibility),
+      T (Tag_CPU_unaligned_access),
+      T (Tag_VFP_HP_extension),
+      T (Tag_ABI_FP_16bit_format),
+      T (Tag_nodefaults),
+      T (Tag_also_compatible_with),
+      T (Tag_conformance),
+      T (Tag_T2EE_use),
+      T (Tag_Virtualization_use),
+      T (Tag_MPextension_use)
 #undef T
+    };
   unsigned int i;
 
   if (name == NULL)
     return -1;
 
-  for (i = 0; i < ARRAY_SIZE(attribute_table); i++)
+  for (i = 0; i < ARRAY_SIZE (attribute_table); i++)
     if (strcmp (name, attribute_table[i].name) == 0)
       return attribute_table[i].tag;
 
   return -1;
 }
+#endif /* OBJ_ELF */
index 353c9af8696f2826c148072eed3cf6f8c8b5dab2..15e02c7371df86f76606bbeac2e201320ffb02c0 100644 (file)
@@ -1,6 +1,6 @@
 /* This file is tc-arm.h
    Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-   2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+   2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
        Modified by David Taylor (dtaylor@armltd.co.uk)
 
@@ -285,5 +285,7 @@ void tc_pe_dwarf2_emit_offset (symbolS *, unsigned int);
 
 #endif /* TE_PE */
 
-extern int arm_convert_symbolic_attribute (const char *);
+#ifdef OBJ_ELF
 #define CONVERT_SYMBOLIC_ATTRIBUTE(name) arm_convert_symbolic_attribute (name)
+extern int arm_convert_symbolic_attribute (const char *);
+#endif
index 00abbb99ca928b030c56c422d966adf56a379277..6297ee6ced7a4de1ee5466645984a98070aedaff 100644 (file)
@@ -1,3 +1,8 @@
+2009-01-19  Nick Clifton  <nickc@redhat.com>
+
+       * gas/arm/attr-syntax.d: Do not run for non-ELF based ARM
+       targets.
+
 2009-01-19  Andrew Stubbs  <ams@codesourcery.com>
 
        * gas/arm/attr-order.d: New file.
index 893bdb987224b0f80b4ac1c39d9cc7ebe6dfdb67..894b829330be9143fb291ac66c3074d440876c6f 100644 (file)
@@ -1,3 +1,4 @@
 #source: attr-syntax.s
+#not-target: *-*-pe *-*-aout
 #as:
 #error: :1: Error: Attribute name not recognised: made_up_tag.*:3: Error: expected <tag> , <value>.*:5: Error: expected <tag> , <value>
This page took 0.040535 seconds and 4 git commands to generate.