diff options
author | Fangrui Song <maskray@google.com> | 2019-12-20 21:43:46 -0800 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2020-01-08 09:38:49 -0800 |
commit | 96e2376d02f0840e82b96314108660ecabe63c7f (patch) | |
tree | fe55b8454ddfea67b7a93e56348c2a31fb6cd218 /llvm/lib | |
parent | 46e2f89364ce24a06953d08c78218fb5548a9fa3 (diff) | |
download | bcm5719-llvm-96e2376d02f0840e82b96314108660ecabe63c7f.tar.gz bcm5719-llvm-96e2376d02f0840e82b96314108660ecabe63c7f.zip |
[ELF] Don't special case weak symbols for pie with no shared objects
D59275 added the following clause to Symbol::includeInDynsym()
if (isUndefWeak() && Config->Pie && SharedFiles.empty())
return false;
D59549 explored the possibility to generalize it for -no-pie.
GNU ld's rules are architecture dependent and partly controlled by -z
{,no-}dynamic-undefined-weak. Our attempts to mimic its rules are
actually half-baked and don't provide perceivable benefits (it can save
a few more weak undefined symbols in .dynsym in a -static-pie
executable). Let's just delete the rule for simplicity. We will expect
cosmetic inconsistencies with ld.bfd in certain -static-pie scenarios.
This permits a simplification in D71795.
Reviewed By: peter.smith
Differential Revision: https://reviews.llvm.org/D71794
Diffstat (limited to 'llvm/lib')
0 files changed, 0 insertions, 0 deletions