[lld] r232282 - Use setVisibility() rather than assigning the value directly.
Davide Italiano
davide at freebsd.org
Sat Mar 14 14:57:15 PDT 2015
Author: davide
Date: Sat Mar 14 16:57:15 2015
New Revision: 232282
URL: http://llvm.org/viewvc/llvm-project?rev=232282&view=rev
Log:
Use setVisibility() rather than assigning the value directly.
We don't want to risk to override wrong st_other bits, and when
we need to zero, we can do that explictly.
Modified:
lld/trunk/lib/ReaderWriter/ELF/ELFFile.h
lld/trunk/lib/ReaderWriter/ELF/SectionChunks.h
Modified: lld/trunk/lib/ReaderWriter/ELF/ELFFile.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ELFFile.h?rev=232282&r1=232281&r2=232282&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/ELFFile.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/ELFFile.h Sat Mar 14 16:57:15 2015
@@ -448,7 +448,7 @@ public:
symbol->st_value = 0;
symbol->st_shndx = llvm::ELF::SHN_ABS;
symbol->setBindingAndType(llvm::ELF::STB_GLOBAL, llvm::ELF::STT_OBJECT);
- symbol->st_other = llvm::ELF::STV_DEFAULT;
+ symbol->setVisibility(llvm::ELF::STV_DEFAULT);
symbol->st_size = 0;
auto newAtom = this->handleAbsoluteSymbol(symbolName, symbol, -1);
this->_absoluteAtoms._atoms.push_back(*newAtom);
@@ -463,7 +463,7 @@ public:
symbol->st_value = 0;
symbol->st_shndx = llvm::ELF::SHN_UNDEF;
symbol->setBindingAndType(llvm::ELF::STB_GLOBAL, llvm::ELF::STT_NOTYPE);
- symbol->st_other = llvm::ELF::STV_DEFAULT;
+ symbol->setVisibility(llvm::ELF::STV_DEFAULT);
symbol->st_size = 0;
auto newAtom = this->handleUndefinedSymbol(symbolName, symbol);
this->_undefinedAtoms._atoms.push_back(*newAtom);
Modified: lld/trunk/lib/ReaderWriter/ELF/SectionChunks.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/SectionChunks.h?rev=232282&r1=232281&r2=232282&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/SectionChunks.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/SectionChunks.h Sat Mar 14 16:57:15 2015
@@ -784,7 +784,7 @@ void SymbolTable<ELFT>::addAbsoluteAtom(
sym.st_shndx = llvm::ELF::SHN_ABS;
switch (aa->scope()) {
case AbsoluteAtom::scopeLinkageUnit:
- sym.st_other = llvm::ELF::STV_HIDDEN;
+ sym.setVisibility(llvm::ELF::STV_HIDDEN);
binding = llvm::ELF::STB_LOCAL;
break;
case AbsoluteAtom::scopeTranslationUnit:
@@ -843,7 +843,8 @@ void SymbolTable<ELFT>::addSymbol(const
symbol.st_size = 0;
symbol.st_shndx = sectionIndex;
symbol.st_value = 0;
- symbol.st_other = llvm::ELF::STV_DEFAULT;
+ symbol.st_other = 0;
+ symbol.setVisibility(llvm::ELF::STV_DEFAULT);
// Add all the atoms
if (const DefinedAtom *da = dyn_cast<const DefinedAtom>(atom))
More information about the llvm-commits
mailing list