Imports #
"strconv"
"bytes"
"compress/zlib"
"debug/dwarf"
"encoding/binary"
"errors"
"fmt"
"internal/saferio"
"internal/zstd"
"io"
"os"
"strings"
"unsafe"
"io"
"os"
"strconv"
"bytes"
"compress/zlib"
"debug/dwarf"
"encoding/binary"
"errors"
"fmt"
"internal/saferio"
"internal/zstd"
"io"
"os"
"strings"
"unsafe"
"io"
"os"
Magic number for the elf trampoline, chosen wisely to be an immediate value.
const ARM_MAGIC_TRAMP_NUMBER = 0x5c000003const COMPRESS_HIOS CompressionType = 0x6fffffffconst COMPRESS_HIPROC CompressionType = 0x7fffffffconst COMPRESS_LOOS CompressionType = 0x60000000const COMPRESS_LOPROC CompressionType = 0x70000000const COMPRESS_ZLIB CompressionType = 1const COMPRESS_ZSTD CompressionType = 2Identifies this object as a configuration alternative object generated by crle. Triggers the runtime linker to search for a configuration file $ORIGIN/ld.config.app-name.
const DF_1_CONFALT DynFlag1 = 0x00002000Indicates that the object should use direct binding information.
const DF_1_DIRECT DynFlag1 = 0x00000100Indicates that this object has displacement relocations applied.
const DF_1_DISPRELDNE DynFlag1 = 0x00008000Indicates that this object has displacement relocations pending.
const DF_1_DISPRELPND DynFlag1 = 0x00010000Indicates that this object has been edited or has been modified since the objects original construction by the link-editor.
const DF_1_EDITED DynFlag1 = 0x00200000Meaningful only for filtees. Terminates a filters search for any further filtees.
const DF_1_ENDFILTEE DynFlag1 = 0x00004000Unused.
const DF_1_GLOBAL DynFlag1 = 0x00000002Indicates that the executable requires global auditing.
const DF_1_GLOBAUDIT DynFlag1 = 0x01000000Indicates that the object is a member of a group.
const DF_1_GROUP DynFlag1 = 0x00000004Reserved for internal use by the kernel runtime-linker.
const DF_1_IGNMULDEF DynFlag1 = 0x00040000Indicates that this object's initialization section be run before any other objects loaded.
const DF_1_INITFIRST DynFlag1 = 0x00000020Indicates that the objects symbol table is to interpose before all symbols except the primary load object, which is typically the executable.
const DF_1_INTERPOSE DynFlag1 = 0x00000400Indicates that the object is a kernel module.
const DF_1_KMOD DynFlag1 = 0x10000000Meaningful only for filters. Indicates that all associated filtees be processed immediately.
const DF_1_LOADFLTR DynFlag1 = 0x00000010Unused.
const DF_1_NOCOMMON DynFlag1 = 0x40000000Indicates that the search for dependencies of this object ignores any default library search paths.
const DF_1_NODEFLIB DynFlag1 = 0x00000800Indicates that the object cannot be deleted from a process.
const DF_1_NODELETE DynFlag1 = 0x00000008Indicates that this object contains symbols that cannot be directly bound to.
const DF_1_NODIRECT DynFlag1 = 0x00020000Indicates that this object is not dumped by dldump. Candidates are objects with no relocations that might get included when generating alternative objects using.
const DF_1_NODUMP DynFlag1 = 0x00001000Reserved for internal use by the kernel runtime-linker.
const DF_1_NOHDR DynFlag1 = 0x00100000Reserved for internal use by the kernel runtime-linker.
const DF_1_NOKSYMS DynFlag1 = 0x00080000Indicates that the object cannot be added to a running process with dlopen.
const DF_1_NOOPEN DynFlag1 = 0x00000040Reserved for internal use by the kernel runtime-linker.
const DF_1_NORELOC DynFlag1 = 0x00400000Indicates that all relocations for this object must be processed before returning control to the program.
const DF_1_NOW DynFlag1 = 0x00000001Indicates the object requires $ORIGIN processing.
const DF_1_ORIGIN DynFlag1 = 0x00000080Indicates that the object is a position-independent executable.
const DF_1_PIE DynFlag1 = 0x08000000Indicates that the object defines, or makes reference to singleton symbols.
const DF_1_SINGLETON DynFlag1 = 0x02000000Indicates that the object is a stub.
const DF_1_STUB DynFlag1 = 0x04000000Indicates that the object contains individual symbols that should interpose before all symbols except the primary load object, which is typically the executable.
const DF_1_SYMINTPOSE DynFlag1 = 0x00800000Unused.
const DF_1_TRANS DynFlag1 = 0x00000200Indicates that the object is a weak standard filter.
const DF_1_WEAKFILTER DynFlag1 = 0x20000000const DF_BIND_NOW DynFlag = 0x0008const DF_ORIGIN DynFlag = 0x0001const DF_STATIC_TLS DynFlag = 0x0010const DF_SYMBOLIC DynFlag = 0x0002const DF_TEXTREL DynFlag = 0x0004const DT_ADDRRNGHI DynTag = 0x6ffffeffconst DT_ADDRRNGLO DynTag = 0x6ffffe00const DT_AUDIT DynTag = 0x6ffffefcconst DT_AUXILIARY DynTag = 0x7ffffffdconst DT_BIND_NOW DynTag = 24const DT_CHECKSUM DynTag = 0x6ffffdf8const DT_CONFIG DynTag = 0x6ffffefaconst DT_DEBUG DynTag = 21const DT_DEPAUDIT DynTag = 0x6ffffefbconst DT_ENCODING DynTag = 32const DT_FEATURE DynTag = 0x6ffffdfcconst DT_FILTER DynTag = 0x7fffffffconst DT_FINI DynTag = 13const DT_FINI_ARRAY DynTag = 26const DT_FINI_ARRAYSZ DynTag = 28const DT_FLAGS DynTag = 30const DT_FLAGS_1 DynTag = 0x6ffffffbconst DT_GNU_CONFLICT DynTag = 0x6ffffef8const DT_GNU_CONFLICTSZ DynTag = 0x6ffffdf6const DT_GNU_HASH DynTag = 0x6ffffef5const DT_GNU_LIBLIST DynTag = 0x6ffffef9const DT_GNU_LIBLISTSZ DynTag = 0x6ffffdf7const DT_GNU_PRELINKED DynTag = 0x6ffffdf5const DT_HASH DynTag = 4const DT_HIOS DynTag = 0x6ffff000const DT_HIPROC DynTag = 0x7fffffffconst DT_INIT DynTag = 12const DT_INIT_ARRAY DynTag = 25const DT_INIT_ARRAYSZ DynTag = 27const DT_JMPREL DynTag = 23const DT_LOOS DynTag = 0x6000000dconst DT_LOPROC DynTag = 0x70000000const DT_MIPS_AUX_DYNAMIC DynTag = 0x70000031const DT_MIPS_BASE_ADDRESS DynTag = 0x70000006const DT_MIPS_COMPACT_SIZE DynTag = 0x7000002fconst DT_MIPS_CONFLICT DynTag = 0x70000008const DT_MIPS_CONFLICTNO DynTag = 0x7000000bconst DT_MIPS_CXX_FLAGS DynTag = 0x70000022const DT_MIPS_DELTA_CLASS DynTag = 0x70000017const DT_MIPS_DELTA_CLASSSYM DynTag = 0x70000020const DT_MIPS_DELTA_CLASSSYM_NO DynTag = 0x70000021const DT_MIPS_DELTA_CLASS_NO DynTag = 0x70000018const DT_MIPS_DELTA_INSTANCE DynTag = 0x70000019const DT_MIPS_DELTA_INSTANCE_NO DynTag = 0x7000001aconst DT_MIPS_DELTA_RELOC DynTag = 0x7000001bconst DT_MIPS_DELTA_RELOC_NO DynTag = 0x7000001cconst DT_MIPS_DELTA_SYM DynTag = 0x7000001dconst DT_MIPS_DELTA_SYM_NO DynTag = 0x7000001econst DT_MIPS_DYNSTR_ALIGN DynTag = 0x7000002bconst DT_MIPS_FLAGS DynTag = 0x70000005const DT_MIPS_GOTSYM DynTag = 0x70000013const DT_MIPS_GP_VALUE DynTag = 0x70000030const DT_MIPS_HIDDEN_GOTIDX DynTag = 0x70000027const DT_MIPS_HIPAGENO DynTag = 0x70000014const DT_MIPS_ICHECKSUM DynTag = 0x70000003const DT_MIPS_INTERFACE DynTag = 0x7000002aconst DT_MIPS_INTERFACE_SIZE DynTag = 0x7000002cconst DT_MIPS_IVERSION DynTag = 0x70000004const DT_MIPS_LIBLIST DynTag = 0x70000009const DT_MIPS_LIBLISTNO DynTag = 0x70000010const DT_MIPS_LOCALPAGE_GOTIDX DynTag = 0x70000025const DT_MIPS_LOCAL_GOTIDX DynTag = 0x70000026const DT_MIPS_LOCAL_GOTNO DynTag = 0x7000000aconst DT_MIPS_MSYM DynTag = 0x70000007const DT_MIPS_OPTIONS DynTag = 0x70000029const DT_MIPS_PERF_SUFFIX DynTag = 0x7000002econst DT_MIPS_PIXIE_INIT DynTag = 0x70000023const DT_MIPS_PLTGOT DynTag = 0x70000032const DT_MIPS_PROTECTED_GOTIDX DynTag = 0x70000028const DT_MIPS_RLD_MAP DynTag = 0x70000016const DT_MIPS_RLD_MAP_REL DynTag = 0x70000035const DT_MIPS_RLD_TEXT_RESOLVE_ADDR DynTag = 0x7000002dconst DT_MIPS_RLD_VERSION DynTag = 0x70000001const DT_MIPS_RWPLT DynTag = 0x70000034const DT_MIPS_SYMBOL_LIB DynTag = 0x70000024const DT_MIPS_SYMTABNO DynTag = 0x70000011const DT_MIPS_TIME_STAMP DynTag = 0x70000002const DT_MIPS_UNREFEXTNO DynTag = 0x70000012const DT_MOVEENT DynTag = 0x6ffffdfaconst DT_MOVESZ DynTag = 0x6ffffdfbconst DT_MOVETAB DynTag = 0x6ffffefeconst DT_NEEDED DynTag = 1const DT_NULL DynTag = 0const DT_PLTGOT DynTag = 3const DT_PLTPAD DynTag = 0x6ffffefdconst DT_PLTPADSZ DynTag = 0x6ffffdf9const DT_PLTREL DynTag = 20const DT_PLTRELSZ DynTag = 2const DT_POSFLAG_1 DynTag = 0x6ffffdfdconst DT_PPC64_GLINK DynTag = 0x70000000const DT_PPC64_OPD DynTag = 0x70000001const DT_PPC64_OPDSZ DynTag = 0x70000002const DT_PPC64_OPT DynTag = 0x70000003const DT_PPC_GOT DynTag = 0x70000000const DT_PPC_OPT DynTag = 0x70000001const DT_PREINIT_ARRAY DynTag = 32const DT_PREINIT_ARRAYSZ DynTag = 33const DT_REL DynTag = 17const DT_RELA DynTag = 7const DT_RELACOUNT DynTag = 0x6ffffff9const DT_RELAENT DynTag = 9const DT_RELASZ DynTag = 8const DT_RELCOUNT DynTag = 0x6ffffffaconst DT_RELENT DynTag = 19const DT_RELSZ DynTag = 18const DT_RPATH DynTag = 15const DT_RUNPATH DynTag = 29const DT_SONAME DynTag = 14const DT_SPARC_REGISTER DynTag = 0x70000001const DT_STRSZ DynTag = 10const DT_STRTAB DynTag = 5const DT_SYMBOLIC DynTag = 16const DT_SYMENT DynTag = 11const DT_SYMINENT DynTag = 0x6ffffdffconst DT_SYMINFO DynTag = 0x6ffffeffconst DT_SYMINSZ DynTag = 0x6ffffdfeconst DT_SYMTAB DynTag = 6const DT_SYMTAB_SHNDX DynTag = 34const DT_TEXTREL DynTag = 22const DT_TLSDESC_GOT DynTag = 0x6ffffef7const DT_TLSDESC_PLT DynTag = 0x6ffffef6const DT_USED DynTag = 0x7ffffffeconst DT_VALRNGHI DynTag = 0x6ffffdffconst DT_VALRNGLO DynTag = 0x6ffffd00const DT_VERDEF DynTag = 0x6ffffffcconst DT_VERDEFNUM DynTag = 0x6ffffffdconst DT_VERNEED DynTag = 0x6ffffffeconst DT_VERNEEDNUM DynTag = 0x6fffffffconst DT_VERSYM DynTag = 0x6ffffff0Indexes into the Header.Ident array.
const EI_ABIVERSION = 8Indexes into the Header.Ident array.
const EI_CLASS = 4Indexes into the Header.Ident array.
const EI_DATA = 5Indexes into the Header.Ident array.
const EI_NIDENT = 16Indexes into the Header.Ident array.
const EI_OSABI = 7Indexes into the Header.Ident array.
const EI_PAD = 9Indexes into the Header.Ident array.
const EI_VERSION = 6const ELFCLASS32 Class = 1const ELFCLASS64 Class = 2const ELFCLASSNONE Class = 0const ELFDATA2LSB Data = 1const ELFDATA2MSB Data = 2const ELFDATANONE Data = 0Initial magic number for ELF files.
const ELFMAG = "\177ELF"const ELFOSABI_86OPEN OSABI = 5const ELFOSABI_AIX OSABI = 7const ELFOSABI_ARM OSABI = 97const ELFOSABI_AROS OSABI = 15const ELFOSABI_CLOUDABI OSABI = 17const ELFOSABI_FENIXOS OSABI = 16const ELFOSABI_FREEBSD OSABI = 9const ELFOSABI_HPUX OSABI = 1const ELFOSABI_HURD OSABI = 4const ELFOSABI_IRIX OSABI = 8const ELFOSABI_LINUX OSABI = 3const ELFOSABI_MODESTO OSABI = 11const ELFOSABI_NETBSD OSABI = 2const ELFOSABI_NONE OSABI = 0const ELFOSABI_NSK OSABI = 14const ELFOSABI_OPENBSD OSABI = 12const ELFOSABI_OPENVMS OSABI = 13const ELFOSABI_SOLARIS OSABI = 6const ELFOSABI_STANDALONE OSABI = 255const ELFOSABI_TRU64 OSABI = 10const EM_386 Machine = 3Non-standard or deprecated.
const EM_486 Machine = 6const EM_56800EX Machine = 200const EM_68HC05 Machine = 72const EM_68HC08 Machine = 71const EM_68HC11 Machine = 70const EM_68HC12 Machine = 53const EM_68HC16 Machine = 69const EM_68K Machine = 4const EM_78KOR Machine = 199const EM_8051 Machine = 165const EM_860 Machine = 7const EM_88K Machine = 5const EM_960 Machine = 19const EM_AARCH64 Machine = 183const EM_ALPHA Machine = 0x9026const EM_ALPHA_STD Machine = 41const EM_ALTERA_NIOS2 Machine = 113const EM_AMDGPU Machine = 224const EM_ARC Machine = 45const EM_ARCA Machine = 109const EM_ARC_COMPACT Machine = 93const EM_ARC_COMPACT2 Machine = 195const EM_ARM Machine = 40const EM_AVR Machine = 83const EM_AVR32 Machine = 185const EM_BA1 Machine = 201const EM_BA2 Machine = 202const EM_BLACKFIN Machine = 106const EM_BPF Machine = 247const EM_C166 Machine = 116const EM_CDP Machine = 215const EM_CE Machine = 119const EM_CLOUDSHIELD Machine = 192const EM_COGE Machine = 216const EM_COLDFIRE Machine = 52const EM_COOL Machine = 217const EM_COREA_1ST Machine = 193const EM_COREA_2ND Machine = 194const EM_CR Machine = 103const EM_CR16 Machine = 177const EM_CRAYNV2 Machine = 172const EM_CRIS Machine = 76const EM_CRX Machine = 114const EM_CSR_KALIMBA Machine = 219const EM_CUDA Machine = 190const EM_CYPRESS_M8C Machine = 161const EM_D10V Machine = 85const EM_D30V Machine = 86const EM_DSP24 Machine = 136const EM_DSPIC30F Machine = 118const EM_DXP Machine = 112const EM_ECOG1 Machine = 168const EM_ECOG16 Machine = 176const EM_ECOG1X Machine = 168const EM_ECOG2 Machine = 134const EM_ETPU Machine = 178const EM_EXCESS Machine = 111const EM_F2MC16 Machine = 104const EM_FIREPATH Machine = 78const EM_FR20 Machine = 37const EM_FR30 Machine = 84const EM_FT32 Machine = 222const EM_FX66 Machine = 66const EM_H8S Machine = 48const EM_H8_300 Machine = 46const EM_H8_300H Machine = 47const EM_H8_500 Machine = 49const EM_HUANY Machine = 81const EM_IA_64 Machine = 50const EM_INTEL205 Machine = 205const EM_INTEL206 Machine = 206const EM_INTEL207 Machine = 207const EM_INTEL208 Machine = 208const EM_INTEL209 Machine = 209const EM_IP2K Machine = 101const EM_JAVELIN Machine = 77const EM_K10M Machine = 181const EM_KM32 Machine = 210const EM_KMX16 Machine = 212const EM_KMX32 Machine = 211const EM_KMX8 Machine = 213const EM_KVARC Machine = 214const EM_L10M Machine = 180const EM_LANAI Machine = 244const EM_LATTICEMICO32 Machine = 138const EM_LOONGARCH Machine = 258const EM_M16C Machine = 117const EM_M32 Machine = 1const EM_M32C Machine = 120const EM_M32R Machine = 88const EM_MANIK Machine = 171const EM_MAX Machine = 102const EM_MAXQ30 Machine = 169const EM_MCHP_PIC Machine = 204const EM_MCST_ELBRUS Machine = 175const EM_ME16 Machine = 59const EM_METAG Machine = 174const EM_MICROBLAZE Machine = 189const EM_MIPS Machine = 8const EM_MIPS_RS3_LE Machine = 10const EM_MIPS_RS4_BE Machine = 10const EM_MIPS_X Machine = 51const EM_MMA Machine = 54const EM_MMDSP_PLUS Machine = 160const EM_MMIX Machine = 80const EM_MN10200 Machine = 90const EM_MN10300 Machine = 89const EM_MOXIE Machine = 223const EM_MSP430 Machine = 105const EM_NCPU Machine = 56const EM_NDR1 Machine = 57const EM_NDS32 Machine = 167const EM_NONE Machine = 0const EM_NORC Machine = 218const EM_NS32K Machine = 97const EM_OPEN8 Machine = 196const EM_OPENRISC Machine = 92const EM_PARISC Machine = 15const EM_PCP Machine = 55const EM_PDP10 Machine = 64const EM_PDP11 Machine = 65const EM_PDSP Machine = 63const EM_PJ Machine = 91const EM_PPC Machine = 20const EM_PPC64 Machine = 21const EM_PRISM Machine = 82const EM_QDSP6 Machine = 164const EM_R32C Machine = 162const EM_RCE Machine = 39const EM_RH32 Machine = 38const EM_RISCV Machine = 243const EM_RL78 Machine = 197const EM_RS08 Machine = 132const EM_RX Machine = 173const EM_S370 Machine = 9const EM_S390 Machine = 22const EM_SCORE7 Machine = 135const EM_SEP Machine = 108const EM_SE_C17 Machine = 139const EM_SE_C33 Machine = 107const EM_SH Machine = 42const EM_SHARC Machine = 133const EM_SLE9X Machine = 179const EM_SNP1K Machine = 99const EM_SPARC Machine = 2const EM_SPARC32PLUS Machine = 18const EM_SPARCV9 Machine = 43const EM_ST100 Machine = 60const EM_ST19 Machine = 74const EM_ST200 Machine = 100const EM_ST7 Machine = 68const EM_ST9PLUS Machine = 67const EM_STARCORE Machine = 58const EM_STM8 Machine = 186const EM_STXP7X Machine = 166const EM_SVX Machine = 73const EM_TILE64 Machine = 187const EM_TILEGX Machine = 191const EM_TILEPRO Machine = 188const EM_TINYJ Machine = 61const EM_TI_ARP32 Machine = 143const EM_TI_C2000 Machine = 141const EM_TI_C5500 Machine = 142const EM_TI_C6000 Machine = 140const EM_TI_PRU Machine = 144const EM_TMM_GPP Machine = 96const EM_TPC Machine = 98const EM_TRICORE Machine = 44const EM_TRIMEDIA Machine = 163const EM_TSK3000 Machine = 131const EM_UNICORE Machine = 110const EM_V800 Machine = 36const EM_V850 Machine = 87const EM_VAX Machine = 75const EM_VIDEOCORE Machine = 95const EM_VIDEOCORE3 Machine = 137const EM_VIDEOCORE5 Machine = 198const EM_VISIUM Machine = 221const EM_VPP500 Machine = 17const EM_X86_64 Machine = 62const EM_XCORE Machine = 203const EM_XGATE Machine = 115const EM_XIMO16 Machine = 170const EM_XTENSA Machine = 94const EM_Z80 Machine = 220const EM_ZSP Machine = 79const ET_CORE Type = 4const ET_DYN Type = 3const ET_EXEC Type = 2const ET_HIOS Type = 0xfeffconst ET_HIPROC Type = 0xffffconst ET_LOOS Type = 0xfe00const ET_LOPROC Type = 0xff00const ET_NONE Type = 0const ET_REL Type = 1const EV_CURRENT Version = 1const EV_NONE Version = 0ErrNoSymbols is returned by [File.Symbols] and [File.DynamicSymbols] if there is no such section in the File.
var ErrNoSymbols = *ast.CallExprconst NT_FPREGSET NType = 2const NT_PRPSINFO NType = 3const NT_PRSTATUS NType = 1const PF_MASKOS ProgFlag = 0x0ff00000const PF_MASKPROC ProgFlag = 0xf0000000const PF_R ProgFlag = 0x4const PF_W ProgFlag = 0x2const PF_X ProgFlag = 0x1const PT_AARCH64_ARCHEXT ProgType = 0x70000000const PT_AARCH64_UNWIND ProgType = 0x70000001const PT_ARM_ARCHEXT ProgType = 0x70000000const PT_ARM_EXIDX ProgType = 0x70000001const PT_DYNAMIC ProgType = 2const PT_GNU_EH_FRAME ProgType = 0x6474e550const PT_GNU_MBIND_HI ProgType = 0x6474f554const PT_GNU_MBIND_LO ProgType = 0x6474e555const PT_GNU_PROPERTY ProgType = 0x6474e553const PT_GNU_RELRO ProgType = 0x6474e552const PT_GNU_STACK ProgType = 0x6474e551const PT_HIOS ProgType = 0x6fffffffconst PT_HIPROC ProgType = 0x7fffffffconst PT_INTERP ProgType = 3const PT_LOAD ProgType = 1const PT_LOOS ProgType = 0x60000000const PT_LOPROC ProgType = 0x70000000const PT_MIPS_ABIFLAGS ProgType = 0x70000003const PT_MIPS_OPTIONS ProgType = 0x70000002const PT_MIPS_REGINFO ProgType = 0x70000000const PT_MIPS_RTPROC ProgType = 0x70000001const PT_NOTE ProgType = 4const PT_NULL ProgType = 0const PT_OPENBSD_BOOTDATA ProgType = 0x65a41be6const PT_OPENBSD_NOBTCFI ProgType = 0x65a3dbe8const PT_OPENBSD_RANDOMIZE ProgType = 0x65a3dbe6const PT_OPENBSD_WXNEEDED ProgType = 0x65a3dbe7const PT_PAX_FLAGS ProgType = 0x65041580const PT_PHDR ProgType = 6const PT_S390_PGSTE ProgType = 0x70000000const PT_SHLIB ProgType = 5const PT_SUNWSTACK ProgType = 0x6ffffffbconst PT_SUNW_EH_FRAME ProgType = 0x6474e550const PT_TLS ProgType = 7const R_386_16 R_386 = 20const R_386_32 R_386 = 1const R_386_32PLT R_386 = 11const R_386_8 R_386 = 22const R_386_COPY R_386 = 5const R_386_GLOB_DAT R_386 = 6const R_386_GOT32 R_386 = 3const R_386_GOT32X R_386 = 43const R_386_GOTOFF R_386 = 9const R_386_GOTPC R_386 = 10const R_386_IRELATIVE R_386 = 42const R_386_JMP_SLOT R_386 = 7const R_386_NONE R_386 = 0const R_386_PC16 R_386 = 21const R_386_PC32 R_386 = 2const R_386_PC8 R_386 = 23const R_386_PLT32 R_386 = 4const R_386_RELATIVE R_386 = 8const R_386_SIZE32 R_386 = 38const R_386_TLS_DESC R_386 = 41const R_386_TLS_DESC_CALL R_386 = 40const R_386_TLS_DTPMOD32 R_386 = 35const R_386_TLS_DTPOFF32 R_386 = 36const R_386_TLS_GD R_386 = 18const R_386_TLS_GD_32 R_386 = 24const R_386_TLS_GD_CALL R_386 = 26const R_386_TLS_GD_POP R_386 = 27const R_386_TLS_GD_PUSH R_386 = 25const R_386_TLS_GOTDESC R_386 = 39const R_386_TLS_GOTIE R_386 = 16const R_386_TLS_IE R_386 = 15const R_386_TLS_IE_32 R_386 = 33const R_386_TLS_LDM R_386 = 19const R_386_TLS_LDM_32 R_386 = 28const R_386_TLS_LDM_CALL R_386 = 30const R_386_TLS_LDM_POP R_386 = 31const R_386_TLS_LDM_PUSH R_386 = 29const R_386_TLS_LDO_32 R_386 = 32const R_386_TLS_LE R_386 = 17const R_386_TLS_LE_32 R_386 = 34const R_386_TLS_TPOFF R_386 = 14const R_386_TLS_TPOFF32 R_386 = 37const R_390_12 R_390 = 2const R_390_16 R_390 = 3const R_390_20 R_390 = 57const R_390_32 R_390 = 4const R_390_64 R_390 = 22const R_390_8 R_390 = 1const R_390_COPY R_390 = 9const R_390_GLOB_DAT R_390 = 10const R_390_GOT12 R_390 = 6const R_390_GOT16 R_390 = 15const R_390_GOT20 R_390 = 58const R_390_GOT32 R_390 = 7const R_390_GOT64 R_390 = 24const R_390_GOTENT R_390 = 26const R_390_GOTOFF R_390 = 13const R_390_GOTOFF16 R_390 = 27const R_390_GOTOFF64 R_390 = 28const R_390_GOTPC R_390 = 14const R_390_GOTPCDBL R_390 = 21const R_390_GOTPLT12 R_390 = 29const R_390_GOTPLT16 R_390 = 30const R_390_GOTPLT20 R_390 = 59const R_390_GOTPLT32 R_390 = 31const R_390_GOTPLT64 R_390 = 32const R_390_GOTPLTENT R_390 = 33const R_390_GOTPLTOFF16 R_390 = 34const R_390_GOTPLTOFF32 R_390 = 35const R_390_GOTPLTOFF64 R_390 = 36const R_390_JMP_SLOT R_390 = 11const R_390_NONE R_390 = 0const R_390_PC16 R_390 = 16const R_390_PC16DBL R_390 = 17const R_390_PC32 R_390 = 5const R_390_PC32DBL R_390 = 19const R_390_PC64 R_390 = 23const R_390_PLT16DBL R_390 = 18const R_390_PLT32 R_390 = 8const R_390_PLT32DBL R_390 = 20const R_390_PLT64 R_390 = 25const R_390_RELATIVE R_390 = 12const R_390_TLS_DTPMOD R_390 = 54const R_390_TLS_DTPOFF R_390 = 55const R_390_TLS_GD32 R_390 = 40const R_390_TLS_GD64 R_390 = 41const R_390_TLS_GDCALL R_390 = 38const R_390_TLS_GOTIE12 R_390 = 42const R_390_TLS_GOTIE20 R_390 = 60const R_390_TLS_GOTIE32 R_390 = 43const R_390_TLS_GOTIE64 R_390 = 44const R_390_TLS_IE32 R_390 = 47const R_390_TLS_IE64 R_390 = 48const R_390_TLS_IEENT R_390 = 49const R_390_TLS_LDCALL R_390 = 39const R_390_TLS_LDM32 R_390 = 45const R_390_TLS_LDM64 R_390 = 46const R_390_TLS_LDO32 R_390 = 52const R_390_TLS_LDO64 R_390 = 53const R_390_TLS_LE32 R_390 = 50const R_390_TLS_LE64 R_390 = 51const R_390_TLS_LOAD R_390 = 37const R_390_TLS_TPOFF R_390 = 56const R_AARCH64_ABS16 R_AARCH64 = 259const R_AARCH64_ABS32 R_AARCH64 = 258const R_AARCH64_ABS64 R_AARCH64 = 257const R_AARCH64_ADD_ABS_LO12_NC R_AARCH64 = 277const R_AARCH64_ADR_GOT_PAGE R_AARCH64 = 311const R_AARCH64_ADR_PREL_LO21 R_AARCH64 = 274const R_AARCH64_ADR_PREL_PG_HI21 R_AARCH64 = 275const R_AARCH64_ADR_PREL_PG_HI21_NC R_AARCH64 = 276const R_AARCH64_CALL26 R_AARCH64 = 283const R_AARCH64_CONDBR19 R_AARCH64 = 280const R_AARCH64_COPY R_AARCH64 = 1024const R_AARCH64_GLOB_DAT R_AARCH64 = 1025const R_AARCH64_GOT_LD_PREL19 R_AARCH64 = 309const R_AARCH64_IRELATIVE R_AARCH64 = 1032const R_AARCH64_JUMP26 R_AARCH64 = 282const R_AARCH64_JUMP_SLOT R_AARCH64 = 1026const R_AARCH64_LD64_GOTOFF_LO15 R_AARCH64 = 310const R_AARCH64_LD64_GOTPAGE_LO15 R_AARCH64 = 313const R_AARCH64_LD64_GOT_LO12_NC R_AARCH64 = 312const R_AARCH64_LDST128_ABS_LO12_NC R_AARCH64 = 299const R_AARCH64_LDST16_ABS_LO12_NC R_AARCH64 = 284const R_AARCH64_LDST32_ABS_LO12_NC R_AARCH64 = 285const R_AARCH64_LDST64_ABS_LO12_NC R_AARCH64 = 286const R_AARCH64_LDST8_ABS_LO12_NC R_AARCH64 = 278const R_AARCH64_LD_PREL_LO19 R_AARCH64 = 273const R_AARCH64_MOVW_SABS_G0 R_AARCH64 = 270const R_AARCH64_MOVW_SABS_G1 R_AARCH64 = 271const R_AARCH64_MOVW_SABS_G2 R_AARCH64 = 272const R_AARCH64_MOVW_UABS_G0 R_AARCH64 = 263const R_AARCH64_MOVW_UABS_G0_NC R_AARCH64 = 264const R_AARCH64_MOVW_UABS_G1 R_AARCH64 = 265const R_AARCH64_MOVW_UABS_G1_NC R_AARCH64 = 266const R_AARCH64_MOVW_UABS_G2 R_AARCH64 = 267const R_AARCH64_MOVW_UABS_G2_NC R_AARCH64 = 268const R_AARCH64_MOVW_UABS_G3 R_AARCH64 = 269const R_AARCH64_NONE R_AARCH64 = 0const R_AARCH64_NULL R_AARCH64 = 256const R_AARCH64_P32_ABS16 R_AARCH64 = 2const R_AARCH64_P32_ABS32 R_AARCH64 = 1const R_AARCH64_P32_ADD_ABS_LO12_NC R_AARCH64 = 12const R_AARCH64_P32_ADR_GOT_PAGE R_AARCH64 = 26const R_AARCH64_P32_ADR_PREL_LO21 R_AARCH64 = 10const R_AARCH64_P32_ADR_PREL_PG_HI21 R_AARCH64 = 11const R_AARCH64_P32_CALL26 R_AARCH64 = 21const R_AARCH64_P32_CONDBR19 R_AARCH64 = 19const R_AARCH64_P32_COPY R_AARCH64 = 180const R_AARCH64_P32_GLOB_DAT R_AARCH64 = 181const R_AARCH64_P32_GOT_LD_PREL19 R_AARCH64 = 25const R_AARCH64_P32_IRELATIVE R_AARCH64 = 188const R_AARCH64_P32_JUMP26 R_AARCH64 = 20const R_AARCH64_P32_JUMP_SLOT R_AARCH64 = 182const R_AARCH64_P32_LD32_GOT_LO12_NC R_AARCH64 = 27const R_AARCH64_P32_LDST128_ABS_LO12_NC R_AARCH64 = 17const R_AARCH64_P32_LDST16_ABS_LO12_NC R_AARCH64 = 14const R_AARCH64_P32_LDST32_ABS_LO12_NC R_AARCH64 = 15const R_AARCH64_P32_LDST64_ABS_LO12_NC R_AARCH64 = 16const R_AARCH64_P32_LDST8_ABS_LO12_NC R_AARCH64 = 13const R_AARCH64_P32_LD_PREL_LO19 R_AARCH64 = 9const R_AARCH64_P32_MOVW_SABS_G0 R_AARCH64 = 8const R_AARCH64_P32_MOVW_UABS_G0 R_AARCH64 = 5const R_AARCH64_P32_MOVW_UABS_G0_NC R_AARCH64 = 6const R_AARCH64_P32_MOVW_UABS_G1 R_AARCH64 = 7const R_AARCH64_P32_PREL16 R_AARCH64 = 4const R_AARCH64_P32_PREL32 R_AARCH64 = 3const R_AARCH64_P32_RELATIVE R_AARCH64 = 183const R_AARCH64_P32_TLSDESC R_AARCH64 = 187const R_AARCH64_P32_TLSDESC_ADD_LO12_NC R_AARCH64 = 126const R_AARCH64_P32_TLSDESC_ADR_PAGE21 R_AARCH64 = 124const R_AARCH64_P32_TLSDESC_ADR_PREL21 R_AARCH64 = 123const R_AARCH64_P32_TLSDESC_CALL R_AARCH64 = 127const R_AARCH64_P32_TLSDESC_LD32_LO12_NC R_AARCH64 = 125const R_AARCH64_P32_TLSDESC_LD_PREL19 R_AARCH64 = 122const R_AARCH64_P32_TLSGD_ADD_LO12_NC R_AARCH64 = 82const R_AARCH64_P32_TLSGD_ADR_PAGE21 R_AARCH64 = 81const R_AARCH64_P32_TLSIE_ADR_GOTTPREL_PAGE21 R_AARCH64 = 103const R_AARCH64_P32_TLSIE_LD32_GOTTPREL_LO12_NC R_AARCH64 = 104const R_AARCH64_P32_TLSIE_LD_GOTTPREL_PREL19 R_AARCH64 = 105const R_AARCH64_P32_TLSLE_ADD_TPREL_HI12 R_AARCH64 = 109const R_AARCH64_P32_TLSLE_ADD_TPREL_LO12 R_AARCH64 = 110const R_AARCH64_P32_TLSLE_ADD_TPREL_LO12_NC R_AARCH64 = 111const R_AARCH64_P32_TLSLE_MOVW_TPREL_G0 R_AARCH64 = 107const R_AARCH64_P32_TLSLE_MOVW_TPREL_G0_NC R_AARCH64 = 108const R_AARCH64_P32_TLSLE_MOVW_TPREL_G1 R_AARCH64 = 106const R_AARCH64_P32_TLS_DTPMOD R_AARCH64 = 184const R_AARCH64_P32_TLS_DTPREL R_AARCH64 = 185const R_AARCH64_P32_TLS_TPREL R_AARCH64 = 186const R_AARCH64_P32_TSTBR14 R_AARCH64 = 18const R_AARCH64_PREL16 R_AARCH64 = 262const R_AARCH64_PREL32 R_AARCH64 = 261const R_AARCH64_PREL64 R_AARCH64 = 260const R_AARCH64_RELATIVE R_AARCH64 = 1027const R_AARCH64_TLSDESC R_AARCH64 = 1031const R_AARCH64_TLSDESC_ADD R_AARCH64 = 568const R_AARCH64_TLSDESC_ADD_LO12_NC R_AARCH64 = 564const R_AARCH64_TLSDESC_ADR_PAGE21 R_AARCH64 = 562const R_AARCH64_TLSDESC_ADR_PREL21 R_AARCH64 = 561const R_AARCH64_TLSDESC_CALL R_AARCH64 = 569const R_AARCH64_TLSDESC_LD64_LO12_NC R_AARCH64 = 563const R_AARCH64_TLSDESC_LDR R_AARCH64 = 567const R_AARCH64_TLSDESC_LD_PREL19 R_AARCH64 = 560const R_AARCH64_TLSDESC_OFF_G0_NC R_AARCH64 = 566const R_AARCH64_TLSDESC_OFF_G1 R_AARCH64 = 565const R_AARCH64_TLSGD_ADD_LO12_NC R_AARCH64 = 514const R_AARCH64_TLSGD_ADR_PAGE21 R_AARCH64 = 513const R_AARCH64_TLSGD_ADR_PREL21 R_AARCH64 = 512const R_AARCH64_TLSGD_MOVW_G0_NC R_AARCH64 = 516const R_AARCH64_TLSGD_MOVW_G1 R_AARCH64 = 515const R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 R_AARCH64 = 541const R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC R_AARCH64 = 542const R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 R_AARCH64 = 543const R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC R_AARCH64 = 540const R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 R_AARCH64 = 539const R_AARCH64_TLSLD_ADR_PAGE21 R_AARCH64 = 518const R_AARCH64_TLSLD_ADR_PREL21 R_AARCH64 = 517const R_AARCH64_TLSLD_LDST128_DTPREL_LO12 R_AARCH64 = 572const R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC R_AARCH64 = 573const R_AARCH64_TLSLE_ADD_TPREL_HI12 R_AARCH64 = 549const R_AARCH64_TLSLE_ADD_TPREL_LO12 R_AARCH64 = 550const R_AARCH64_TLSLE_ADD_TPREL_LO12_NC R_AARCH64 = 551const R_AARCH64_TLSLE_LDST128_TPREL_LO12 R_AARCH64 = 570const R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC R_AARCH64 = 571const R_AARCH64_TLSLE_MOVW_TPREL_G0 R_AARCH64 = 547const R_AARCH64_TLSLE_MOVW_TPREL_G0_NC R_AARCH64 = 548const R_AARCH64_TLSLE_MOVW_TPREL_G1 R_AARCH64 = 545const R_AARCH64_TLSLE_MOVW_TPREL_G1_NC R_AARCH64 = 546const R_AARCH64_TLSLE_MOVW_TPREL_G2 R_AARCH64 = 544const R_AARCH64_TLS_DTPMOD64 R_AARCH64 = 1028const R_AARCH64_TLS_DTPREL64 R_AARCH64 = 1029const R_AARCH64_TLS_TPREL64 R_AARCH64 = 1030const R_AARCH64_TSTBR14 R_AARCH64 = 279const R_ALPHA_BRADDR R_ALPHA = 7const R_ALPHA_COPY R_ALPHA = 24const R_ALPHA_GLOB_DAT R_ALPHA = 25const R_ALPHA_GPDISP R_ALPHA = 6const R_ALPHA_GPREL32 R_ALPHA = 3const R_ALPHA_GPRELHIGH R_ALPHA = 17const R_ALPHA_GPRELLOW R_ALPHA = 18const R_ALPHA_GPVALUE R_ALPHA = 16const R_ALPHA_HINT R_ALPHA = 8const R_ALPHA_IMMED_BR_HI32 R_ALPHA = 22const R_ALPHA_IMMED_GP_16 R_ALPHA = 19const R_ALPHA_IMMED_GP_HI32 R_ALPHA = 20const R_ALPHA_IMMED_LO32 R_ALPHA = 23const R_ALPHA_IMMED_SCN_HI32 R_ALPHA = 21const R_ALPHA_JMP_SLOT R_ALPHA = 26const R_ALPHA_LITERAL R_ALPHA = 4const R_ALPHA_LITUSE R_ALPHA = 5const R_ALPHA_NONE R_ALPHA = 0const R_ALPHA_OP_PRSHIFT R_ALPHA = 15const R_ALPHA_OP_PSUB R_ALPHA = 14const R_ALPHA_OP_PUSH R_ALPHA = 12const R_ALPHA_OP_STORE R_ALPHA = 13const R_ALPHA_REFLONG R_ALPHA = 1const R_ALPHA_REFQUAD R_ALPHA = 2const R_ALPHA_RELATIVE R_ALPHA = 27const R_ALPHA_SREL16 R_ALPHA = 9const R_ALPHA_SREL32 R_ALPHA = 10const R_ALPHA_SREL64 R_ALPHA = 11const R_ARM_ABS12 R_ARM = 6const R_ARM_ABS16 R_ARM = 5const R_ARM_ABS32 R_ARM = 2const R_ARM_ABS32_NOI R_ARM = 55const R_ARM_ABS8 R_ARM = 8const R_ARM_ALU_PCREL_15_8 R_ARM = 33const R_ARM_ALU_PCREL_23_15 R_ARM = 34const R_ARM_ALU_PCREL_7_0 R_ARM = 32const R_ARM_ALU_PC_G0 R_ARM = 58const R_ARM_ALU_PC_G0_NC R_ARM = 57const R_ARM_ALU_PC_G1 R_ARM = 60const R_ARM_ALU_PC_G1_NC R_ARM = 59const R_ARM_ALU_PC_G2 R_ARM = 61const R_ARM_ALU_SBREL_19_12_NC R_ARM = 36const R_ARM_ALU_SBREL_27_20_CK R_ARM = 37const R_ARM_ALU_SB_G0 R_ARM = 71const R_ARM_ALU_SB_G0_NC R_ARM = 70const R_ARM_ALU_SB_G1 R_ARM = 73const R_ARM_ALU_SB_G1_NC R_ARM = 72const R_ARM_ALU_SB_G2 R_ARM = 74const R_ARM_AMP_VCALL9 R_ARM = 12const R_ARM_BASE_ABS R_ARM = 31const R_ARM_CALL R_ARM = 28const R_ARM_COPY R_ARM = 20const R_ARM_GLOB_DAT R_ARM = 21const R_ARM_GNU_VTENTRY R_ARM = 100const R_ARM_GNU_VTINHERIT R_ARM = 101const R_ARM_GOT32 R_ARM = 26const R_ARM_GOTOFF R_ARM = 24const R_ARM_GOTOFF12 R_ARM = 98const R_ARM_GOTPC R_ARM = 25const R_ARM_GOTRELAX R_ARM = 99const R_ARM_GOT_ABS R_ARM = 95const R_ARM_GOT_BREL12 R_ARM = 97const R_ARM_GOT_PREL R_ARM = 96const R_ARM_IRELATIVE R_ARM = 160const R_ARM_JUMP24 R_ARM = 29const R_ARM_JUMP_SLOT R_ARM = 22const R_ARM_LDC_PC_G0 R_ARM = 67const R_ARM_LDC_PC_G1 R_ARM = 68const R_ARM_LDC_PC_G2 R_ARM = 69const R_ARM_LDC_SB_G0 R_ARM = 81const R_ARM_LDC_SB_G1 R_ARM = 82const R_ARM_LDC_SB_G2 R_ARM = 83const R_ARM_LDRS_PC_G0 R_ARM = 64const R_ARM_LDRS_PC_G1 R_ARM = 65const R_ARM_LDRS_PC_G2 R_ARM = 66const R_ARM_LDRS_SB_G0 R_ARM = 78const R_ARM_LDRS_SB_G1 R_ARM = 79const R_ARM_LDRS_SB_G2 R_ARM = 80const R_ARM_LDR_PC_G1 R_ARM = 62const R_ARM_LDR_PC_G2 R_ARM = 63const R_ARM_LDR_SBREL_11_10_NC R_ARM = 35const R_ARM_LDR_SB_G0 R_ARM = 75const R_ARM_LDR_SB_G1 R_ARM = 76const R_ARM_LDR_SB_G2 R_ARM = 77const R_ARM_ME_TOO R_ARM = 128const R_ARM_MOVT_ABS R_ARM = 44const R_ARM_MOVT_BREL R_ARM = 85const R_ARM_MOVT_PREL R_ARM = 46const R_ARM_MOVW_ABS_NC R_ARM = 43const R_ARM_MOVW_BREL R_ARM = 86const R_ARM_MOVW_BREL_NC R_ARM = 84const R_ARM_MOVW_PREL_NC R_ARM = 45const R_ARM_NONE R_ARM = 0const R_ARM_PC13 R_ARM = 4const R_ARM_PC24 R_ARM = 1const R_ARM_PLT32 R_ARM = 27const R_ARM_PLT32_ABS R_ARM = 94const R_ARM_PREL31 R_ARM = 42const R_ARM_PRIVATE_0 R_ARM = 112const R_ARM_PRIVATE_1 R_ARM = 113const R_ARM_PRIVATE_10 R_ARM = 122const R_ARM_PRIVATE_11 R_ARM = 123const R_ARM_PRIVATE_12 R_ARM = 124const R_ARM_PRIVATE_13 R_ARM = 125const R_ARM_PRIVATE_14 R_ARM = 126const R_ARM_PRIVATE_15 R_ARM = 127const R_ARM_PRIVATE_2 R_ARM = 114const R_ARM_PRIVATE_3 R_ARM = 115const R_ARM_PRIVATE_4 R_ARM = 116const R_ARM_PRIVATE_5 R_ARM = 117const R_ARM_PRIVATE_6 R_ARM = 118const R_ARM_PRIVATE_7 R_ARM = 119const R_ARM_PRIVATE_8 R_ARM = 120const R_ARM_PRIVATE_9 R_ARM = 121const R_ARM_RABS32 R_ARM = 253const R_ARM_RBASE R_ARM = 255const R_ARM_REL32 R_ARM = 3const R_ARM_REL32_NOI R_ARM = 56const R_ARM_RELATIVE R_ARM = 23const R_ARM_RPC24 R_ARM = 254const R_ARM_RREL32 R_ARM = 252const R_ARM_RSBREL32 R_ARM = 250const R_ARM_RXPC25 R_ARM = 249const R_ARM_SBREL31 R_ARM = 39const R_ARM_SBREL32 R_ARM = 9const R_ARM_SWI24 R_ARM = 13const R_ARM_TARGET1 R_ARM = 38const R_ARM_TARGET2 R_ARM = 41const R_ARM_THM_ABS5 R_ARM = 7const R_ARM_THM_ALU_ABS_G0_NC R_ARM = 132const R_ARM_THM_ALU_ABS_G1_NC R_ARM = 133const R_ARM_THM_ALU_ABS_G2_NC R_ARM = 134const R_ARM_THM_ALU_ABS_G3 R_ARM = 135const R_ARM_THM_ALU_PREL_11_0 R_ARM = 53const R_ARM_THM_GOT_BREL12 R_ARM = 131const R_ARM_THM_JUMP11 R_ARM = 102const R_ARM_THM_JUMP19 R_ARM = 51const R_ARM_THM_JUMP24 R_ARM = 30const R_ARM_THM_JUMP6 R_ARM = 52const R_ARM_THM_JUMP8 R_ARM = 103const R_ARM_THM_MOVT_ABS R_ARM = 48const R_ARM_THM_MOVT_BREL R_ARM = 88const R_ARM_THM_MOVT_PREL R_ARM = 50const R_ARM_THM_MOVW_ABS_NC R_ARM = 47const R_ARM_THM_MOVW_BREL R_ARM = 89const R_ARM_THM_MOVW_BREL_NC R_ARM = 87const R_ARM_THM_MOVW_PREL_NC R_ARM = 49const R_ARM_THM_PC12 R_ARM = 54const R_ARM_THM_PC22 R_ARM = 10const R_ARM_THM_PC8 R_ARM = 11const R_ARM_THM_RPC22 R_ARM = 251const R_ARM_THM_SWI8 R_ARM = 14const R_ARM_THM_TLS_CALL R_ARM = 93const R_ARM_THM_TLS_DESCSEQ16 R_ARM = 129const R_ARM_THM_TLS_DESCSEQ32 R_ARM = 130const R_ARM_THM_XPC22 R_ARM = 16const R_ARM_TLS_CALL R_ARM = 91const R_ARM_TLS_DESCSEQ R_ARM = 92const R_ARM_TLS_DTPMOD32 R_ARM = 17const R_ARM_TLS_DTPOFF32 R_ARM = 18const R_ARM_TLS_GD32 R_ARM = 104const R_ARM_TLS_GOTDESC R_ARM = 90const R_ARM_TLS_IE12GP R_ARM = 111const R_ARM_TLS_IE32 R_ARM = 107const R_ARM_TLS_LDM32 R_ARM = 105const R_ARM_TLS_LDO12 R_ARM = 109const R_ARM_TLS_LDO32 R_ARM = 106const R_ARM_TLS_LE12 R_ARM = 110const R_ARM_TLS_LE32 R_ARM = 108const R_ARM_TLS_TPOFF32 R_ARM = 19const R_ARM_V4BX R_ARM = 40const R_ARM_XPC25 R_ARM = 15const R_LARCH_32 R_LARCH = 1const R_LARCH_32_PCREL R_LARCH = 99const R_LARCH_64 R_LARCH = 2const R_LARCH_64_PCREL R_LARCH = 109const R_LARCH_ABS64_HI12 R_LARCH = 70const R_LARCH_ABS64_LO20 R_LARCH = 69const R_LARCH_ABS_HI20 R_LARCH = 67const R_LARCH_ABS_LO12 R_LARCH = 68const R_LARCH_ADD16 R_LARCH = 48const R_LARCH_ADD24 R_LARCH = 49const R_LARCH_ADD32 R_LARCH = 50const R_LARCH_ADD6 R_LARCH = 105const R_LARCH_ADD64 R_LARCH = 51const R_LARCH_ADD8 R_LARCH = 47const R_LARCH_ADD_ULEB128 R_LARCH = 107const R_LARCH_ALIGN R_LARCH = 102const R_LARCH_B16 R_LARCH = 64const R_LARCH_B21 R_LARCH = 65const R_LARCH_B26 R_LARCH = 66const R_LARCH_CFA R_LARCH = 104const R_LARCH_COPY R_LARCH = 4const R_LARCH_DELETE R_LARCH = 101const R_LARCH_GNU_VTENTRY R_LARCH = 58const R_LARCH_GNU_VTINHERIT R_LARCH = 57const R_LARCH_GOT64_HI12 R_LARCH = 82const R_LARCH_GOT64_LO20 R_LARCH = 81const R_LARCH_GOT64_PC_HI12 R_LARCH = 78const R_LARCH_GOT64_PC_LO20 R_LARCH = 77const R_LARCH_GOT_HI20 R_LARCH = 79const R_LARCH_GOT_LO12 R_LARCH = 80const R_LARCH_GOT_PC_HI20 R_LARCH = 75const R_LARCH_GOT_PC_LO12 R_LARCH = 76const R_LARCH_IRELATIVE R_LARCH = 12const R_LARCH_JUMP_SLOT R_LARCH = 5const R_LARCH_MARK_LA R_LARCH = 20const R_LARCH_MARK_PCREL R_LARCH = 21const R_LARCH_NONE R_LARCH = 0const R_LARCH_PCALA64_HI12 R_LARCH = 74const R_LARCH_PCALA64_LO20 R_LARCH = 73const R_LARCH_PCALA_HI20 R_LARCH = 71const R_LARCH_PCALA_LO12 R_LARCH = 72const R_LARCH_PCREL20_S2 R_LARCH = 103const R_LARCH_RELATIVE R_LARCH = 3const R_LARCH_RELAX R_LARCH = 100const R_LARCH_SOP_ADD R_LARCH = 35const R_LARCH_SOP_AND R_LARCH = 36const R_LARCH_SOP_ASSERT R_LARCH = 30const R_LARCH_SOP_IF_ELSE R_LARCH = 37const R_LARCH_SOP_NOT R_LARCH = 31const R_LARCH_SOP_POP_32_S_0_10_10_16_S2 R_LARCH = 45const R_LARCH_SOP_POP_32_S_0_5_10_16_S2 R_LARCH = 44const R_LARCH_SOP_POP_32_S_10_12 R_LARCH = 40const R_LARCH_SOP_POP_32_S_10_16 R_LARCH = 41const R_LARCH_SOP_POP_32_S_10_16_S2 R_LARCH = 42const R_LARCH_SOP_POP_32_S_10_5 R_LARCH = 38const R_LARCH_SOP_POP_32_S_5_20 R_LARCH = 43const R_LARCH_SOP_POP_32_U R_LARCH = 46const R_LARCH_SOP_POP_32_U_10_12 R_LARCH = 39const R_LARCH_SOP_PUSH_ABSOLUTE R_LARCH = 23const R_LARCH_SOP_PUSH_DUP R_LARCH = 24const R_LARCH_SOP_PUSH_GPREL R_LARCH = 25const R_LARCH_SOP_PUSH_PCREL R_LARCH = 22const R_LARCH_SOP_PUSH_PLT_PCREL R_LARCH = 29const R_LARCH_SOP_PUSH_TLS_GD R_LARCH = 28const R_LARCH_SOP_PUSH_TLS_GOT R_LARCH = 27const R_LARCH_SOP_PUSH_TLS_TPREL R_LARCH = 26const R_LARCH_SOP_SL R_LARCH = 33const R_LARCH_SOP_SR R_LARCH = 34const R_LARCH_SOP_SUB R_LARCH = 32const R_LARCH_SUB16 R_LARCH = 53const R_LARCH_SUB24 R_LARCH = 54const R_LARCH_SUB32 R_LARCH = 55const R_LARCH_SUB6 R_LARCH = 106const R_LARCH_SUB64 R_LARCH = 56const R_LARCH_SUB8 R_LARCH = 52const R_LARCH_SUB_ULEB128 R_LARCH = 108const R_LARCH_TLS_DTPMOD32 R_LARCH = 6const R_LARCH_TLS_DTPMOD64 R_LARCH = 7const R_LARCH_TLS_DTPREL32 R_LARCH = 8const R_LARCH_TLS_DTPREL64 R_LARCH = 9const R_LARCH_TLS_GD_HI20 R_LARCH = 98const R_LARCH_TLS_GD_PC_HI20 R_LARCH = 97const R_LARCH_TLS_IE64_HI12 R_LARCH = 94const R_LARCH_TLS_IE64_LO20 R_LARCH = 93const R_LARCH_TLS_IE64_PC_HI12 R_LARCH = 90const R_LARCH_TLS_IE64_PC_LO20 R_LARCH = 89const R_LARCH_TLS_IE_HI20 R_LARCH = 91const R_LARCH_TLS_IE_LO12 R_LARCH = 92const R_LARCH_TLS_IE_PC_HI20 R_LARCH = 87const R_LARCH_TLS_IE_PC_LO12 R_LARCH = 88const R_LARCH_TLS_LD_HI20 R_LARCH = 96const R_LARCH_TLS_LD_PC_HI20 R_LARCH = 95const R_LARCH_TLS_LE64_HI12 R_LARCH = 86const R_LARCH_TLS_LE64_LO20 R_LARCH = 85const R_LARCH_TLS_LE_HI20 R_LARCH = 83const R_LARCH_TLS_LE_LO12 R_LARCH = 84const R_LARCH_TLS_TPREL32 R_LARCH = 10const R_LARCH_TLS_TPREL64 R_LARCH = 11const R_MIPS_16 R_MIPS = 1const R_MIPS_26 R_MIPS = 4const R_MIPS_32 R_MIPS = 2const R_MIPS_64 R_MIPS = 18const R_MIPS_ADD_IMMEDIATE R_MIPS = 34const R_MIPS_CALL16 R_MIPS = 11const R_MIPS_CALL_HI16 R_MIPS = 30const R_MIPS_CALL_LO16 R_MIPS = 31const R_MIPS_DELETE R_MIPS = 27const R_MIPS_GOT16 R_MIPS = 9const R_MIPS_GOT_DISP R_MIPS = 19const R_MIPS_GOT_HI16 R_MIPS = 22const R_MIPS_GOT_LO16 R_MIPS = 23const R_MIPS_GOT_OFST R_MIPS = 21const R_MIPS_GOT_PAGE R_MIPS = 20const R_MIPS_GPREL16 R_MIPS = 7const R_MIPS_GPREL32 R_MIPS = 12const R_MIPS_HI16 R_MIPS = 5const R_MIPS_HIGHER R_MIPS = 28const R_MIPS_HIGHEST R_MIPS = 29const R_MIPS_INSERT_A R_MIPS = 25const R_MIPS_INSERT_B R_MIPS = 26const R_MIPS_JALR R_MIPS = 37const R_MIPS_LITERAL R_MIPS = 8const R_MIPS_LO16 R_MIPS = 6const R_MIPS_NONE R_MIPS = 0const R_MIPS_PC16 R_MIPS = 10const R_MIPS_PC32 R_MIPS = 248const R_MIPS_PJUMP R_MIPS = 35const R_MIPS_REL16 R_MIPS = 33const R_MIPS_REL32 R_MIPS = 3const R_MIPS_RELGOT R_MIPS = 36const R_MIPS_SCN_DISP R_MIPS = 32const R_MIPS_SHIFT5 R_MIPS = 16const R_MIPS_SHIFT6 R_MIPS = 17const R_MIPS_SUB R_MIPS = 24const R_MIPS_TLS_DTPMOD32 R_MIPS = 38const R_MIPS_TLS_DTPMOD64 R_MIPS = 40const R_MIPS_TLS_DTPREL32 R_MIPS = 39const R_MIPS_TLS_DTPREL64 R_MIPS = 41const R_MIPS_TLS_DTPREL_HI16 R_MIPS = 44const R_MIPS_TLS_DTPREL_LO16 R_MIPS = 45const R_MIPS_TLS_GD R_MIPS = 42const R_MIPS_TLS_GOTTPREL R_MIPS = 46const R_MIPS_TLS_LDM R_MIPS = 43const R_MIPS_TLS_TPREL32 R_MIPS = 47const R_MIPS_TLS_TPREL64 R_MIPS = 48const R_MIPS_TLS_TPREL_HI16 R_MIPS = 49const R_MIPS_TLS_TPREL_LO16 R_MIPS = 50const R_PPC64_ADDR14 R_PPC64 = 7const R_PPC64_ADDR14_BRNTAKEN R_PPC64 = 9const R_PPC64_ADDR14_BRTAKEN R_PPC64 = 8const R_PPC64_ADDR16 R_PPC64 = 3const R_PPC64_ADDR16_DS R_PPC64 = 56const R_PPC64_ADDR16_HA R_PPC64 = 6const R_PPC64_ADDR16_HI R_PPC64 = 5const R_PPC64_ADDR16_HIGH R_PPC64 = 110const R_PPC64_ADDR16_HIGHA R_PPC64 = 111const R_PPC64_ADDR16_HIGHER R_PPC64 = 39const R_PPC64_ADDR16_HIGHER34 R_PPC64 = 136const R_PPC64_ADDR16_HIGHERA R_PPC64 = 40const R_PPC64_ADDR16_HIGHERA34 R_PPC64 = 137const R_PPC64_ADDR16_HIGHEST R_PPC64 = 41const R_PPC64_ADDR16_HIGHEST34 R_PPC64 = 138const R_PPC64_ADDR16_HIGHESTA R_PPC64 = 42const R_PPC64_ADDR16_HIGHESTA34 R_PPC64 = 139const R_PPC64_ADDR16_LO R_PPC64 = 4const R_PPC64_ADDR16_LO_DS R_PPC64 = 57const R_PPC64_ADDR24 R_PPC64 = 2const R_PPC64_ADDR32 R_PPC64 = 1const R_PPC64_ADDR64 R_PPC64 = 38const R_PPC64_ADDR64_LOCAL R_PPC64 = 117const R_PPC64_COPY R_PPC64 = 19const R_PPC64_D28 R_PPC64 = 144const R_PPC64_D34 R_PPC64 = 128const R_PPC64_D34_HA30 R_PPC64 = 131const R_PPC64_D34_HI30 R_PPC64 = 130const R_PPC64_D34_LO R_PPC64 = 129const R_PPC64_DTPMOD64 R_PPC64 = 68const R_PPC64_DTPREL16 R_PPC64 = 74const R_PPC64_DTPREL16_DS R_PPC64 = 101const R_PPC64_DTPREL16_HA R_PPC64 = 77const R_PPC64_DTPREL16_HI R_PPC64 = 76const R_PPC64_DTPREL16_HIGH R_PPC64 = 114const R_PPC64_DTPREL16_HIGHA R_PPC64 = 115const R_PPC64_DTPREL16_HIGHER R_PPC64 = 103const R_PPC64_DTPREL16_HIGHERA R_PPC64 = 104const R_PPC64_DTPREL16_HIGHEST R_PPC64 = 105const R_PPC64_DTPREL16_HIGHESTA R_PPC64 = 106const R_PPC64_DTPREL16_LO R_PPC64 = 75const R_PPC64_DTPREL16_LO_DS R_PPC64 = 102const R_PPC64_DTPREL34 R_PPC64 = 147const R_PPC64_DTPREL64 R_PPC64 = 78const R_PPC64_ENTRY R_PPC64 = 118const R_PPC64_GLOB_DAT R_PPC64 = 20const R_PPC64_GNU_VTENTRY R_PPC64 = 254const R_PPC64_GNU_VTINHERIT R_PPC64 = 253const R_PPC64_GOT16 R_PPC64 = 14const R_PPC64_GOT16_DS R_PPC64 = 58const R_PPC64_GOT16_HA R_PPC64 = 17const R_PPC64_GOT16_HI R_PPC64 = 16const R_PPC64_GOT16_LO R_PPC64 = 15const R_PPC64_GOT16_LO_DS R_PPC64 = 59const R_PPC64_GOT_DTPREL16_DS R_PPC64 = 91const R_PPC64_GOT_DTPREL16_HA R_PPC64 = 94const R_PPC64_GOT_DTPREL16_HI R_PPC64 = 93const R_PPC64_GOT_DTPREL16_LO_DS R_PPC64 = 92const R_PPC64_GOT_DTPREL_PCREL34 R_PPC64 = 151const R_PPC64_GOT_PCREL34 R_PPC64 = 133const R_PPC64_GOT_TLSGD16 R_PPC64 = 79const R_PPC64_GOT_TLSGD16_HA R_PPC64 = 82const R_PPC64_GOT_TLSGD16_HI R_PPC64 = 81const R_PPC64_GOT_TLSGD16_LO R_PPC64 = 80const R_PPC64_GOT_TLSGD_PCREL34 R_PPC64 = 148const R_PPC64_GOT_TLSLD16 R_PPC64 = 83const R_PPC64_GOT_TLSLD16_HA R_PPC64 = 86const R_PPC64_GOT_TLSLD16_HI R_PPC64 = 85const R_PPC64_GOT_TLSLD16_LO R_PPC64 = 84const R_PPC64_GOT_TLSLD_PCREL34 R_PPC64 = 149const R_PPC64_GOT_TPREL16_DS R_PPC64 = 87const R_PPC64_GOT_TPREL16_HA R_PPC64 = 90const R_PPC64_GOT_TPREL16_HI R_PPC64 = 89const R_PPC64_GOT_TPREL16_LO_DS R_PPC64 = 88const R_PPC64_GOT_TPREL_PCREL34 R_PPC64 = 150const R_PPC64_IRELATIVE R_PPC64 = 248const R_PPC64_JMP_IREL R_PPC64 = 247const R_PPC64_JMP_SLOT R_PPC64 = 21const R_PPC64_NONE R_PPC64 = 0const R_PPC64_PCREL28 R_PPC64 = 145const R_PPC64_PCREL34 R_PPC64 = 132const R_PPC64_PCREL_OPT R_PPC64 = 123const R_PPC64_PLT16_HA R_PPC64 = 31const R_PPC64_PLT16_HI R_PPC64 = 30const R_PPC64_PLT16_LO R_PPC64 = 29const R_PPC64_PLT16_LO_DS R_PPC64 = 60const R_PPC64_PLT32 R_PPC64 = 27const R_PPC64_PLT64 R_PPC64 = 45const R_PPC64_PLTCALL R_PPC64 = 120const R_PPC64_PLTCALL_NOTOC R_PPC64 = 122const R_PPC64_PLTGOT16 R_PPC64 = 52const R_PPC64_PLTGOT16_DS R_PPC64 = 65const R_PPC64_PLTGOT16_HA R_PPC64 = 55const R_PPC64_PLTGOT16_HI R_PPC64 = 54const R_PPC64_PLTGOT16_LO R_PPC64 = 53const R_PPC64_PLTGOT_LO_DS R_PPC64 = 66const R_PPC64_PLTREL32 R_PPC64 = 28const R_PPC64_PLTREL64 R_PPC64 = 46const R_PPC64_PLTSEQ R_PPC64 = 119const R_PPC64_PLTSEQ_NOTOC R_PPC64 = 121const R_PPC64_PLT_PCREL34 R_PPC64 = 134const R_PPC64_PLT_PCREL34_NOTOC R_PPC64 = 135const R_PPC64_REL14 R_PPC64 = 11const R_PPC64_REL14_BRNTAKEN R_PPC64 = 13const R_PPC64_REL14_BRTAKEN R_PPC64 = 12const R_PPC64_REL16 R_PPC64 = 249const R_PPC64_REL16DX_HA R_PPC64 = 246const R_PPC64_REL16_HA R_PPC64 = 252const R_PPC64_REL16_HI R_PPC64 = 251const R_PPC64_REL16_HIGH R_PPC64 = 240const R_PPC64_REL16_HIGHA R_PPC64 = 241const R_PPC64_REL16_HIGHER R_PPC64 = 242const R_PPC64_REL16_HIGHER34 R_PPC64 = 140const R_PPC64_REL16_HIGHERA R_PPC64 = 243const R_PPC64_REL16_HIGHERA34 R_PPC64 = 141const R_PPC64_REL16_HIGHEST R_PPC64 = 244const R_PPC64_REL16_HIGHEST34 R_PPC64 = 142const R_PPC64_REL16_HIGHESTA R_PPC64 = 245const R_PPC64_REL16_HIGHESTA34 R_PPC64 = 143const R_PPC64_REL16_LO R_PPC64 = 250const R_PPC64_REL24 R_PPC64 = 10const R_PPC64_REL24_NOTOC R_PPC64 = 116const R_PPC64_REL24_P9NOTOC R_PPC64 = 124const R_PPC64_REL30 R_PPC64 = 37const R_PPC64_REL32 R_PPC64 = 26const R_PPC64_REL64 R_PPC64 = 44const R_PPC64_RELATIVE R_PPC64 = 22const R_PPC64_SECTOFF R_PPC64 = 33const R_PPC64_SECTOFF_DS R_PPC64 = 61const R_PPC64_SECTOFF_HA R_PPC64 = 36const R_PPC64_SECTOFF_HI R_PPC64 = 35const R_PPC64_SECTOFF_LO R_PPC64 = 34const R_PPC64_SECTOFF_LO_DS R_PPC64 = 62const R_PPC64_TLS R_PPC64 = 67const R_PPC64_TLSGD R_PPC64 = 107const R_PPC64_TLSLD R_PPC64 = 108const R_PPC64_TOC R_PPC64 = 51const R_PPC64_TOC16 R_PPC64 = 47const R_PPC64_TOC16_DS R_PPC64 = 63const R_PPC64_TOC16_HA R_PPC64 = 50const R_PPC64_TOC16_HI R_PPC64 = 49const R_PPC64_TOC16_LO R_PPC64 = 48const R_PPC64_TOC16_LO_DS R_PPC64 = 64const R_PPC64_TOCSAVE R_PPC64 = 109const R_PPC64_TPREL16 R_PPC64 = 69const R_PPC64_TPREL16_DS R_PPC64 = 95const R_PPC64_TPREL16_HA R_PPC64 = 72const R_PPC64_TPREL16_HI R_PPC64 = 71const R_PPC64_TPREL16_HIGH R_PPC64 = 112const R_PPC64_TPREL16_HIGHA R_PPC64 = 113const R_PPC64_TPREL16_HIGHER R_PPC64 = 97const R_PPC64_TPREL16_HIGHERA R_PPC64 = 98const R_PPC64_TPREL16_HIGHEST R_PPC64 = 99const R_PPC64_TPREL16_HIGHESTA R_PPC64 = 100const R_PPC64_TPREL16_LO R_PPC64 = 70const R_PPC64_TPREL16_LO_DS R_PPC64 = 96const R_PPC64_TPREL34 R_PPC64 = 146const R_PPC64_TPREL64 R_PPC64 = 73const R_PPC64_UADDR16 R_PPC64 = 25const R_PPC64_UADDR32 R_PPC64 = 24const R_PPC64_UADDR64 R_PPC64 = 43const R_PPC_ADDR14 R_PPC = 7const R_PPC_ADDR14_BRNTAKEN R_PPC = 9const R_PPC_ADDR14_BRTAKEN R_PPC = 8const R_PPC_ADDR16 R_PPC = 3const R_PPC_ADDR16_HA R_PPC = 6const R_PPC_ADDR16_HI R_PPC = 5const R_PPC_ADDR16_LO R_PPC = 4const R_PPC_ADDR24 R_PPC = 2const R_PPC_ADDR32 R_PPC = 1const R_PPC_COPY R_PPC = 19const R_PPC_DTPMOD32 R_PPC = 68const R_PPC_DTPREL16 R_PPC = 74const R_PPC_DTPREL16_HA R_PPC = 77const R_PPC_DTPREL16_HI R_PPC = 76const R_PPC_DTPREL16_LO R_PPC = 75const R_PPC_DTPREL32 R_PPC = 78const R_PPC_EMB_BIT_FLD R_PPC = 115const R_PPC_EMB_MRKREF R_PPC = 110const R_PPC_EMB_NADDR16 R_PPC = 102const R_PPC_EMB_NADDR16_HA R_PPC = 105const R_PPC_EMB_NADDR16_HI R_PPC = 104const R_PPC_EMB_NADDR16_LO R_PPC = 103const R_PPC_EMB_NADDR32 R_PPC = 101const R_PPC_EMB_RELSDA R_PPC = 116const R_PPC_EMB_RELSEC16 R_PPC = 111const R_PPC_EMB_RELST_HA R_PPC = 114const R_PPC_EMB_RELST_HI R_PPC = 113const R_PPC_EMB_RELST_LO R_PPC = 112const R_PPC_EMB_SDA21 R_PPC = 109const R_PPC_EMB_SDA2I16 R_PPC = 107const R_PPC_EMB_SDA2REL R_PPC = 108const R_PPC_EMB_SDAI16 R_PPC = 106const R_PPC_GLOB_DAT R_PPC = 20const R_PPC_GOT16 R_PPC = 14const R_PPC_GOT16_HA R_PPC = 17const R_PPC_GOT16_HI R_PPC = 16const R_PPC_GOT16_LO R_PPC = 15const R_PPC_GOT_TLSGD16 R_PPC = 79const R_PPC_GOT_TLSGD16_HA R_PPC = 82const R_PPC_GOT_TLSGD16_HI R_PPC = 81const R_PPC_GOT_TLSGD16_LO R_PPC = 80const R_PPC_GOT_TLSLD16 R_PPC = 83const R_PPC_GOT_TLSLD16_HA R_PPC = 86const R_PPC_GOT_TLSLD16_HI R_PPC = 85const R_PPC_GOT_TLSLD16_LO R_PPC = 84const R_PPC_GOT_TPREL16 R_PPC = 87const R_PPC_GOT_TPREL16_HA R_PPC = 90const R_PPC_GOT_TPREL16_HI R_PPC = 89const R_PPC_GOT_TPREL16_LO R_PPC = 88const R_PPC_JMP_SLOT R_PPC = 21const R_PPC_LOCAL24PC R_PPC = 23const R_PPC_NONE R_PPC = 0const R_PPC_PLT16_HA R_PPC = 31const R_PPC_PLT16_HI R_PPC = 30const R_PPC_PLT16_LO R_PPC = 29const R_PPC_PLT32 R_PPC = 27const R_PPC_PLTREL24 R_PPC = 18const R_PPC_PLTREL32 R_PPC = 28const R_PPC_REL14 R_PPC = 11const R_PPC_REL14_BRNTAKEN R_PPC = 13const R_PPC_REL14_BRTAKEN R_PPC = 12const R_PPC_REL24 R_PPC = 10const R_PPC_REL32 R_PPC = 26const R_PPC_RELATIVE R_PPC = 22const R_PPC_SDAREL16 R_PPC = 32const R_PPC_SECTOFF R_PPC = 33const R_PPC_SECTOFF_HA R_PPC = 36const R_PPC_SECTOFF_HI R_PPC = 35const R_PPC_SECTOFF_LO R_PPC = 34const R_PPC_TLS R_PPC = 67const R_PPC_TPREL16 R_PPC = 69const R_PPC_TPREL16_HA R_PPC = 72const R_PPC_TPREL16_HI R_PPC = 71const R_PPC_TPREL16_LO R_PPC = 70const R_PPC_TPREL32 R_PPC = 73const R_PPC_UADDR16 R_PPC = 25const R_PPC_UADDR32 R_PPC = 24const R_RISCV_32 R_RISCV = 1const R_RISCV_32_PCREL R_RISCV = 57const R_RISCV_64 R_RISCV = 2const R_RISCV_ADD16 R_RISCV = 34const R_RISCV_ADD32 R_RISCV = 35const R_RISCV_ADD64 R_RISCV = 36const R_RISCV_ADD8 R_RISCV = 33const R_RISCV_ALIGN R_RISCV = 43const R_RISCV_BRANCH R_RISCV = 16const R_RISCV_CALL R_RISCV = 18const R_RISCV_CALL_PLT R_RISCV = 19const R_RISCV_COPY R_RISCV = 4const R_RISCV_GNU_VTENTRY R_RISCV = 42const R_RISCV_GNU_VTINHERIT R_RISCV = 41const R_RISCV_GOT_HI20 R_RISCV = 20const R_RISCV_GPREL_I R_RISCV = 47const R_RISCV_GPREL_S R_RISCV = 48const R_RISCV_HI20 R_RISCV = 26const R_RISCV_JAL R_RISCV = 17const R_RISCV_JUMP_SLOT R_RISCV = 5const R_RISCV_LO12_I R_RISCV = 27const R_RISCV_LO12_S R_RISCV = 28const R_RISCV_NONE R_RISCV = 0const R_RISCV_PCREL_HI20 R_RISCV = 23const R_RISCV_PCREL_LO12_I R_RISCV = 24const R_RISCV_PCREL_LO12_S R_RISCV = 25const R_RISCV_RELATIVE R_RISCV = 3const R_RISCV_RELAX R_RISCV = 51const R_RISCV_RVC_BRANCH R_RISCV = 44const R_RISCV_RVC_JUMP R_RISCV = 45const R_RISCV_RVC_LUI R_RISCV = 46const R_RISCV_SET16 R_RISCV = 55const R_RISCV_SET32 R_RISCV = 56const R_RISCV_SET6 R_RISCV = 53const R_RISCV_SET8 R_RISCV = 54const R_RISCV_SUB16 R_RISCV = 38const R_RISCV_SUB32 R_RISCV = 39const R_RISCV_SUB6 R_RISCV = 52const R_RISCV_SUB64 R_RISCV = 40const R_RISCV_SUB8 R_RISCV = 37const R_RISCV_TLS_DTPMOD32 R_RISCV = 6const R_RISCV_TLS_DTPMOD64 R_RISCV = 7const R_RISCV_TLS_DTPREL32 R_RISCV = 8const R_RISCV_TLS_DTPREL64 R_RISCV = 9const R_RISCV_TLS_GD_HI20 R_RISCV = 22const R_RISCV_TLS_GOT_HI20 R_RISCV = 21const R_RISCV_TLS_TPREL32 R_RISCV = 10const R_RISCV_TLS_TPREL64 R_RISCV = 11const R_RISCV_TPREL_ADD R_RISCV = 32const R_RISCV_TPREL_HI20 R_RISCV = 29const R_RISCV_TPREL_I R_RISCV = 49const R_RISCV_TPREL_LO12_I R_RISCV = 30const R_RISCV_TPREL_LO12_S R_RISCV = 31const R_RISCV_TPREL_S R_RISCV = 50const R_SPARC_10 R_SPARC = 30const R_SPARC_11 R_SPARC = 31const R_SPARC_13 R_SPARC = 11const R_SPARC_16 R_SPARC = 2const R_SPARC_22 R_SPARC = 10const R_SPARC_32 R_SPARC = 3const R_SPARC_5 R_SPARC = 44const R_SPARC_6 R_SPARC = 45const R_SPARC_64 R_SPARC = 32const R_SPARC_7 R_SPARC = 43const R_SPARC_8 R_SPARC = 1const R_SPARC_COPY R_SPARC = 19const R_SPARC_DISP16 R_SPARC = 5const R_SPARC_DISP32 R_SPARC = 6const R_SPARC_DISP64 R_SPARC = 46const R_SPARC_DISP8 R_SPARC = 4const R_SPARC_GLOB_DAT R_SPARC = 20const R_SPARC_GLOB_JMP R_SPARC = 42const R_SPARC_GOT10 R_SPARC = 13const R_SPARC_GOT13 R_SPARC = 14const R_SPARC_GOT22 R_SPARC = 15const R_SPARC_H44 R_SPARC = 50const R_SPARC_HH22 R_SPARC = 34const R_SPARC_HI22 R_SPARC = 9const R_SPARC_HIPLT22 R_SPARC = 25const R_SPARC_HIX22 R_SPARC = 48const R_SPARC_HM10 R_SPARC = 35const R_SPARC_JMP_SLOT R_SPARC = 21const R_SPARC_L44 R_SPARC = 52const R_SPARC_LM22 R_SPARC = 36const R_SPARC_LO10 R_SPARC = 12const R_SPARC_LOPLT10 R_SPARC = 26const R_SPARC_LOX10 R_SPARC = 49const R_SPARC_M44 R_SPARC = 51const R_SPARC_NONE R_SPARC = 0const R_SPARC_OLO10 R_SPARC = 33const R_SPARC_PC10 R_SPARC = 16const R_SPARC_PC22 R_SPARC = 17const R_SPARC_PCPLT10 R_SPARC = 29const R_SPARC_PCPLT22 R_SPARC = 28const R_SPARC_PCPLT32 R_SPARC = 27const R_SPARC_PC_HH22 R_SPARC = 37const R_SPARC_PC_HM10 R_SPARC = 38const R_SPARC_PC_LM22 R_SPARC = 39const R_SPARC_PLT32 R_SPARC = 24const R_SPARC_PLT64 R_SPARC = 47const R_SPARC_REGISTER R_SPARC = 53const R_SPARC_RELATIVE R_SPARC = 22const R_SPARC_UA16 R_SPARC = 55const R_SPARC_UA32 R_SPARC = 23const R_SPARC_UA64 R_SPARC = 54const R_SPARC_WDISP16 R_SPARC = 40const R_SPARC_WDISP19 R_SPARC = 41const R_SPARC_WDISP22 R_SPARC = 8const R_SPARC_WDISP30 R_SPARC = 7const R_SPARC_WPLT30 R_SPARC = 18const R_X86_64_16 R_X86_64 = 12const R_X86_64_32 R_X86_64 = 10const R_X86_64_32S R_X86_64 = 11const R_X86_64_64 R_X86_64 = 1const R_X86_64_8 R_X86_64 = 14const R_X86_64_COPY R_X86_64 = 5const R_X86_64_DTPMOD64 R_X86_64 = 16const R_X86_64_DTPOFF32 R_X86_64 = 21const R_X86_64_DTPOFF64 R_X86_64 = 17const R_X86_64_GLOB_DAT R_X86_64 = 6const R_X86_64_GOT32 R_X86_64 = 3const R_X86_64_GOT64 R_X86_64 = 27const R_X86_64_GOTOFF64 R_X86_64 = 25const R_X86_64_GOTPC32 R_X86_64 = 26const R_X86_64_GOTPC32_TLSDESC R_X86_64 = 34const R_X86_64_GOTPC64 R_X86_64 = 29const R_X86_64_GOTPCREL R_X86_64 = 9const R_X86_64_GOTPCREL64 R_X86_64 = 28const R_X86_64_GOTPCRELX R_X86_64 = 41const R_X86_64_GOTPLT64 R_X86_64 = 30const R_X86_64_GOTTPOFF R_X86_64 = 22const R_X86_64_IRELATIVE R_X86_64 = 37const R_X86_64_JMP_SLOT R_X86_64 = 7const R_X86_64_NONE R_X86_64 = 0const R_X86_64_PC16 R_X86_64 = 13const R_X86_64_PC32 R_X86_64 = 2const R_X86_64_PC32_BND R_X86_64 = 39const R_X86_64_PC64 R_X86_64 = 24const R_X86_64_PC8 R_X86_64 = 15const R_X86_64_PLT32 R_X86_64 = 4const R_X86_64_PLT32_BND R_X86_64 = 40const R_X86_64_PLTOFF64 R_X86_64 = 31const R_X86_64_RELATIVE R_X86_64 = 8const R_X86_64_RELATIVE64 R_X86_64 = 38const R_X86_64_REX_GOTPCRELX R_X86_64 = 42const R_X86_64_SIZE32 R_X86_64 = 32const R_X86_64_SIZE64 R_X86_64 = 33const R_X86_64_TLSDESC R_X86_64 = 36const R_X86_64_TLSDESC_CALL R_X86_64 = 35const R_X86_64_TLSGD R_X86_64 = 19const R_X86_64_TLSLD R_X86_64 = 20const R_X86_64_TPOFF32 R_X86_64 = 23const R_X86_64_TPOFF64 R_X86_64 = 18const SHF_ALLOC SectionFlag = 0x2const SHF_COMPRESSED SectionFlag = 0x800const SHF_EXECINSTR SectionFlag = 0x4const SHF_GROUP SectionFlag = 0x200const SHF_INFO_LINK SectionFlag = 0x40const SHF_LINK_ORDER SectionFlag = 0x80const SHF_MASKOS SectionFlag = 0x0ff00000const SHF_MASKPROC SectionFlag = 0xf0000000const SHF_MERGE SectionFlag = 0x10const SHF_OS_NONCONFORMING SectionFlag = 0x100const SHF_STRINGS SectionFlag = 0x20const SHF_TLS SectionFlag = 0x400const SHF_WRITE SectionFlag = 0x1const SHN_ABS SectionIndex = 0xfff1const SHN_COMMON SectionIndex = 0xfff2const SHN_HIOS SectionIndex = 0xff3fconst SHN_HIPROC SectionIndex = 0xff1fconst SHN_HIRESERVE SectionIndex = 0xffffconst SHN_LOOS SectionIndex = 0xff20const SHN_LOPROC SectionIndex = 0xff00const SHN_LORESERVE SectionIndex = 0xff00const SHN_UNDEF SectionIndex = 0const SHN_XINDEX SectionIndex = 0xffffconst SHT_DYNAMIC SectionType = 6const SHT_DYNSYM SectionType = 11const SHT_FINI_ARRAY SectionType = 15const SHT_GNU_ATTRIBUTES SectionType = 0x6ffffff5const SHT_GNU_HASH SectionType = 0x6ffffff6const SHT_GNU_LIBLIST SectionType = 0x6ffffff7const SHT_GNU_VERDEF SectionType = 0x6ffffffdconst SHT_GNU_VERNEED SectionType = 0x6ffffffeconst SHT_GNU_VERSYM SectionType = 0x6fffffffconst SHT_GROUP SectionType = 17const SHT_HASH SectionType = 5const SHT_HIOS SectionType = 0x6fffffffconst SHT_HIPROC SectionType = 0x7fffffffconst SHT_HIUSER SectionType = 0xffffffffconst SHT_INIT_ARRAY SectionType = 14const SHT_LOOS SectionType = 0x60000000const SHT_LOPROC SectionType = 0x70000000const SHT_LOUSER SectionType = 0x80000000const SHT_MIPS_ABIFLAGS SectionType = 0x7000002aconst SHT_NOBITS SectionType = 8const SHT_NOTE SectionType = 7const SHT_NULL SectionType = 0const SHT_PREINIT_ARRAY SectionType = 16const SHT_PROGBITS SectionType = 1const SHT_REL SectionType = 9const SHT_RELA SectionType = 4const SHT_SHLIB SectionType = 10const SHT_STRTAB SectionType = 3const SHT_SYMTAB SectionType = 2const SHT_SYMTAB_SHNDX SectionType = 18const STB_GLOBAL SymBind = 1const STB_HIOS SymBind = 12const STB_HIPROC SymBind = 15const STB_LOCAL SymBind = 0const STB_LOOS SymBind = 10const STB_LOPROC SymBind = 13const STB_WEAK SymBind = 2const STT_COMMON SymType = 5const STT_FILE SymType = 4const STT_FUNC SymType = 2const STT_GNU_IFUNC SymType = 10const STT_HIOS SymType = 12const STT_HIPROC SymType = 15const STT_LOOS SymType = 10const STT_LOPROC SymType = 13const STT_NOTYPE SymType = 0const STT_OBJECT SymType = 1Non-standard symbol types.
const STT_RELC SymType = 8const STT_SECTION SymType = 3const STT_SRELC SymType = 9const STT_TLS SymType = 6const STV_DEFAULT SymVis = 0x0const STV_HIDDEN SymVis = 0x2const STV_INTERNAL SymVis = 0x1const STV_PROTECTED SymVis = 0x3const Sym32Size = 16const Sym64Size = 24const VER_FLG_BASE DynamicVersionFlag = 0x1const VER_FLG_INFO DynamicVersionFlag = 0x4const VER_FLG_WEAK DynamicVersionFlag = 0x2var classStrings = []intName{...}var compressionStrings = []intName{...}var dataStrings = []intName{...}var dflag1Strings = []intName{...}var dflagStrings = []intName{...}var dtStrings = []intName{...}var machineStrings = []intName{...}var ntypeStrings = []intName{...}var osabiStrings = []intName{...}var pfStrings = []intName{...}var ptStrings = []intName{...}var r386Strings = []intName{...}var r390Strings = []intName{...}var raarch64Strings = []intName{...}var ralphaStrings = []intName{...}var rarmStrings = []intName{...}var rlarchStrings = []intName{...}var rmipsStrings = []intName{...}var rppc64Strings = []intName{...}var rppcStrings = []intName{...}var rriscvStrings = []intName{...}var rsparcStrings = []intName{...}var rx86_64Strings = []intName{...}var shfStrings = []intName{...}var shnStrings = []intName{...}var shtStrings = []intName{...}var stbStrings = []intName{...}var sttStrings = []intName{...}var stvStrings = []intName{...}var typeStrings = []intName{...}var versionStrings = []intName{...}Class is found in Header.Ident[EI_CLASS] and Header.Class.
type Class byteSection compression type.
type CompressionType intData is found in Header.Ident[EI_DATA] and Header.Data.
type Data byteDT_FLAGS values.
type DynFlag intDT_FLAGS_1 values.
type DynFlag1 uint32Dyn.Tag
type DynTag intDynamic version flags.
type DynamicVersionFlag uint16Machine is found in Header.Machine.
type Machine uint16NType values; used in core files.
type NType intOSABI is found in Header.Ident[EI_OSABI] and Header.OSABI.
type OSABI byteProg.Flag
type ProgFlag uint32Prog.Type
type ProgType intRelocation types for 386.
type R_386 intRelocation types for s390x processors.
type R_390 intRelocation types for AArch64 (aka arm64)
type R_AARCH64 intRelocation types for Alpha.
type R_ALPHA intRelocation types for ARM.
type R_ARM intRelocation types for LoongArch.
type R_LARCH intRelocation types for MIPS.
type R_MIPS intRelocation types for PowerPC. Values that are shared by both R_PPC and R_PPC64 are prefixed with R_POWERPC_ in the ELF standard. For the R_PPC type, the relevant shared relocations have been renamed with the prefix R_PPC_. The original name follows the value in a comment.
type R_PPC intRelocation types for 64-bit PowerPC or Power Architecture processors. Values that are shared by both R_PPC and R_PPC64 are prefixed with R_POWERPC_ in the ELF standard. For the R_PPC64 type, the relevant shared relocations have been renamed with the prefix R_PPC64_. The original name follows the value in a comment.
type R_PPC64 intRelocation types for RISC-V processors.
type R_RISCV intRelocation types for SPARC.
type R_SPARC intRelocation types for x86-64.
type R_X86_64 intSection flags.
type SectionFlag uint32Special section indices.
type SectionIndex intSection type.
type SectionType uint32Symbol Binding - ELFNN_ST_BIND - st_info
type SymBind intSymbol type - ELFNN_ST_TYPE - st_info
type SymType intSymbol visibility - ELFNN_ST_VISIBILITY - st_other
type SymVis intType is found in Header.Type.
type Type uint16Version is found in Header.Ident[EI_VERSION] and Header.Version.
type Version byteVersionIndex is the type of a [Symbol] version index.
type VersionIndex uint16ELF32 Compression header.
type Chdr32 struct {
Type uint32
Size uint32
Addralign uint32
}ELF64 Compression header.
type Chdr64 struct {
Type uint32
_ uint32
Size uint64
Addralign uint64
}ELF32 Dynamic structure. The ".dynamic" section contains an array of them.
type Dyn32 struct {
Tag int32
Val uint32
}ELF64 Dynamic structure. The ".dynamic" section contains an array of them.
type Dyn64 struct {
Tag int64
Val uint64
}DynamicVersion is a version defined by a dynamic object. This describes entries in the ELF SHT_GNU_verdef section. We assume that the vd_version field is 1. Note that the name of the version appears here; it is not in the first Deps entry as it is in the ELF file.
type DynamicVersion struct {
Name string
Index uint16
Flags DynamicVersionFlag
Deps []string
}DynamicVersionDep is a version needed from some shared library.
type DynamicVersionDep struct {
Flags DynamicVersionFlag
Index uint16
Dep string
}DynamicVersionNeed describes a shared library needed by a dynamic object, with a list of the versions needed from that shared library. This describes entries in the ELF SHT_GNU_verneed section. We assume that the vn_version field is 1.
type DynamicVersionNeed struct {
Name string
Needs []DynamicVersionDep
}A File represents an open ELF file.
type File struct {
FileHeader
Sections []*Section
Progs []*Prog
closer io.Closer
dynVers []DynamicVersion
dynVerNeeds []DynamicVersionNeed
gnuVersym []byte
}A FileHeader represents an ELF file header.
type FileHeader struct {
Class Class
Data Data
Version Version
OSABI OSABI
ABIVersion uint8
ByteOrder binary.ByteOrder
Type Type
Machine Machine
Entry uint64
}type FormatError struct {
off int64
msg string
val any
}ELF32 File header.
type Header32 struct {
Ident [EI_NIDENT]byte
Type uint16
Machine uint16
Version uint32
Entry uint32
Phoff uint32
Shoff uint32
Flags uint32
Ehsize uint16
Phentsize uint16
Phnum uint16
Shentsize uint16
Shnum uint16
Shstrndx uint16
}ELF64 file header.
type Header64 struct {
Ident [EI_NIDENT]byte
Type uint16
Machine uint16
Version uint32
Entry uint64
Phoff uint64
Shoff uint64
Flags uint32
Ehsize uint16
Phentsize uint16
Phnum uint16
Shentsize uint16
Shnum uint16
Shstrndx uint16
}type ImportedSymbol struct {
Name string
Version string
Library string
}A Prog represents a single ELF program header in an ELF binary.
type Prog struct {
ProgHeader
io.ReaderAt
sr *io.SectionReader
}ELF32 Program header.
type Prog32 struct {
Type uint32
Off uint32
Vaddr uint32
Paddr uint32
Filesz uint32
Memsz uint32
Flags uint32
Align uint32
}ELF64 Program header.
type Prog64 struct {
Type uint32
Flags uint32
Off uint64
Vaddr uint64
Paddr uint64
Filesz uint64
Memsz uint64
Align uint64
}A ProgHeader represents a single ELF program header.
type ProgHeader struct {
Type ProgType
Flags ProgFlag
Off uint64
Vaddr uint64
Paddr uint64
Filesz uint64
Memsz uint64
Align uint64
}ELF32 Relocations that don't need an addend field.
type Rel32 struct {
Off uint32
Info uint32
}ELF64 relocations that don't need an addend field.
type Rel64 struct {
Off uint64
Info uint64
}ELF32 Relocations that need an addend field.
type Rela32 struct {
Off uint32
Info uint32
Addend int32
}ELF64 relocations that need an addend field.
type Rela64 struct {
Off uint64
Info uint64
Addend int64
}A Section represents a single section in an ELF file.
type Section struct {
SectionHeader
io.ReaderAt
sr *io.SectionReader
compressionType CompressionType
compressionOffset int64
}ELF32 Section header.
type Section32 struct {
Name uint32
Type uint32
Flags uint32
Addr uint32
Off uint32
Size uint32
Link uint32
Info uint32
Addralign uint32
Entsize uint32
}ELF64 Section header.
type Section64 struct {
Name uint32
Type uint32
Flags uint64
Addr uint64
Off uint64
Size uint64
Link uint32
Info uint32
Addralign uint64
Entsize uint64
}A SectionHeader represents a single ELF section header.
type SectionHeader struct {
Name string
Type SectionType
Flags SectionFlag
Addr uint64
Offset uint64
Size uint64
Link uint32
Info uint32
Addralign uint64
Entsize uint64
FileSize uint64
}ELF32 Symbol.
type Sym32 struct {
Name uint32
Value uint32
Size uint32
Info uint8
Other uint8
Shndx uint16
}ELF64 symbol table entries.
type Sym64 struct {
Name uint32
Info uint8
Other uint8
Shndx uint16
Value uint64
Size uint64
}A Symbol represents an entry in an ELF symbol table section.
type Symbol struct {
Name string
Info byte
Other byte
HasVersion bool
VersionIndex VersionIndex
Section SectionIndex
Value uint64
Size uint64
Version string
Library string
}errorReader returns error from all operations.
type errorReader struct {
error
}type intName struct {
i uint32
s string
}type nobitsSectionReader struct {
}readSeekerFromReader converts an io.Reader into an io.ReadSeeker. In general Seek may not be efficient, but it is optimized for common cases such as seeking to the end to find the length of the data.
type readSeekerFromReader struct {
reset func() (io.Reader, error)
r io.Reader
size int64
offset int64
}Close closes the [File]. If the [File] was created using [NewFile] directly instead of [Open], Close has no effect.
func (f *File) Close() errorfunc (r errorReader) Close() errorfunc (f *File) DWARF() (*dwarf.Data, error)Data reads and returns the contents of the ELF section. Even if the section is stored compressed in the ELF file, Data returns uncompressed data. For an [SHT_NOBITS] section, Data always returns a non-nil error.
func (s *Section) Data() ([]byte, error)DynString returns the strings listed for the given tag in the file's dynamic section. The tag must be one that takes string values: [DT_NEEDED], [DT_SONAME], [DT_RPATH], or [DT_RUNPATH].
func (f *File) DynString(tag DynTag) ([]string, error)DynValue returns the values listed for the given tag in the file's dynamic section.
func (f *File) DynValue(tag DynTag) ([]uint64, error)DynamicSymbols returns the dynamic symbol table for f. The symbols will be listed in the order they appear in f. If f has a symbol version table, the returned [File.Symbols] will have initialized Version and Library fields. For compatibility with [File.Symbols], [File.DynamicSymbols] omits the null symbol at index 0. After retrieving the symbols as symtab, an externally supplied index x corresponds to symtab[x-1], not symtab[x].
func (f *File) DynamicSymbols() ([]Symbol, error)DynamicVersionNeeds returns version dependencies for a dynamic object.
func (f *File) DynamicVersionNeeds() ([]DynamicVersionNeed, error)DynamicVersions returns version information for a dynamic object.
func (f *File) DynamicVersions() ([]DynamicVersion, error)func (e *FormatError) Error() stringfunc (i NType) GoString() stringfunc (i R_PPC) GoString() stringfunc (i R_SPARC) GoString() stringfunc (i SectionIndex) GoString() stringfunc (i R_390) GoString() stringfunc (i SectionType) GoString() stringfunc (i R_RISCV) GoString() stringfunc (i SectionFlag) GoString() stringfunc (i Type) GoString() stringfunc (i CompressionType) GoString() stringfunc (i R_PPC64) GoString() stringfunc (i ProgType) GoString() stringfunc (i Machine) GoString() stringfunc (i ProgFlag) GoString() stringfunc (i OSABI) GoString() stringfunc (i DynTag) GoString() stringfunc (i Version) GoString() stringfunc (i DynFlag) GoString() stringfunc (i R_LARCH) GoString() stringfunc (i DynFlag1) GoString() stringfunc (i R_MIPS) GoString() stringfunc (i R_386) GoString() stringfunc (i Data) GoString() stringfunc (i SymBind) GoString() stringfunc (i R_ARM) GoString() stringfunc (i SymType) GoString() stringfunc (i R_ALPHA) GoString() stringfunc (i SymVis) GoString() stringfunc (i Class) GoString() stringfunc (i R_X86_64) GoString() stringfunc (i R_AARCH64) GoString() stringImportedLibraries returns the names of all libraries referred to by the binary f that are expected to be linked with the binary at dynamic link time.
func (f *File) ImportedLibraries() ([]string, error)ImportedSymbols returns the names of all symbols referred to by the binary f that are expected to be satisfied by other libraries at dynamic load time. It does not return weak symbols.
func (f *File) ImportedSymbols() ([]ImportedSymbol, error)Index returns the version index. If this is the value 0, it means that the symbol is local, and is not visible externally. If this is the value 1, it means that the symbol is in the base version, and has no specific version; it may or may not match a [DynamicVersion.Index] in the slice returned by [File.DynamicVersions]. Other values will match either [DynamicVersion.Index] in the slice returned by [File.DynamicVersions], or [DynamicVersionDep.Index] in the Needs field of the elements of the slice returned by [File.DynamicVersionNeeds]. In general, a defined symbol will have an index referring to DynamicVersions, and an undefined symbol will have an index referring to some version in DynamicVersionNeeds.
func (vi VersionIndex) Index() uint16IsHidden reports whether the symbol is hidden within the version. This means that the symbol can only be seen by specifying the exact version.
func (vi VersionIndex) IsHidden() boolNewFile creates a new [File] for accessing an ELF binary in an underlying reader. The ELF binary is expected to start at position 0 in the ReaderAt.
func NewFile(r io.ReaderAt) (*File, error)Open opens the named file using [os.Open] and prepares it for use as an ELF binary.
func Open(name string) (*File, error)Open returns a new ReadSeeker reading the ELF program body.
func (p *Prog) Open() io.ReadSeekerOpen returns a new ReadSeeker reading the ELF section. Even if the section is stored compressed in the ELF file, the ReadSeeker reads uncompressed data. For an [SHT_NOBITS] section, all calls to the opened reader will return a non-nil error.
func (s *Section) Open() io.ReadSeekerfunc R_INFO(sym uint32, typ uint32) uint64func R_INFO32(sym uint32, typ uint32) uint32func R_SYM32(info uint32) uint32func R_SYM64(info uint64) uint32func R_TYPE32(info uint32) uint32func R_TYPE64(info uint64) uint32func (r errorReader) Read(p []byte) (n int, err error)func (r *readSeekerFromReader) Read(p []byte) (n int, err error)func (r errorReader) ReadAt(p []byte, off int64) (n int, err error)func (*nobitsSectionReader) ReadAt(p []byte, off int64) (n int, err error)func ST_BIND(info uint8) SymBindfunc ST_INFO(bind SymBind, typ SymType) uint8func ST_TYPE(info uint8) SymTypefunc ST_VISIBILITY(other uint8) SymVisSection returns a section with the given name, or nil if no such section exists.
func (f *File) Section(name string) *SectionSectionByType returns the first section in f with the given type, or nil if there is no such section.
func (f *File) SectionByType(typ SectionType) *Sectionfunc (r errorReader) Seek(offset int64, whence int) (int64, error)func (r *readSeekerFromReader) Seek(offset int64, whence int) (int64, error)func (i NType) String() stringfunc (i ProgFlag) String() stringfunc (i R_390) String() stringfunc (i R_RISCV) String() stringfunc (i R_PPC64) String() stringfunc (i Class) String() stringfunc (i Data) String() stringfunc (i R_PPC) String() stringfunc (i OSABI) String() stringfunc (i R_LARCH) String() stringfunc (i R_MIPS) String() stringfunc (i R_386) String() stringfunc (i R_ARM) String() stringfunc (i R_ALPHA) String() stringfunc (i R_AARCH64) String() stringfunc (i R_X86_64) String() stringfunc (i Type) String() stringfunc (i Machine) String() stringfunc (i SectionIndex) String() stringfunc (i SectionType) String() stringfunc (i SymVis) String() stringfunc (i SectionFlag) String() stringfunc (i CompressionType) String() stringfunc (i ProgType) String() stringfunc (i R_SPARC) String() stringfunc (i DynTag) String() stringfunc (i DynFlag) String() stringfunc (i DynFlag1) String() stringfunc (i Version) String() stringfunc (i SymBind) String() stringfunc (i SymType) String() stringSymbols returns the symbol table for f. The symbols will be listed in the order they appear in f. For compatibility with Go 1.0, Symbols omits the null symbol at index 0. After retrieving the symbols as symtab, an externally supplied index x corresponds to symtab[x-1], not symtab[x].
func (f *File) Symbols() ([]Symbol, error)applyRelocations applies relocations to dst. rels is a relocations section in REL or RELA format.
func (f *File) applyRelocations(dst []byte, rels []byte) errorfunc (f *File) applyRelocations386(dst []byte, rels []byte) errorfunc (f *File) applyRelocationsAMD64(dst []byte, rels []byte) errorfunc (f *File) applyRelocationsARM(dst []byte, rels []byte) errorfunc (f *File) applyRelocationsARM64(dst []byte, rels []byte) errorfunc (f *File) applyRelocationsLOONG64(dst []byte, rels []byte) errorfunc (f *File) applyRelocationsMIPS(dst []byte, rels []byte) errorfunc (f *File) applyRelocationsMIPS64(dst []byte, rels []byte) errorfunc (f *File) applyRelocationsPPC(dst []byte, rels []byte) errorfunc (f *File) applyRelocationsPPC64(dst []byte, rels []byte) errorfunc (f *File) applyRelocationsRISCV64(dst []byte, rels []byte) errorfunc (f *File) applyRelocationsSPARC64(dst []byte, rels []byte) errorfunc (f *File) applyRelocationss390x(dst []byte, rels []byte) errorcanApplyRelocation reports whether we should try to apply a relocation to a DWARF data section, given a pointer to the symbol targeted by the relocation. Most relocations in DWARF data tend to be section-relative, but some target non-section symbols (for example, low_PC attrs on subprogram or compilation unit DIEs that target function symbols).
func canApplyRelocation(sym *Symbol) booldynamicVersionNeeds returns version dependencies for a dynamic object.
func (f *File) dynamicVersionNeeds(str []byte) errordynamicVersions returns version information for a dynamic object.
func (f *File) dynamicVersions(str []byte) errorfunc flagName(i uint32, names []intName, goSyntax bool) stringgetString extracts a string from an ELF string table.
func getString(section []byte, start int) (string, bool)getSymbols returns a slice of Symbols from parsing the symbol table with the given type, along with the associated string table.
func (f *File) getSymbols(typ SectionType) ([]Symbol, []byte, error)func (f *File) getSymbols32(typ SectionType) ([]Symbol, []byte, error)func (f *File) getSymbols64(typ SectionType) ([]Symbol, []byte, error)gnuVersion adds Library and Version information to sym, which came from offset i of the symbol table.
func (f *File) gnuVersion(i int) (hasVersion bool, versionIndex VersionIndex, version string, library string)gnuVersionInit parses the GNU version tables for use by calls to gnuVersion. It reports whether any version tables were found.
func (f *File) gnuVersionInit(str []byte) (bool, error)func (r *readSeekerFromReader) start()func stringName(i uint32, names []intName, goSyntax bool) stringstringTable reads and returns the string table given by the specified link value.
func (f *File) stringTable(link uint32) ([]byte, error)Generated with Arrow