2005-10-25 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 25 Oct 2005 14:07:44 +0000 (14:07 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 25 Oct 2005 14:07:44 +0000 (14:07 +0000)
* write.c (adjust_reloc_syms): Undo the change made on
2005-04-26 to allow local symbol set to undefined symbol.

gas/ChangeLog
gas/write.c

index 961a722425d492b78bf4fd4852fddaec894f0043..2ff1e5043f32fc52316981f9a3719acdcde919ea 100644 (file)
@@ -1,3 +1,8 @@
+2005-10-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * write.c (adjust_reloc_syms): Undo the change made on
+       2005-04-26 to allow local symbol set to undefined symbol.
+
 2005-10-24  H.J. Lu  <hongjiu.lu@intel.com>
 
        * Makefile.am (bfin-parse.tab.h): Removed.
index 5546b6849eca0412c7f7ad71535868f53c25d096..06133679b54df38a4e0a3edd08e6252c9e8cc1ca 100644 (file)
@@ -681,17 +681,8 @@ adjust_reloc_syms (bfd *abfd ATTRIBUTE_UNUSED,
        if (symbol_equated_reloc_p (sym)
            || S_IS_WEAKREFR (sym))
          {
-           symbolS *new_sym
-             = symbol_get_value_expression (sym)->X_add_symbol;
-           const char *name = S_GET_NAME (sym);
-           if (!S_IS_COMMON (new_sym)
-               && !TC_FAKE_LABEL (name)
-               && !S_IS_WEAKREFR (sym)
-               && (!S_IS_EXTERNAL (sym) || S_IS_LOCAL (sym)))
-             as_bad (_("Local symbol `%s' can't be equated to undefined symbol `%s'"),
-                     name, S_GET_NAME (new_sym));
            fixp->fx_offset += symbol_get_value_expression (sym)->X_add_number;
-           sym = new_sym;
+           sym = symbol_get_value_expression (sym)->X_add_symbol;
            fixp->fx_addsy = sym;
          }