github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/debug/elf/elf.go (about) 1 /* 2 * ELF constants and data structures 3 * 4 * Derived from: 5 * $FreeBSD: src/sys/sys/elf32.h,v 1.8.14.1 2005/12/30 22:13:58 marcel Exp $ 6 * $FreeBSD: src/sys/sys/elf64.h,v 1.10.14.1 2005/12/30 22:13:58 marcel Exp $ 7 * $FreeBSD: src/sys/sys/elf_common.h,v 1.15.8.1 2005/12/30 22:13:58 marcel Exp $ 8 * $FreeBSD: src/sys/alpha/include/elf.h,v 1.14 2003/09/25 01:10:22 peter Exp $ 9 * $FreeBSD: src/sys/amd64/include/elf.h,v 1.18 2004/08/03 08:21:48 dfr Exp $ 10 * $FreeBSD: src/sys/arm/include/elf.h,v 1.5.2.1 2006/06/30 21:42:52 cognet Exp $ 11 * $FreeBSD: src/sys/i386/include/elf.h,v 1.16 2004/08/02 19:12:17 dfr Exp $ 12 * $FreeBSD: src/sys/powerpc/include/elf.h,v 1.7 2004/11/02 09:47:01 ssouhlal Exp $ 13 * $FreeBSD: src/sys/sparc64/include/elf.h,v 1.12 2003/09/25 01:10:26 peter Exp $ 14 * "System V ABI" (http://www.sco.com/developers/gabi/latest/ch4.eheader.html) 15 * "ELF for the ARM® 64-bit Architecture (AArch64)" (ARM IHI 0056B) 16 * "RISC-V ELF psABI specification" (https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc) 17 * llvm/BinaryFormat/ELF.h - ELF constants and structures 18 * 19 * Copyright (c) 1996-1998 John D. Polstra. All rights reserved. 20 * Copyright (c) 2001 David E. O'Brien 21 * Portions Copyright 2009 The Go Authors. All rights reserved. 22 * 23 * Redistribution and use in source and binary forms, with or without 24 * modification, are permitted provided that the following conditions 25 * are met: 26 * 1. Redistributions of source code must retain the above copyright 27 * notice, this list of conditions and the following disclaimer. 28 * 2. Redistributions in binary form must reproduce the above copyright 29 * notice, this list of conditions and the following disclaimer in the 30 * documentation and/or other materials provided with the distribution. 31 * 32 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 33 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 34 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 35 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 36 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 37 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 38 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 39 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 40 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 41 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 42 * SUCH DAMAGE. 43 */ 44 45 package elf 46 47 // Header.Ident 配列へのインデックス。 48 const ( 49 EI_CLASS = 4 50 EI_DATA = 5 51 EI_VERSION = 6 52 EI_OSABI = 7 53 EI_ABIVERSION = 8 54 EI_PAD = 9 55 EI_NIDENT = 16 56 ) 57 58 // ELFファイルの初期マジックナンバー。 59 const ELFMAG = "\177ELF" 60 61 // Versionは、Header.Ident[EI_VERSION]とHeader.Versionに存在します。 62 type Version byte 63 64 const ( 65 EV_NONE Version = 0 66 EV_CURRENT Version = 1 67 ) 68 69 func (i Version) String() string 70 func (i Version) GoString() string 71 72 // Classは、Header.Ident[EI_CLASS]とHeader.Classに存在します。 73 type Class byte 74 75 const ( 76 ELFCLASSNONE Class = 0 77 ELFCLASS32 Class = 1 78 ELFCLASS64 Class = 2 79 ) 80 81 func (i Class) String() string 82 func (i Class) GoString() string 83 84 // Dataは、Header.Ident[EI_DATA]とHeader.Dataに存在します。 85 type Data byte 86 87 const ( 88 ELFDATANONE Data = 0 89 ELFDATA2LSB Data = 1 90 ELFDATA2MSB Data = 2 91 ) 92 93 func (i Data) String() string 94 func (i Data) GoString() string 95 96 // OSABIは、Header.Ident[EI_OSABI]とHeader.OSABIに存在します。 97 type OSABI byte 98 99 const ( 100 ELFOSABI_NONE OSABI = 0 101 ELFOSABI_HPUX OSABI = 1 102 ELFOSABI_NETBSD OSABI = 2 103 ELFOSABI_LINUX OSABI = 3 104 ELFOSABI_HURD OSABI = 4 105 ELFOSABI_86OPEN OSABI = 5 106 ELFOSABI_SOLARIS OSABI = 6 107 ELFOSABI_AIX OSABI = 7 108 ELFOSABI_IRIX OSABI = 8 109 ELFOSABI_FREEBSD OSABI = 9 110 ELFOSABI_TRU64 OSABI = 10 111 ELFOSABI_MODESTO OSABI = 11 112 ELFOSABI_OPENBSD OSABI = 12 113 ELFOSABI_OPENVMS OSABI = 13 114 ELFOSABI_NSK OSABI = 14 115 ELFOSABI_AROS OSABI = 15 116 ELFOSABI_FENIXOS OSABI = 16 117 ELFOSABI_CLOUDABI OSABI = 17 118 ELFOSABI_ARM OSABI = 97 119 ELFOSABI_STANDALONE OSABI = 255 120 ) 121 122 func (i OSABI) String() string 123 func (i OSABI) GoString() string 124 125 // Typeは、Header.Typeに存在します。 126 type Type uint16 127 128 const ( 129 ET_NONE Type = 0 130 ET_REL Type = 1 131 ET_EXEC Type = 2 132 ET_DYN Type = 3 133 ET_CORE Type = 4 134 ET_LOOS Type = 0xfe00 135 ET_HIOS Type = 0xfeff 136 ET_LOPROC Type = 0xff00 137 ET_HIPROC Type = 0xffff 138 ) 139 140 func (i Type) String() string 141 func (i Type) GoString() string 142 143 // Machineは、Header.Machineに存在します。 144 type Machine uint16 145 146 const ( 147 EM_NONE Machine = 0 148 EM_M32 Machine = 1 149 EM_SPARC Machine = 2 150 EM_386 Machine = 3 151 EM_68K Machine = 4 152 EM_88K Machine = 5 153 EM_860 Machine = 7 154 EM_MIPS Machine = 8 155 EM_S370 Machine = 9 156 EM_MIPS_RS3_LE Machine = 10 157 EM_PARISC Machine = 15 158 EM_VPP500 Machine = 17 159 EM_SPARC32PLUS Machine = 18 160 EM_960 Machine = 19 161 EM_PPC Machine = 20 162 EM_PPC64 Machine = 21 163 EM_S390 Machine = 22 164 EM_V800 Machine = 36 165 EM_FR20 Machine = 37 166 EM_RH32 Machine = 38 167 EM_RCE Machine = 39 168 EM_ARM Machine = 40 169 EM_SH Machine = 42 170 EM_SPARCV9 Machine = 43 171 EM_TRICORE Machine = 44 172 EM_ARC Machine = 45 173 EM_H8_300 Machine = 46 174 EM_H8_300H Machine = 47 175 EM_H8S Machine = 48 176 EM_H8_500 Machine = 49 177 EM_IA_64 Machine = 50 178 EM_MIPS_X Machine = 51 179 EM_COLDFIRE Machine = 52 180 EM_68HC12 Machine = 53 181 EM_MMA Machine = 54 182 EM_PCP Machine = 55 183 EM_NCPU Machine = 56 184 EM_NDR1 Machine = 57 185 EM_STARCORE Machine = 58 186 EM_ME16 Machine = 59 187 EM_ST100 Machine = 60 188 EM_TINYJ Machine = 61 189 EM_X86_64 Machine = 62 190 EM_PDSP Machine = 63 191 EM_PDP10 Machine = 64 192 EM_PDP11 Machine = 65 193 EM_FX66 Machine = 66 194 EM_ST9PLUS Machine = 67 195 EM_ST7 Machine = 68 196 EM_68HC16 Machine = 69 197 EM_68HC11 Machine = 70 198 EM_68HC08 Machine = 71 199 EM_68HC05 Machine = 72 200 EM_SVX Machine = 73 201 EM_ST19 Machine = 74 202 EM_VAX Machine = 75 203 EM_CRIS Machine = 76 204 EM_JAVELIN Machine = 77 205 EM_FIREPATH Machine = 78 206 EM_ZSP Machine = 79 207 EM_MMIX Machine = 80 208 EM_HUANY Machine = 81 209 EM_PRISM Machine = 82 210 EM_AVR Machine = 83 211 EM_FR30 Machine = 84 212 EM_D10V Machine = 85 213 EM_D30V Machine = 86 214 EM_V850 Machine = 87 215 EM_M32R Machine = 88 216 EM_MN10300 Machine = 89 217 EM_MN10200 Machine = 90 218 EM_PJ Machine = 91 219 EM_OPENRISC Machine = 92 220 EM_ARC_COMPACT Machine = 93 221 EM_XTENSA Machine = 94 222 EM_VIDEOCORE Machine = 95 223 EM_TMM_GPP Machine = 96 224 EM_NS32K Machine = 97 225 EM_TPC Machine = 98 226 EM_SNP1K Machine = 99 227 EM_ST200 Machine = 100 228 EM_IP2K Machine = 101 229 EM_MAX Machine = 102 230 EM_CR Machine = 103 231 EM_F2MC16 Machine = 104 232 EM_MSP430 Machine = 105 233 EM_BLACKFIN Machine = 106 234 EM_SE_C33 Machine = 107 235 EM_SEP Machine = 108 236 EM_ARCA Machine = 109 237 EM_UNICORE Machine = 110 238 EM_EXCESS Machine = 111 239 EM_DXP Machine = 112 240 EM_ALTERA_NIOS2 Machine = 113 241 EM_CRX Machine = 114 242 EM_XGATE Machine = 115 243 EM_C166 Machine = 116 244 EM_M16C Machine = 117 245 EM_DSPIC30F Machine = 118 246 EM_CE Machine = 119 247 EM_M32C Machine = 120 248 EM_TSK3000 Machine = 131 249 EM_RS08 Machine = 132 250 EM_SHARC Machine = 133 251 EM_ECOG2 Machine = 134 252 EM_SCORE7 Machine = 135 253 EM_DSP24 Machine = 136 254 EM_VIDEOCORE3 Machine = 137 255 EM_LATTICEMICO32 Machine = 138 256 EM_SE_C17 Machine = 139 257 EM_TI_C6000 Machine = 140 258 EM_TI_C2000 Machine = 141 259 EM_TI_C5500 Machine = 142 260 EM_TI_ARP32 Machine = 143 261 EM_TI_PRU Machine = 144 262 EM_MMDSP_PLUS Machine = 160 263 EM_CYPRESS_M8C Machine = 161 264 EM_R32C Machine = 162 265 EM_TRIMEDIA Machine = 163 266 EM_QDSP6 Machine = 164 267 EM_8051 Machine = 165 268 EM_STXP7X Machine = 166 269 EM_NDS32 Machine = 167 270 EM_ECOG1 Machine = 168 271 EM_ECOG1X Machine = 168 272 EM_MAXQ30 Machine = 169 273 EM_XIMO16 Machine = 170 274 EM_MANIK Machine = 171 275 EM_CRAYNV2 Machine = 172 276 EM_RX Machine = 173 277 EM_METAG Machine = 174 278 EM_MCST_ELBRUS Machine = 175 279 EM_ECOG16 Machine = 176 280 EM_CR16 Machine = 177 281 EM_ETPU Machine = 178 282 EM_SLE9X Machine = 179 283 EM_L10M Machine = 180 284 EM_K10M Machine = 181 285 EM_AARCH64 Machine = 183 286 EM_AVR32 Machine = 185 287 EM_STM8 Machine = 186 288 EM_TILE64 Machine = 187 289 EM_TILEPRO Machine = 188 290 EM_MICROBLAZE Machine = 189 291 EM_CUDA Machine = 190 292 EM_TILEGX Machine = 191 293 EM_CLOUDSHIELD Machine = 192 294 EM_COREA_1ST Machine = 193 295 EM_COREA_2ND Machine = 194 296 EM_ARC_COMPACT2 Machine = 195 297 EM_OPEN8 Machine = 196 298 EM_RL78 Machine = 197 299 EM_VIDEOCORE5 Machine = 198 300 EM_78KOR Machine = 199 301 EM_56800EX Machine = 200 302 EM_BA1 Machine = 201 303 EM_BA2 Machine = 202 304 EM_XCORE Machine = 203 305 EM_MCHP_PIC Machine = 204 306 EM_INTEL205 Machine = 205 307 EM_INTEL206 Machine = 206 308 EM_INTEL207 Machine = 207 309 EM_INTEL208 Machine = 208 310 EM_INTEL209 Machine = 209 311 EM_KM32 Machine = 210 312 EM_KMX32 Machine = 211 313 EM_KMX16 Machine = 212 314 EM_KMX8 Machine = 213 315 EM_KVARC Machine = 214 316 EM_CDP Machine = 215 317 EM_COGE Machine = 216 318 EM_COOL Machine = 217 319 EM_NORC Machine = 218 320 EM_CSR_KALIMBA Machine = 219 321 EM_Z80 Machine = 220 322 EM_VISIUM Machine = 221 323 EM_FT32 Machine = 222 324 EM_MOXIE Machine = 223 325 EM_AMDGPU Machine = 224 326 EM_RISCV Machine = 243 327 EM_LANAI Machine = 244 328 EM_BPF Machine = 247 329 EM_LOONGARCH Machine = 258 330 331 /* 非標準または非推奨。 */ 332 EM_486 Machine = 6 333 EM_MIPS_RS4_BE Machine = 10 334 EM_ALPHA_STD Machine = 41 335 EM_ALPHA Machine = 0x9026 336 ) 337 338 func (i Machine) String() string 339 func (i Machine) GoString() string 340 341 // 特別なセクションインデックス。 342 type SectionIndex int 343 344 const ( 345 SHN_UNDEF SectionIndex = 0 346 SHN_LORESERVE SectionIndex = 0xff00 347 SHN_LOPROC SectionIndex = 0xff00 348 SHN_HIPROC SectionIndex = 0xff1f 349 SHN_LOOS SectionIndex = 0xff20 350 SHN_HIOS SectionIndex = 0xff3f 351 SHN_ABS SectionIndex = 0xfff1 352 SHN_COMMON SectionIndex = 0xfff2 353 SHN_XINDEX SectionIndex = 0xffff 354 SHN_HIRESERVE SectionIndex = 0xffff 355 ) 356 357 func (i SectionIndex) String() string 358 func (i SectionIndex) GoString() string 359 360 // セクションのタイプ。 361 type SectionType uint32 362 363 const ( 364 SHT_NULL SectionType = 0 365 SHT_PROGBITS SectionType = 1 366 SHT_SYMTAB SectionType = 2 367 SHT_STRTAB SectionType = 3 368 SHT_RELA SectionType = 4 369 SHT_HASH SectionType = 5 370 SHT_DYNAMIC SectionType = 6 371 SHT_NOTE SectionType = 7 372 SHT_NOBITS SectionType = 8 373 SHT_REL SectionType = 9 374 SHT_SHLIB SectionType = 10 375 SHT_DYNSYM SectionType = 11 376 SHT_INIT_ARRAY SectionType = 14 377 SHT_FINI_ARRAY SectionType = 15 378 SHT_PREINIT_ARRAY SectionType = 16 379 SHT_GROUP SectionType = 17 380 SHT_SYMTAB_SHNDX SectionType = 18 381 SHT_LOOS SectionType = 0x60000000 382 SHT_GNU_ATTRIBUTES SectionType = 0x6ffffff5 383 SHT_GNU_HASH SectionType = 0x6ffffff6 384 SHT_GNU_LIBLIST SectionType = 0x6ffffff7 385 SHT_GNU_VERDEF SectionType = 0x6ffffffd 386 SHT_GNU_VERNEED SectionType = 0x6ffffffe 387 SHT_GNU_VERSYM SectionType = 0x6fffffff 388 SHT_HIOS SectionType = 0x6fffffff 389 SHT_LOPROC SectionType = 0x70000000 390 SHT_MIPS_ABIFLAGS SectionType = 0x7000002a 391 SHT_HIPROC SectionType = 0x7fffffff 392 SHT_LOUSER SectionType = 0x80000000 393 SHT_HIUSER SectionType = 0xffffffff 394 ) 395 396 func (i SectionType) String() string 397 func (i SectionType) GoString() string 398 399 // セクションのフラグ。 400 type SectionFlag uint32 401 402 const ( 403 SHF_WRITE SectionFlag = 0x1 404 SHF_ALLOC SectionFlag = 0x2 405 SHF_EXECINSTR SectionFlag = 0x4 406 SHF_MERGE SectionFlag = 0x10 407 SHF_STRINGS SectionFlag = 0x20 408 SHF_INFO_LINK SectionFlag = 0x40 409 SHF_LINK_ORDER SectionFlag = 0x80 410 SHF_OS_NONCONFORMING SectionFlag = 0x100 411 SHF_GROUP SectionFlag = 0x200 412 SHF_TLS SectionFlag = 0x400 413 SHF_COMPRESSED SectionFlag = 0x800 414 SHF_MASKOS SectionFlag = 0x0ff00000 415 SHF_MASKPROC SectionFlag = 0xf0000000 416 ) 417 418 func (i SectionFlag) String() string 419 func (i SectionFlag) GoString() string 420 421 // セクションの圧縮タイプ。 422 type CompressionType int 423 424 const ( 425 COMPRESS_ZLIB CompressionType = 1 426 COMPRESS_ZSTD CompressionType = 2 427 COMPRESS_LOOS CompressionType = 0x60000000 428 COMPRESS_HIOS CompressionType = 0x6fffffff 429 COMPRESS_LOPROC CompressionType = 0x70000000 430 COMPRESS_HIPROC CompressionType = 0x7fffffff 431 ) 432 433 func (i CompressionType) String() string 434 func (i CompressionType) GoString() string 435 436 // Prog.Type 437 type ProgType int 438 439 const ( 440 PT_NULL ProgType = 0 441 PT_LOAD ProgType = 1 442 PT_DYNAMIC ProgType = 2 443 PT_INTERP ProgType = 3 444 PT_NOTE ProgType = 4 445 PT_SHLIB ProgType = 5 446 PT_PHDR ProgType = 6 447 PT_TLS ProgType = 7 448 449 PT_LOOS ProgType = 0x60000000 450 451 PT_GNU_EH_FRAME ProgType = 0x6474e550 452 PT_GNU_STACK ProgType = 0x6474e551 453 PT_GNU_RELRO ProgType = 0x6474e552 454 PT_GNU_PROPERTY ProgType = 0x6474e553 455 PT_GNU_MBIND_LO ProgType = 0x6474e555 456 PT_GNU_MBIND_HI ProgType = 0x6474f554 457 458 PT_PAX_FLAGS ProgType = 0x65041580 459 460 PT_OPENBSD_RANDOMIZE ProgType = 0x65a3dbe6 461 PT_OPENBSD_WXNEEDED ProgType = 0x65a3dbe7 462 PT_OPENBSD_NOBTCFI ProgType = 0x65a3dbe8 463 PT_OPENBSD_BOOTDATA ProgType = 0x65a41be6 464 465 PT_SUNW_EH_FRAME ProgType = 0x6474e550 466 PT_SUNWSTACK ProgType = 0x6ffffffb 467 468 PT_HIOS ProgType = 0x6fffffff 469 470 PT_LOPROC ProgType = 0x70000000 471 472 PT_ARM_ARCHEXT ProgType = 0x70000000 473 PT_ARM_EXIDX ProgType = 0x70000001 474 475 PT_AARCH64_ARCHEXT ProgType = 0x70000000 476 PT_AARCH64_UNWIND ProgType = 0x70000001 477 478 PT_MIPS_REGINFO ProgType = 0x70000000 479 PT_MIPS_RTPROC ProgType = 0x70000001 480 PT_MIPS_OPTIONS ProgType = 0x70000002 481 PT_MIPS_ABIFLAGS ProgType = 0x70000003 482 483 PT_S390_PGSTE ProgType = 0x70000000 484 485 PT_HIPROC ProgType = 0x7fffffff 486 ) 487 488 func (i ProgType) String() string 489 func (i ProgType) GoString() string 490 491 // Prog.Flag 492 type ProgFlag uint32 493 494 const ( 495 PF_X ProgFlag = 0x1 496 PF_W ProgFlag = 0x2 497 PF_R ProgFlag = 0x4 498 PF_MASKOS ProgFlag = 0x0ff00000 499 PF_MASKPROC ProgFlag = 0xf0000000 500 ) 501 502 func (i ProgFlag) String() string 503 func (i ProgFlag) GoString() string 504 505 // Dyn.Tag 506 type DynTag int 507 508 const ( 509 DT_NULL DynTag = 0 510 DT_NEEDED DynTag = 1 511 DT_PLTRELSZ DynTag = 2 512 DT_PLTGOT DynTag = 3 513 DT_HASH DynTag = 4 514 DT_STRTAB DynTag = 5 515 DT_SYMTAB DynTag = 6 516 DT_RELA DynTag = 7 517 DT_RELASZ DynTag = 8 518 DT_RELAENT DynTag = 9 519 DT_STRSZ DynTag = 10 520 DT_SYMENT DynTag = 11 521 DT_INIT DynTag = 12 522 DT_FINI DynTag = 13 523 DT_SONAME DynTag = 14 524 DT_RPATH DynTag = 15 525 DT_SYMBOLIC DynTag = 16 526 DT_REL DynTag = 17 527 DT_RELSZ DynTag = 18 528 DT_RELENT DynTag = 19 529 DT_PLTREL DynTag = 20 530 DT_DEBUG DynTag = 21 531 DT_TEXTREL DynTag = 22 532 DT_JMPREL DynTag = 23 533 DT_BIND_NOW DynTag = 24 534 DT_INIT_ARRAY DynTag = 25 535 DT_FINI_ARRAY DynTag = 26 536 DT_INIT_ARRAYSZ DynTag = 27 537 DT_FINI_ARRAYSZ DynTag = 28 538 DT_RUNPATH DynTag = 29 539 DT_FLAGS DynTag = 30 540 DT_ENCODING DynTag = 32 541 542 DT_PREINIT_ARRAY DynTag = 32 543 DT_PREINIT_ARRAYSZ DynTag = 33 544 DT_SYMTAB_SHNDX DynTag = 34 545 546 DT_LOOS DynTag = 0x6000000d 547 DT_HIOS DynTag = 0x6ffff000 548 549 DT_VALRNGLO DynTag = 0x6ffffd00 550 DT_GNU_PRELINKED DynTag = 0x6ffffdf5 551 DT_GNU_CONFLICTSZ DynTag = 0x6ffffdf6 552 DT_GNU_LIBLISTSZ DynTag = 0x6ffffdf7 553 DT_CHECKSUM DynTag = 0x6ffffdf8 554 DT_PLTPADSZ DynTag = 0x6ffffdf9 555 DT_MOVEENT DynTag = 0x6ffffdfa 556 DT_MOVESZ DynTag = 0x6ffffdfb 557 DT_FEATURE DynTag = 0x6ffffdfc 558 DT_POSFLAG_1 DynTag = 0x6ffffdfd 559 DT_SYMINSZ DynTag = 0x6ffffdfe 560 DT_SYMINENT DynTag = 0x6ffffdff 561 DT_VALRNGHI DynTag = 0x6ffffdff 562 563 DT_ADDRRNGLO DynTag = 0x6ffffe00 564 DT_GNU_HASH DynTag = 0x6ffffef5 565 DT_TLSDESC_PLT DynTag = 0x6ffffef6 566 DT_TLSDESC_GOT DynTag = 0x6ffffef7 567 DT_GNU_CONFLICT DynTag = 0x6ffffef8 568 DT_GNU_LIBLIST DynTag = 0x6ffffef9 569 DT_CONFIG DynTag = 0x6ffffefa 570 DT_DEPAUDIT DynTag = 0x6ffffefb 571 DT_AUDIT DynTag = 0x6ffffefc 572 DT_PLTPAD DynTag = 0x6ffffefd 573 DT_MOVETAB DynTag = 0x6ffffefe 574 DT_SYMINFO DynTag = 0x6ffffeff 575 DT_ADDRRNGHI DynTag = 0x6ffffeff 576 577 DT_VERSYM DynTag = 0x6ffffff0 578 DT_RELACOUNT DynTag = 0x6ffffff9 579 DT_RELCOUNT DynTag = 0x6ffffffa 580 DT_FLAGS_1 DynTag = 0x6ffffffb 581 DT_VERDEF DynTag = 0x6ffffffc 582 DT_VERDEFNUM DynTag = 0x6ffffffd 583 DT_VERNEED DynTag = 0x6ffffffe 584 DT_VERNEEDNUM DynTag = 0x6fffffff 585 586 DT_LOPROC DynTag = 0x70000000 587 588 DT_MIPS_RLD_VERSION DynTag = 0x70000001 589 DT_MIPS_TIME_STAMP DynTag = 0x70000002 590 DT_MIPS_ICHECKSUM DynTag = 0x70000003 591 DT_MIPS_IVERSION DynTag = 0x70000004 592 DT_MIPS_FLAGS DynTag = 0x70000005 593 DT_MIPS_BASE_ADDRESS DynTag = 0x70000006 594 DT_MIPS_MSYM DynTag = 0x70000007 595 DT_MIPS_CONFLICT DynTag = 0x70000008 596 DT_MIPS_LIBLIST DynTag = 0x70000009 597 DT_MIPS_LOCAL_GOTNO DynTag = 0x7000000a 598 DT_MIPS_CONFLICTNO DynTag = 0x7000000b 599 DT_MIPS_LIBLISTNO DynTag = 0x70000010 600 DT_MIPS_SYMTABNO DynTag = 0x70000011 601 DT_MIPS_UNREFEXTNO DynTag = 0x70000012 602 DT_MIPS_GOTSYM DynTag = 0x70000013 603 DT_MIPS_HIPAGENO DynTag = 0x70000014 604 DT_MIPS_RLD_MAP DynTag = 0x70000016 605 DT_MIPS_DELTA_CLASS DynTag = 0x70000017 606 DT_MIPS_DELTA_CLASS_NO DynTag = 0x70000018 607 DT_MIPS_DELTA_INSTANCE DynTag = 0x70000019 608 DT_MIPS_DELTA_INSTANCE_NO DynTag = 0x7000001a 609 DT_MIPS_DELTA_RELOC DynTag = 0x7000001b 610 DT_MIPS_DELTA_RELOC_NO DynTag = 0x7000001c 611 DT_MIPS_DELTA_SYM DynTag = 0x7000001d 612 DT_MIPS_DELTA_SYM_NO DynTag = 0x7000001e 613 DT_MIPS_DELTA_CLASSSYM DynTag = 0x70000020 614 DT_MIPS_DELTA_CLASSSYM_NO DynTag = 0x70000021 615 DT_MIPS_CXX_FLAGS DynTag = 0x70000022 616 DT_MIPS_PIXIE_INIT DynTag = 0x70000023 617 DT_MIPS_SYMBOL_LIB DynTag = 0x70000024 618 DT_MIPS_LOCALPAGE_GOTIDX DynTag = 0x70000025 619 DT_MIPS_LOCAL_GOTIDX DynTag = 0x70000026 620 DT_MIPS_HIDDEN_GOTIDX DynTag = 0x70000027 621 DT_MIPS_PROTECTED_GOTIDX DynTag = 0x70000028 622 DT_MIPS_OPTIONS DynTag = 0x70000029 623 DT_MIPS_INTERFACE DynTag = 0x7000002a 624 DT_MIPS_DYNSTR_ALIGN DynTag = 0x7000002b 625 DT_MIPS_INTERFACE_SIZE DynTag = 0x7000002c 626 DT_MIPS_RLD_TEXT_RESOLVE_ADDR DynTag = 0x7000002d 627 DT_MIPS_PERF_SUFFIX DynTag = 0x7000002e 628 DT_MIPS_COMPACT_SIZE DynTag = 0x7000002f 629 DT_MIPS_GP_VALUE DynTag = 0x70000030 630 DT_MIPS_AUX_DYNAMIC DynTag = 0x70000031 631 DT_MIPS_PLTGOT DynTag = 0x70000032 632 DT_MIPS_RWPLT DynTag = 0x70000034 633 DT_MIPS_RLD_MAP_REL DynTag = 0x70000035 634 635 DT_PPC_GOT DynTag = 0x70000000 636 DT_PPC_OPT DynTag = 0x70000001 637 638 DT_PPC64_GLINK DynTag = 0x70000000 639 DT_PPC64_OPD DynTag = 0x70000001 640 DT_PPC64_OPDSZ DynTag = 0x70000002 641 DT_PPC64_OPT DynTag = 0x70000003 642 643 DT_SPARC_REGISTER DynTag = 0x70000001 644 645 DT_AUXILIARY DynTag = 0x7ffffffd 646 DT_USED DynTag = 0x7ffffffe 647 DT_FILTER DynTag = 0x7fffffff 648 649 DT_HIPROC DynTag = 0x7fffffff 650 ) 651 652 func (i DynTag) String() string 653 func (i DynTag) GoString() string 654 655 // DT_FLAGSの値。 656 type DynFlag int 657 658 const ( 659 DF_ORIGIN DynFlag = 0x0001 660 661 DF_SYMBOLIC DynFlag = 0x0002 662 DF_TEXTREL DynFlag = 0x0004 663 DF_BIND_NOW DynFlag = 0x0008 664 665 DF_STATIC_TLS DynFlag = 0x0010 666 ) 667 668 func (i DynFlag) String() string 669 func (i DynFlag) GoString() string 670 671 // DT_FLAGS_1の値。 672 type DynFlag1 uint32 673 674 const ( 675 // このオブジェクトのすべての再配置がプログラムの制御を返す前に処理される必要があることを示します。 676 DF_1_NOW DynFlag1 = 0x00000001 677 // 未使用。 678 DF_1_GLOBAL DynFlag1 = 0x00000002 679 // オブジェクトがグループのメンバーであることを示します。 680 DF_1_GROUP DynFlag1 = 0x00000004 681 // オブジェクトがプロセスから削除できないことを示します。 682 DF_1_NODELETE DynFlag1 = 0x00000008 683 // フィルターにのみ意味があります。すべての関連するフィルティーが 684 // 即座に処理されることを示します。 685 DF_1_LOADFLTR DynFlag1 = 0x00000010 686 // このオブジェクトの初期化セクションが、他のどのオブジェクトよりも先に実行されることを示します。 687 DF_1_INITFIRST DynFlag1 = 0x00000020 688 // オブジェクトがdlopenを使用して実行中のプロセスに追加できないことを示します。 689 DF_1_NOOPEN DynFlag1 = 0x00000040 690 // オブジェクトが$ORIGIN処理を必要とすることを示します。 691 DF_1_ORIGIN DynFlag1 = 0x00000080 692 // オブジェクトが直接バインディング情報を使用する必要があることを示します。 693 DF_1_DIRECT DynFlag1 = 0x00000100 694 // 未使用。 695 DF_1_TRANS DynFlag1 = 0x00000200 696 // オブジェクトのシンボルテーブルが、通常は実行可能ファイルである主要なロードオブジェクトを除く 697 // すべてのシンボルの前に介在することを示します。 698 DF_1_INTERPOSE DynFlag1 = 0x00000400 699 // このオブジェクトの依存関係の検索が、任意のデフォルトのライブラリ検索パスを無視することを示します。 700 DF_1_NODEFLIB DynFlag1 = 0x00000800 701 // このオブジェクトがdldumpによってダンプされないことを示します。候補は、 702 // 代替オブジェクトを生成するときに含まれる可能性がある再配置のないオブジェクトです。 703 DF_1_NODUMP DynFlag1 = 0x00001000 704 // このオブジェクトがcrleによって生成された設定代替オブジェクトであることを識別します。 705 // ランタイムリンカーが設定ファイル$ORIGIN/ld.config.app-nameを検索するようにトリガーします。 706 DF_1_CONFALT DynFlag1 = 0x00002000 707 // フィルティーにのみ意味があります。フィルターがさらなるフィルティーを検索するのを終了します。 708 DF_1_ENDFILTEE DynFlag1 = 0x00004000 709 // このオブジェクトに変位再配置が適用されていることを示します。 710 DF_1_DISPRELDNE DynFlag1 = 0x00008000 711 // このオブジェクトには変位再配置が保留中であることを示します。 712 DF_1_DISPRELPND DynFlag1 = 0x00010000 713 // このオブジェクトが直接バインドできないシンボルを含んでいることを示します。 714 DF_1_NODIRECT DynFlag1 = 0x00020000 715 // カーネルのランタイムリンカーによる内部使用のために予約されています。 716 DF_1_IGNMULDEF DynFlag1 = 0x00040000 717 // カーネルのランタイムリンカーによる内部使用のために予約されています。 718 DF_1_NOKSYMS DynFlag1 = 0x00080000 719 // カーネルのランタイムリンカーによる内部使用のために予約されています。 720 DF_1_NOHDR DynFlag1 = 0x00100000 721 // このオブジェクトがリンクエディタによる元の構築以降に編集されたか、 722 // または変更されたことを示します。 723 DF_1_EDITED DynFlag1 = 0x00200000 724 // カーネルのランタイムリンカーによる内部使用のために予約されています。 725 DF_1_NORELOC DynFlag1 = 0x00400000 726 // オブジェクトが個々のシンボルを含んでおり、それらのシンボルは通常実行可能ファイルである 727 // 主要なロードオブジェクトを除くすべてのシンボルよりも前に介在するべきであることを示します。 728 DF_1_SYMINTPOSE DynFlag1 = 0x00800000 729 // 実行可能ファイルがグローバル監査を必要とすることを示します。 730 DF_1_GLOBAUDIT DynFlag1 = 0x01000000 731 // オブジェクトがシングルトンシンボルを定義するか、またはそれらを参照することを示します。 732 DF_1_SINGLETON DynFlag1 = 0x02000000 733 // オブジェクトがスタブであることを示します。 734 DF_1_STUB DynFlag1 = 0x04000000 735 // オブジェクトが位置独立型実行可能ファイルであることを示します。 736 DF_1_PIE DynFlag1 = 0x08000000 737 // オブジェクトがカーネルモジュールであることを示します。 738 DF_1_KMOD DynFlag1 = 0x10000000 739 // オブジェクトが弱い標準フィルターであることを示します。 740 DF_1_WEAKFILTER DynFlag1 = 0x20000000 741 // 未使用。 742 DF_1_NOCOMMON DynFlag1 = 0x40000000 743 ) 744 745 func (i DynFlag1) String() string 746 func (i DynFlag1) GoString() string 747 748 // NTypeの値; コアファイルで使用されます。 749 type NType int 750 751 const ( 752 NT_PRSTATUS NType = 1 753 NT_FPREGSET NType = 2 754 NT_PRPSINFO NType = 3 755 ) 756 757 func (i NType) String() string 758 func (i NType) GoString() string 759 760 /* Symbol Binding - ELFNN_ST_BIND - st_info */ 761 type SymBind int 762 763 const ( 764 STB_LOCAL SymBind = 0 765 STB_GLOBAL SymBind = 1 766 STB_WEAK SymBind = 2 767 STB_LOOS SymBind = 10 768 STB_HIOS SymBind = 12 769 STB_LOPROC SymBind = 13 770 STB_HIPROC SymBind = 15 771 ) 772 773 func (i SymBind) String() string 774 func (i SymBind) GoString() string 775 776 /* Symbol type - ELFNN_ST_TYPE - st_info */ 777 type SymType int 778 779 const ( 780 STT_NOTYPE SymType = 0 781 STT_OBJECT SymType = 1 782 STT_FUNC SymType = 2 783 STT_SECTION SymType = 3 784 STT_FILE SymType = 4 785 STT_COMMON SymType = 5 786 STT_TLS SymType = 6 787 STT_LOOS SymType = 10 788 STT_HIOS SymType = 12 789 STT_LOPROC SymType = 13 790 STT_HIPROC SymType = 15 791 ) 792 793 func (i SymType) String() string 794 func (i SymType) GoString() string 795 796 /* Symbol visibility - ELFNN_ST_VISIBILITY - st_other */ 797 type SymVis int 798 799 const ( 800 STV_DEFAULT SymVis = 0x0 801 STV_INTERNAL SymVis = 0x1 802 STV_HIDDEN SymVis = 0x2 803 STV_PROTECTED SymVis = 0x3 804 ) 805 806 func (i SymVis) String() string 807 func (i SymVis) GoString() string 808 809 // x86-64のための再配置タイプ。 810 type R_X86_64 int 811 812 const ( 813 R_X86_64_NONE R_X86_64 = 0 814 R_X86_64_64 R_X86_64 = 1 815 R_X86_64_PC32 R_X86_64 = 2 816 R_X86_64_GOT32 R_X86_64 = 3 817 R_X86_64_PLT32 R_X86_64 = 4 818 R_X86_64_COPY R_X86_64 = 5 819 R_X86_64_GLOB_DAT R_X86_64 = 6 820 R_X86_64_JMP_SLOT R_X86_64 = 7 821 R_X86_64_RELATIVE R_X86_64 = 8 822 R_X86_64_GOTPCREL R_X86_64 = 9 823 R_X86_64_32 R_X86_64 = 10 824 R_X86_64_32S R_X86_64 = 11 825 R_X86_64_16 R_X86_64 = 12 826 R_X86_64_PC16 R_X86_64 = 13 827 R_X86_64_8 R_X86_64 = 14 828 R_X86_64_PC8 R_X86_64 = 15 829 R_X86_64_DTPMOD64 R_X86_64 = 16 830 R_X86_64_DTPOFF64 R_X86_64 = 17 831 R_X86_64_TPOFF64 R_X86_64 = 18 832 R_X86_64_TLSGD R_X86_64 = 19 833 R_X86_64_TLSLD R_X86_64 = 20 834 R_X86_64_DTPOFF32 R_X86_64 = 21 835 R_X86_64_GOTTPOFF R_X86_64 = 22 836 R_X86_64_TPOFF32 R_X86_64 = 23 837 R_X86_64_PC64 R_X86_64 = 24 838 R_X86_64_GOTOFF64 R_X86_64 = 25 839 R_X86_64_GOTPC32 R_X86_64 = 26 840 R_X86_64_GOT64 R_X86_64 = 27 841 R_X86_64_GOTPCREL64 R_X86_64 = 28 842 R_X86_64_GOTPC64 R_X86_64 = 29 843 R_X86_64_GOTPLT64 R_X86_64 = 30 844 R_X86_64_PLTOFF64 R_X86_64 = 31 845 R_X86_64_SIZE32 R_X86_64 = 32 846 R_X86_64_SIZE64 R_X86_64 = 33 847 R_X86_64_GOTPC32_TLSDESC R_X86_64 = 34 848 R_X86_64_TLSDESC_CALL R_X86_64 = 35 849 R_X86_64_TLSDESC R_X86_64 = 36 850 R_X86_64_IRELATIVE R_X86_64 = 37 851 R_X86_64_RELATIVE64 R_X86_64 = 38 852 R_X86_64_PC32_BND R_X86_64 = 39 853 R_X86_64_PLT32_BND R_X86_64 = 40 854 R_X86_64_GOTPCRELX R_X86_64 = 41 855 R_X86_64_REX_GOTPCRELX R_X86_64 = 42 856 ) 857 858 func (i R_X86_64) String() string 859 func (i R_X86_64) GoString() string 860 861 // AArch64(別名 arm64)のための再配置タイプ。 862 type R_AARCH64 int 863 864 const ( 865 R_AARCH64_NONE R_AARCH64 = 0 866 R_AARCH64_P32_ABS32 R_AARCH64 = 1 867 R_AARCH64_P32_ABS16 R_AARCH64 = 2 868 R_AARCH64_P32_PREL32 R_AARCH64 = 3 869 R_AARCH64_P32_PREL16 R_AARCH64 = 4 870 R_AARCH64_P32_MOVW_UABS_G0 R_AARCH64 = 5 871 R_AARCH64_P32_MOVW_UABS_G0_NC R_AARCH64 = 6 872 R_AARCH64_P32_MOVW_UABS_G1 R_AARCH64 = 7 873 R_AARCH64_P32_MOVW_SABS_G0 R_AARCH64 = 8 874 R_AARCH64_P32_LD_PREL_LO19 R_AARCH64 = 9 875 R_AARCH64_P32_ADR_PREL_LO21 R_AARCH64 = 10 876 R_AARCH64_P32_ADR_PREL_PG_HI21 R_AARCH64 = 11 877 R_AARCH64_P32_ADD_ABS_LO12_NC R_AARCH64 = 12 878 R_AARCH64_P32_LDST8_ABS_LO12_NC R_AARCH64 = 13 879 R_AARCH64_P32_LDST16_ABS_LO12_NC R_AARCH64 = 14 880 R_AARCH64_P32_LDST32_ABS_LO12_NC R_AARCH64 = 15 881 R_AARCH64_P32_LDST64_ABS_LO12_NC R_AARCH64 = 16 882 R_AARCH64_P32_LDST128_ABS_LO12_NC R_AARCH64 = 17 883 R_AARCH64_P32_TSTBR14 R_AARCH64 = 18 884 R_AARCH64_P32_CONDBR19 R_AARCH64 = 19 885 R_AARCH64_P32_JUMP26 R_AARCH64 = 20 886 R_AARCH64_P32_CALL26 R_AARCH64 = 21 887 R_AARCH64_P32_GOT_LD_PREL19 R_AARCH64 = 25 888 R_AARCH64_P32_ADR_GOT_PAGE R_AARCH64 = 26 889 R_AARCH64_P32_LD32_GOT_LO12_NC R_AARCH64 = 27 890 R_AARCH64_P32_TLSGD_ADR_PAGE21 R_AARCH64 = 81 891 R_AARCH64_P32_TLSGD_ADD_LO12_NC R_AARCH64 = 82 892 R_AARCH64_P32_TLSIE_ADR_GOTTPREL_PAGE21 R_AARCH64 = 103 893 R_AARCH64_P32_TLSIE_LD32_GOTTPREL_LO12_NC R_AARCH64 = 104 894 R_AARCH64_P32_TLSIE_LD_GOTTPREL_PREL19 R_AARCH64 = 105 895 R_AARCH64_P32_TLSLE_MOVW_TPREL_G1 R_AARCH64 = 106 896 R_AARCH64_P32_TLSLE_MOVW_TPREL_G0 R_AARCH64 = 107 897 R_AARCH64_P32_TLSLE_MOVW_TPREL_G0_NC R_AARCH64 = 108 898 R_AARCH64_P32_TLSLE_ADD_TPREL_HI12 R_AARCH64 = 109 899 R_AARCH64_P32_TLSLE_ADD_TPREL_LO12 R_AARCH64 = 110 900 R_AARCH64_P32_TLSLE_ADD_TPREL_LO12_NC R_AARCH64 = 111 901 R_AARCH64_P32_TLSDESC_LD_PREL19 R_AARCH64 = 122 902 R_AARCH64_P32_TLSDESC_ADR_PREL21 R_AARCH64 = 123 903 R_AARCH64_P32_TLSDESC_ADR_PAGE21 R_AARCH64 = 124 904 R_AARCH64_P32_TLSDESC_LD32_LO12_NC R_AARCH64 = 125 905 R_AARCH64_P32_TLSDESC_ADD_LO12_NC R_AARCH64 = 126 906 R_AARCH64_P32_TLSDESC_CALL R_AARCH64 = 127 907 R_AARCH64_P32_COPY R_AARCH64 = 180 908 R_AARCH64_P32_GLOB_DAT R_AARCH64 = 181 909 R_AARCH64_P32_JUMP_SLOT R_AARCH64 = 182 910 R_AARCH64_P32_RELATIVE R_AARCH64 = 183 911 R_AARCH64_P32_TLS_DTPMOD R_AARCH64 = 184 912 R_AARCH64_P32_TLS_DTPREL R_AARCH64 = 185 913 R_AARCH64_P32_TLS_TPREL R_AARCH64 = 186 914 R_AARCH64_P32_TLSDESC R_AARCH64 = 187 915 R_AARCH64_P32_IRELATIVE R_AARCH64 = 188 916 R_AARCH64_NULL R_AARCH64 = 256 917 R_AARCH64_ABS64 R_AARCH64 = 257 918 R_AARCH64_ABS32 R_AARCH64 = 258 919 R_AARCH64_ABS16 R_AARCH64 = 259 920 R_AARCH64_PREL64 R_AARCH64 = 260 921 R_AARCH64_PREL32 R_AARCH64 = 261 922 R_AARCH64_PREL16 R_AARCH64 = 262 923 R_AARCH64_MOVW_UABS_G0 R_AARCH64 = 263 924 R_AARCH64_MOVW_UABS_G0_NC R_AARCH64 = 264 925 R_AARCH64_MOVW_UABS_G1 R_AARCH64 = 265 926 R_AARCH64_MOVW_UABS_G1_NC R_AARCH64 = 266 927 R_AARCH64_MOVW_UABS_G2 R_AARCH64 = 267 928 R_AARCH64_MOVW_UABS_G2_NC R_AARCH64 = 268 929 R_AARCH64_MOVW_UABS_G3 R_AARCH64 = 269 930 R_AARCH64_MOVW_SABS_G0 R_AARCH64 = 270 931 R_AARCH64_MOVW_SABS_G1 R_AARCH64 = 271 932 R_AARCH64_MOVW_SABS_G2 R_AARCH64 = 272 933 R_AARCH64_LD_PREL_LO19 R_AARCH64 = 273 934 R_AARCH64_ADR_PREL_LO21 R_AARCH64 = 274 935 R_AARCH64_ADR_PREL_PG_HI21 R_AARCH64 = 275 936 R_AARCH64_ADR_PREL_PG_HI21_NC R_AARCH64 = 276 937 R_AARCH64_ADD_ABS_LO12_NC R_AARCH64 = 277 938 R_AARCH64_LDST8_ABS_LO12_NC R_AARCH64 = 278 939 R_AARCH64_TSTBR14 R_AARCH64 = 279 940 R_AARCH64_CONDBR19 R_AARCH64 = 280 941 R_AARCH64_JUMP26 R_AARCH64 = 282 942 R_AARCH64_CALL26 R_AARCH64 = 283 943 R_AARCH64_LDST16_ABS_LO12_NC R_AARCH64 = 284 944 R_AARCH64_LDST32_ABS_LO12_NC R_AARCH64 = 285 945 R_AARCH64_LDST64_ABS_LO12_NC R_AARCH64 = 286 946 R_AARCH64_LDST128_ABS_LO12_NC R_AARCH64 = 299 947 R_AARCH64_GOT_LD_PREL19 R_AARCH64 = 309 948 R_AARCH64_LD64_GOTOFF_LO15 R_AARCH64 = 310 949 R_AARCH64_ADR_GOT_PAGE R_AARCH64 = 311 950 R_AARCH64_LD64_GOT_LO12_NC R_AARCH64 = 312 951 R_AARCH64_LD64_GOTPAGE_LO15 R_AARCH64 = 313 952 R_AARCH64_TLSGD_ADR_PREL21 R_AARCH64 = 512 953 R_AARCH64_TLSGD_ADR_PAGE21 R_AARCH64 = 513 954 R_AARCH64_TLSGD_ADD_LO12_NC R_AARCH64 = 514 955 R_AARCH64_TLSGD_MOVW_G1 R_AARCH64 = 515 956 R_AARCH64_TLSGD_MOVW_G0_NC R_AARCH64 = 516 957 R_AARCH64_TLSLD_ADR_PREL21 R_AARCH64 = 517 958 R_AARCH64_TLSLD_ADR_PAGE21 R_AARCH64 = 518 959 R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 R_AARCH64 = 539 960 R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC R_AARCH64 = 540 961 R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 R_AARCH64 = 541 962 R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC R_AARCH64 = 542 963 R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 R_AARCH64 = 543 964 R_AARCH64_TLSLE_MOVW_TPREL_G2 R_AARCH64 = 544 965 R_AARCH64_TLSLE_MOVW_TPREL_G1 R_AARCH64 = 545 966 R_AARCH64_TLSLE_MOVW_TPREL_G1_NC R_AARCH64 = 546 967 R_AARCH64_TLSLE_MOVW_TPREL_G0 R_AARCH64 = 547 968 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC R_AARCH64 = 548 969 R_AARCH64_TLSLE_ADD_TPREL_HI12 R_AARCH64 = 549 970 R_AARCH64_TLSLE_ADD_TPREL_LO12 R_AARCH64 = 550 971 R_AARCH64_TLSLE_ADD_TPREL_LO12_NC R_AARCH64 = 551 972 R_AARCH64_TLSDESC_LD_PREL19 R_AARCH64 = 560 973 R_AARCH64_TLSDESC_ADR_PREL21 R_AARCH64 = 561 974 R_AARCH64_TLSDESC_ADR_PAGE21 R_AARCH64 = 562 975 R_AARCH64_TLSDESC_LD64_LO12_NC R_AARCH64 = 563 976 R_AARCH64_TLSDESC_ADD_LO12_NC R_AARCH64 = 564 977 R_AARCH64_TLSDESC_OFF_G1 R_AARCH64 = 565 978 R_AARCH64_TLSDESC_OFF_G0_NC R_AARCH64 = 566 979 R_AARCH64_TLSDESC_LDR R_AARCH64 = 567 980 R_AARCH64_TLSDESC_ADD R_AARCH64 = 568 981 R_AARCH64_TLSDESC_CALL R_AARCH64 = 569 982 R_AARCH64_TLSLE_LDST128_TPREL_LO12 R_AARCH64 = 570 983 R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC R_AARCH64 = 571 984 R_AARCH64_TLSLD_LDST128_DTPREL_LO12 R_AARCH64 = 572 985 R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC R_AARCH64 = 573 986 R_AARCH64_COPY R_AARCH64 = 1024 987 R_AARCH64_GLOB_DAT R_AARCH64 = 1025 988 R_AARCH64_JUMP_SLOT R_AARCH64 = 1026 989 R_AARCH64_RELATIVE R_AARCH64 = 1027 990 R_AARCH64_TLS_DTPMOD64 R_AARCH64 = 1028 991 R_AARCH64_TLS_DTPREL64 R_AARCH64 = 1029 992 R_AARCH64_TLS_TPREL64 R_AARCH64 = 1030 993 R_AARCH64_TLSDESC R_AARCH64 = 1031 994 R_AARCH64_IRELATIVE R_AARCH64 = 1032 995 ) 996 997 func (i R_AARCH64) String() string 998 func (i R_AARCH64) GoString() string 999 1000 // Alphaのための再配置タイプ。 1001 type R_ALPHA int 1002 1003 const ( 1004 R_ALPHA_NONE R_ALPHA = 0 1005 R_ALPHA_REFLONG R_ALPHA = 1 1006 R_ALPHA_REFQUAD R_ALPHA = 2 1007 R_ALPHA_GPREL32 R_ALPHA = 3 1008 R_ALPHA_LITERAL R_ALPHA = 4 1009 R_ALPHA_LITUSE R_ALPHA = 5 1010 R_ALPHA_GPDISP R_ALPHA = 6 1011 R_ALPHA_BRADDR R_ALPHA = 7 1012 R_ALPHA_HINT R_ALPHA = 8 1013 R_ALPHA_SREL16 R_ALPHA = 9 1014 R_ALPHA_SREL32 R_ALPHA = 10 1015 R_ALPHA_SREL64 R_ALPHA = 11 1016 R_ALPHA_OP_PUSH R_ALPHA = 12 1017 R_ALPHA_OP_STORE R_ALPHA = 13 1018 R_ALPHA_OP_PSUB R_ALPHA = 14 1019 R_ALPHA_OP_PRSHIFT R_ALPHA = 15 1020 R_ALPHA_GPVALUE R_ALPHA = 16 1021 R_ALPHA_GPRELHIGH R_ALPHA = 17 1022 R_ALPHA_GPRELLOW R_ALPHA = 18 1023 R_ALPHA_IMMED_GP_16 R_ALPHA = 19 1024 R_ALPHA_IMMED_GP_HI32 R_ALPHA = 20 1025 R_ALPHA_IMMED_SCN_HI32 R_ALPHA = 21 1026 R_ALPHA_IMMED_BR_HI32 R_ALPHA = 22 1027 R_ALPHA_IMMED_LO32 R_ALPHA = 23 1028 R_ALPHA_COPY R_ALPHA = 24 1029 R_ALPHA_GLOB_DAT R_ALPHA = 25 1030 R_ALPHA_JMP_SLOT R_ALPHA = 26 1031 R_ALPHA_RELATIVE R_ALPHA = 27 1032 ) 1033 1034 func (i R_ALPHA) String() string 1035 func (i R_ALPHA) GoString() string 1036 1037 // ARMのための再配置タイプ。 1038 type R_ARM int 1039 1040 const ( 1041 R_ARM_NONE R_ARM = 0 1042 R_ARM_PC24 R_ARM = 1 1043 R_ARM_ABS32 R_ARM = 2 1044 R_ARM_REL32 R_ARM = 3 1045 R_ARM_PC13 R_ARM = 4 1046 R_ARM_ABS16 R_ARM = 5 1047 R_ARM_ABS12 R_ARM = 6 1048 R_ARM_THM_ABS5 R_ARM = 7 1049 R_ARM_ABS8 R_ARM = 8 1050 R_ARM_SBREL32 R_ARM = 9 1051 R_ARM_THM_PC22 R_ARM = 10 1052 R_ARM_THM_PC8 R_ARM = 11 1053 R_ARM_AMP_VCALL9 R_ARM = 12 1054 R_ARM_SWI24 R_ARM = 13 1055 R_ARM_THM_SWI8 R_ARM = 14 1056 R_ARM_XPC25 R_ARM = 15 1057 R_ARM_THM_XPC22 R_ARM = 16 1058 R_ARM_TLS_DTPMOD32 R_ARM = 17 1059 R_ARM_TLS_DTPOFF32 R_ARM = 18 1060 R_ARM_TLS_TPOFF32 R_ARM = 19 1061 R_ARM_COPY R_ARM = 20 1062 R_ARM_GLOB_DAT R_ARM = 21 1063 R_ARM_JUMP_SLOT R_ARM = 22 1064 R_ARM_RELATIVE R_ARM = 23 1065 R_ARM_GOTOFF R_ARM = 24 1066 R_ARM_GOTPC R_ARM = 25 1067 R_ARM_GOT32 R_ARM = 26 1068 R_ARM_PLT32 R_ARM = 27 1069 R_ARM_CALL R_ARM = 28 1070 R_ARM_JUMP24 R_ARM = 29 1071 R_ARM_THM_JUMP24 R_ARM = 30 1072 R_ARM_BASE_ABS R_ARM = 31 1073 R_ARM_ALU_PCREL_7_0 R_ARM = 32 1074 R_ARM_ALU_PCREL_15_8 R_ARM = 33 1075 R_ARM_ALU_PCREL_23_15 R_ARM = 34 1076 R_ARM_LDR_SBREL_11_10_NC R_ARM = 35 1077 R_ARM_ALU_SBREL_19_12_NC R_ARM = 36 1078 R_ARM_ALU_SBREL_27_20_CK R_ARM = 37 1079 R_ARM_TARGET1 R_ARM = 38 1080 R_ARM_SBREL31 R_ARM = 39 1081 R_ARM_V4BX R_ARM = 40 1082 R_ARM_TARGET2 R_ARM = 41 1083 R_ARM_PREL31 R_ARM = 42 1084 R_ARM_MOVW_ABS_NC R_ARM = 43 1085 R_ARM_MOVT_ABS R_ARM = 44 1086 R_ARM_MOVW_PREL_NC R_ARM = 45 1087 R_ARM_MOVT_PREL R_ARM = 46 1088 R_ARM_THM_MOVW_ABS_NC R_ARM = 47 1089 R_ARM_THM_MOVT_ABS R_ARM = 48 1090 R_ARM_THM_MOVW_PREL_NC R_ARM = 49 1091 R_ARM_THM_MOVT_PREL R_ARM = 50 1092 R_ARM_THM_JUMP19 R_ARM = 51 1093 R_ARM_THM_JUMP6 R_ARM = 52 1094 R_ARM_THM_ALU_PREL_11_0 R_ARM = 53 1095 R_ARM_THM_PC12 R_ARM = 54 1096 R_ARM_ABS32_NOI R_ARM = 55 1097 R_ARM_REL32_NOI R_ARM = 56 1098 R_ARM_ALU_PC_G0_NC R_ARM = 57 1099 R_ARM_ALU_PC_G0 R_ARM = 58 1100 R_ARM_ALU_PC_G1_NC R_ARM = 59 1101 R_ARM_ALU_PC_G1 R_ARM = 60 1102 R_ARM_ALU_PC_G2 R_ARM = 61 1103 R_ARM_LDR_PC_G1 R_ARM = 62 1104 R_ARM_LDR_PC_G2 R_ARM = 63 1105 R_ARM_LDRS_PC_G0 R_ARM = 64 1106 R_ARM_LDRS_PC_G1 R_ARM = 65 1107 R_ARM_LDRS_PC_G2 R_ARM = 66 1108 R_ARM_LDC_PC_G0 R_ARM = 67 1109 R_ARM_LDC_PC_G1 R_ARM = 68 1110 R_ARM_LDC_PC_G2 R_ARM = 69 1111 R_ARM_ALU_SB_G0_NC R_ARM = 70 1112 R_ARM_ALU_SB_G0 R_ARM = 71 1113 R_ARM_ALU_SB_G1_NC R_ARM = 72 1114 R_ARM_ALU_SB_G1 R_ARM = 73 1115 R_ARM_ALU_SB_G2 R_ARM = 74 1116 R_ARM_LDR_SB_G0 R_ARM = 75 1117 R_ARM_LDR_SB_G1 R_ARM = 76 1118 R_ARM_LDR_SB_G2 R_ARM = 77 1119 R_ARM_LDRS_SB_G0 R_ARM = 78 1120 R_ARM_LDRS_SB_G1 R_ARM = 79 1121 R_ARM_LDRS_SB_G2 R_ARM = 80 1122 R_ARM_LDC_SB_G0 R_ARM = 81 1123 R_ARM_LDC_SB_G1 R_ARM = 82 1124 R_ARM_LDC_SB_G2 R_ARM = 83 1125 R_ARM_MOVW_BREL_NC R_ARM = 84 1126 R_ARM_MOVT_BREL R_ARM = 85 1127 R_ARM_MOVW_BREL R_ARM = 86 1128 R_ARM_THM_MOVW_BREL_NC R_ARM = 87 1129 R_ARM_THM_MOVT_BREL R_ARM = 88 1130 R_ARM_THM_MOVW_BREL R_ARM = 89 1131 R_ARM_TLS_GOTDESC R_ARM = 90 1132 R_ARM_TLS_CALL R_ARM = 91 1133 R_ARM_TLS_DESCSEQ R_ARM = 92 1134 R_ARM_THM_TLS_CALL R_ARM = 93 1135 R_ARM_PLT32_ABS R_ARM = 94 1136 R_ARM_GOT_ABS R_ARM = 95 1137 R_ARM_GOT_PREL R_ARM = 96 1138 R_ARM_GOT_BREL12 R_ARM = 97 1139 R_ARM_GOTOFF12 R_ARM = 98 1140 R_ARM_GOTRELAX R_ARM = 99 1141 R_ARM_GNU_VTENTRY R_ARM = 100 1142 R_ARM_GNU_VTINHERIT R_ARM = 101 1143 R_ARM_THM_JUMP11 R_ARM = 102 1144 R_ARM_THM_JUMP8 R_ARM = 103 1145 R_ARM_TLS_GD32 R_ARM = 104 1146 R_ARM_TLS_LDM32 R_ARM = 105 1147 R_ARM_TLS_LDO32 R_ARM = 106 1148 R_ARM_TLS_IE32 R_ARM = 107 1149 R_ARM_TLS_LE32 R_ARM = 108 1150 R_ARM_TLS_LDO12 R_ARM = 109 1151 R_ARM_TLS_LE12 R_ARM = 110 1152 R_ARM_TLS_IE12GP R_ARM = 111 1153 R_ARM_PRIVATE_0 R_ARM = 112 1154 R_ARM_PRIVATE_1 R_ARM = 113 1155 R_ARM_PRIVATE_2 R_ARM = 114 1156 R_ARM_PRIVATE_3 R_ARM = 115 1157 R_ARM_PRIVATE_4 R_ARM = 116 1158 R_ARM_PRIVATE_5 R_ARM = 117 1159 R_ARM_PRIVATE_6 R_ARM = 118 1160 R_ARM_PRIVATE_7 R_ARM = 119 1161 R_ARM_PRIVATE_8 R_ARM = 120 1162 R_ARM_PRIVATE_9 R_ARM = 121 1163 R_ARM_PRIVATE_10 R_ARM = 122 1164 R_ARM_PRIVATE_11 R_ARM = 123 1165 R_ARM_PRIVATE_12 R_ARM = 124 1166 R_ARM_PRIVATE_13 R_ARM = 125 1167 R_ARM_PRIVATE_14 R_ARM = 126 1168 R_ARM_PRIVATE_15 R_ARM = 127 1169 R_ARM_ME_TOO R_ARM = 128 1170 R_ARM_THM_TLS_DESCSEQ16 R_ARM = 129 1171 R_ARM_THM_TLS_DESCSEQ32 R_ARM = 130 1172 R_ARM_THM_GOT_BREL12 R_ARM = 131 1173 R_ARM_THM_ALU_ABS_G0_NC R_ARM = 132 1174 R_ARM_THM_ALU_ABS_G1_NC R_ARM = 133 1175 R_ARM_THM_ALU_ABS_G2_NC R_ARM = 134 1176 R_ARM_THM_ALU_ABS_G3 R_ARM = 135 1177 R_ARM_IRELATIVE R_ARM = 160 1178 R_ARM_RXPC25 R_ARM = 249 1179 R_ARM_RSBREL32 R_ARM = 250 1180 R_ARM_THM_RPC22 R_ARM = 251 1181 R_ARM_RREL32 R_ARM = 252 1182 R_ARM_RABS32 R_ARM = 253 1183 R_ARM_RPC24 R_ARM = 254 1184 R_ARM_RBASE R_ARM = 255 1185 ) 1186 1187 func (i R_ARM) String() string 1188 func (i R_ARM) GoString() string 1189 1190 // 386のための再配置タイプ。 1191 type R_386 int 1192 1193 const ( 1194 R_386_NONE R_386 = 0 1195 R_386_32 R_386 = 1 1196 R_386_PC32 R_386 = 2 1197 R_386_GOT32 R_386 = 3 1198 R_386_PLT32 R_386 = 4 1199 R_386_COPY R_386 = 5 1200 R_386_GLOB_DAT R_386 = 6 1201 R_386_JMP_SLOT R_386 = 7 1202 R_386_RELATIVE R_386 = 8 1203 R_386_GOTOFF R_386 = 9 1204 R_386_GOTPC R_386 = 10 1205 R_386_32PLT R_386 = 11 1206 R_386_TLS_TPOFF R_386 = 14 1207 R_386_TLS_IE R_386 = 15 1208 R_386_TLS_GOTIE R_386 = 16 1209 R_386_TLS_LE R_386 = 17 1210 R_386_TLS_GD R_386 = 18 1211 R_386_TLS_LDM R_386 = 19 1212 R_386_16 R_386 = 20 1213 R_386_PC16 R_386 = 21 1214 R_386_8 R_386 = 22 1215 R_386_PC8 R_386 = 23 1216 R_386_TLS_GD_32 R_386 = 24 1217 R_386_TLS_GD_PUSH R_386 = 25 1218 R_386_TLS_GD_CALL R_386 = 26 1219 R_386_TLS_GD_POP R_386 = 27 1220 R_386_TLS_LDM_32 R_386 = 28 1221 R_386_TLS_LDM_PUSH R_386 = 29 1222 R_386_TLS_LDM_CALL R_386 = 30 1223 R_386_TLS_LDM_POP R_386 = 31 1224 R_386_TLS_LDO_32 R_386 = 32 1225 R_386_TLS_IE_32 R_386 = 33 1226 R_386_TLS_LE_32 R_386 = 34 1227 R_386_TLS_DTPMOD32 R_386 = 35 1228 R_386_TLS_DTPOFF32 R_386 = 36 1229 R_386_TLS_TPOFF32 R_386 = 37 1230 R_386_SIZE32 R_386 = 38 1231 R_386_TLS_GOTDESC R_386 = 39 1232 R_386_TLS_DESC_CALL R_386 = 40 1233 R_386_TLS_DESC R_386 = 41 1234 R_386_IRELATIVE R_386 = 42 1235 R_386_GOT32X R_386 = 43 1236 ) 1237 1238 func (i R_386) String() string 1239 func (i R_386) GoString() string 1240 1241 // MIPSのための再配置タイプ。 1242 type R_MIPS int 1243 1244 const ( 1245 R_MIPS_NONE R_MIPS = 0 1246 R_MIPS_16 R_MIPS = 1 1247 R_MIPS_32 R_MIPS = 2 1248 R_MIPS_REL32 R_MIPS = 3 1249 R_MIPS_26 R_MIPS = 4 1250 R_MIPS_HI16 R_MIPS = 5 1251 R_MIPS_LO16 R_MIPS = 6 1252 R_MIPS_GPREL16 R_MIPS = 7 1253 R_MIPS_LITERAL R_MIPS = 8 1254 R_MIPS_GOT16 R_MIPS = 9 1255 R_MIPS_PC16 R_MIPS = 10 1256 R_MIPS_CALL16 R_MIPS = 11 1257 R_MIPS_GPREL32 R_MIPS = 12 1258 R_MIPS_SHIFT5 R_MIPS = 16 1259 R_MIPS_SHIFT6 R_MIPS = 17 1260 R_MIPS_64 R_MIPS = 18 1261 R_MIPS_GOT_DISP R_MIPS = 19 1262 R_MIPS_GOT_PAGE R_MIPS = 20 1263 R_MIPS_GOT_OFST R_MIPS = 21 1264 R_MIPS_GOT_HI16 R_MIPS = 22 1265 R_MIPS_GOT_LO16 R_MIPS = 23 1266 R_MIPS_SUB R_MIPS = 24 1267 R_MIPS_INSERT_A R_MIPS = 25 1268 R_MIPS_INSERT_B R_MIPS = 26 1269 R_MIPS_DELETE R_MIPS = 27 1270 R_MIPS_HIGHER R_MIPS = 28 1271 R_MIPS_HIGHEST R_MIPS = 29 1272 R_MIPS_CALL_HI16 R_MIPS = 30 1273 R_MIPS_CALL_LO16 R_MIPS = 31 1274 R_MIPS_SCN_DISP R_MIPS = 32 1275 R_MIPS_REL16 R_MIPS = 33 1276 R_MIPS_ADD_IMMEDIATE R_MIPS = 34 1277 R_MIPS_PJUMP R_MIPS = 35 1278 R_MIPS_RELGOT R_MIPS = 36 1279 R_MIPS_JALR R_MIPS = 37 1280 1281 R_MIPS_TLS_DTPMOD32 R_MIPS = 38 1282 R_MIPS_TLS_DTPREL32 R_MIPS = 39 1283 R_MIPS_TLS_DTPMOD64 R_MIPS = 40 1284 R_MIPS_TLS_DTPREL64 R_MIPS = 41 1285 R_MIPS_TLS_GD R_MIPS = 42 1286 R_MIPS_TLS_LDM R_MIPS = 43 1287 R_MIPS_TLS_DTPREL_HI16 R_MIPS = 44 1288 R_MIPS_TLS_DTPREL_LO16 R_MIPS = 45 1289 R_MIPS_TLS_GOTTPREL R_MIPS = 46 1290 R_MIPS_TLS_TPREL32 R_MIPS = 47 1291 R_MIPS_TLS_TPREL64 R_MIPS = 48 1292 R_MIPS_TLS_TPREL_HI16 R_MIPS = 49 1293 R_MIPS_TLS_TPREL_LO16 R_MIPS = 50 1294 1295 R_MIPS_PC32 R_MIPS = 248 1296 ) 1297 1298 func (i R_MIPS) String() string 1299 func (i R_MIPS) GoString() string 1300 1301 // LoongArchのための再配置タイプ。 1302 type R_LARCH int 1303 1304 const ( 1305 R_LARCH_NONE R_LARCH = 0 1306 R_LARCH_32 R_LARCH = 1 1307 R_LARCH_64 R_LARCH = 2 1308 R_LARCH_RELATIVE R_LARCH = 3 1309 R_LARCH_COPY R_LARCH = 4 1310 R_LARCH_JUMP_SLOT R_LARCH = 5 1311 R_LARCH_TLS_DTPMOD32 R_LARCH = 6 1312 R_LARCH_TLS_DTPMOD64 R_LARCH = 7 1313 R_LARCH_TLS_DTPREL32 R_LARCH = 8 1314 R_LARCH_TLS_DTPREL64 R_LARCH = 9 1315 R_LARCH_TLS_TPREL32 R_LARCH = 10 1316 R_LARCH_TLS_TPREL64 R_LARCH = 11 1317 R_LARCH_IRELATIVE R_LARCH = 12 1318 R_LARCH_MARK_LA R_LARCH = 20 1319 R_LARCH_MARK_PCREL R_LARCH = 21 1320 R_LARCH_SOP_PUSH_PCREL R_LARCH = 22 1321 R_LARCH_SOP_PUSH_ABSOLUTE R_LARCH = 23 1322 R_LARCH_SOP_PUSH_DUP R_LARCH = 24 1323 R_LARCH_SOP_PUSH_GPREL R_LARCH = 25 1324 R_LARCH_SOP_PUSH_TLS_TPREL R_LARCH = 26 1325 R_LARCH_SOP_PUSH_TLS_GOT R_LARCH = 27 1326 R_LARCH_SOP_PUSH_TLS_GD R_LARCH = 28 1327 R_LARCH_SOP_PUSH_PLT_PCREL R_LARCH = 29 1328 R_LARCH_SOP_ASSERT R_LARCH = 30 1329 R_LARCH_SOP_NOT R_LARCH = 31 1330 R_LARCH_SOP_SUB R_LARCH = 32 1331 R_LARCH_SOP_SL R_LARCH = 33 1332 R_LARCH_SOP_SR R_LARCH = 34 1333 R_LARCH_SOP_ADD R_LARCH = 35 1334 R_LARCH_SOP_AND R_LARCH = 36 1335 R_LARCH_SOP_IF_ELSE R_LARCH = 37 1336 R_LARCH_SOP_POP_32_S_10_5 R_LARCH = 38 1337 R_LARCH_SOP_POP_32_U_10_12 R_LARCH = 39 1338 R_LARCH_SOP_POP_32_S_10_12 R_LARCH = 40 1339 R_LARCH_SOP_POP_32_S_10_16 R_LARCH = 41 1340 R_LARCH_SOP_POP_32_S_10_16_S2 R_LARCH = 42 1341 R_LARCH_SOP_POP_32_S_5_20 R_LARCH = 43 1342 R_LARCH_SOP_POP_32_S_0_5_10_16_S2 R_LARCH = 44 1343 R_LARCH_SOP_POP_32_S_0_10_10_16_S2 R_LARCH = 45 1344 R_LARCH_SOP_POP_32_U R_LARCH = 46 1345 R_LARCH_ADD8 R_LARCH = 47 1346 R_LARCH_ADD16 R_LARCH = 48 1347 R_LARCH_ADD24 R_LARCH = 49 1348 R_LARCH_ADD32 R_LARCH = 50 1349 R_LARCH_ADD64 R_LARCH = 51 1350 R_LARCH_SUB8 R_LARCH = 52 1351 R_LARCH_SUB16 R_LARCH = 53 1352 R_LARCH_SUB24 R_LARCH = 54 1353 R_LARCH_SUB32 R_LARCH = 55 1354 R_LARCH_SUB64 R_LARCH = 56 1355 R_LARCH_GNU_VTINHERIT R_LARCH = 57 1356 R_LARCH_GNU_VTENTRY R_LARCH = 58 1357 R_LARCH_B16 R_LARCH = 64 1358 R_LARCH_B21 R_LARCH = 65 1359 R_LARCH_B26 R_LARCH = 66 1360 R_LARCH_ABS_HI20 R_LARCH = 67 1361 R_LARCH_ABS_LO12 R_LARCH = 68 1362 R_LARCH_ABS64_LO20 R_LARCH = 69 1363 R_LARCH_ABS64_HI12 R_LARCH = 70 1364 R_LARCH_PCALA_HI20 R_LARCH = 71 1365 R_LARCH_PCALA_LO12 R_LARCH = 72 1366 R_LARCH_PCALA64_LO20 R_LARCH = 73 1367 R_LARCH_PCALA64_HI12 R_LARCH = 74 1368 R_LARCH_GOT_PC_HI20 R_LARCH = 75 1369 R_LARCH_GOT_PC_LO12 R_LARCH = 76 1370 R_LARCH_GOT64_PC_LO20 R_LARCH = 77 1371 R_LARCH_GOT64_PC_HI12 R_LARCH = 78 1372 R_LARCH_GOT_HI20 R_LARCH = 79 1373 R_LARCH_GOT_LO12 R_LARCH = 80 1374 R_LARCH_GOT64_LO20 R_LARCH = 81 1375 R_LARCH_GOT64_HI12 R_LARCH = 82 1376 R_LARCH_TLS_LE_HI20 R_LARCH = 83 1377 R_LARCH_TLS_LE_LO12 R_LARCH = 84 1378 R_LARCH_TLS_LE64_LO20 R_LARCH = 85 1379 R_LARCH_TLS_LE64_HI12 R_LARCH = 86 1380 R_LARCH_TLS_IE_PC_HI20 R_LARCH = 87 1381 R_LARCH_TLS_IE_PC_LO12 R_LARCH = 88 1382 R_LARCH_TLS_IE64_PC_LO20 R_LARCH = 89 1383 R_LARCH_TLS_IE64_PC_HI12 R_LARCH = 90 1384 R_LARCH_TLS_IE_HI20 R_LARCH = 91 1385 R_LARCH_TLS_IE_LO12 R_LARCH = 92 1386 R_LARCH_TLS_IE64_LO20 R_LARCH = 93 1387 R_LARCH_TLS_IE64_HI12 R_LARCH = 94 1388 R_LARCH_TLS_LD_PC_HI20 R_LARCH = 95 1389 R_LARCH_TLS_LD_HI20 R_LARCH = 96 1390 R_LARCH_TLS_GD_PC_HI20 R_LARCH = 97 1391 R_LARCH_TLS_GD_HI20 R_LARCH = 98 1392 R_LARCH_32_PCREL R_LARCH = 99 1393 R_LARCH_RELAX R_LARCH = 100 1394 R_LARCH_DELETE R_LARCH = 101 1395 R_LARCH_ALIGN R_LARCH = 102 1396 R_LARCH_PCREL20_S2 R_LARCH = 103 1397 R_LARCH_CFA R_LARCH = 104 1398 R_LARCH_ADD6 R_LARCH = 105 1399 R_LARCH_SUB6 R_LARCH = 106 1400 R_LARCH_ADD_ULEB128 R_LARCH = 107 1401 R_LARCH_SUB_ULEB128 R_LARCH = 108 1402 R_LARCH_64_PCREL R_LARCH = 109 1403 ) 1404 1405 func (i R_LARCH) String() string 1406 func (i R_LARCH) GoString() string 1407 1408 // PowerPCのための再配置タイプ。 1409 // 1410 // R_PPCとR_PPC64の両方で共有される値は、 1411 // ELF標準ではR_POWERPC_というプレフィックスが付けられています。R_PPCタイプの場合、関連する 1412 // 共有再配置はR_PPC_というプレフィックスで改名されています。 1413 // 元の名前は値の後のコメントに続きます。 1414 type R_PPC int 1415 1416 const ( 1417 R_PPC_NONE R_PPC = 0 1418 R_PPC_ADDR32 R_PPC = 1 1419 R_PPC_ADDR24 R_PPC = 2 1420 R_PPC_ADDR16 R_PPC = 3 1421 R_PPC_ADDR16_LO R_PPC = 4 1422 R_PPC_ADDR16_HI R_PPC = 5 1423 R_PPC_ADDR16_HA R_PPC = 6 1424 R_PPC_ADDR14 R_PPC = 7 1425 R_PPC_ADDR14_BRTAKEN R_PPC = 8 1426 R_PPC_ADDR14_BRNTAKEN R_PPC = 9 1427 R_PPC_REL24 R_PPC = 10 1428 R_PPC_REL14 R_PPC = 11 1429 R_PPC_REL14_BRTAKEN R_PPC = 12 1430 R_PPC_REL14_BRNTAKEN R_PPC = 13 1431 R_PPC_GOT16 R_PPC = 14 1432 R_PPC_GOT16_LO R_PPC = 15 1433 R_PPC_GOT16_HI R_PPC = 16 1434 R_PPC_GOT16_HA R_PPC = 17 1435 R_PPC_PLTREL24 R_PPC = 18 1436 R_PPC_COPY R_PPC = 19 1437 R_PPC_GLOB_DAT R_PPC = 20 1438 R_PPC_JMP_SLOT R_PPC = 21 1439 R_PPC_RELATIVE R_PPC = 22 1440 R_PPC_LOCAL24PC R_PPC = 23 1441 R_PPC_UADDR32 R_PPC = 24 1442 R_PPC_UADDR16 R_PPC = 25 1443 R_PPC_REL32 R_PPC = 26 1444 R_PPC_PLT32 R_PPC = 27 1445 R_PPC_PLTREL32 R_PPC = 28 1446 R_PPC_PLT16_LO R_PPC = 29 1447 R_PPC_PLT16_HI R_PPC = 30 1448 R_PPC_PLT16_HA R_PPC = 31 1449 R_PPC_SDAREL16 R_PPC = 32 1450 R_PPC_SECTOFF R_PPC = 33 1451 R_PPC_SECTOFF_LO R_PPC = 34 1452 R_PPC_SECTOFF_HI R_PPC = 35 1453 R_PPC_SECTOFF_HA R_PPC = 36 1454 R_PPC_TLS R_PPC = 67 1455 R_PPC_DTPMOD32 R_PPC = 68 1456 R_PPC_TPREL16 R_PPC = 69 1457 R_PPC_TPREL16_LO R_PPC = 70 1458 R_PPC_TPREL16_HI R_PPC = 71 1459 R_PPC_TPREL16_HA R_PPC = 72 1460 R_PPC_TPREL32 R_PPC = 73 1461 R_PPC_DTPREL16 R_PPC = 74 1462 R_PPC_DTPREL16_LO R_PPC = 75 1463 R_PPC_DTPREL16_HI R_PPC = 76 1464 R_PPC_DTPREL16_HA R_PPC = 77 1465 R_PPC_DTPREL32 R_PPC = 78 1466 R_PPC_GOT_TLSGD16 R_PPC = 79 1467 R_PPC_GOT_TLSGD16_LO R_PPC = 80 1468 R_PPC_GOT_TLSGD16_HI R_PPC = 81 1469 R_PPC_GOT_TLSGD16_HA R_PPC = 82 1470 R_PPC_GOT_TLSLD16 R_PPC = 83 1471 R_PPC_GOT_TLSLD16_LO R_PPC = 84 1472 R_PPC_GOT_TLSLD16_HI R_PPC = 85 1473 R_PPC_GOT_TLSLD16_HA R_PPC = 86 1474 R_PPC_GOT_TPREL16 R_PPC = 87 1475 R_PPC_GOT_TPREL16_LO R_PPC = 88 1476 R_PPC_GOT_TPREL16_HI R_PPC = 89 1477 R_PPC_GOT_TPREL16_HA R_PPC = 90 1478 R_PPC_EMB_NADDR32 R_PPC = 101 1479 R_PPC_EMB_NADDR16 R_PPC = 102 1480 R_PPC_EMB_NADDR16_LO R_PPC = 103 1481 R_PPC_EMB_NADDR16_HI R_PPC = 104 1482 R_PPC_EMB_NADDR16_HA R_PPC = 105 1483 R_PPC_EMB_SDAI16 R_PPC = 106 1484 R_PPC_EMB_SDA2I16 R_PPC = 107 1485 R_PPC_EMB_SDA2REL R_PPC = 108 1486 R_PPC_EMB_SDA21 R_PPC = 109 1487 R_PPC_EMB_MRKREF R_PPC = 110 1488 R_PPC_EMB_RELSEC16 R_PPC = 111 1489 R_PPC_EMB_RELST_LO R_PPC = 112 1490 R_PPC_EMB_RELST_HI R_PPC = 113 1491 R_PPC_EMB_RELST_HA R_PPC = 114 1492 R_PPC_EMB_BIT_FLD R_PPC = 115 1493 R_PPC_EMB_RELSDA R_PPC = 116 1494 ) 1495 1496 func (i R_PPC) String() string 1497 func (i R_PPC) GoString() string 1498 1499 // 64ビットPowerPCまたはPower Architectureプロセッサのための再配置タイプ。 1500 // 1501 // R_PPCとR_PPC64の両方で共有される値は、 1502 // ELF標準ではR_POWERPC_というプレフィックスが付けられています。R_PPC64タイプの場合、関連する 1503 // 共有再配置はR_PPC64_というプレフィックスで改名されています。 1504 // 元の名前は値の後のコメントに続きます。 1505 type R_PPC64 int 1506 1507 const ( 1508 R_PPC64_NONE R_PPC64 = 0 1509 R_PPC64_ADDR32 R_PPC64 = 1 1510 R_PPC64_ADDR24 R_PPC64 = 2 1511 R_PPC64_ADDR16 R_PPC64 = 3 1512 R_PPC64_ADDR16_LO R_PPC64 = 4 1513 R_PPC64_ADDR16_HI R_PPC64 = 5 1514 R_PPC64_ADDR16_HA R_PPC64 = 6 1515 R_PPC64_ADDR14 R_PPC64 = 7 1516 R_PPC64_ADDR14_BRTAKEN R_PPC64 = 8 1517 R_PPC64_ADDR14_BRNTAKEN R_PPC64 = 9 1518 R_PPC64_REL24 R_PPC64 = 10 1519 R_PPC64_REL14 R_PPC64 = 11 1520 R_PPC64_REL14_BRTAKEN R_PPC64 = 12 1521 R_PPC64_REL14_BRNTAKEN R_PPC64 = 13 1522 R_PPC64_GOT16 R_PPC64 = 14 1523 R_PPC64_GOT16_LO R_PPC64 = 15 1524 R_PPC64_GOT16_HI R_PPC64 = 16 1525 R_PPC64_GOT16_HA R_PPC64 = 17 1526 R_PPC64_COPY R_PPC64 = 19 1527 R_PPC64_GLOB_DAT R_PPC64 = 20 1528 R_PPC64_JMP_SLOT R_PPC64 = 21 1529 R_PPC64_RELATIVE R_PPC64 = 22 1530 R_PPC64_UADDR32 R_PPC64 = 24 1531 R_PPC64_UADDR16 R_PPC64 = 25 1532 R_PPC64_REL32 R_PPC64 = 26 1533 R_PPC64_PLT32 R_PPC64 = 27 1534 R_PPC64_PLTREL32 R_PPC64 = 28 1535 R_PPC64_PLT16_LO R_PPC64 = 29 1536 R_PPC64_PLT16_HI R_PPC64 = 30 1537 R_PPC64_PLT16_HA R_PPC64 = 31 1538 R_PPC64_SECTOFF R_PPC64 = 33 1539 R_PPC64_SECTOFF_LO R_PPC64 = 34 1540 R_PPC64_SECTOFF_HI R_PPC64 = 35 1541 R_PPC64_SECTOFF_HA R_PPC64 = 36 1542 R_PPC64_REL30 R_PPC64 = 37 1543 R_PPC64_ADDR64 R_PPC64 = 38 1544 R_PPC64_ADDR16_HIGHER R_PPC64 = 39 1545 R_PPC64_ADDR16_HIGHERA R_PPC64 = 40 1546 R_PPC64_ADDR16_HIGHEST R_PPC64 = 41 1547 R_PPC64_ADDR16_HIGHESTA R_PPC64 = 42 1548 R_PPC64_UADDR64 R_PPC64 = 43 1549 R_PPC64_REL64 R_PPC64 = 44 1550 R_PPC64_PLT64 R_PPC64 = 45 1551 R_PPC64_PLTREL64 R_PPC64 = 46 1552 R_PPC64_TOC16 R_PPC64 = 47 1553 R_PPC64_TOC16_LO R_PPC64 = 48 1554 R_PPC64_TOC16_HI R_PPC64 = 49 1555 R_PPC64_TOC16_HA R_PPC64 = 50 1556 R_PPC64_TOC R_PPC64 = 51 1557 R_PPC64_PLTGOT16 R_PPC64 = 52 1558 R_PPC64_PLTGOT16_LO R_PPC64 = 53 1559 R_PPC64_PLTGOT16_HI R_PPC64 = 54 1560 R_PPC64_PLTGOT16_HA R_PPC64 = 55 1561 R_PPC64_ADDR16_DS R_PPC64 = 56 1562 R_PPC64_ADDR16_LO_DS R_PPC64 = 57 1563 R_PPC64_GOT16_DS R_PPC64 = 58 1564 R_PPC64_GOT16_LO_DS R_PPC64 = 59 1565 R_PPC64_PLT16_LO_DS R_PPC64 = 60 1566 R_PPC64_SECTOFF_DS R_PPC64 = 61 1567 R_PPC64_SECTOFF_LO_DS R_PPC64 = 62 1568 R_PPC64_TOC16_DS R_PPC64 = 63 1569 R_PPC64_TOC16_LO_DS R_PPC64 = 64 1570 R_PPC64_PLTGOT16_DS R_PPC64 = 65 1571 R_PPC64_PLTGOT_LO_DS R_PPC64 = 66 1572 R_PPC64_TLS R_PPC64 = 67 1573 R_PPC64_DTPMOD64 R_PPC64 = 68 1574 R_PPC64_TPREL16 R_PPC64 = 69 1575 R_PPC64_TPREL16_LO R_PPC64 = 70 1576 R_PPC64_TPREL16_HI R_PPC64 = 71 1577 R_PPC64_TPREL16_HA R_PPC64 = 72 1578 R_PPC64_TPREL64 R_PPC64 = 73 1579 R_PPC64_DTPREL16 R_PPC64 = 74 1580 R_PPC64_DTPREL16_LO R_PPC64 = 75 1581 R_PPC64_DTPREL16_HI R_PPC64 = 76 1582 R_PPC64_DTPREL16_HA R_PPC64 = 77 1583 R_PPC64_DTPREL64 R_PPC64 = 78 1584 R_PPC64_GOT_TLSGD16 R_PPC64 = 79 1585 R_PPC64_GOT_TLSGD16_LO R_PPC64 = 80 1586 R_PPC64_GOT_TLSGD16_HI R_PPC64 = 81 1587 R_PPC64_GOT_TLSGD16_HA R_PPC64 = 82 1588 R_PPC64_GOT_TLSLD16 R_PPC64 = 83 1589 R_PPC64_GOT_TLSLD16_LO R_PPC64 = 84 1590 R_PPC64_GOT_TLSLD16_HI R_PPC64 = 85 1591 R_PPC64_GOT_TLSLD16_HA R_PPC64 = 86 1592 R_PPC64_GOT_TPREL16_DS R_PPC64 = 87 1593 R_PPC64_GOT_TPREL16_LO_DS R_PPC64 = 88 1594 R_PPC64_GOT_TPREL16_HI R_PPC64 = 89 1595 R_PPC64_GOT_TPREL16_HA R_PPC64 = 90 1596 R_PPC64_GOT_DTPREL16_DS R_PPC64 = 91 1597 R_PPC64_GOT_DTPREL16_LO_DS R_PPC64 = 92 1598 R_PPC64_GOT_DTPREL16_HI R_PPC64 = 93 1599 R_PPC64_GOT_DTPREL16_HA R_PPC64 = 94 1600 R_PPC64_TPREL16_DS R_PPC64 = 95 1601 R_PPC64_TPREL16_LO_DS R_PPC64 = 96 1602 R_PPC64_TPREL16_HIGHER R_PPC64 = 97 1603 R_PPC64_TPREL16_HIGHERA R_PPC64 = 98 1604 R_PPC64_TPREL16_HIGHEST R_PPC64 = 99 1605 R_PPC64_TPREL16_HIGHESTA R_PPC64 = 100 1606 R_PPC64_DTPREL16_DS R_PPC64 = 101 1607 R_PPC64_DTPREL16_LO_DS R_PPC64 = 102 1608 R_PPC64_DTPREL16_HIGHER R_PPC64 = 103 1609 R_PPC64_DTPREL16_HIGHERA R_PPC64 = 104 1610 R_PPC64_DTPREL16_HIGHEST R_PPC64 = 105 1611 R_PPC64_DTPREL16_HIGHESTA R_PPC64 = 106 1612 R_PPC64_TLSGD R_PPC64 = 107 1613 R_PPC64_TLSLD R_PPC64 = 108 1614 R_PPC64_TOCSAVE R_PPC64 = 109 1615 R_PPC64_ADDR16_HIGH R_PPC64 = 110 1616 R_PPC64_ADDR16_HIGHA R_PPC64 = 111 1617 R_PPC64_TPREL16_HIGH R_PPC64 = 112 1618 R_PPC64_TPREL16_HIGHA R_PPC64 = 113 1619 R_PPC64_DTPREL16_HIGH R_PPC64 = 114 1620 R_PPC64_DTPREL16_HIGHA R_PPC64 = 115 1621 R_PPC64_REL24_NOTOC R_PPC64 = 116 1622 R_PPC64_ADDR64_LOCAL R_PPC64 = 117 1623 R_PPC64_ENTRY R_PPC64 = 118 1624 R_PPC64_PLTSEQ R_PPC64 = 119 1625 R_PPC64_PLTCALL R_PPC64 = 120 1626 R_PPC64_PLTSEQ_NOTOC R_PPC64 = 121 1627 R_PPC64_PLTCALL_NOTOC R_PPC64 = 122 1628 R_PPC64_PCREL_OPT R_PPC64 = 123 1629 R_PPC64_REL24_P9NOTOC R_PPC64 = 124 1630 R_PPC64_D34 R_PPC64 = 128 1631 R_PPC64_D34_LO R_PPC64 = 129 1632 R_PPC64_D34_HI30 R_PPC64 = 130 1633 R_PPC64_D34_HA30 R_PPC64 = 131 1634 R_PPC64_PCREL34 R_PPC64 = 132 1635 R_PPC64_GOT_PCREL34 R_PPC64 = 133 1636 R_PPC64_PLT_PCREL34 R_PPC64 = 134 1637 R_PPC64_PLT_PCREL34_NOTOC R_PPC64 = 135 1638 R_PPC64_ADDR16_HIGHER34 R_PPC64 = 136 1639 R_PPC64_ADDR16_HIGHERA34 R_PPC64 = 137 1640 R_PPC64_ADDR16_HIGHEST34 R_PPC64 = 138 1641 R_PPC64_ADDR16_HIGHESTA34 R_PPC64 = 139 1642 R_PPC64_REL16_HIGHER34 R_PPC64 = 140 1643 R_PPC64_REL16_HIGHERA34 R_PPC64 = 141 1644 R_PPC64_REL16_HIGHEST34 R_PPC64 = 142 1645 R_PPC64_REL16_HIGHESTA34 R_PPC64 = 143 1646 R_PPC64_D28 R_PPC64 = 144 1647 R_PPC64_PCREL28 R_PPC64 = 145 1648 R_PPC64_TPREL34 R_PPC64 = 146 1649 R_PPC64_DTPREL34 R_PPC64 = 147 1650 R_PPC64_GOT_TLSGD_PCREL34 R_PPC64 = 148 1651 R_PPC64_GOT_TLSLD_PCREL34 R_PPC64 = 149 1652 R_PPC64_GOT_TPREL_PCREL34 R_PPC64 = 150 1653 R_PPC64_GOT_DTPREL_PCREL34 R_PPC64 = 151 1654 R_PPC64_REL16_HIGH R_PPC64 = 240 1655 R_PPC64_REL16_HIGHA R_PPC64 = 241 1656 R_PPC64_REL16_HIGHER R_PPC64 = 242 1657 R_PPC64_REL16_HIGHERA R_PPC64 = 243 1658 R_PPC64_REL16_HIGHEST R_PPC64 = 244 1659 R_PPC64_REL16_HIGHESTA R_PPC64 = 245 1660 R_PPC64_REL16DX_HA R_PPC64 = 246 1661 R_PPC64_JMP_IREL R_PPC64 = 247 1662 R_PPC64_IRELATIVE R_PPC64 = 248 1663 R_PPC64_REL16 R_PPC64 = 249 1664 R_PPC64_REL16_LO R_PPC64 = 250 1665 R_PPC64_REL16_HI R_PPC64 = 251 1666 R_PPC64_REL16_HA R_PPC64 = 252 1667 R_PPC64_GNU_VTINHERIT R_PPC64 = 253 1668 R_PPC64_GNU_VTENTRY R_PPC64 = 254 1669 ) 1670 1671 func (i R_PPC64) String() string 1672 func (i R_PPC64) GoString() string 1673 1674 // RISC-Vプロセッサのための再配置タイプ。 1675 type R_RISCV int 1676 1677 const ( 1678 R_RISCV_NONE R_RISCV = 0 1679 R_RISCV_32 R_RISCV = 1 1680 R_RISCV_64 R_RISCV = 2 1681 R_RISCV_RELATIVE R_RISCV = 3 1682 R_RISCV_COPY R_RISCV = 4 1683 R_RISCV_JUMP_SLOT R_RISCV = 5 1684 R_RISCV_TLS_DTPMOD32 R_RISCV = 6 1685 R_RISCV_TLS_DTPMOD64 R_RISCV = 7 1686 R_RISCV_TLS_DTPREL32 R_RISCV = 8 1687 R_RISCV_TLS_DTPREL64 R_RISCV = 9 1688 R_RISCV_TLS_TPREL32 R_RISCV = 10 1689 R_RISCV_TLS_TPREL64 R_RISCV = 11 1690 R_RISCV_BRANCH R_RISCV = 16 1691 R_RISCV_JAL R_RISCV = 17 1692 R_RISCV_CALL R_RISCV = 18 1693 R_RISCV_CALL_PLT R_RISCV = 19 1694 R_RISCV_GOT_HI20 R_RISCV = 20 1695 R_RISCV_TLS_GOT_HI20 R_RISCV = 21 1696 R_RISCV_TLS_GD_HI20 R_RISCV = 22 1697 R_RISCV_PCREL_HI20 R_RISCV = 23 1698 R_RISCV_PCREL_LO12_I R_RISCV = 24 1699 R_RISCV_PCREL_LO12_S R_RISCV = 25 1700 R_RISCV_HI20 R_RISCV = 26 1701 R_RISCV_LO12_I R_RISCV = 27 1702 R_RISCV_LO12_S R_RISCV = 28 1703 R_RISCV_TPREL_HI20 R_RISCV = 29 1704 R_RISCV_TPREL_LO12_I R_RISCV = 30 1705 R_RISCV_TPREL_LO12_S R_RISCV = 31 1706 R_RISCV_TPREL_ADD R_RISCV = 32 1707 R_RISCV_ADD8 R_RISCV = 33 1708 R_RISCV_ADD16 R_RISCV = 34 1709 R_RISCV_ADD32 R_RISCV = 35 1710 R_RISCV_ADD64 R_RISCV = 36 1711 R_RISCV_SUB8 R_RISCV = 37 1712 R_RISCV_SUB16 R_RISCV = 38 1713 R_RISCV_SUB32 R_RISCV = 39 1714 R_RISCV_SUB64 R_RISCV = 40 1715 R_RISCV_GNU_VTINHERIT R_RISCV = 41 1716 R_RISCV_GNU_VTENTRY R_RISCV = 42 1717 R_RISCV_ALIGN R_RISCV = 43 1718 R_RISCV_RVC_BRANCH R_RISCV = 44 1719 R_RISCV_RVC_JUMP R_RISCV = 45 1720 R_RISCV_RVC_LUI R_RISCV = 46 1721 R_RISCV_GPREL_I R_RISCV = 47 1722 R_RISCV_GPREL_S R_RISCV = 48 1723 R_RISCV_TPREL_I R_RISCV = 49 1724 R_RISCV_TPREL_S R_RISCV = 50 1725 R_RISCV_RELAX R_RISCV = 51 1726 R_RISCV_SUB6 R_RISCV = 52 1727 R_RISCV_SET6 R_RISCV = 53 1728 R_RISCV_SET8 R_RISCV = 54 1729 R_RISCV_SET16 R_RISCV = 55 1730 R_RISCV_SET32 R_RISCV = 56 1731 R_RISCV_32_PCREL R_RISCV = 57 1732 ) 1733 1734 func (i R_RISCV) String() string 1735 func (i R_RISCV) GoString() string 1736 1737 // s390xプロセッサのための再配置タイプ。 1738 type R_390 int 1739 1740 const ( 1741 R_390_NONE R_390 = 0 1742 R_390_8 R_390 = 1 1743 R_390_12 R_390 = 2 1744 R_390_16 R_390 = 3 1745 R_390_32 R_390 = 4 1746 R_390_PC32 R_390 = 5 1747 R_390_GOT12 R_390 = 6 1748 R_390_GOT32 R_390 = 7 1749 R_390_PLT32 R_390 = 8 1750 R_390_COPY R_390 = 9 1751 R_390_GLOB_DAT R_390 = 10 1752 R_390_JMP_SLOT R_390 = 11 1753 R_390_RELATIVE R_390 = 12 1754 R_390_GOTOFF R_390 = 13 1755 R_390_GOTPC R_390 = 14 1756 R_390_GOT16 R_390 = 15 1757 R_390_PC16 R_390 = 16 1758 R_390_PC16DBL R_390 = 17 1759 R_390_PLT16DBL R_390 = 18 1760 R_390_PC32DBL R_390 = 19 1761 R_390_PLT32DBL R_390 = 20 1762 R_390_GOTPCDBL R_390 = 21 1763 R_390_64 R_390 = 22 1764 R_390_PC64 R_390 = 23 1765 R_390_GOT64 R_390 = 24 1766 R_390_PLT64 R_390 = 25 1767 R_390_GOTENT R_390 = 26 1768 R_390_GOTOFF16 R_390 = 27 1769 R_390_GOTOFF64 R_390 = 28 1770 R_390_GOTPLT12 R_390 = 29 1771 R_390_GOTPLT16 R_390 = 30 1772 R_390_GOTPLT32 R_390 = 31 1773 R_390_GOTPLT64 R_390 = 32 1774 R_390_GOTPLTENT R_390 = 33 1775 R_390_GOTPLTOFF16 R_390 = 34 1776 R_390_GOTPLTOFF32 R_390 = 35 1777 R_390_GOTPLTOFF64 R_390 = 36 1778 R_390_TLS_LOAD R_390 = 37 1779 R_390_TLS_GDCALL R_390 = 38 1780 R_390_TLS_LDCALL R_390 = 39 1781 R_390_TLS_GD32 R_390 = 40 1782 R_390_TLS_GD64 R_390 = 41 1783 R_390_TLS_GOTIE12 R_390 = 42 1784 R_390_TLS_GOTIE32 R_390 = 43 1785 R_390_TLS_GOTIE64 R_390 = 44 1786 R_390_TLS_LDM32 R_390 = 45 1787 R_390_TLS_LDM64 R_390 = 46 1788 R_390_TLS_IE32 R_390 = 47 1789 R_390_TLS_IE64 R_390 = 48 1790 R_390_TLS_IEENT R_390 = 49 1791 R_390_TLS_LE32 R_390 = 50 1792 R_390_TLS_LE64 R_390 = 51 1793 R_390_TLS_LDO32 R_390 = 52 1794 R_390_TLS_LDO64 R_390 = 53 1795 R_390_TLS_DTPMOD R_390 = 54 1796 R_390_TLS_DTPOFF R_390 = 55 1797 R_390_TLS_TPOFF R_390 = 56 1798 R_390_20 R_390 = 57 1799 R_390_GOT20 R_390 = 58 1800 R_390_GOTPLT20 R_390 = 59 1801 R_390_TLS_GOTIE20 R_390 = 60 1802 ) 1803 1804 func (i R_390) String() string 1805 func (i R_390) GoString() string 1806 1807 // SPARCのための再配置タイプ。 1808 type R_SPARC int 1809 1810 const ( 1811 R_SPARC_NONE R_SPARC = 0 1812 R_SPARC_8 R_SPARC = 1 1813 R_SPARC_16 R_SPARC = 2 1814 R_SPARC_32 R_SPARC = 3 1815 R_SPARC_DISP8 R_SPARC = 4 1816 R_SPARC_DISP16 R_SPARC = 5 1817 R_SPARC_DISP32 R_SPARC = 6 1818 R_SPARC_WDISP30 R_SPARC = 7 1819 R_SPARC_WDISP22 R_SPARC = 8 1820 R_SPARC_HI22 R_SPARC = 9 1821 R_SPARC_22 R_SPARC = 10 1822 R_SPARC_13 R_SPARC = 11 1823 R_SPARC_LO10 R_SPARC = 12 1824 R_SPARC_GOT10 R_SPARC = 13 1825 R_SPARC_GOT13 R_SPARC = 14 1826 R_SPARC_GOT22 R_SPARC = 15 1827 R_SPARC_PC10 R_SPARC = 16 1828 R_SPARC_PC22 R_SPARC = 17 1829 R_SPARC_WPLT30 R_SPARC = 18 1830 R_SPARC_COPY R_SPARC = 19 1831 R_SPARC_GLOB_DAT R_SPARC = 20 1832 R_SPARC_JMP_SLOT R_SPARC = 21 1833 R_SPARC_RELATIVE R_SPARC = 22 1834 R_SPARC_UA32 R_SPARC = 23 1835 R_SPARC_PLT32 R_SPARC = 24 1836 R_SPARC_HIPLT22 R_SPARC = 25 1837 R_SPARC_LOPLT10 R_SPARC = 26 1838 R_SPARC_PCPLT32 R_SPARC = 27 1839 R_SPARC_PCPLT22 R_SPARC = 28 1840 R_SPARC_PCPLT10 R_SPARC = 29 1841 R_SPARC_10 R_SPARC = 30 1842 R_SPARC_11 R_SPARC = 31 1843 R_SPARC_64 R_SPARC = 32 1844 R_SPARC_OLO10 R_SPARC = 33 1845 R_SPARC_HH22 R_SPARC = 34 1846 R_SPARC_HM10 R_SPARC = 35 1847 R_SPARC_LM22 R_SPARC = 36 1848 R_SPARC_PC_HH22 R_SPARC = 37 1849 R_SPARC_PC_HM10 R_SPARC = 38 1850 R_SPARC_PC_LM22 R_SPARC = 39 1851 R_SPARC_WDISP16 R_SPARC = 40 1852 R_SPARC_WDISP19 R_SPARC = 41 1853 R_SPARC_GLOB_JMP R_SPARC = 42 1854 R_SPARC_7 R_SPARC = 43 1855 R_SPARC_5 R_SPARC = 44 1856 R_SPARC_6 R_SPARC = 45 1857 R_SPARC_DISP64 R_SPARC = 46 1858 R_SPARC_PLT64 R_SPARC = 47 1859 R_SPARC_HIX22 R_SPARC = 48 1860 R_SPARC_LOX10 R_SPARC = 49 1861 R_SPARC_H44 R_SPARC = 50 1862 R_SPARC_M44 R_SPARC = 51 1863 R_SPARC_L44 R_SPARC = 52 1864 R_SPARC_REGISTER R_SPARC = 53 1865 R_SPARC_UA64 R_SPARC = 54 1866 R_SPARC_UA16 R_SPARC = 55 1867 ) 1868 1869 func (i R_SPARC) String() string 1870 func (i R_SPARC) GoString() string 1871 1872 // elfトランポリンのためのマジックナンバー。即値として賢明に選ばれます。 1873 const ARM_MAGIC_TRAMP_NUMBER = 0x5c000003 1874 1875 // ELF32 ファイルヘッダー。 1876 type Header32 struct { 1877 Ident [EI_NIDENT]byte 1878 Type uint16 1879 Machine uint16 1880 Version uint32 1881 Entry uint32 1882 Phoff uint32 1883 Shoff uint32 1884 Flags uint32 1885 Ehsize uint16 1886 Phentsize uint16 1887 Phnum uint16 1888 Shentsize uint16 1889 Shnum uint16 1890 Shstrndx uint16 1891 } 1892 1893 // ELF32 セクションヘッダー。 1894 type Section32 struct { 1895 Name uint32 1896 Type uint32 1897 Flags uint32 1898 Addr uint32 1899 Off uint32 1900 Size uint32 1901 Link uint32 1902 Info uint32 1903 Addralign uint32 1904 Entsize uint32 1905 } 1906 1907 // ELF32 プログラムヘッダー。 1908 type Prog32 struct { 1909 Type uint32 1910 Off uint32 1911 Vaddr uint32 1912 Paddr uint32 1913 Filesz uint32 1914 Memsz uint32 1915 Flags uint32 1916 Align uint32 1917 } 1918 1919 // ELF32 ダイナミック構造体。 ".dynamic"セクションには、これらの配列が含まれています。 1920 type Dyn32 struct { 1921 Tag int32 1922 Val uint32 1923 } 1924 1925 // ELF32 圧縮ヘッダー。 1926 type Chdr32 struct { 1927 Type uint32 1928 Size uint32 1929 Addralign uint32 1930 } 1931 1932 // 追加フィールドが不要なELF32の再配置。 1933 type Rel32 struct { 1934 Off uint32 1935 Info uint32 1936 } 1937 1938 // 追加フィールドが必要なELF32の再配置。 1939 type Rela32 struct { 1940 Off uint32 1941 Info uint32 1942 Addend int32 1943 } 1944 1945 func R_SYM32(info uint32) uint32 1946 func R_TYPE32(info uint32) uint32 1947 func R_INFO32(sym, typ uint32) uint32 1948 1949 // ELF32 シンボル。 1950 type Sym32 struct { 1951 Name uint32 1952 Value uint32 1953 Size uint32 1954 Info uint8 1955 Other uint8 1956 Shndx uint16 1957 } 1958 1959 const Sym32Size = 16 1960 1961 func ST_BIND(info uint8) SymBind 1962 func ST_TYPE(info uint8) SymType 1963 func ST_INFO(bind SymBind, typ SymType) uint8 1964 1965 func ST_VISIBILITY(other uint8) SymVis 1966 1967 // ELF64 ファイルヘッダー。 1968 type Header64 struct { 1969 Ident [EI_NIDENT]byte 1970 Type uint16 1971 Machine uint16 1972 Version uint32 1973 Entry uint64 1974 Phoff uint64 1975 Shoff uint64 1976 Flags uint32 1977 Ehsize uint16 1978 Phentsize uint16 1979 Phnum uint16 1980 Shentsize uint16 1981 Shnum uint16 1982 Shstrndx uint16 1983 } 1984 1985 // ELF64 セクションヘッダー。 1986 type Section64 struct { 1987 Name uint32 1988 Type uint32 1989 Flags uint64 1990 Addr uint64 1991 Off uint64 1992 Size uint64 1993 Link uint32 1994 Info uint32 1995 Addralign uint64 1996 Entsize uint64 1997 } 1998 1999 // ELF64 プログラムヘッダー。 2000 type Prog64 struct { 2001 Type uint32 2002 Flags uint32 2003 Off uint64 2004 Vaddr uint64 2005 Paddr uint64 2006 Filesz uint64 2007 Memsz uint64 2008 Align uint64 2009 } 2010 2011 // ELF64 ダイナミック構造体。 ".dynamic"セクションには、これらの配列が含まれています。 2012 type Dyn64 struct { 2013 Tag int64 2014 Val uint64 2015 } 2016 2017 // ELF64 圧縮ヘッダー。 2018 type Chdr64 struct { 2019 Type uint32 2020 _ uint32 2021 Size uint64 2022 Addralign uint64 2023 } 2024 2025 // 追加フィールドが不要なELF64の再配置。 2026 type Rel64 struct { 2027 Off uint64 2028 Info uint64 2029 } 2030 2031 // 追加フィールドが必要なELF64の再配置。 2032 type Rela64 struct { 2033 Off uint64 2034 Info uint64 2035 Addend int64 2036 } 2037 2038 func R_SYM64(info uint64) uint32 2039 func R_TYPE64(info uint64) uint32 2040 func R_INFO(sym, typ uint32) uint64 2041 2042 // ELF64 シンボルテーブルエントリ。 2043 type Sym64 struct { 2044 Name uint32 2045 Info uint8 2046 Other uint8 2047 Shndx uint16 2048 Value uint64 2049 Size uint64 2050 } 2051 2052 const Sym64Size = 24