[PATCH] [Object/ELF] Add support for setVisibility()

Davide Italiano davide at freebsd.org
Wed Mar 11 18:16:26 PDT 2015


Hi atanasyan, lhames, Bigcheese,

Simon introduced getVisibility() a while ago but now we need setVisibility() in order to implement visibility for ELF symbols in lld.

REPOSITORY
  rL LLVM

http://reviews.llvm.org/D8279

Files:
  include/llvm/Object/ELFTypes.h

Index: include/llvm/Object/ELFTypes.h
===================================================================
--- include/llvm/Object/ELFTypes.h
+++ include/llvm/Object/ELFTypes.h
@@ -189,7 +189,15 @@
   }
 
   /// Access to the STV_xxx flag stored in the first two bits of st_other.
+  /// STV_DEFAULT: 0
+  /// STV_INTERNAL: 1
+  /// STV_HIDDEN: 2
+  /// STV_PROTECTED: 3
   unsigned char getVisibility() const { return st_other & 0x3; }
+  void setVisibility(unsigned char v) {
+    assert(v < 4 && "Invalid value for visibility");
+    st_other &= v;
+  }
 };
 
 /// Elf_Versym: This is the structure of entries in the SHT_GNU_versym section

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8279.21794.patch
Type: text/x-patch
Size: 642 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150312/260bfac2/attachment.bin>


More information about the llvm-commits mailing list