mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 17:18:24 +08:00
* 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:
@ -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 */
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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>
|
||||
|
Reference in New Issue
Block a user