[llvm] r232020 - [Object/ELF] Add support for setVisibility()
Davide Italiano
davide at freebsd.org
Thu Mar 12 00:48:25 PDT 2015
Author: davide
Date: Thu Mar 12 02:48:25 2015
New Revision: 232020
URL: http://llvm.org/viewvc/llvm-project?rev=232020&view=rev
Log:
[Object/ELF] Add support for setVisibility()
This is a prerequisite to implement symbol visibility for ELF
in lld.
Differential Revision: http://reviews.llvm.org/D8279
Modified:
llvm/trunk/include/llvm/Object/ELFTypes.h
Modified: llvm/trunk/include/llvm/Object/ELFTypes.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Object/ELFTypes.h?rev=232020&r1=232019&r2=232020&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Object/ELFTypes.h (original)
+++ llvm/trunk/include/llvm/Object/ELFTypes.h Thu Mar 12 02:48:25 2015
@@ -189,7 +189,15 @@ struct Elf_Sym_Impl : Elf_Sym_Base<ELFT>
}
/// 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 = (st_other & ~0x3) | v;
+ }
};
/// Elf_Versym: This is the structure of entries in the SHT_GNU_versym section
More information about the llvm-commits
mailing list