genSpecialMemberName
Function parameters
Parameters
- name:[]const u8
Type definitions in this namespace
Types
= 0
Values
- AT_NULL
- = 0
- AT_IGNORE
- = 1
- AT_EXECFD
- = 2
- AT_PHDR
- = 3
- AT_PHENT
- = 4
- AT_PHNUM
- = 5
- AT_PAGESZ
- = 6
- AT_BASE
- = 7
- AT_FLAGS
- = 8
- AT_ENTRY
- = 9
- AT_NOTELF
- = 10
- AT_UID
- = 11
- AT_EUID
- = 12
- AT_GID
- = 13
- AT_EGID
- = 14
- AT_CLKTCK
- = 17
- AT_PLATFORM
- = 15
- AT_HWCAP
- = 16
- AT_FPUCW
- = 18
- AT_DCACHEBSIZE
- = 19
- AT_ICACHEBSIZE
- = 20
- AT_UCACHEBSIZE
- = 21
- AT_IGNOREPPC
- = 22
- AT_SECURE
- = 23
- AT_BASE_PLATFORM
- = 24
- AT_RANDOM
- = 25
- AT_HWCAP2
- = 26
- AT_EXECFN
- = 31
- AT_SYSINFO
- = 32
- AT_SYSINFO_EHDR
- = 33
- AT_L2_CACHESHAPE
- = 36
- AT_L3_CACHESHAPE
- = 37
- AT_L1I_CACHESIZE
- = 40
- AT_L1D_CACHESIZE
- = 42
- AT_L2_CACHESIZE
- = 44
- AT_L3_CACHESIZE
- = 46
- DT_NULL
- = 0
- DT_NEEDED
- = 1
- DT_PLTRELSZ
- = 2
- DT_PLTGOT
- = 3
- DT_HASH
- = 4
- DT_STRTAB
- = 5
- DT_SYMTAB
- = 6
- DT_RELA
- = 7
- DT_RELASZ
- = 8
- DT_RELAENT
- = 9
- DT_STRSZ
- = 10
- DT_SYMENT
- = 11
- DT_INIT
- = 12
- DT_FINI
- = 13
- DT_SONAME
- = 14
- DT_RPATH
- = 15
- DT_SYMBOLIC
- = 16
- DT_REL
- = 17
- DT_RELSZ
- = 18
- DT_RELENT
- = 19
- DT_PLTREL
- = 20
- DT_DEBUG
- = 21
- DT_TEXTREL
- = 22
- DT_JMPREL
- = 23
- DT_BIND_NOW
- = 24
- DT_INIT_ARRAY
- = 25
- DT_FINI_ARRAY
- = 26
- DT_INIT_ARRAYSZ
- = 27
- DT_FINI_ARRAYSZ
- = 28
- DT_RUNPATH
- = 29
- DT_FLAGS
- = 30
- DT_ENCODING
- = 32
- DT_PREINIT_ARRAY
- = 32
- DT_SYMTAB_SHNDX
- = 34
- DT_RELRSZ
- = 35
- DT_RELR
- = 36
- DT_RELRENT
- = 37
- DT_NUM
- = 38
- DT_LOOS
- = 0x6000000d
- DT_HIOS
- = 0x6ffff000
- DT_LOPROC
- = 0x70000000
- DT_HIPROC
- = 0x7fffffff
- DT_PROCNUM
- = DT_MIPS_NUM
- DT_VALRNGLO
- = 0x6ffffd00
- DT_GNU_PRELINKED
- = 0x6ffffdf5
- DT_GNU_CONFLICTSZ
- = 0x6ffffdf6
- DT_GNU_LIBLISTSZ
- = 0x6ffffdf7
- DT_CHECKSUM
- = 0x6ffffdf8
- DT_PLTPADSZ
- = 0x6ffffdf9
- DT_MOVEENT
- = 0x6ffffdfa
- DT_MOVESZ
- = 0x6ffffdfb
- DT_FEATURE_1
- = 0x6ffffdfc
- DT_POSFLAG_1
- = 0x6ffffdfd
- DT_SYMINSZ
- = 0x6ffffdfe
- DT_SYMINENT
- = 0x6ffffdff
- DT_VALRNGHI
- = 0x6ffffdff
- DT_VALNUM
- = 12
- DT_ADDRRNGLO
- = 0x6ffffe00
- DT_GNU_HASH
- = 0x6ffffef5
- DT_TLSDESC_PLT
- = 0x6ffffef6
- DT_TLSDESC_GOT
- = 0x6ffffef7
- DT_GNU_CONFLICT
- = 0x6ffffef8
- DT_GNU_LIBLIST
- = 0x6ffffef9
- DT_CONFIG
- = 0x6ffffefa
- DT_DEPAUDIT
- = 0x6ffffefb
- DT_AUDIT
- = 0x6ffffefc
- DT_PLTPAD
- = 0x6ffffefd
- DT_MOVETAB
- = 0x6ffffefe
- DT_SYMINFO
- = 0x6ffffeff
- DT_ADDRRNGHI
- = 0x6ffffeff
- DT_ADDRNUM
- = 11
- DT_VERSYM
- = 0x6ffffff0
- DT_RELACOUNT
- = 0x6ffffff9
- DT_RELCOUNT
- = 0x6ffffffa
- DT_FLAGS_1
- = 0x6ffffffb
- DT_VERDEF
- = 0x6ffffffc
- DT_VERDEFNUM
- = 0x6ffffffd
- DT_VERNEED
- = 0x6ffffffe
- DT_VERNEEDNUM
- = 0x6fffffff
- DT_VERSIONTAGNUM
- = 16
- DT_AUXILIARY
- = 0x7ffffffd
- DT_FILTER
- = 0x7fffffff
- DT_EXTRANUM
- = 3
- DT_SPARC_REGISTER
- = 0x70000001
- DT_SPARC_NUM
- = 2
- DT_MIPS_RLD_VERSION
- = 0x70000001
- DT_MIPS_TIME_STAMP
- = 0x70000002
- DT_MIPS_ICHECKSUM
- = 0x70000003
- DT_MIPS_IVERSION
- = 0x70000004
- DT_MIPS_FLAGS
- = 0x70000005
- DT_MIPS_BASE_ADDRESS
- = 0x70000006
- DT_MIPS_MSYM
- = 0x70000007
- DT_MIPS_CONFLICT
- = 0x70000008
- DT_MIPS_LIBLIST
- = 0x70000009
- DT_MIPS_LOCAL_GOTNO
- = 0x7000000a
- DT_MIPS_CONFLICTNO
- = 0x7000000b
- DT_MIPS_LIBLISTNO
- = 0x70000010
- DT_MIPS_SYMTABNO
- = 0x70000011
- DT_MIPS_UNREFEXTNO
- = 0x70000012
- DT_MIPS_GOTSYM
- = 0x70000013
- DT_MIPS_HIPAGENO
- = 0x70000014
- DT_MIPS_RLD_MAP
- = 0x70000016
- DT_MIPS_DELTA_CLASS
- = 0x70000017
- DT_MIPS_DELTA_CLASS_NO
- = 0x70000018
- DT_MIPS_DELTA_INSTANCE
- = 0x70000019
- DT_MIPS_DELTA_INSTANCE_NO
- = 0x7000001a
- DT_MIPS_DELTA_RELOC
- = 0x7000001b
- DT_MIPS_DELTA_RELOC_NO
- = 0x7000001c
- DT_MIPS_DELTA_SYM
- = 0x7000001d
- DT_MIPS_DELTA_SYM_NO
- = 0x7000001e
- DT_MIPS_DELTA_CLASSSYM
- = 0x70000020
- DT_MIPS_DELTA_CLASSSYM_NO
- = 0x70000021
- DT_MIPS_CXX_FLAGS
- = 0x70000022
- DT_MIPS_PIXIE_INIT
- = 0x70000023
- DT_MIPS_SYMBOL_LIB
- = 0x70000024
- DT_MIPS_LOCALPAGE_GOTIDX
- = 0x70000025
- DT_MIPS_LOCAL_GOTIDX
- = 0x70000026
- DT_MIPS_HIDDEN_GOTIDX
- = 0x70000027
- DT_MIPS_PROTECTED_GOTIDX
- = 0x70000028
- DT_MIPS_OPTIONS
- = 0x70000029
- DT_MIPS_INTERFACE
- = 0x7000002a
- DT_MIPS_DYNSTR_ALIGN
- = 0x7000002b
- DT_MIPS_INTERFACE_SIZE
- = 0x7000002c
- DT_MIPS_RLD_TEXT_RESOLVE_ADDR
- = 0x7000002d
- DT_MIPS_PERF_SUFFIX
- = 0x7000002e
- DT_MIPS_COMPACT_SIZE
- = 0x7000002f
- DT_MIPS_GP_VALUE
- = 0x70000030
- DT_MIPS_AUX_DYNAMIC
- = 0x70000031
- DT_MIPS_PLTGOT
- = 0x70000032
- DT_MIPS_RWPLT
- = 0x70000034
- DT_MIPS_RLD_MAP_REL
- = 0x70000035
- DT_MIPS_NUM
- = 0x36
- DT_ALPHA_PLTRO
- = (DT_LOPROC + 0)
- DT_ALPHA_NUM
- = 1
- DT_PPC_GOT
- = (DT_LOPROC + 0)
- DT_PPC_OPT
- = (DT_LOPROC + 1)
- DT_PPC_NUM
- = 2
- DT_PPC64_GLINK
- = (DT_LOPROC + 0)
- DT_PPC64_OPD
- = (DT_LOPROC + 1)
- DT_PPC64_OPDSZ
- = (DT_LOPROC + 2)
- DT_PPC64_OPT
- = (DT_LOPROC + 3)
- DT_PPC64_NUM
- = 4
- DT_IA_64_PLT_RESERVE
- = (DT_LOPROC + 0)
- DT_IA_64_NUM
- = 1
- DT_NIOS2_GP
- = 0x70000002
- DF_ORIGIN
- = 0x00000001
- DF_SYMBOLIC
- = 0x00000002
- DF_TEXTREL
- = 0x00000004
- DF_BIND_NOW
- = 0x00000008
- DF_STATIC_TLS
- = 0x00000010
- DF_1_NOW
- = 0x00000001
- DF_1_GLOBAL
- = 0x00000002
- DF_1_GROUP
- = 0x00000004
- DF_1_NODELETE
- = 0x00000008
- DF_1_LOADFLTR
- = 0x00000010
- DF_1_INITFIRST
- = 0x00000020
- DF_1_NOOPEN
- = 0x00000040
- DF_1_ORIGIN
- = 0x00000080
- DF_1_DIRECT
- = 0x00000100
- DF_1_TRANS
- = 0x00000200
- DF_1_INTERPOSE
- = 0x00000400
- DF_1_NODEFLIB
- = 0x00000800
- DF_1_NODUMP
- = 0x00001000
- DF_1_CONFALT
- = 0x00002000
- DF_1_ENDFILTEE
- = 0x00004000
- DF_1_DISPRELDNE
- = 0x00008000
- DF_1_DISPRELPND
- = 0x00010000
- DF_1_NODIRECT
- = 0x00020000
- DF_1_IGNMULDEF
- = 0x00040000
- DF_1_NOKSYMS
- = 0x00080000
- DF_1_NOHDR
- = 0x00100000
- DF_1_EDITED
- = 0x00200000
- DF_1_NORELOC
- = 0x00400000
- DF_1_SYMINTPOSE
- = 0x00800000
- DF_1_GLOBAUDIT
- = 0x01000000
- DF_1_SINGLETON
- = 0x02000000
- DF_1_STUB
- = 0x04000000
- DF_1_PIE
- = 0x08000000
- VER_FLG_BASE
- Version definition of the file itself
- VER_FLG_WEAK
- Weak version identifier
- PT_NULL
- Program header table entry unused
- PT_LOAD
- Loadable program segment
- PT_DYNAMIC
- Dynamic linking information
- PT_INTERP
- Program interpreter
- PT_NOTE
- Auxiliary information
- PT_SHLIB
- Reserved
- PT_PHDR
- Entry for header table itself
- PT_TLS
- Thread-local storage segment
- PT_NUM
- Number of defined types
- PT_LOOS
- Start of OS-specific
- PT_GNU_EH_FRAME
- GCC .eh_frame_hdr segment
- PT_GNU_STACK
- Indicates stack executability
- PT_GNU_RELRO
- Read-only after relocation
- PT_LOSUNW
- = 0x6ffffffa
- PT_SUNWBSS
- Sun specific segment
- PT_SUNWSTACK
- Stack segment
- PT_HISUNW
- = 0x6fffffff
- PT_HIOS
- End of OS-specific
- PT_LOPROC
- Start of processor-specific
- PT_HIPROC
- End of processor-specific
- SHT_NULL
- Section header table entry unused
- SHT_PROGBITS
- Program data
- SHT_SYMTAB
- Symbol table
- SHT_STRTAB
- String table
- SHT_RELA
- Relocation entries with addends
- SHT_HASH
- Symbol hash table
- SHT_DYNAMIC
- Dynamic linking information
- SHT_NOTE
- Notes
- SHT_NOBITS
- Program space with no data (bss)
- SHT_REL
- Relocation entries, no addends
- SHT_SHLIB
- Reserved
- SHT_DYNSYM
- Dynamic linker symbol table
- SHT_INIT_ARRAY
- Array of constructors
- SHT_FINI_ARRAY
- Array of destructors
- SHT_PREINIT_ARRAY
- Array of pre-constructors
- SHT_GROUP
- Section group
- SHT_SYMTAB_SHNDX
- Extended section indices
- SHT_LOOS
- Start of OS-specific
- SHT_LLVM_ADDRSIG
- LLVM address-significance table
- SHT_GNU_HASH
- GNU hash table
- SHT_GNU_VERDEF
- GNU version definition table
- SHT_GNU_VERNEED
- GNU needed versions table
- SHT_GNU_VERSYM
- GNU symbol version table
- SHT_HIOS
- End of OS-specific
- SHT_LOPROC
- Start of processor-specific
- SHT_X86_64_UNWIND
- Unwind information
- SHT_HIPROC
- End of processor-specific
- SHT_LOUSER
- Start of application-specific
- SHT_HIUSER
- End of application-specific
- STB_LOCAL
- Local symbol
- STB_GLOBAL
- Global symbol
- STB_WEAK
- Weak symbol
- STB_NUM
- Number of defined types
- STB_LOOS
- Start of OS-specific
- STB_GNU_UNIQUE
- Unique symbol
- STB_HIOS
- End of OS-specific
- STB_LOPROC
- Start of processor-specific
- STB_HIPROC
- End of processor-specific
- STT_NOTYPE
- Symbol type is unspecified
- STT_OBJECT
- Symbol is a data object
- STT_FUNC
- Symbol is a code object
- STT_SECTION
- Symbol associated with a section
- STT_FILE
- Symbol's name is file name
- STT_COMMON
- Symbol is a common data object
- STT_TLS
- Symbol is thread-local data object
- STT_NUM
- Number of defined types
- STT_LOOS
- Start of OS-specific
- STT_GNU_IFUNC
- Symbol is indirect code object
- STT_HIOS
- End of OS-specific
- STT_LOPROC
- Start of processor-specific
- STT_HIPROC
- End of processor-specific
- STT_HP_OPAQUE
- = (STT_LOOS + 0x1)
- STT_HP_STUB
- = (STT_LOOS + 0x2)
- STT_ARM_TFUNC
- = STT_LOPROC
- STT_ARM_16BIT
- = STT_HIPROC
- MAGIC
- = "\x7fELF"
- ELFCLASSNONE
- = 0
- ELFCLASS32
- = 1
- ELFCLASS64
- = 2
- ELFCLASSNUM
- = 3
- ELFDATANONE
- = 0
- ELFDATA2LSB
- = 1
- ELFDATA2MSB
- = 2
- ELFDATANUM
- = 3
- EI_CLASS
- = 4
- EI_DATA
- = 5
- EI_VERSION
- = 6
- EI_OSABI
- = 7
- EI_PAD
- = 9
- EI_NIDENT
- = 16
- Relr
- = switch (@sizeOf(usize)) { 4 => Elf32_Relr, 8 => Elf64_Relr, else => @compileError("expected pointer size of 32 or 64"), }
- GRP_COMDAT
- = 1
- SHF_WRITE
- Section data should be writable during execution.
- SHF_ALLOC
- Section occupies memory during program execution.
- SHF_EXECINSTR
- Section contains executable machine instructions.
- SHF_MERGE
- The data in this section may be merged.
- SHF_STRINGS
- The data in this section is null-terminated strings.
- SHF_INFO_LINK
- A field in this section holds a section header table index.
- SHF_LINK_ORDER
- Adds special ordering requirements for link editors.
- SHF_OS_NONCONFORMING
- This section requires special OS-specific processing to avoid incorrect
- SHF_GROUP
- This section is a member of a section group.
- SHF_TLS
- This section holds Thread-Local Storage.
- SHF_COMPRESSED
- Identifies a section containing compressed data.
- SHF_GNU_RETAIN
- Not to be GCed by the linker
- SHF_EXCLUDE
- This section is excluded from the final executable or shared library.
- SHF_MASKOS
- Start of target-specific flags.
- SHF_MASKPROC
- Bits indicating processor-specific flags.
- XCORE_SHF_DP_SECTION
- All sections with the "d" flag are grouped together by the linker to form
- XCORE_SHF_CP_SECTION
- All sections with the "c" flag are grouped together by the linker to form
- SHF_X86_64_LARGE
- If an object file section does not have this flag set, then it may not hold
- SHF_HEX_GPREL
- All sections with the GPREL flag are grouped into a global data area
- SHF_MIPS_NODUPES
- Section contains text/data which may be replicated in other sections.
- SHF_MIPS_NAMES
- Linker must generate implicit hidden weak names.
- SHF_MIPS_LOCAL
- Section data local to process.
- SHF_MIPS_NOSTRIP
- Do not strip this section.
- SHF_MIPS_GPREL
- Section must be part of global data area.
- SHF_MIPS_MERGE
- This section should be merged.
- SHF_MIPS_ADDR
- Address size to be inferred from section entry size.
- SHF_MIPS_STRING
- Section data is string data by default.
- SHF_ARM_PURECODE
- Make code section unreadable when in execute-only mode
- PF_X
- Execute
- PF_W
- Write
- PF_R
- Read
- PF_MASKOS
- Bits for operating system-specific semantics.
- PF_MASKPROC
- Bits for processor-specific semantics.
- SHN_UNDEF
- Undefined section
- SHN_LORESERVE
- Start of reserved indices
- SHN_LOPROC
- Start of processor-specific
- SHN_HIPROC
- End of processor-specific
- SHN_LIVEPATCH
- = 0xff20
- SHN_ABS
- Associated symbol is absolute
- SHN_COMMON
- Associated symbol is common
- SHN_HIRESERVE
- End of reserved indices
- ARMAG
- String that begins an archive file.
- ARFMAG
- String in ar_fmag at the end of each header.
- SYMNAME
- 32-bit symtab identifier
- STRNAME
- Strtab identifier
- SYM64NAME
- 64-bit symtab identifier
- SYMDEFNAME
- = genSpecialMemberName("__.SYMDEF")
- SYMDEFSORTEDNAME
- = genSpecialMemberName("__.SYMDEF SORTED")
Source
Implementation
fn genSpecialMemberName(comptime name: []const u8) *const [16]u8 {
assert(name.len <= 16);
const padding = 16 - name.len;
return name ++ &[_]u8{0x20} ** padding;
}