2011-06-09 Tristan Gingold <gingold@adacore.com>
[deliverable/binutils-gdb.git] / gas / config / tc-arm.h
index dacb342c69dd9a72e61e74825b293fab482a0f80..2916ae19a3294b77e35d77b970cad88f9acf97ef 100644 (file)
@@ -183,6 +183,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 +192,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.02362 seconds and 4 git commands to generate.