1 #-------------------------------------------------------------------------------
2 # elftools: elf/enums.py
4 # Mappings of enum names to values
6 # Eli Bendersky (eliben@gmail.com)
7 # This code is in the public domain
8 #-------------------------------------------------------------------------------
9 from ..construct
import Pass
12 # e_ident[EI_CLASS] in the ELF header
19 # e_ident[EI_DATA] in the ELF header
26 # e_version in the ELF header
27 ENUM_E_VERSION
= dict(
33 # e_ident[EI_OSABI] in the ELF header
53 ELFOSABI_ARM_AEABI
=64,
55 ELFOSABI_STANDALONE
=255,
59 # e_type in the ELF header
71 # e_machine in the ELF header
72 ENUM_E_MACHINE
= dict(
73 EM_NONE
= 0, # No machine
74 EM_M32
= 1, # AT&T WE 32100
76 EM_386
= 3, # Intel 80386
77 EM_68K
= 4, # Motorola 68000
78 EM_88K
= 5, # Motorola 88000
79 EM_IAMCU
= 6, # Intel MCU
80 EM_860
= 7, # Intel 80860
81 EM_MIPS
= 8, # MIPS I Architecture
82 EM_S370
= 9, # IBM System/370 Processor
83 EM_MIPS_RS3_LE
= 10, # MIPS RS3000 Little-endian
84 EM_PARISC
= 15, # Hewlett-Packard PA-RISC
85 EM_VPP500
= 17, # Fujitsu VPP500
86 EM_SPARC32PLUS
= 18, # Enhanced instruction set SPARC
87 EM_960
= 19, # Intel 80960
88 EM_PPC
= 20, # PowerPC
89 EM_PPC64
= 21, # 64-bit PowerPC
90 EM_S390
= 22, # IBM System/390 Processor
91 EM_SPU
= 23, # IBM SPU/SPC
92 EM_V800
= 36, # NEC V800
93 EM_FR20
= 37, # Fujitsu FR20
94 EM_RH32
= 38, # TRW RH-32
95 EM_RCE
= 39, # Motorola RCE
96 EM_ARM
= 40, # ARM 32-bit architecture (AARCH32)
97 EM_ALPHA
= 41, # Digital Alpha
98 EM_SH
= 42, # Hitachi SH
99 EM_SPARCV9
= 43, # SPARC Version 9
100 EM_TRICORE
= 44, # Siemens TriCore embedded processor
101 EM_ARC
= 45, # Argonaut RISC Core, Argonaut Technologies Inc.
102 EM_H8_300
= 46, # Hitachi H8/300
103 EM_H8_300H
= 47, # Hitachi H8/300H
104 EM_H8S
= 48, # Hitachi H8S
105 EM_H8_500
= 49, # Hitachi H8/500
106 EM_IA_64
= 50, # Intel IA-64 processor architecture
107 EM_MIPS_X
= 51, # Stanford MIPS-X
108 EM_COLDFIRE
= 52, # Motorola ColdFire
109 EM_68HC12
= 53, # Motorola M68HC12
110 EM_MMA
= 54, # Fujitsu MMA Multimedia Accelerator
111 EM_PCP
= 55, # Siemens PCP
112 EM_NCPU
= 56, # Sony nCPU embedded RISC processor
113 EM_NDR1
= 57, # Denso NDR1 microprocessor
114 EM_STARCORE
= 58, # Motorola Star*Core processor
115 EM_ME16
= 59, # Toyota ME16 processor
116 EM_ST100
= 60, # STMicroelectronics ST100 processor
117 EM_TINYJ
= 61, # Advanced Logic Corp. TinyJ embedded processor family
118 EM_X86_64
= 62, # AMD x86-64 architecture
119 EM_PDSP
= 63, # Sony DSP Processor
120 EM_PDP10
= 64, # Digital Equipment Corp. PDP-10
121 EM_PDP11
= 65, # Digital Equipment Corp. PDP-11
122 EM_FX66
= 66, # Siemens FX66 microcontroller
123 EM_ST9PLUS
= 67, # STMicroelectronics ST9+ 8/16 bit microcontroller
124 EM_ST7
= 68, # STMicroelectronics ST7 8-bit microcontroller
125 EM_68HC16
= 69, # Motorola MC68HC16 Microcontroller
126 EM_68HC11
= 70, # Motorola MC68HC11 Microcontroller
127 EM_68HC08
= 71, # Motorola MC68HC08 Microcontroller
128 EM_68HC05
= 72, # Motorola MC68HC05 Microcontroller
129 EM_SVX
= 73, # Silicon Graphics SVx
130 EM_ST19
= 74, # STMicroelectronics ST19 8-bit microcontroller
131 EM_VAX
= 75, # Digital VAX
132 EM_CRIS
= 76, # Axis Communications 32-bit embedded processor
133 EM_JAVELIN
= 77, # Infineon Technologies 32-bit embedded processor
134 EM_FIREPATH
= 78, # Element 14 64-bit DSP Processor
135 EM_ZSP
= 79, # LSI Logic 16-bit DSP Processor
136 EM_MMIX
= 80, # Donald Knuth's educational 64-bit processor
137 EM_HUANY
= 81, # Harvard University machine-independent object files
138 EM_PRISM
= 82, # SiTera Prism
139 EM_AVR
= 83, # Atmel AVR 8-bit microcontroller
140 EM_FR30
= 84, # Fujitsu FR30
141 EM_D10V
= 85, # Mitsubishi D10V
142 EM_D30V
= 86, # Mitsubishi D30V
143 EM_V850
= 87, # NEC v850
144 EM_M32R
= 88, # Mitsubishi M32R
145 EM_MN10300
= 89, # Matsushita MN10300
146 EM_MN10200
= 90, # Matsushita MN10200
147 EM_PJ
= 91, # picoJava
148 EM_OPENRISC
= 92, # OpenRISC 32-bit embedded processor
149 EM_ARC_COMPACT
= 93, # ARC International ARCompact processor (old spelling/synonym: EM_ARC_A5)
150 EM_XTENSA
= 94, # Tensilica Xtensa Architecture
151 EM_VIDEOCORE
= 95, # Alphamosaic VideoCore processor
152 EM_TMM_GPP
= 96, # Thompson Multimedia General Purpose Processor
153 EM_NS32K
= 97, # National Semiconductor 32000 series
154 EM_TPC
= 98, # Tenor Network TPC processor
155 EM_SNP1K
= 99, # Trebia SNP 1000 processor
156 EM_ST200
= 100, # STMicroelectronics (www.st.com) ST200 microcontroller
157 EM_IP2K
= 101, # Ubicom IP2xxx microcontroller family
158 EM_MAX
= 102, # MAX Processor
159 EM_CR
= 103, # National Semiconductor CompactRISC microprocessor
160 EM_F2MC16
= 104, # Fujitsu F2MC16
161 EM_MSP430
= 105, # Texas Instruments embedded microcontroller msp430
162 EM_BLACKFIN
= 106, # Analog Devices Blackfin (DSP) processor
163 EM_SE_C33
= 107, # S1C33 Family of Seiko Epson processors
164 EM_SEP
= 108, # Sharp embedded microprocessor
165 EM_ARCA
= 109, # Arca RISC Microprocessor
166 EM_UNICORE
= 110, # Microprocessor series from PKU-Unity Ltd. and MPRC of Peking University
167 EM_EXCESS
= 111, # eXcess: 16/32/64-bit configurable embedded CPU
168 EM_DXP
= 112, # Icera Semiconductor Inc. Deep Execution Processor
169 EM_ALTERA_NIOS2
= 113, # Altera Nios II soft-core processor
170 EM_CRX
= 114, # National Semiconductor CompactRISC CRX microprocessor
171 EM_XGATE
= 115, # Motorola XGATE embedded processor
172 EM_C166
= 116, # Infineon C16x/XC16x processor
173 EM_M16C
= 117, # Renesas M16C series microprocessors
174 EM_DSPIC30F
= 118, # Microchip Technology dsPIC30F Digital Signal Controller
175 EM_CE
= 119, # Freescale Communication Engine RISC core
176 EM_M32C
= 120, # Renesas M32C series microprocessors
177 EM_TSK3000
= 131, # Altium TSK3000 core
178 EM_RS08
= 132, # Freescale RS08 embedded processor
179 EM_SHARC
= 133, # Analog Devices SHARC family of 32-bit DSP processors
180 EM_ECOG2
= 134, # Cyan Technology eCOG2 microprocessor
181 EM_SCORE7
= 135, # Sunplus S+core7 RISC processor
182 EM_DSP24
= 136, # New Japan Radio (NJR) 24-bit DSP Processor
183 EM_VIDEOCORE3
= 137, # Broadcom VideoCore III processor
184 EM_LATTICEMICO32
= 138, # RISC processor for Lattice FPGA architecture
185 EM_SE_C17
= 139, # Seiko Epson C17 family
186 EM_TI_C6000
= 140, # The Texas Instruments TMS320C6000 DSP family
187 EM_TI_C2000
= 141, # The Texas Instruments TMS320C2000 DSP family
188 EM_TI_C5500
= 142, # The Texas Instruments TMS320C55x DSP family
189 EM_TI_ARP32
= 143, # Texas Instruments Application Specific RISC Processor, 32bit fetch
190 EM_TI_PRU
= 144, # Texas Instruments Programmable Realtime Unit
191 EM_MMDSP_PLUS
= 160, # STMicroelectronics 64bit VLIW Data Signal Processor
192 EM_CYPRESS_M8C
= 161, # Cypress M8C microprocessor
193 EM_R32C
= 162, # Renesas R32C series microprocessors
194 EM_TRIMEDIA
= 163, # NXP Semiconductors TriMedia architecture family
195 EM_QDSP6
= 164, # QUALCOMM DSP6 Processor
196 EM_8051
= 165, # Intel 8051 and variants
197 EM_STXP7X
= 166, # STMicroelectronics STxP7x family of configurable and extensible RISC processors
198 EM_NDS32
= 167, # Andes Technology compact code size embedded RISC processor family
199 EM_ECOG1
= 168, # Cyan Technology eCOG1X family
200 EM_ECOG1X
= 168, # Cyan Technology eCOG1X family
201 EM_MAXQ30
= 169, # Dallas Semiconductor MAXQ30 Core Micro-controllers
202 EM_XIMO16
= 170, # New Japan Radio (NJR) 16-bit DSP Processor
203 EM_MANIK
= 171, # M2000 Reconfigurable RISC Microprocessor
204 EM_CRAYNV2
= 172, # Cray Inc. NV2 vector architecture
205 EM_RX
= 173, # Renesas RX family
206 EM_METAG
= 174, # Imagination Technologies META processor architecture
207 EM_MCST_ELBRUS
= 175, # MCST Elbrus general purpose hardware architecture
208 EM_ECOG16
= 176, # Cyan Technology eCOG16 family
209 EM_CR16
= 177, # National Semiconductor CompactRISC CR16 16-bit microprocessor
210 EM_ETPU
= 178, # Freescale Extended Time Processing Unit
211 EM_SLE9X
= 179, # Infineon Technologies SLE9X core
212 EM_L10M
= 180, # Intel L10M
213 EM_K10M
= 181, # Intel K10M
214 EM_AARCH64
= 183, # ARM 64-bit architecture (AARCH64)
215 EM_AVR32
= 185, # Atmel Corporation 32-bit microprocessor family
216 EM_STM8
= 186, # STMicroeletronics STM8 8-bit microcontroller
217 EM_TILE64
= 187, # Tilera TILE64 multicore architecture family
218 EM_TILEPRO
= 188, # Tilera TILEPro multicore architecture family
219 EM_MICROBLAZE
= 189, # Xilinx MicroBlaze 32-bit RISC soft processor core
220 EM_CUDA
= 190, # NVIDIA CUDA architecture
221 EM_TILEGX
= 191, # Tilera TILE-Gx multicore architecture family
222 EM_CLOUDSHIELD
= 192, # CloudShield architecture family
223 EM_COREA_1ST
= 193, # KIPO-KAIST Core-A 1st generation processor family
224 EM_COREA_2ND
= 194, # KIPO-KAIST Core-A 2nd generation processor family
225 EM_ARC_COMPACT2
= 195, # Synopsys ARCompact V2
226 EM_OPEN8
= 196, # Open8 8-bit RISC soft processor core
227 EM_RL78
= 197, # Renesas RL78 family
228 EM_VIDEOCORE5
= 198, # Broadcom VideoCore V processor
229 EM_78KOR
= 199, # Renesas 78KOR family
230 EM_56800EX
= 200, # Freescale 56800EX Digital Signal Controller (DSC)
231 EM_BA1
= 201, # Beyond BA1 CPU architecture
232 EM_BA2
= 202, # Beyond BA2 CPU architecture
233 EM_XCORE
= 203, # XMOS xCORE processor family
234 EM_MCHP_PIC
= 204, # Microchip 8-bit PIC(r) family
235 EM_INTEL205
= 205, # Reserved by Intel
236 EM_INTEL206
= 206, # Reserved by Intel
237 EM_INTEL207
= 207, # Reserved by Intel
238 EM_INTEL208
= 208, # Reserved by Intel
239 EM_INTEL209
= 209, # Reserved by Intel
240 EM_KM32
= 210, # KM211 KM32 32-bit processor
241 EM_KMX32
= 211, # KM211 KMX32 32-bit processor
242 EM_KMX16
= 212, # KM211 KMX16 16-bit processor
243 EM_KMX8
= 213, # KM211 KMX8 8-bit processor
244 EM_KVARC
= 214, # KM211 KVARC processor
245 EM_CDP
= 215, # Paneve CDP architecture family
246 EM_COGE
= 216, # Cognitive Smart Memory Processor
247 EM_COOL
= 217, # Bluechip Systems CoolEngine
248 EM_NORC
= 218, # Nanoradio Optimized RISC
249 EM_CSR_KALIMBA
= 219, # CSR Kalimba architecture family
250 EM_Z80
= 220, # Zilog Z80
251 EM_VISIUM
= 221, # Controls and Data Services VISIUMcore processor
252 EM_FT32
= 222, # FTDI Chip FT32 high performance 32-bit RISC architecture
253 EM_MOXIE
= 223, # Moxie processor family
254 EM_AMDGPU
= 224, # AMD GPU architecture
255 EM_RISCV
= 243, # RISC-V
257 # reserved 11-14 Reserved for future use
258 # reserved 16 Reserved for future use
259 # reserved 24-35 Reserved for future use
260 # reserved 121-130 Reserved for future use
261 # reserved 145-159 Reserved for future use
262 # reserved 145-159 Reserved for future use
263 # reserved 182 Reserved for future Intel use
264 # reserved 184 Reserved for future ARM use
265 # unknown/reserve? 225 - 242
269 # sh_type in the section header
285 SHT_PREINIT_ARRAY
=16,
290 SHT_GNU_ATTRIBUTES
=0x6ffffff5,
291 SHT_GNU_HASH
=0x6ffffff6,
292 SHT_GNU_LIBLIST
=0x6ffffff7,
293 SHT_GNU_verdef
=0x6ffffffd, # also SHT_SUNW_verdef
294 SHT_GNU_verneed
=0x6ffffffe, # also SHT_SUNW_verneed
295 SHT_GNU_versym
=0x6fffffff, # also SHT_SUNW_versym, SHT_HIOS
296 SHT_LOPROC
=0x70000000,
297 SHT_HIPROC
=0x7fffffff,
298 SHT_LOUSER
=0x80000000,
299 SHT_HIUSER
=0xffffffff,
300 SHT_AMD64_UNWIND
=0x70000001,
301 SHT_SUNW_LDYNSYM
=0x6ffffff3,
302 SHT_SUNW_syminfo
=0x6ffffffc,
303 SHT_ARM_EXIDX
=0x70000001, # also SHT_MIPS_MSYM
304 SHT_ARM_PREEMPTMAP
=0x70000002, # also SHT_MIPS_CONFLICT
305 SHT_ARM_ATTRIBUTES
=0x70000003, # also SHT_MIPS_GPTAB
306 SHT_ARM_DEBUGOVERLAY
=0x70000004, # also SHT_MIPS_UCODE
307 SHT_MIPS_LIBLIST
=0x70000000,
308 SHT_MIPS_DEBUG
=0x70000005,
309 SHT_MIPS_REGINFO
=0x70000006,
310 SHT_MIPS_PACKAGE
=0x70000007,
311 SHT_MIPS_PACKSYM
=0x70000008,
312 SHT_MIPS_RELD
=0x70000009,
313 SHT_MIPS_IFACE
=0x7000000b,
314 SHT_MIPS_CONTENT
=0x7000000c,
315 SHT_MIPS_OPTIONS
=0x7000000d,
316 SHT_MIPS_SHDR
=0x70000010,
317 SHT_MIPS_FDESC
=0x70000011,
318 SHT_MIPS_EXTSYM
=0x70000012,
319 SHT_MIPS_DENSE
=0x70000013,
320 SHT_MIPS_PDESC
=0x70000014,
321 SHT_MIPS_LOCSYM
=0x70000015,
322 SHT_MIPS_AUXSYM
=0x70000016,
323 SHT_MIPS_OPTSYM
=0x70000017,
324 SHT_MIPS_LOCSTR
=0x70000018,
325 SHT_MIPS_LINE
=0x70000019,
326 SHT_MIPS_RFDESC
=0x7000001a,
327 SHT_MIPS_DELTASYM
=0x7000001b,
328 SHT_MIPS_DELTAINST
=0x7000001c,
329 SHT_MIPS_DELTACLASS
=0x7000001d,
330 SHT_MIPS_DWARF
=0x7000001e,
331 SHT_MIPS_DELTADECL
=0x7000001f,
332 SHT_MIPS_SYMBOL_LIB
=0x70000020,
333 SHT_MIPS_EVENTS
=0x70000021,
334 SHT_MIPS_TRANSLATE
=0x70000022,
335 SHT_MIPS_PIXIE
=0x70000023,
336 SHT_MIPS_XLATE
=0x70000024,
337 SHT_MIPS_XLATE_DEBUG
=0x70000025,
338 SHT_MIPS_WHIRL
=0x70000026,
339 SHT_MIPS_EH_REGION
=0x70000027,
340 SHT_MIPS_XLATE_OLD
=0x70000028,
341 SHT_MIPS_PDR_EXCEPTION
=0x70000029,
345 ENUM_ELFCOMPRESS_TYPE
= dict(
347 ELFCOMPRESS_LOOS
=0x60000000,
348 ELFCOMPRESS_HIOS
=0x6fffffff,
349 ELFCOMPRESS_LOPROC
=0x70000000,
350 ELFCOMPRESS_HIPROC
=0x7fffffff,
354 # p_type in the program header
355 # some values scavenged from the ELF headers in binutils-2.21
367 PT_LOPROC
=0x70000000,
368 PT_HIPROC
=0x7fffffff,
369 PT_GNU_EH_FRAME
=0x6474e550,
370 PT_GNU_STACK
=0x6474e551,
371 PT_GNU_RELRO
=0x6474e552,
372 PT_ARM_ARCHEXT
=0x70000000,
373 PT_ARM_EXIDX
=0x70000001,
374 PT_AARCH64_ARCHEXT
=0x70000000,
375 PT_AARCH64_UNWIND
=0x70000001,
379 # st_info bindings in the symbol header
380 ENUM_ST_INFO_BIND
= dict(
392 # st_info type in the symbol header
393 ENUM_ST_INFO_TYPE
= dict(
411 # visibility from st_other
412 ENUM_ST_VISIBILITY
= dict(
424 ENUM_ST_SHNDX
= dict(
466 DT_PREINIT_ARRAYSZ
=33,
469 DT_SUNW_AUXILIARY
=0x6000000d,
470 DT_SUNW_RTLDINF
=0x6000000e,
471 DT_SUNW_FILTER
=0x6000000f,
472 DT_SUNW_CAP
=0x60000010,
473 DT_SUNW_SYMTAB
=0x60000011,
474 DT_SUNW_SYMSZ
=0x60000012,
475 DT_SUNW_ENCODING
=0x60000013,
476 DT_SUNW_SORTENT
=0x60000013,
477 DT_SUNW_SYMSORT
=0x60000014,
478 DT_SUNW_SYMSORTSZ
=0x60000015,
479 DT_SUNW_TLSSORT
=0x60000016,
480 DT_SUNW_TLSSORTSZ
=0x60000017,
481 DT_SUNW_CAPINFO
=0x60000018,
482 DT_SUNW_STRPAD
=0x60000019,
483 DT_SUNW_CAPCHAIN
=0x6000001a,
484 DT_SUNW_LDMACH
=0x6000001b,
485 DT_SUNW_CAPCHAINENT
=0x6000001d,
486 DT_SUNW_CAPCHAINSZ
=0x6000001f,
488 DT_LOPROC
=0x70000000,
489 DT_HIPROC
=0x7fffffff,
491 DT_VALRNGLO
=0x6ffffd00,
492 DT_GNU_PRELINKED
=0x6ffffdf5,
493 DT_GNU_CONFLICTSZ
=0x6ffffdf6,
494 DT_GNU_LIBLISTSZ
=0x6ffffdf7,
495 DT_CHECKSUM
=0x6ffffdf8,
496 DT_PLTPADSZ
=0x6ffffdf9,
497 DT_MOVEENT
=0x6ffffdfa,
498 DT_MOVESZ
=0x6ffffdfb,
499 DT_SYMINSZ
=0x6ffffdfe,
500 DT_SYMINENT
=0x6ffffdff,
501 DT_GNU_HASH
=0x6ffffef5,
502 DT_TLSDESC_PLT
=0x6ffffef6,
503 DT_TLSDESC_GOT
=0x6ffffef7,
504 DT_GNU_CONFLICT
=0x6ffffef8,
505 DT_GNU_LIBLIST
=0x6ffffef9,
506 DT_CONFIG
=0x6ffffefa,
507 DT_DEPAUDIT
=0x6ffffefb,
509 DT_PLTPAD
=0x6ffffefd,
510 DT_MOVETAB
=0x6ffffefe,
511 DT_SYMINFO
=0x6ffffeff,
512 DT_VERSYM
=0x6ffffff0,
513 DT_RELACOUNT
=0x6ffffff9,
514 DT_RELCOUNT
=0x6ffffffa,
515 DT_FLAGS_1
=0x6ffffffb,
516 DT_VERDEF
=0x6ffffffc,
517 DT_VERDEFNUM
=0x6ffffffd,
518 DT_VERNEED
=0x6ffffffe,
519 DT_VERNEEDNUM
=0x6fffffff,
520 DT_MIPS_RLD_VERSION
=0x70000001,
521 DT_MIPS_TIME_STAMP
=0x70000002,
522 DT_MIPS_ICHECKSUM
=0x70000003,
523 DT_MIPS_IVERSION
=0x70000004,
524 DT_MIPS_FLAGS
=0x70000005,
525 DT_MIPS_BASE_ADDRESS
=0x70000006,
526 DT_MIPS_CONFLICT
=0x70000008,
527 DT_MIPS_LIBLIST
=0x70000009,
528 DT_MIPS_LOCAL_GOTNO
=0x7000000a,
529 DT_MIPS_CONFLICTNO
=0x7000000b,
530 DT_MIPS_LIBLISTNO
=0x70000010,
531 DT_MIPS_SYMTABNO
=0x70000011,
532 DT_MIPS_UNREFEXTNO
=0x70000012,
533 DT_MIPS_GOTSYM
=0x70000013,
534 DT_MIPS_HIPAGENO
=0x70000014,
535 DT_MIPS_RLD_MAP
=0x70000016,
536 DT_MIPS_RLD_MAP_REL
=0x70000035,
537 DT_AUXILIARY
=0x7ffffffd,
538 DT_FILTER
=0x7fffffff,
542 ENUM_RELOC_TYPE_MIPS
= dict(
574 R_MIPS_ADD_IMMEDIATE
=34,
578 R_MIPS_TLS_DTPMOD32
=38,
579 R_MIPS_TLS_DTPREL32
=39,
580 R_MIPS_TLS_DTPMOD64
=40,
581 R_MIPS_TLS_DTPREL64
=41,
584 R_MIPS_TLS_DTPREL_HI16
=44,
585 R_MIPS_TLS_DTPREL_LO16
=45,
586 R_MIPS_TLS_GOTTPREL
=46,
587 R_MIPS_TLS_TPREL32
=47,
588 R_MIPS_TLS_TPREL64
=48,
589 R_MIPS_TLS_TPREL_HI16
=49,
590 R_MIPS_TLS_TPREL_LO16
=50,
593 R_MIPS_JUMP_SLOT
=127,
597 ENUM_RELOC_TYPE_i386
= dict(
621 R_386_TLS_GD_PUSH
=25,
622 R_386_TLS_GD_CALL
=26,
625 R_386_TLS_LDM_PUSH
=29,
626 R_386_TLS_LDM_CALL
=30,
627 R_386_TLS_LDM_POP
=31,
631 R_386_TLS_DTPMOD32
=35,
632 R_386_TLS_DTPOFF32
=36,
633 R_386_TLS_TPOFF32
=37,
634 R_386_TLS_GOTDESC
=39,
635 R_386_TLS_DESC_CALL
=40,
638 R_386_USED_BY_INTEL_200
=200,
639 R_386_GNU_VTINHERIT
=250,
640 R_386_GNU_VTENTRY
=251,
644 ENUM_RELOC_TYPE_x64
= dict(
652 R_X86_64_JUMP_SLOT
=7,
661 R_X86_64_DTPMOD64
=16,
662 R_X86_64_DTPOFF64
=17,
666 R_X86_64_DTPOFF32
=21,
667 R_X86_64_GOTTPOFF
=22,
670 R_X86_64_GOTOFF64
=25,
673 R_X86_64_GOTPCREL64
=28,
675 R_X86_64_GOTPLT64
=30,
676 R_X86_64_PLTOFF64
=31,
677 R_X86_64_GOTPC32_TLSDESC
=34,
678 R_X86_64_TLSDESC_CALL
=35,
680 R_X86_64_IRELATIVE
=37,
681 R_X86_64_GNU_VTINHERIT
=250,
682 R_X86_64_GNU_VTENTRY
=251,
686 # Sunw Syminfo Bound To special values
687 ENUM_SUNW_SYMINFO_BOUNDTO
= dict(
688 SYMINFO_BT_SELF
=0xffff,
689 SYMINFO_BT_PARENT
=0xfffe,
690 SYMINFO_BT_NONE
=0xfffd,
691 SYMINFO_BT_EXTERN
=0xfffc,
695 # Versym section, version dependency index
699 VER_NDX_LORESERVE
=0xff00,
700 VER_NDX_ELIMINATE
=0xff01,
704 # Sunw Syminfo Bound To special values
705 ENUM_SUNW_SYMINFO_BOUNDTO
= dict(
706 SYMINFO_BT_SELF
=0xffff,
707 SYMINFO_BT_PARENT
=0xfffe,
708 SYMINFO_BT_NONE
=0xfffd,
709 SYMINFO_BT_EXTERN
=0xfffc,
713 # PT_NOTE section types for all ELF types except ET_CORE
714 ENUM_NOTE_N_TYPE
= dict(
718 NT_GNU_GOLD_VERSION
=4,
722 # PT_NOTE section types for ET_CORE
723 ENUM_CORE_NOTE_N_TYPE
= dict(
729 NT_SIGINFO
=0x53494749,
734 # Values in GNU .note.ABI-tag notes (n_type=='NT_GNU_ABI_TAG')
735 ENUM_NOTE_ABI_TAG_OS
= dict(
738 ELF_NOTE_OS_SOLARIS2
=2,
739 ELF_NOTE_OS_FREEBSD
=3,
740 ELF_NOTE_OS_NETBSD
=4,
741 ELF_NOTE_OS_SYLLABLE
=5,
745 ENUM_RELOC_TYPE_ARM
= dict(
763 R_ARM_TLS_DTPMOD32
=17,
764 R_ARM_TLS_DTPOFF32
=18,
765 R_ARM_TLS_TPOFF32
=19,
778 R_ARM_ALU_PCREL_7_0
=32,
779 R_ARM_ALU_PCREL_15_8
=33,
780 R_ARM_ALU_PCREL_23_15
=34,
781 R_ARM_LDR_SBREL_11_0_NC
=35,
782 R_ARM_ALU_SBREL_19_12_NC
=36,
783 R_ARM_ALU_SBREL_27_20_CK
=37,
789 R_ARM_MOVW_ABS_NC
=43,
791 R_ARM_MOVW_PREL_NC
=45,
793 R_ARM_THM_MOVW_ABS_NC
=47,
794 R_ARM_THM_MOVT_ABS
=48,
795 R_ARM_THM_MOVW_PREL_NC
=49,
796 R_ARM_THM_MOVT_PREL
=50,
799 R_ARM_THM_ALU_PREL_11_0
=53,
803 R_ARM_ALU_PC_G0_NC
=57,
805 R_ARM_ALU_PC_G1_NC
=59,
816 R_ARM_ALU_SB_G0_NC
=70,
818 R_ARM_ALU_SB_G1_NC
=72,
830 R_ARM_MOVW_BREL_NC
=84,
833 R_ARM_THM_MOVW_BREL_NC
=87,
834 R_ARM_THM_MOVT_BREL
=88,
835 R_ARM_THM_MOVW_BREL
=89,
842 R_ARM_GNU_VTENTRY
=100,
843 R_ARM_GNU_VTINHERIT
=101,
844 R_ARM_THM_JUMP11
=102,
853 R_ARM_TLS_IE12GP
=111,
864 R_ARM_PRIVATE_10
=122,
865 R_ARM_PRIVATE_11
=123,
866 R_ARM_PRIVATE_12
=124,
867 R_ARM_PRIVATE_13
=125,
868 R_ARM_PRIVATE_14
=126,
869 R_ARM_PRIVATE_15
=127,
871 R_ARM_THM_TLS_DESCSEQ16
=129,
872 R_ARM_THM_TLS_DESCSEQ32
=130,
873 R_ARM_THM_GOT_BREL12
=131,
877 ENUM_RELOC_TYPE_AARCH64
= dict(
882 R_AARCH64_PREL64
=260,
883 R_AARCH64_PREL32
=261,
884 R_AARCH64_PREL16
=262,
885 R_AARCH64_MOVW_UABS_G0
=263,
886 R_AARCH64_MOVW_UABS_G0_NC
=264,
887 R_AARCH64_MOVW_UABS_G1
=265,
888 R_AARCH64_MOVW_UABS_G1_NC
=266,
889 R_AARCH64_MOVW_UABS_G2
=267,
890 R_AARCH64_MOVW_UABS_G2_NC
=268,
891 R_AARCH64_MOVW_UABS_G3
=269,
892 R_AARCH64_MOVW_SABS_G0
=270,
893 R_AARCH64_MOVW_SABS_G1
=271,
894 R_AARCH64_MOVW_SABS_G2
=272,
895 R_AARCH64_LD_PREL_LO19
=273,
896 R_AARCH64_ADR_PREL_LO21
=274,
897 R_AARCH64_ADR_PREL_PG_HI21
=275,
898 R_AARCH64_ADR_PREL_PG_HI21_NC
=276,
899 R_AARCH64_ADD_ABS_LO12_NC
=277,
900 R_AARCH64_LDST8_ABS_LO12_NC
=278,
901 R_AARCH64_TSTBR14
=279,
902 R_AARCH64_CONDBR19
=280,
903 R_AARCH64_JUMP26
=282,
904 R_AARCH64_CALL26
=283,
905 R_AARCH64_LDST16_ABS_LO12_NC
=284,
906 R_AARCH64_LDST32_ABS_LO12_NC
=285,
907 R_AARCH64_LDST64_ABS_LO12_NC
=286,
908 R_AARCH64_MOVW_PREL_G0
=287,
909 R_AARCH64_MOVW_PREL_G0_NC
=288,
910 R_AARCH64_MOVW_PREL_G1
=289,
911 R_AARCH64_MOVW_PREL_G1_NC
=290,
912 R_AARCH64_MOVW_PREL_G2
=291,
913 R_AARCH64_MOVW_PREL_G2_NC
=292,
914 R_AARCH64_MOVW_PREL_G3
=293,
915 R_AARCH64_MOVW_GOTOFF_G0
=300,
916 R_AARCH64_MOVW_GOTOFF_G0_NC
=301,
917 R_AARCH64_MOVW_GOTOFF_G1
=302,
918 R_AARCH64_MOVW_GOTOFF_G1_NC
=303,
919 R_AARCH64_MOVW_GOTOFF_G2
=304,
920 R_AARCH64_MOVW_GOTOFF_G2_NC
=305,
921 R_AARCH64_MOVW_GOTOFF_G3
=306,
922 R_AARCH64_GOTREL64
=307,
923 R_AARCH64_GOTREL32
=308,
924 R_AARCH64_GOT_LD_PREL19
=309,
925 R_AARCH64_LD64_GOTOFF_LO15
=310,
926 R_AARCH64_ADR_GOT_PAGE
=311,
927 R_AARCH64_LD64_GOT_LO12_NC
=312,
928 R_AARCH64_TLSGD_ADR_PREL21
=512,
929 R_AARCH64_TLSGD_ADR_PAGE21
=513,
930 R_AARCH64_TLSGD_ADD_LO12_NC
=514,
931 R_AARCH64_TLSGD_MOVW_G1
=515,
932 R_AARCH64_TLSGD_MOVW_G0_NC
=516,
933 R_AARCH64_TLSLD_ADR_PREL21
=517,
934 R_AARCH64_TLSLD_ADR_PAGE21
=518,
935 R_AARCH64_TLSLD_ADD_LO12_NC
=519,
936 R_AARCH64_TLSLD_MOVW_G1
=520,
937 R_AARCH64_TLSLD_MOVW_G0_NC
=521,
938 R_AARCH64_TLSLD_LD_PREL19
=522,
939 R_AARCH64_TLSLD_MOVW_DTPREL_G2
=523,
940 R_AARCH64_TLSLD_MOVW_DTPREL_G1
=524,
941 R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC
=525,
942 R_AARCH64_TLSLD_MOVW_DTPREL_G0
=526,
943 R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC
=527,
944 R_AARCH64_TLSLD_ADD_DTPREL_HI12
=528,
945 R_AARCH64_TLSLD_ADD_DTPREL_LO12
=529,
946 R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC
=530,
947 R_AARCH64_TLSLD_LDST8_DTPREL_LO12
=531,
948 R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC
=532,
949 R_AARCH64_TLSLD_LDST16_DTPREL_LO12
=533,
950 R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC
=534,
951 R_AARCH64_TLSLD_LDST32_DTPREL_LO12
=535,
952 R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC
=536,
953 R_AARCH64_TLSLD_LDST64_DTPREL_LO12
=537,
954 R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC
=538,
955 R_AARCH64_TLSIE_MOVW_GOTTPREL_G1
=539,
956 R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC
=540,
957 R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21
=541,
958 R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC
=542,
959 R_AARCH64_TLSIE_LD_GOTTPREL_PREL19
=543,
960 R_AARCH64_TLSLE_MOVW_TPREL_G2
=544,
961 R_AARCH64_TLSLE_MOVW_TPREL_G1
=545,
962 R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
=546,
963 R_AARCH64_TLSLE_MOVW_TPREL_G0
=547,
964 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC
=548,
965 R_AARCH64_TLSLE_ADD_TPREL_HI12
=549,
966 R_AARCH64_TLSLE_ADD_TPREL_LO12
=550,
967 R_AARCH64_TLSLE_ADD_TPREL_LO12_NC
=551,
968 R_AARCH64_TLSLE_LDST8_TPREL_LO12
=552,
969 R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC
=553,
970 R_AARCH64_TLSLE_LDST16_TPREL_LO12
=554,
971 R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC
=555,
972 R_AARCH64_TLSLE_LDST32_TPREL_LO12
=556,
973 R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC
=557,
974 R_AARCH64_TLSLE_LDST64_TPREL_LO12
=558,
975 R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC
=559,
977 R_AARCH64_GLOB_DAT
=1025,
978 R_AARCH64_JUMP_SLOT
=1026,
979 R_AARCH64_RELATIVE
=1027,
980 R_AARCH64_TLS_DTPREL64
=1028,
981 R_AARCH64_TLS_DTPMOD64
=1029,
982 R_AARCH64_TLS_TPREL64
=1030,
983 R_AARCH64_TLS_DTPREL32
=1031,
984 R_AARCH64_TLS_DTPMOD32
=1032,
985 R_AARCH64_TLS_TPREL32
=1033,
988 ENUM_ATTR_TAG_ARM
= dict(
995 TAG_CPU_ARCH_PROFILE
=7,
1000 TAG_ADVANCED_SIMD_ARCH
=12,
1002 TAG_ABI_PCS_R9_USE
=14,
1003 TAG_ABI_PCS_RW_DATA
=15,
1004 TAG_ABI_PCS_RO_DATA
=16,
1005 TAG_ABI_PCS_GOT_USE
=17,
1006 TAG_ABI_PCS_WCHAR_T
=18,
1007 TAG_ABI_FP_ROUNDING
=19,
1008 TAG_ABI_FP_DENORMAL
=20,
1009 TAG_ABI_FP_EXCEPTIONS
=21,
1010 TAG_ABI_FP_USER_EXCEPTIONS
=22,
1011 TAG_ABI_FP_NUMBER_MODEL
=23,
1012 TAG_ABI_ALIGN_NEEDED
=24,
1013 TAG_ABI_ALIGN_PRESERVED
=25,
1014 TAG_ABI_ENUM_SIZE
=26,
1015 TAG_ABI_HARDFP_USE
=27,
1016 TAG_ABI_VFP_ARGS
=28,
1017 TAG_ABI_WMMX_ARGS
=29,
1018 TAG_ABI_OPTIMIZATION_GOALS
=30,
1019 TAG_ABI_FP_OPTIMIZATION_GOALS
=31,
1020 TAG_COMPATIBILITY
=32,
1021 TAG_CPU_UNALIGNED_ACCESS
=34,
1022 TAG_FP_HP_EXTENSION
=36,
1023 TAG_ABI_FP_16BIT_FORMAT
=38,
1024 TAG_MPEXTENSION_USE
=42,
1027 TAG_ALSO_COMPATIBLE_WITH
=65,
1030 TAG_VIRTUALIZATION_USE
=68,
1031 TAG_MPEXTENSION_USE_OLD
=70,