aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lld/ELF/Symbols.cpp11
1 files changed, 0 insertions, 11 deletions
diff --git a/lld/ELF/Symbols.cpp b/lld/ELF/Symbols.cpp
index 985e483..d19a7603 100644
--- a/lld/ELF/Symbols.cpp
+++ b/lld/ELF/Symbols.cpp
@@ -536,17 +536,6 @@ bool Symbol::shouldReplace(const Defined &other) const {
if (!isDefined())
return true;
- // .symver foo,foo@@VER unfortunately creates two defined symbols: foo and
- // foo@@VER. In GNU ld, if foo and foo@@VER are in the same file, foo is
- // ignored. In our implementation, when this is foo, this->getName() may still
- // contain @@, return true in this case as well.
- if (LLVM_UNLIKELY(file == other.file)) {
- if (other.getName().contains("@@"))
- return true;
- if (getName().contains("@@"))
- return false;
- }
-
// Incoming STB_GLOBAL overrides STB_WEAK/STB_GNU_UNIQUE. -fgnu-unique changes
// some vague linkage data in COMDAT from STB_WEAK to STB_GNU_UNIQUE. Treat
// STB_GNU_UNIQUE like STB_WEAK so that we prefer the first among all