2001-02-06 H.J. Lu <hjl@gnu.org>
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 6 Feb 2001 19:09:01 +0000 (19:09 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 6 Feb 2001 19:09:01 +0000 (19:09 +0000)
* config/tc-ia64.h (TC_RELOC_RTSYM_LOC_FIXUP): New. Defined.

* config/tc-ia64.c (md_parse_option): Only accept the valid
ia64 options on "-axxx".

gas/config/tc-ia64.c
gas/config/tc-ia64.h

index b9050951f969102055f0fb60ea561b39deb415e6..0b31a556dea4a1566194d03a22f4e84ccc0fe770 100644 (file)
@@ -5834,12 +5834,13 @@ md_parse_option (c, arg)
       break;
 
     case 'a':
-      /* ??? Conflicts with gas' listing option.  */
       /* indirect=<tgt>        Assume unannotated indirect branches behavior
                        according to <tgt> --
                        exit:   branch out from the current context (default)
                        labels: all labels in context may be branch targets
        */
+      if (strncmp (arg, "indirect=", 9) != 0)
+        return 0;
       break;
 
     case 'x':
index fd802de8331a660a8bbbcf9f76c3b3147e2f206d..a3353fcb77ed757f36df57de5c6de3a3be6084d8 100644 (file)
@@ -246,3 +246,15 @@ typedef struct unwind_record
     unw_x_record x;
   } record;
 } unwind_record;
+
+/* This expression evaluates to false if the relocation is for a local 
+   object for which we still want to do the relocation at runtime.
+   True if we are willing to perform this relocation while building
+   the .o file.  This is only used for pcrel relocations.  */
+
+#define TC_RELOC_RTSYM_LOC_FIXUP(FIX)                          \
+  ((FIX)->fx_addsy == NULL                                     \
+   || (! S_IS_EXTERNAL ((FIX)->fx_addsy)                       \
+       && ! S_IS_WEAK ((FIX)->fx_addsy)                                \
+       && S_IS_DEFINED ((FIX)->fx_addsy)                        \
+       && ! S_IS_COMMON ((FIX)->fx_addsy)))