Index: include/llvm/Support/ELF.h |
=================================================================== |
--- include/llvm/Support/ELF.h (revision 152141) |
+++ include/llvm/Support/ELF.h (working copy) |
@@ -734,6 +734,9 @@ |
SHT_GROUP = 17, // Section group. |
SHT_SYMTAB_SHNDX = 18, // Indices for SHN_XINDEX entries. |
SHT_LOOS = 0x60000000, // Lowest operating system-specific type. |
+ SHT_GNU_verdef = 0x6ffffffd, // GNU version definitions. |
+ SHT_GNU_verneed = 0x6ffffffe, // GNU version references. |
+ SHT_GNU_versym = 0x6fffffff, // GNU symbol versions table. |
SHT_HIOS = 0x6fffffff, // Highest operating system-specific type. |
SHT_LOPROC = 0x70000000, // Lowest processor architecture-specific type. |
// Fixme: All this is duplicated in MCSectionELF. Why?? |
@@ -1102,6 +1105,33 @@ |
DF_STATIC_TLS = 0x10 // Reject attempts to load dynamically. |
}; |
+// ElfXX_VerDef structure version (GNU versioning) |
+enum { |
+ VER_DEF_NONE = 0, |
+ VER_DEF_CURRENT = 1 |
+}; |
+ |
+// VerDef Flags (ElfXX_VerDef::vd_flags) |
+enum { |
+ VER_FLG_BASE = 0x1, |
+ VER_FLG_WEAK = 0x2, |
+ VER_FLG_INFO = 0x4 |
+}; |
+ |
+// Special constants for the version table. (SHT_GNU_versym/.gnu.version) |
+enum { |
+ VER_NDX_LOCAL = 0, // Unversioned local symbol |
+ VER_NDX_GLOBAL = 1, // Unversioned global symbol |
+ VERSYM_VERSION = 0x7fff, // Version Index mask |
+ VERSYM_HIDDEN = 0x8000 // Hidden bit (non-default version) |
+}; |
+ |
+// ElfXX_VerNeed structure version (GNU versioning) |
+enum { |
+ VER_NEED_NONE = 0, |
+ VER_NEED_CURRENT = 1 |
+}; |
+ |
} // end namespace ELF |
} // end namespace llvm |