aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/symtab.cc6
2 files changed, 11 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index f0ca5e5..e628e49 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-16 Ian Lance Taylor <iant@google.com>
+
+ * symtab.cc (Warnings::issue_warning): Don't warn if relocation
+ occurs in same object.
+
2011-06-14 Alan Modra <amodra@gmail.com>
* po/POTFILES.in: Regenerate.
diff --git a/gold/symtab.cc b/gold/symtab.cc
index 92f83af..5d8c163 100644
--- a/gold/symtab.cc
+++ b/gold/symtab.cc
@@ -3282,6 +3282,12 @@ Warnings::issue_warning(const Symbol* sym,
size_t relnum, off_t reloffset) const
{
gold_assert(sym->has_warning());
+
+ // We don't want to issue a warning for a relocation against the
+ // symbol in the same object file in which the symbol is defined.
+ if (sym->object() == relinfo->object)
+ return;
+
Warning_table::const_iterator p = this->warnings_.find(sym->name());
gold_assert(p != this->warnings_.end());
gold_warning_at_location(relinfo, relnum, reloffset,