aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/icf.cc9
2 files changed, 11 insertions, 3 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 0f97482..14709bf 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,10 @@
2009-08-12 Sriraman Tallam <tmsriram@google.com>
+ * icf.cc (Icf::find_identical_sections): Issue a warning when a
+ symbol in the --keep-unique list is not found.
+
+2009-08-12 Sriraman Tallam <tmsriram@google.com>
+
* icf.cc (Icf::find_identical_sections): Unfold symbols that have
been maked as --keep-unique.
(Icf::unfold_section): New function.
diff --git a/gold/icf.cc b/gold/icf.cc
index 6f95922..411cf2e 100644
--- a/gold/icf.cc
+++ b/gold/icf.cc
@@ -606,9 +606,12 @@ Icf::find_identical_sections(const Input_objects* input_objects,
{
const char* name = p->c_str();
Symbol* sym = symtab->lookup(name);
- if (sym != NULL
- && sym->source() == Symbol::FROM_OBJECT
- && !sym->object()->is_dynamic())
+ if (sym == NULL)
+ {
+ gold_warning(_("Could not find symbol %s to unfold\n"), name);
+ }
+ else if (sym->source() == Symbol::FROM_OBJECT
+ && !sym->object()->is_dynamic())
{
Object* obj = sym->object();
bool is_ordinary;