]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
2018-01-12 Eric Christopher <echristo@gmail.com>
authorEric Christopher <echristo@gmail.com>
Fri, 12 Jan 2018 19:12:55 +0000 (11:12 -0800)
committerEric Christopher <echristo@gmail.com>
Fri, 12 Jan 2018 19:18:07 +0000 (11:18 -0800)
    Apply from master:
    2018-01-12 Sterling Augustine <saugustine@google.com>

        * cref.cc (Cref_inputs::Cref_table_compare::operator): Add
        conditionals and calls to is_forwarder.

gold/ChangeLog
gold/cref.cc

index 9e45ad360d91f55b5dae1a884b7107164812e51d..1403db5029b7c5216d89317ef6e90d074cb0ea94 100644 (file)
@@ -1,3 +1,11 @@
+2018-01-12  Eric Christopher  <echristo@gmail.com>
+
+       Apply from master:
+       2018-01-12 Sterling Augustine <saugustine@google.com>
+
+       * cref.cc (Cref_inputs::Cref_table_compare::operator): Add
+       conditionals and calls to is_forwarder.
+
 2017-12-01  Cary Coutant  <ccoutant@gmail.com>
 
        PR gold/22309
index d3337b9d6b59099dd7277dc16c558203e8ad8dcf..ff9e21733420018ea765956ddcafc9027f301e52 100644 (file)
@@ -236,9 +236,13 @@ Cref_inputs::Cref_table_compare::operator()(const Symbol* s1,
     }
 
   // We should never have two different symbols with the same name and
-  // version.
+  // version, where one doesn't forward to the other.
   if (s1 == s2)
     return false;
+  if (s1->is_forwarder() && !s2->is_forwarder())
+    return true;
+  if (!s1->is_forwarder() && s2->is_forwarder())
+    return false;
   gold_unreachable();
 }