Fix issues with gold undefined symbol diagnostics.
authorCary Coutant <ccoutant@google.com>
Thu, 6 Feb 2014 06:59:02 +0000 (22:59 -0800)
committerCary Coutant <ccoutant@google.com>
Thu, 6 Feb 2014 07:04:52 +0000 (23:04 -0800)
commit1a221d3d9cc474b8a382f6aeed56671d10b71473
tree99fa5ba79d8f2849d6def72a1d648669f960bf75
parente889f0a4b14d265cb6ef5f51bdf0daeb0d7caf1e
Fix issues with gold undefined symbol diagnostics.

PR binutils/15435 complains that gold issues a visibility error for an
weak undefined symbol with hidden visibility. The message should be
suppressed if the symbol is a weak undef.

An earlier patch to add an extra note about key functions when a class's
vtable symbol is undefined missed a case where the reference to the
vtable came from a shared library. This patch moves the check to a
lower-level routine that catches both cases.

gold/

2014-02-05  Cary Coutant  <ccoutant@google.com>

* errors.cc (Errors::undefined_symbol): Move undef vtable symbol
check to here.
* target-reloc.h (is_strong_undefined): New function.
(relocate_section): Move undef vtable symbol check from here.
Check for is_strong_undefined.
gold/ChangeLog
gold/errors.cc
gold/target-reloc.h