diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-06-03 21:18:03 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-06-03 21:18:03 +0000 |
commit | f6dcd2ab6b73dbc381d55b7b7b141cfd3542b2df (patch) | |
tree | b77fb4e9e770507e240994315d2135ab79f963c1 /llvm/lib/MC | |
parent | d5957336178074b29ad5105ad76611e5187b636d (diff) | |
download | bcm5719-llvm-f6dcd2ab6b73dbc381d55b7b7b141cfd3542b2df.tar.gz bcm5719-llvm-f6dcd2ab6b73dbc381d55b7b7b141cfd3542b2df.zip |
Convert BindingExplicitlySet into a MCSymbolELF field.
I will pack it better in a followup patch.
llvm-svn: 238975
Diffstat (limited to 'llvm/lib/MC')
-rw-r--r-- | llvm/lib/MC/MCELFStreamer.cpp | 7 | ||||
-rw-r--r-- | llvm/lib/MC/MCSymbolELF.cpp | 1 |
2 files changed, 2 insertions, 6 deletions
diff --git a/llvm/lib/MC/MCELFStreamer.cpp b/llvm/lib/MC/MCELFStreamer.cpp index a24388a26ca..efeabbd66ea 100644 --- a/llvm/lib/MC/MCELFStreamer.cpp +++ b/llvm/lib/MC/MCELFStreamer.cpp @@ -241,26 +241,22 @@ bool MCELFStreamer::EmitSymbolAttribute(MCSymbol *S, MCSymbolAttr Attribute) { Symbol->setType(CombineSymbolTypes(Symbol->getType(), ELF::STT_OBJECT)); Symbol->setBinding(ELF::STB_GNU_UNIQUE); Symbol->setExternal(true); - BindingExplicitlySet.insert(Symbol); break; case MCSA_Global: Symbol->setBinding(ELF::STB_GLOBAL); Symbol->setExternal(true); - BindingExplicitlySet.insert(Symbol); break; case MCSA_WeakReference: case MCSA_Weak: Symbol->setBinding(ELF::STB_WEAK); Symbol->setExternal(true); - BindingExplicitlySet.insert(Symbol); break; case MCSA_Local: Symbol->setBinding(ELF::STB_LOCAL); Symbol->setExternal(false); - BindingExplicitlySet.insert(Symbol); break; case MCSA_ELF_TypeFunction: @@ -309,7 +305,7 @@ void MCELFStreamer::EmitCommonSymbol(MCSymbol *S, uint64_t Size, auto *Symbol = cast<MCSymbolELF>(S); getAssembler().registerSymbol(*Symbol); - if (!BindingExplicitlySet.count(Symbol)) { + if (!Symbol->isBindingSet()) { Symbol->setBinding(ELF::STB_GLOBAL); Symbol->setExternal(true); } @@ -343,7 +339,6 @@ void MCELFStreamer::EmitLocalCommonSymbol(MCSymbol *S, uint64_t Size, getAssembler().registerSymbol(*Symbol); Symbol->setBinding(ELF::STB_LOCAL); Symbol->setExternal(false); - BindingExplicitlySet.insert(Symbol); EmitCommonSymbol(Symbol, Size, ByteAlignment); } diff --git a/llvm/lib/MC/MCSymbolELF.cpp b/llvm/lib/MC/MCSymbolELF.cpp index 1893bb0f8dc..cf609e5e87e 100644 --- a/llvm/lib/MC/MCSymbolELF.cpp +++ b/llvm/lib/MC/MCSymbolELF.cpp @@ -16,6 +16,7 @@ namespace llvm { void MCSymbolELF::setBinding(unsigned Binding) const { + BindingSet = true; assert(Binding == ELF::STB_LOCAL || Binding == ELF::STB_GLOBAL || Binding == ELF::STB_WEAK || Binding == ELF::STB_GNU_UNIQUE); uint32_t OtherFlags = getFlags() & ~(0xf << ELF_STB_Shift); |