diff options
Diffstat (limited to 'gold/resolve.cc')
-rw-r--r-- | gold/resolve.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gold/resolve.cc b/gold/resolve.cc index af3d489..29d9d79 100644 --- a/gold/resolve.cc +++ b/gold/resolve.cc @@ -576,6 +576,11 @@ Symbol_table::should_override(const Symbol* to, unsigned int frombits, return false; case UNDEF * 16 + DYN_WEAK_DEF: + // When overriding an undef by a dynamic weak definition, + // we need to remember that the original undef was not weak. + *adjust_dyndef = true; + return true; + case DYN_UNDEF * 16 + DYN_WEAK_DEF: case DYN_WEAK_UNDEF * 16 + DYN_WEAK_DEF: // Use a weak dynamic definition if we have a reference. |