* gas/arm/attr-syntax.d: Do not run for non-ELF based ARM targets.

* config/tc-arm.h (CONVERT_SYMBOLIC_ATTRIBUTE): Only define for
        ELF format ARM targets.
        * config/tc-arm.c (arm_convert_symbolic_attribute): Likewise.
This commit is contained in:
Nick Clifton
2009-01-19 15:46:31 +00:00
parent d3bf77be52
commit f31fef9800
4 changed files with 66 additions and 51 deletions

View File

@ -1,6 +1,6 @@
/* tc-arm.c -- Assemble for the ARM /* tc-arm.c -- Assemble for the ARM
Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 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. Free Software Foundation, Inc.
Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org) Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
Modified by David Taylor (dtaylor@armltd.co.uk) 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]) if (flavour >= 0 && flavour < (int) ARRAY_SIZE (enc) && enc[flavour])
do_vfp_nsyn_opcode (enc[flavour]); do_vfp_nsyn_opcode (enc[flavour]);
} }
static void static void
do_neon_cvt (void) do_neon_cvt (void)
{ {
@ -20935,7 +20936,6 @@ s_arm_object_arch (int ignored ATTRIBUTE_UNUSED)
ignore_rest_of_line (); ignore_rest_of_line ();
} }
/* Parse a .fpu directive. */ /* Parse a .fpu directive. */
static void static void
@ -20967,24 +20967,30 @@ s_arm_fpu (int ignored ATTRIBUTE_UNUSED)
} }
/* Copy symbol information. */ /* Copy symbol information. */
void void
arm_copy_symbol_attributes (symbolS *dest, symbolS *src) arm_copy_symbol_attributes (symbolS *dest, symbolS *src)
{ {
ARM_GET_FLAG (dest) = ARM_GET_FLAG (src); ARM_GET_FLAG (dest) = ARM_GET_FLAG (src);
} }
#ifdef OBJ_ELF
/* Given a symbolic attribute NAME, return the proper integer value. /* Given a symbolic attribute NAME, return the proper integer value.
Returns -1 if the attribute is not known. */ Returns -1 if the attribute is not known. */
int int
arm_convert_symbolic_attribute (const char *name) arm_convert_symbolic_attribute (const char *name)
{ {
#define T(tag) {#tag, tag} static const struct
/* When you modify this table you should also {
modify the list in doc/c-arm.texi. */
static const struct {
const char * name; const char * name;
const int tag; const int tag;
} attribute_table[] = { }
attribute_table[] =
{
/* When you modify this table you should
also modify the list in doc/c-arm.texi. */
#define T(tag) {#tag, tag}
T (Tag_CPU_raw_name), T (Tag_CPU_raw_name),
T (Tag_CPU_name), T (Tag_CPU_name),
T (Tag_CPU_arch), T (Tag_CPU_arch),
@ -21023,8 +21029,8 @@ arm_convert_symbolic_attribute (const char *name)
T (Tag_T2EE_use), T (Tag_T2EE_use),
T (Tag_Virtualization_use), T (Tag_Virtualization_use),
T (Tag_MPextension_use) T (Tag_MPextension_use)
};
#undef T #undef T
};
unsigned int i; unsigned int i;
if (name == NULL) if (name == NULL)
@ -21036,3 +21042,4 @@ arm_convert_symbolic_attribute (const char *name)
return -1; return -1;
} }
#endif /* OBJ_ELF */

View File

@ -1,6 +1,6 @@
/* This file is tc-arm.h /* This file is tc-arm.h
Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 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) Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
Modified by David Taylor (dtaylor@armltd.co.uk) Modified by David Taylor (dtaylor@armltd.co.uk)
@ -285,5 +285,7 @@ void tc_pe_dwarf2_emit_offset (symbolS *, unsigned int);
#endif /* TE_PE */ #endif /* TE_PE */
extern int arm_convert_symbolic_attribute (const char *); #ifdef OBJ_ELF
#define CONVERT_SYMBOLIC_ATTRIBUTE(name) arm_convert_symbolic_attribute (name) #define CONVERT_SYMBOLIC_ATTRIBUTE(name) arm_convert_symbolic_attribute (name)
extern int arm_convert_symbolic_attribute (const char *);
#endif

View 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> 2009-01-19 Andrew Stubbs <ams@codesourcery.com>
* gas/arm/attr-order.d: New file. * gas/arm/attr-order.d: New file.

View File

@ -1,3 +1,4 @@
#source: attr-syntax.s #source: attr-syntax.s
#not-target: *-*-pe *-*-aout
#as: #as:
#error: :1: Error: Attribute name not recognised: made_up_tag.*:3: Error: expected <tag> , <value>.*:5: Error: expected <tag> , <value> #error: :1: Error: Attribute name not recognised: made_up_tag.*:3: Error: expected <tag> , <value>.*:5: Error: expected <tag> , <value>