[lld] r221397 - [ELF] Use getVisibility() function to access st_other field

Simon Atanasyan simon at atanasyan.com
Wed Nov 5 13:09:54 PST 2014


Author: atanasyan
Date: Wed Nov  5 15:09:53 2014
New Revision: 221397

URL: http://llvm.org/viewvc/llvm-project?rev=221397&view=rev
Log:
[ELF] Use getVisibility() function to access st_other field

The st_other field can contains not only visibility flag so we should
retrieve a visibility flag using a bit-mask.

Modified:
    lld/trunk/lib/ReaderWriter/ELF/Atoms.h

Modified: lld/trunk/lib/ReaderWriter/ELF/Atoms.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Atoms.h?rev=221397&r1=221396&r2=221397&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/Atoms.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/Atoms.h Wed Nov  5 15:09:53 2014
@@ -92,7 +92,7 @@ public:
   const ELFFile<ELFT> &file() const override { return _owningFile; }
 
   Scope scope() const override {
-    if (_symbol->st_other == llvm::ELF::STV_HIDDEN)
+    if (_symbol->getVisibility() == llvm::ELF::STV_HIDDEN)
       return scopeLinkageUnit;
     if (_symbol->getBinding() == llvm::ELF::STB_LOCAL)
       return scopeTranslationUnit;
@@ -181,7 +181,7 @@ public:
   }
 
   Scope scope() const override {
-    if (_symbol->st_other == llvm::ELF::STV_HIDDEN)
+    if (_symbol->getVisibility() == llvm::ELF::STV_HIDDEN)
       return scopeLinkageUnit;
     else if (_symbol->getBinding() != llvm::ELF::STB_LOCAL)
       return scopeGlobal;
@@ -533,7 +533,7 @@ public:
   uint64_t size() const override { return _symbol->st_size; }
 
   Scope scope() const override {
-    if (_symbol->st_other == llvm::ELF::STV_HIDDEN)
+    if (_symbol->getVisibility() == llvm::ELF::STV_HIDDEN)
       return scopeLinkageUnit;
     else if (_symbol->getBinding() != llvm::ELF::STB_LOCAL)
       return scopeGlobal;
@@ -608,7 +608,7 @@ public:
   StringRef name() const override { return _symbolName; }
 
   virtual Scope scope() const {
-    if (_symbol->st_other == llvm::ELF::STV_HIDDEN)
+    if (_symbol->getVisibility() == llvm::ELF::STV_HIDDEN)
       return scopeLinkageUnit;
     else if (_symbol->getBinding() != llvm::ELF::STB_LOCAL)
       return scopeGlobal;





More information about the llvm-commits mailing list