aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2005-10-25 14:07:44 +0000
committerH.J. Lu <hjl.tools@gmail.com>2005-10-25 14:07:44 +0000
commit50afb01e1a80ee200521e4e3990a80df7ed3526c (patch)
tree9fb0b913bb7b860ddd66824c9c5ebabbd47ee03e
parent7fb85e41908ab0cbd8b6316da74f753143c9007c (diff)
downloadgdb-50afb01e1a80ee200521e4e3990a80df7ed3526c.zip
gdb-50afb01e1a80ee200521e4e3990a80df7ed3526c.tar.gz
gdb-50afb01e1a80ee200521e4e3990a80df7ed3526c.tar.bz2
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.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/write.c11
2 files changed, 6 insertions, 10 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 961a722..2ff1e50 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
diff --git a/gas/write.c b/gas/write.c
index 5546b68..0613367 100644
--- a/gas/write.c
+++ b/gas/write.c
@@ -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;
}