gas/
[deliverable/binutils-gdb.git] / gas / config / tc-arm.h
index 2a85afd46b892f65feeaaee1c3508dd385f0b821..4425d7544897067fe79b5f943a447efc45b3b6c0 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, 2008, 2009  Free Software Foundation, Inc.
+   2004, 2005, 2006, 2007, 2008, 2009, 2012  Free Software Foundation, Inc.
    Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
        Modified by David Taylor (dtaylor@armltd.co.uk)
 
@@ -79,8 +79,14 @@ struct fix;
 # define TARGET_FORMAT elf32_arm_target_format ()
 #endif
 
+/* We support double slash line-comments for compatibility with the ARM AArch64 Assembler.  */
+#define DOUBLESLASH_LINE_COMMENTS
+
 #define TC_FORCE_RELOCATION(FIX) arm_force_relocation (FIX)
 
+extern unsigned int arm_frag_max_var (struct frag *);
+#define md_frag_max_var arm_frag_max_var
+
 #define md_relax_frag(segment, fragp, stretch) \
   arm_relax_frag (segment, fragp, stretch)
 extern int arm_relax_frag (asection *, struct frag *, long);
@@ -161,7 +167,7 @@ void arm_copy_symbol_attributes (symbolS *, symbolS *);
   (arm_copy_symbol_attributes (DEST, SRC))
 #endif
 
-#define TC_START_LABEL(C,STR)            (c == ':' || (c == '/' && arm_data_in_code ()))
+#define TC_START_LABEL(C,S,STR)            (C == ':' || (C == '/' && arm_data_in_code ()))
 #define tc_canonicalize_symbol_name(str) arm_canonicalize_symbol_name (str);
 #define obj_adjust_symtab()             arm_adjust_symtab ()
 
@@ -183,6 +189,7 @@ void arm_copy_symbol_attributes (symbolS *, symbolS *);
   (!(FIX)->fx_pcrel                                    \
    || (FIX)->fx_r_type == BFD_RELOC_ARM_GOT32          \
    || (FIX)->fx_r_type == BFD_RELOC_32                 \
+   || ((FIX)->fx_addsy != NULL && S_IS_WEAK ((FIX)->fx_addsy)) \
    || TC_FORCE_RELOCATION (FIX))
 
 /* Force output of R_ARM_REL32 relocations against thumb function symbols.
@@ -191,6 +198,12 @@ void arm_copy_symbol_attributes (symbolS *, symbolS *);
   (THUMB_IS_FUNC ((FIX)->fx_addsy)             \
    || !SEG_NORMAL (SEG))
 
+#define TC_FORCE_RELOCATION_ABS(FIX)                   \
+  (((FIX)->fx_pcrel                                    \
+    && (FIX)->fx_r_type != BFD_RELOC_32                        \
+    && (FIX)->fx_r_type != BFD_RELOC_ARM_GOT32)                \
+   || TC_FORCE_RELOCATION(FIX))
+
 #define TC_CONS_FIX_NEW cons_fix_new_arm
 
 #define MAX_MEM_ALIGNMENT_BYTES    6
This page took 0.033832 seconds and 4 git commands to generate.