OLD | NEW |
1 //===-- llvm/Support/ELF.h - ELF constants and data structures --*- C++ -*-===// | 1 //===-- llvm/Support/ELF.h - ELF constants and data structures --*- C++ -*-===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This header contains common, non-processor-specific data structures and | 10 // This header contains common, non-processor-specific data structures and |
(...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
727 SHT_NOBITS = 8, // Data occupies no space in the file. | 727 SHT_NOBITS = 8, // Data occupies no space in the file. |
728 SHT_REL = 9, // Relocation entries; no explicit addends. | 728 SHT_REL = 9, // Relocation entries; no explicit addends. |
729 SHT_SHLIB = 10, // Reserved. | 729 SHT_SHLIB = 10, // Reserved. |
730 SHT_DYNSYM = 11, // Symbol table. | 730 SHT_DYNSYM = 11, // Symbol table. |
731 SHT_INIT_ARRAY = 14, // Pointers to initialization functions. | 731 SHT_INIT_ARRAY = 14, // Pointers to initialization functions. |
732 SHT_FINI_ARRAY = 15, // Pointers to termination functions. | 732 SHT_FINI_ARRAY = 15, // Pointers to termination functions. |
733 SHT_PREINIT_ARRAY = 16, // Pointers to pre-init functions. | 733 SHT_PREINIT_ARRAY = 16, // Pointers to pre-init functions. |
734 SHT_GROUP = 17, // Section group. | 734 SHT_GROUP = 17, // Section group. |
735 SHT_SYMTAB_SHNDX = 18, // Indices for SHN_XINDEX entries. | 735 SHT_SYMTAB_SHNDX = 18, // Indices for SHN_XINDEX entries. |
736 SHT_LOOS = 0x60000000, // Lowest operating system-specific type. | 736 SHT_LOOS = 0x60000000, // Lowest operating system-specific type. |
| 737 SHT_GNU_verdef = 0x6ffffffd, // GNU version definitions. |
| 738 SHT_GNU_verneed = 0x6ffffffe, // GNU version references. |
| 739 SHT_GNU_versym = 0x6fffffff, // GNU symbol versions table. |
737 SHT_HIOS = 0x6fffffff, // Highest operating system-specific type. | 740 SHT_HIOS = 0x6fffffff, // Highest operating system-specific type. |
738 SHT_LOPROC = 0x70000000, // Lowest processor architecture-specific type
. | 741 SHT_LOPROC = 0x70000000, // Lowest processor architecture-specific type
. |
739 // Fixme: All this is duplicated in MCSectionELF. Why?? | 742 // Fixme: All this is duplicated in MCSectionELF. Why?? |
740 // Exception Index table | 743 // Exception Index table |
741 SHT_ARM_EXIDX = 0x70000001U, | 744 SHT_ARM_EXIDX = 0x70000001U, |
742 // BPABI DLL dynamic linking pre-emption map | 745 // BPABI DLL dynamic linking pre-emption map |
743 SHT_ARM_PREEMPTMAP = 0x70000002U, | 746 SHT_ARM_PREEMPTMAP = 0x70000002U, |
744 // Object file compatibility attributes | 747 // Object file compatibility attributes |
745 SHT_ARM_ATTRIBUTES = 0x70000003U, | 748 SHT_ARM_ATTRIBUTES = 0x70000003U, |
746 SHT_ARM_DEBUGOVERLAY = 0x70000004U, | 749 SHT_ARM_DEBUGOVERLAY = 0x70000004U, |
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1095 | 1098 |
1096 // DT_FLAGS values. | 1099 // DT_FLAGS values. |
1097 enum { | 1100 enum { |
1098 DF_ORIGIN = 0x01, // The object may reference $ORIGIN. | 1101 DF_ORIGIN = 0x01, // The object may reference $ORIGIN. |
1099 DF_SYMBOLIC = 0x02, // Search the shared lib before searching the exe. | 1102 DF_SYMBOLIC = 0x02, // Search the shared lib before searching the exe. |
1100 DF_TEXTREL = 0x04, // Relocations may modify a non-writable segment. | 1103 DF_TEXTREL = 0x04, // Relocations may modify a non-writable segment. |
1101 DF_BIND_NOW = 0x08, // Process all relocations on load. | 1104 DF_BIND_NOW = 0x08, // Process all relocations on load. |
1102 DF_STATIC_TLS = 0x10 // Reject attempts to load dynamically. | 1105 DF_STATIC_TLS = 0x10 // Reject attempts to load dynamically. |
1103 }; | 1106 }; |
1104 | 1107 |
| 1108 // ElfXX_VerDef structure version (GNU versioning) |
| 1109 enum { |
| 1110 VER_DEF_NONE = 0, |
| 1111 VER_DEF_CURRENT = 1 |
| 1112 }; |
| 1113 |
| 1114 // VerDef Flags (ElfXX_VerDef::vd_flags) |
| 1115 enum { |
| 1116 VER_FLG_BASE = 0x1, |
| 1117 VER_FLG_WEAK = 0x2, |
| 1118 VER_FLG_INFO = 0x4 |
| 1119 }; |
| 1120 |
| 1121 // Special constants for the version table. (SHT_GNU_versym/.gnu.version) |
| 1122 enum { |
| 1123 VER_NDX_LOCAL = 0, // Unversioned local symbol |
| 1124 VER_NDX_GLOBAL = 1, // Unversioned global symbol |
| 1125 VERSYM_VERSION = 0x7fff, // Version Index mask |
| 1126 VERSYM_HIDDEN = 0x8000 // Hidden bit (non-default version) |
| 1127 }; |
| 1128 |
| 1129 // ElfXX_VerNeed structure version (GNU versioning) |
| 1130 enum { |
| 1131 VER_NEED_NONE = 0, |
| 1132 VER_NEED_CURRENT = 1 |
| 1133 }; |
| 1134 |
1105 } // end namespace ELF | 1135 } // end namespace ELF |
1106 | 1136 |
1107 } // end namespace llvm | 1137 } // end namespace llvm |
1108 | 1138 |
1109 #endif | 1139 #endif |
OLD | NEW |