[llvm] r238978 - Simplify the logic in ELFObjectWriter::isInSymtab. NFC.
Rafael Espindola
rafael.espindola at gmail.com
Wed Jun 3 14:23:22 PDT 2015
Author: rafael
Date: Wed Jun 3 16:23:21 2015
New Revision: 238978
URL: http://llvm.org/viewvc/llvm-project?rev=238978&view=rev
Log:
Simplify the logic in ELFObjectWriter::isInSymtab. NFC.
_GLOBAL_OFFSET_TABLE_ is not magical and we can now directly check for a
symbol never getting an explicit binding.
Modified:
llvm/trunk/lib/MC/ELFObjectWriter.cpp
Modified: llvm/trunk/lib/MC/ELFObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/ELFObjectWriter.cpp?rev=238978&r1=238977&r2=238978&view=diff
==============================================================================
--- llvm/trunk/lib/MC/ELFObjectWriter.cpp (original)
+++ llvm/trunk/lib/MC/ELFObjectWriter.cpp Wed Jun 3 16:23:21 2015
@@ -740,17 +740,13 @@ bool ELFObjectWriter::isInSymtab(const M
if (Renamed)
return false;
- if (Symbol.getName() == "_GLOBAL_OFFSET_TABLE_")
- return true;
-
- if (Symbol.isVariable()) {
- const MCSymbol *Base = Layout.getBaseSymbol(Symbol);
- if (Base && Base->isUndefined())
- return false;
+ if (Symbol.isVariable() && Symbol.isUndefined()) {
+ // FIXME: this is here just to diagnose the case of a var = commmon_sym.
+ Layout.getBaseSymbol(Symbol);
+ return false;
}
- bool IsGlobal = Symbol.getBinding() == ELF::STB_GLOBAL;
- if (!Symbol.isVariable() && Symbol.isUndefined() && !IsGlobal)
+ if (Symbol.isUndefined() && !Symbol.isBindingSet())
return false;
if (Symbol.getType() == ELF::STT_SECTION)
More information about the llvm-commits
mailing list