2022-10-14 09:05:18 +00:00
# typed: true
# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `elftools` gem.
# Please instead update this file by running `bin/tapioca gem elftools`.
2023-12-14 15:34:15 +00:00
# The ELF parsing tools!
# Main entry point is {ELFTools::ELFFile}, see it
# for more information.
#
# source://elftools//lib/elftools/constants.rb#3
2022-10-14 09:05:18 +00:00
module ELFTools; end
2023-12-14 15:34:15 +00:00
# Define constants from elf.h.
# Mostly refer from https://github.com/torvalds/linux/blob/master/include/uapi/linux/elf.h
# and binutils/elfcpp/elfcpp.h.
#
# source://elftools//lib/elftools/constants.rb#7
2022-10-14 09:05:18 +00:00
module ELFTools::Constants
include ::ELFTools::Constants::DF
include ::ELFTools::Constants::DT
include ::ELFTools::Constants::EM
include ::ELFTools::Constants::ET
include ::ELFTools::Constants::PF
include ::ELFTools::Constants::PT
include ::ELFTools::Constants::SHN
include ::ELFTools::Constants::SHF
include ::ELFTools::Constants::SHT
include ::ELFTools::Constants::STB
include ::ELFTools::Constants::STT
end
2023-12-14 15:34:15 +00:00
# Values of `d_un.d_val' in the DT_FLAGS and DT_FLAGS_1 entry.
#
# source://elftools//lib/elftools/constants.rb#12
2022-10-14 09:05:18 +00:00
module ELFTools::Constants::DF; end
2023-12-14 15:34:15 +00:00
# Configuration alternative created.
#
# source://elftools//lib/elftools/constants.rb#32
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_CONFALT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Direct binding enabled.
#
# source://elftools//lib/elftools/constants.rb#27
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_DIRECT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Disp reloc applied at build time.
#
# source://elftools//lib/elftools/constants.rb#34
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_DISPRELDNE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Disp reloc applied at run-time.
#
# source://elftools//lib/elftools/constants.rb#35
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_DISPRELPND = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Object is modified after built.
#
# source://elftools//lib/elftools/constants.rb#40
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_EDITED = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Filtee terminates filters search.
#
# source://elftools//lib/elftools/constants.rb#33
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_ENDFILTEE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Set RTLD_GLOBAL for this object.
#
# source://elftools//lib/elftools/constants.rb#20
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_GLOBAL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Global auditing required.
#
# source://elftools//lib/elftools/constants.rb#43
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_GLOBAUDIT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Set RTLD_GROUP for this object.
#
# source://elftools//lib/elftools/constants.rb#21
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_GROUP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#37
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_IGNMULDEF = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Set RTLD_INITFIRST for this object
#
# source://elftools//lib/elftools/constants.rb#24
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_INITFIRST = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Object is used to interpose.
#
# source://elftools//lib/elftools/constants.rb#29
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_INTERPOSE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#47
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_KMOD = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Trigger filtee loading at runtime.
#
# source://elftools//lib/elftools/constants.rb#23
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_LOADFLTR = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#49
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_NOCOMMON = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Ignore default lib search path.
#
# source://elftools//lib/elftools/constants.rb#30
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_NODEFLIB = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Set RTLD_NODELETE for this object.
#
# source://elftools//lib/elftools/constants.rb#22
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_NODELETE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Object has no-direct binding.
#
# source://elftools//lib/elftools/constants.rb#36
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_NODIRECT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Object can't be dldump'ed.
#
# source://elftools//lib/elftools/constants.rb#31
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_NODUMP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#39
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_NOHDR = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#38
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_NOKSYMS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Set RTLD_NOOPEN for this object.
#
# source://elftools//lib/elftools/constants.rb#25
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_NOOPEN = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#41
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_NORELOC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Set RTLD_NOW for this object.
#
# source://elftools//lib/elftools/constants.rb#19
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_NOW = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# $ORIGIN must be handled.
#
# source://elftools//lib/elftools/constants.rb#26
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_ORIGIN = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Object is a position-independent executable.
#
# source://elftools//lib/elftools/constants.rb#46
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_PIE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Singleton symbols are used.
#
# source://elftools//lib/elftools/constants.rb#44
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_SINGLETON = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#45
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_STUB = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Object has individual interposers.
#
# source://elftools//lib/elftools/constants.rb#42
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_SYMINTPOSE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#28
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_TRANS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#48
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_1_WEAKFILTER = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# No lazy binding for this object
#
# source://elftools//lib/elftools/constants.rb#16
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_BIND_NOW = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Object may use DF_ORIGIN
#
# source://elftools//lib/elftools/constants.rb#13
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_ORIGIN = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Module uses the static TLS model
#
# source://elftools//lib/elftools/constants.rb#17
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_STATIC_TLS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Symbol resolutions starts here
#
# source://elftools//lib/elftools/constants.rb#14
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_SYMBOLIC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Object contains text relocations
#
# source://elftools//lib/elftools/constants.rb#15
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DF::DF_TEXTREL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Dynamic table types, records in +d_tag+.
#
# source://elftools//lib/elftools/constants.rb#54
2022-10-14 09:05:18 +00:00
module ELFTools::Constants::DT; end
2023-12-14 15:34:15 +00:00
# see {DT_ADDRRNGLO}
#
# source://elftools//lib/elftools/constants.rb#115
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_ADDRRNGHI = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Values between {DT_ADDRRNGLO} and {DT_ADDRRNGHI} use the +d_un.d_ptr+ field of the dynamic structure.
#
# source://elftools//lib/elftools/constants.rb#103
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_ADDRRNGLO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#111
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_AUDIT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#187
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_AUXILIARY = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# if the loader needs to do relocate now, superseded by the DF_BIND_NOW flag
#
# source://elftools//lib/elftools/constants.rb#79
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_BIND_NOW = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#109
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_CONFIG = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# for debugging
#
# source://elftools//lib/elftools/constants.rb#76
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_DEBUG = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#110
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_DEPAUDIT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# just a lower bound
#
# source://elftools//lib/elftools/constants.rb#86
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_ENCODING = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#189
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_FILTER = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# where the termination function is
#
# source://elftools//lib/elftools/constants.rb#68
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_FINI = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of fini array
#
# source://elftools//lib/elftools/constants.rb#81
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_FINI_ARRAY = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# total size of fini array
#
# source://elftools//lib/elftools/constants.rb#83
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_FINI_ARRAYSZ = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# flags
#
# source://elftools//lib/elftools/constants.rb#85
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_FLAGS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# flags
#
# source://elftools//lib/elftools/constants.rb#120
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_FLAGS_1 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#107
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_GNU_CONFLICT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# the gnu hash
#
# source://elftools//lib/elftools/constants.rb#104
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_GNU_HASH = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#108
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_GNU_LIBLIST = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of symbol hash table
#
# source://elftools//lib/elftools/constants.rb#59
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_HASH = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# see {DT_LOOS}
#
# source://elftools//lib/elftools/constants.rb#96
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_HIOS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# see {DT_LOPROC}
#
# source://elftools//lib/elftools/constants.rb#191
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_HIPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# where the initialization function is
#
# source://elftools//lib/elftools/constants.rb#67
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_INIT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address init array
#
# source://elftools//lib/elftools/constants.rb#80
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_INIT_ARRAY = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# total size of init array
#
# source://elftools//lib/elftools/constants.rb#82
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_INIT_ARRAYSZ = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of relocation entries associated solely with procedure linkage table
#
# source://elftools//lib/elftools/constants.rb#78
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_JMPREL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Values between {DT_LOOS} and {DT_HIOS} are reserved for operating system-specific semantics.
#
# source://elftools//lib/elftools/constants.rb#95
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_LOOS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Values between {DT_LOPROC} and {DT_HIPROC} are reserved for processor-specific semantics.
#
# source://elftools//lib/elftools/constants.rb#127
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_LOPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of auxiliary +.dynamic+
#
# source://elftools//lib/elftools/constants.rb#181
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_AUX_DYNAMIC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# base address of the segment
#
# source://elftools//lib/elftools/constants.rb#144
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_BASE_ADDRESS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# size of compact relocation section (O32)
#
# source://elftools//lib/elftools/constants.rb#179
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_COMPACT_SIZE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of +.conflict+ section
#
# source://elftools//lib/elftools/constants.rb#146
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_CONFLICT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# number of entries in the +.conflict+ section
#
# source://elftools//lib/elftools/constants.rb#149
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_CONFLICTNO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# flags indicating information about C++ flavor
#
# source://elftools//lib/elftools/constants.rb#166
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_CXX_FLAGS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# delta C++ class definition
#
# source://elftools//lib/elftools/constants.rb#156
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_DELTA_CLASS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# delta symbols that hold class declarations
#
# source://elftools//lib/elftools/constants.rb#164
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_DELTA_CLASSSYM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# number of entries in {DT_MIPS_DELTA_CLASSSYM}
#
# source://elftools//lib/elftools/constants.rb#165
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_DELTA_CLASSSYM_NO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# number of entries in {DT_MIPS_DELTA_CLASS}
#
# source://elftools//lib/elftools/constants.rb#157
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_DELTA_CLASS_NO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# delta C++ class instances
#
# source://elftools//lib/elftools/constants.rb#158
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_DELTA_INSTANCE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# number of entries in {DT_MIPS_DELTA_INSTANCE}
#
# source://elftools//lib/elftools/constants.rb#159
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_DELTA_INSTANCE_NO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# delta relocations
#
# source://elftools//lib/elftools/constants.rb#160
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_DELTA_RELOC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# number of entries in {DT_MIPS_DELTA_RELOC}
#
# source://elftools//lib/elftools/constants.rb#161
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_DELTA_RELOC_NO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# delta symbols that Delta relocations refer to
#
# source://elftools//lib/elftools/constants.rb#162
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_DELTA_SYM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# number of entries in {DT_MIPS_DELTA_SYM}
#
# source://elftools//lib/elftools/constants.rb#163
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_DELTA_SYM_NO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#175
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_DYNSTR_ALIGN = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# 32 bits of flags
#
# source://elftools//lib/elftools/constants.rb#143
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_FLAGS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# index of first dynamic symbol in global offset table
#
# source://elftools//lib/elftools/constants.rb#153
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_GOTSYM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# GP value for auxiliary GOTs
#
# source://elftools//lib/elftools/constants.rb#180
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_GP_VALUE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# GOT index of the first PTE for a hidden symbol
#
# source://elftools//lib/elftools/constants.rb#171
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_HIDDEN_GOTIDX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# number of page table entries in global offset table
#
# source://elftools//lib/elftools/constants.rb#154
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_HIPAGENO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# checksum of external strings and common sizes
#
# source://elftools//lib/elftools/constants.rb#141
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_ICHECKSUM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of +.interface+
#
# source://elftools//lib/elftools/constants.rb#174
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_INTERFACE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# size of the +.interface+ section
#
# source://elftools//lib/elftools/constants.rb#176
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_INTERFACE_SIZE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# index of version string in string table
#
# source://elftools//lib/elftools/constants.rb#142
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_IVERSION = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of +.liblist+ section
#
# source://elftools//lib/elftools/constants.rb#147
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_LIBLIST = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# number of entries in the +.liblist+ section
#
# source://elftools//lib/elftools/constants.rb#150
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_LIBLISTNO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# GOT index of the first PTE for a segment
#
# source://elftools//lib/elftools/constants.rb#169
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_LOCALPAGE_GOTIDX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# GOT index of the first PTE for a local symbol
#
# source://elftools//lib/elftools/constants.rb#170
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_LOCAL_GOTIDX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# number of local global offset table entries
#
# source://elftools//lib/elftools/constants.rb#148
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_LOCAL_GOTNO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#145
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_MSYM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of +.MIPS.options+
#
# source://elftools//lib/elftools/constants.rb#173
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_OPTIONS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# default suffix of DSO to be added by rld on +dlopen()+ calls
#
# source://elftools//lib/elftools/constants.rb#178
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_PERF_SUFFIX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#167
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_PIXIE_INIT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of the base of the PLTGOT
#
# source://elftools//lib/elftools/constants.rb#182
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_PLTGOT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# GOT index of the first PTE for a protected symbol
#
# source://elftools//lib/elftools/constants.rb#172
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_PROTECTED_GOTIDX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of run time loader map, used for debugging
#
# source://elftools//lib/elftools/constants.rb#155
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_RLD_MAP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# relative offset of run time loader map
#
# source://elftools//lib/elftools/constants.rb#184
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_RLD_MAP_REL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# size of +rld_text_resolve+ function stored in the GOT
#
# source://elftools//lib/elftools/constants.rb#177
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_RLD_TEXT_RESOLVE_ADDR = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# 32 bit version number for runtime linker interface
#
# source://elftools//lib/elftools/constants.rb#139
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_RLD_VERSION = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# base of a writable PLT
#
# source://elftools//lib/elftools/constants.rb#183
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_RWPLT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of +.MIPS.symlib+
#
# source://elftools//lib/elftools/constants.rb#168
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_SYMBOL_LIB = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# number of entries in the +.dynsym+ section
#
# source://elftools//lib/elftools/constants.rb#151
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_SYMTABNO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# time stamp
#
# source://elftools//lib/elftools/constants.rb#140
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_TIME_STAMP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# index of first external dynamic symbol not referenced locally
#
# source://elftools//lib/elftools/constants.rb#152
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_UNREFEXTNO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# GNU-style hash table with xlat
#
# source://elftools//lib/elftools/constants.rb#185
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MIPS_XHASH = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#113
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_MOVETAB = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# libraries need to be linked by loader
#
# source://elftools//lib/elftools/constants.rb#56
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_NEEDED = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# marks the end of the _DYNAMIC array
#
# source://elftools//lib/elftools/constants.rb#55
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_NULL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of procedure linkage table or global offset table
#
# source://elftools//lib/elftools/constants.rb#58
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_PLTGOT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#112
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_PLTPAD = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# type of relocation entry, either {DT_REL} or {DT_RELA}
#
# source://elftools//lib/elftools/constants.rb#75
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_PLTREL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# total size of relocation entries
#
# source://elftools//lib/elftools/constants.rb#57
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_PLTRELSZ = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# start of the .glink section
#
# source://elftools//lib/elftools/constants.rb#132
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_PPC64_GLINK = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# start of the .opd section
#
# source://elftools//lib/elftools/constants.rb#133
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_PPC64_OPD = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# size of the .opd section
#
# source://elftools//lib/elftools/constants.rb#134
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_PPC64_OPDSZ = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# whether various optimisations are possible
#
# source://elftools//lib/elftools/constants.rb#135
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_PPC64_OPT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# global offset table
#
# source://elftools//lib/elftools/constants.rb#129
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_PPC_GOT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# whether various optimisations are possible
#
# source://elftools//lib/elftools/constants.rb#130
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_PPC_OPT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# pre-initialization functions array
#
# source://elftools//lib/elftools/constants.rb#87
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_PREINIT_ARRAY = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# pre-initialization functions array size (bytes)
#
# source://elftools//lib/elftools/constants.rb#88
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_PREINIT_ARRAYSZ = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# similar to {DT_RELA}
#
# source://elftools//lib/elftools/constants.rb#72
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_REL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of a relocation table
#
# source://elftools//lib/elftools/constants.rb#62
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_RELA = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# relative relocation count
#
# source://elftools//lib/elftools/constants.rb#118
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_RELACOUNT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# size of each entry in the {DT_RELA} table
#
# source://elftools//lib/elftools/constants.rb#64
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_RELAENT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# total size of the {DT_RELA} table
#
# source://elftools//lib/elftools/constants.rb#63
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_RELASZ = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# relative relocation count
#
# source://elftools//lib/elftools/constants.rb#119
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_RELCOUNT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# size of each entry in the {DT_REL} table
#
# source://elftools//lib/elftools/constants.rb#74
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_RELENT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#91
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_RELR = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#92
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_RELRENT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#90
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_RELRSZ = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# total size of the {DT_REL} table
#
# source://elftools//lib/elftools/constants.rb#73
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_RELSZ = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# has been superseded by {DT_RUNPATH}
#
# source://elftools//lib/elftools/constants.rb#70
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_RPATH = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# path of libraries for searching
#
# source://elftools//lib/elftools/constants.rb#84
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_RUNPATH = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# the shared object name
#
# source://elftools//lib/elftools/constants.rb#69
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_SONAME = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# index of an +STT_SPARC_REGISTER+ symbol within the {DT_SYMTAB} table
#
# source://elftools//lib/elftools/constants.rb#137
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_SPARC_REGISTER = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# total size of {DT_STRTAB}
#
# source://elftools//lib/elftools/constants.rb#65
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_STRSZ = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of string table
#
# source://elftools//lib/elftools/constants.rb#60
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_STRTAB = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# has been superseded by the DF_SYMBOLIC flag
#
# source://elftools//lib/elftools/constants.rb#71
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_SYMBOLIC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# size of each entry in {DT_SYMTAB}
#
# source://elftools//lib/elftools/constants.rb#66
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_SYMENT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#114
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_SYMINFO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of symbol table
#
# source://elftools//lib/elftools/constants.rb#61
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_SYMTAB = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of the +SHT_SYMTAB_SHNDX+ section associated with {DT_SYMTAB} table
#
# source://elftools//lib/elftools/constants.rb#89
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_SYMTAB_SHNDX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# has been superseded by the DF_TEXTREL flag
#
# source://elftools//lib/elftools/constants.rb#77
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_TEXTREL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#106
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_TLSDESC_GOT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#105
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_TLSDESC_PLT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#188
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_USED = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# see {DT_VALRNGLO}
#
# source://elftools//lib/elftools/constants.rb#100
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_VALRNGHI = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Values between {DT_VALRNGLO} and {DT_VALRNGHI} use the +d_un.d_val+ field of the dynamic structure.
#
# source://elftools//lib/elftools/constants.rb#99
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_VALRNGLO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of version definition table
#
# source://elftools//lib/elftools/constants.rb#121
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_VERDEF = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# number of entries in {DT_VERDEF}
#
# source://elftools//lib/elftools/constants.rb#122
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_VERDEFNUM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address of version dependency table
#
# source://elftools//lib/elftools/constants.rb#123
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_VERNEED = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# number of entries in {DT_VERNEED}
#
# source://elftools//lib/elftools/constants.rb#124
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_VERNEEDNUM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# section address of .gnu.version
#
# source://elftools//lib/elftools/constants.rb#117
2022-10-14 09:05:18 +00:00
ELFTools::Constants::DT::DT_VERSYM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# ELF magic header
#
# source://elftools//lib/elftools/constants.rb#9
2022-10-14 09:05:18 +00:00
ELFTools::Constants::ELFMAG = T.let(T.unsafe(nil), String)
2023-12-14 15:34:15 +00:00
# These constants define the various ELF target machines.
#
# source://elftools//lib/elftools/constants.rb#196
2022-10-14 09:05:18 +00:00
module ELFTools::Constants::EM
class << self
2023-12-14 15:34:15 +00:00
# Return the architecture name according to +val+.
# Used by {ELFTools::ELFFile#machine}.
#
# Only supports famous archs.
#
# @example
# mapping(3)
# #=> 'Intel 80386'
# mapping(6)
# #=> 'Intel 80386'
# mapping(62)
# #=> 'Advanced Micro Devices X86-64'
# mapping(1337)
# #=> '<unknown>: 0x539'
# @param val [Integer] Value of +e_machine+.
# @return [String] Name of architecture.
#
# source://elftools//lib/elftools/constants.rb#427
2022-10-14 09:05:18 +00:00
def mapping(val); end
end
end
2023-12-14 15:34:15 +00:00
# Intel 80386
#
# source://elftools//lib/elftools/constants.rb#200
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_386 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Intel 80486
#
# source://elftools//lib/elftools/constants.rb#203
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_486 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Tachyum
#
# source://elftools//lib/elftools/constants.rb#397
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_56800EF = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Renesas 78K0R
#
# source://elftools//lib/elftools/constants.rb#358
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_56800EX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Kalray VLIW core of the MPPA processor family
#
# source://elftools//lib/elftools/constants.rb#392
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_65816 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Motorola MC68HC08 Microcontroller
#
# source://elftools//lib/elftools/constants.rb#256
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_68HC05 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Motorola MC68HC11 Microcontroller
#
# source://elftools//lib/elftools/constants.rb#255
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_68HC08 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Motorola MC68HC16 Microcontroller
#
# source://elftools//lib/elftools/constants.rb#254
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_68HC11 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Motorola Coldfire
#
# source://elftools//lib/elftools/constants.rb#237
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_68HC12 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# STMicroelectronics ST7 8-bit microcontroller
#
# source://elftools//lib/elftools/constants.rb#253
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_68HC16 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Motorola 68000
#
# source://elftools//lib/elftools/constants.rb#201
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_68K = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Broadcom VideoCore V processor
#
# source://elftools//lib/elftools/constants.rb#357
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_78K0R = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# QUALCOMM DSP6 Processor
#
# source://elftools//lib/elftools/constants.rb#324
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_8051 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Intel 80860
#
# source://elftools//lib/elftools/constants.rb#204
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_860 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Motorola 88000
#
# source://elftools//lib/elftools/constants.rb#202
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_88K = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Sun's "v8plus"
#
# source://elftools//lib/elftools/constants.rb#216
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_960 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Intel K1OM
#
# source://elftools//lib/elftools/constants.rb#342
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_AARCH64 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# This is an interim value that we will use until the committee comes up with a final number.
#
# source://elftools//lib/elftools/constants.rb#402
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ALPHA = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Icera Semiconductor Inc. Deep Execution Processor
#
# source://elftools//lib/elftools/constants.rb#297
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ALTERA_NIOS2 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Moxie processor family
#
# source://elftools//lib/elftools/constants.rb#378
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_AMDGPU = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Siemens Tricore embedded processor
#
# source://elftools//lib/elftools/constants.rb#229
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ARC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Sharp embedded microprocessor
#
# source://elftools//lib/elftools/constants.rb#293
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ARCA = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# OpenRISC 32-bit embedded processor
#
# source://elftools//lib/elftools/constants.rb#277
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ARC_COMPACT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# KIPO-KAIST Core-A 2nd generation processor family
#
# source://elftools//lib/elftools/constants.rb#353
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ARC_COMPACT2 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# MOS Technology MCS 6502 processor
#
# source://elftools//lib/elftools/constants.rb#390
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ARC_COMPACT3 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# C-SKY processor family
#
# source://elftools//lib/elftools/constants.rb#388
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ARC_COMPACT3_64 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Motorola M*Core
#
# source://elftools//lib/elftools/constants.rb#225
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ARM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# SiTera Prism
#
# source://elftools//lib/elftools/constants.rb#267
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_AVR = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# ARM 64 bit
#
# source://elftools//lib/elftools/constants.rb#343
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_AVR32 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Freescale 56800EX Digital Signal Controller (DSC)
#
# source://elftools//lib/elftools/constants.rb#359
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_BA1 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Beyond BA1 CPU architecture
#
# source://elftools//lib/elftools/constants.rb#360
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_BA2 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# TI msp430 micro controller
#
# source://elftools//lib/elftools/constants.rb#290
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_BLACKFIN = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# CEVA X2 Processor Family
#
# source://elftools//lib/elftools/constants.rb#382
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_BPF = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Motorola XGATE embedded processor
#
# source://elftools//lib/elftools/constants.rb#300
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_C116 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# KM211 KVARC processor
#
# source://elftools//lib/elftools/constants.rb#369
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CDP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Microchip Technology dsPIC30F Digital Signal Controller
#
# source://elftools//lib/elftools/constants.rb#303
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Lanai 32-bit processor
#
# source://elftools//lib/elftools/constants.rb#380
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CEVA = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# CEVA Processor Architecture Family
#
# source://elftools//lib/elftools/constants.rb#381
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CEVA_X2 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Tilera TILE-Gx
#
# source://elftools//lib/elftools/constants.rb#350
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CLOUDSHIELD = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Paneve CDP architecture family
#
# source://elftools//lib/elftools/constants.rb#370
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_COGE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Stanford MIPS-X
#
# source://elftools//lib/elftools/constants.rb#236
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_COLDFIRE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Cognitive Smart Memory Processor
#
# source://elftools//lib/elftools/constants.rb#371
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_COOL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# CloudShield architecture family
#
# source://elftools//lib/elftools/constants.rb#351
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_COREA_1ST = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# KIPO-KAIST Core-A 1st generation processor family
#
# source://elftools//lib/elftools/constants.rb#352
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_COREA_2ND = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# MAX Processor
#
# source://elftools//lib/elftools/constants.rb#287
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CR = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Cyan Technology eCOG16 family
#
# source://elftools//lib/elftools/constants.rb#337
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CR16 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# M2000 Reconfigurable RISC Microprocessor
#
# source://elftools//lib/elftools/constants.rb#332
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CRAYNV2 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Digital VAX
#
# source://elftools//lib/elftools/constants.rb#260
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CRIS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Altera Nios II soft-core processor
#
# source://elftools//lib/elftools/constants.rb#298
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CRX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# NEC Vector Engine
#
# source://elftools//lib/elftools/constants.rb#387
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CSKY = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Nanoradio Optimized RISC
#
# source://elftools//lib/elftools/constants.rb#373
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CSR_KALIMBA = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Xilinx MicroBlaze
#
# source://elftools//lib/elftools/constants.rb#348
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CUDA = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Bogus old m32r magic number, used by old tools.
#
# source://elftools//lib/elftools/constants.rb#405
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CYGNUS_M32R = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Also Panasonic/MEI MN10300, AM33
#
# source://elftools//lib/elftools/constants.rb#409
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CYGNUS_MN10300 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# STMicroelectronics 64bit VLIW Data Signal Processor
#
# source://elftools//lib/elftools/constants.rb#320
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_CYPRESS_M8C = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Fujitsu FR30
#
# source://elftools//lib/elftools/constants.rb#269
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_D10V = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Mitsubishi D10V
#
# source://elftools//lib/elftools/constants.rb#270
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_D30V = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Sunplus S+core7 RISC processor
#
# source://elftools//lib/elftools/constants.rb#310
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_DSP24 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Renesas M16C series microprocessors
#
# source://elftools//lib/elftools/constants.rb#302
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_DSPIC30F = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# eXcess: 16/32/64-bit configurable embedded CPU
#
# source://elftools//lib/elftools/constants.rb#296
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_DXP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Andes Technology compact code size embedded RISC processor family
#
# source://elftools//lib/elftools/constants.rb#327
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ECOG1 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# MCST Elbrus general purpose hardware architecture
#
# source://elftools//lib/elftools/constants.rb#336
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ECOG16 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Cyan Technology eCOG1X family
#
# source://elftools//lib/elftools/constants.rb#328
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ECOG1X = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Analog Devices SHARC family of 32-bit DSP processors
#
# source://elftools//lib/elftools/constants.rb#308
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ECOG2 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# National Semiconductor CompactRISC 16-bit processor
#
# source://elftools//lib/elftools/constants.rb#338
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ETPU = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Microprocessor series from PKU-Unity Ltd. and MPRC of Peking University
#
# source://elftools//lib/elftools/constants.rb#295
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_EXCESS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# National Semiconductor CompactRISC
#
# source://elftools//lib/elftools/constants.rb#288
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_F2MC16 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Infineon Technologies 32-bit embedded cpu
#
# source://elftools//lib/elftools/constants.rb#262
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_FIREPATH = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# NEC V800 series
#
# source://elftools//lib/elftools/constants.rb#222
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_FR20 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Atmel AVR 8-bit microcontroller
#
# source://elftools//lib/elftools/constants.rb#268
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_FR30 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# NXP 56800EF Digital Signal Controller (DSC)
#
# source://elftools//lib/elftools/constants.rb#399
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_FRV = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Controls and Data Services VISIUMcore processor
#
# source://elftools//lib/elftools/constants.rb#376
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_FT32 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Digital Equipment Corp. PDP-11
#
# source://elftools//lib/elftools/constants.rb#250
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_FX66 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Linux BPF - in-kernel virtual machine
#
# source://elftools//lib/elftools/constants.rb#383
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_GRAPHCORE_IPU = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Renesas H8/300H
#
# source://elftools//lib/elftools/constants.rb#232
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_H8S = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# ARC Cores
#
# source://elftools//lib/elftools/constants.rb#230
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_H8_300 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Renesas H8/300
#
# source://elftools//lib/elftools/constants.rb#231
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_H8_300H = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Renesas H8S
#
# source://elftools//lib/elftools/constants.rb#233
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_H8_500 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Donald Knuth's educational 64-bit processor
#
# source://elftools//lib/elftools/constants.rb#265
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_HUANY = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Renesas H8/500H
#
# source://elftools//lib/elftools/constants.rb#234
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_IA_64 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Graphcore Intelligent Processing Unit
#
# source://elftools//lib/elftools/constants.rb#384
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_IMG1 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Microchip 8-bit PIC(r) family
#
# source://elftools//lib/elftools/constants.rb#363
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_INTELGT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# STMicroelectronics ST200 microcontroller
#
# source://elftools//lib/elftools/constants.rb#285
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_IP2K = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Axis Communications 32-bit embedded processor
#
# source://elftools//lib/elftools/constants.rb#261
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_JAVELIN = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Intel L1OM
#
# source://elftools//lib/elftools/constants.rb#341
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_K1OM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# LoongArch
#
# source://elftools//lib/elftools/constants.rb#394
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_KF32 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Intel Graphics Technology
#
# source://elftools//lib/elftools/constants.rb#364
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_KM32 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# KM211 KMX32 32-bit processor
#
# source://elftools//lib/elftools/constants.rb#366
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_KMX16 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# KM211 KM32 32-bit processor
#
# source://elftools//lib/elftools/constants.rb#365
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_KMX32 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# KM211 KMX16 16-bit processor
#
# source://elftools//lib/elftools/constants.rb#367
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_KMX8 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# KM211 KMX8 8-bit processor
#
# source://elftools//lib/elftools/constants.rb#368
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_KVARC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Synopsys ARCv2.3 32-bit
#
# source://elftools//lib/elftools/constants.rb#391
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_KVX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Infineon Technologies SLE9X core
#
# source://elftools//lib/elftools/constants.rb#340
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_L1OM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# AMD GPU architecture
#
# source://elftools//lib/elftools/constants.rb#379
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_LANAI = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Broadcom VideoCore III processor
#
# source://elftools//lib/elftools/constants.rb#312
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_LATTICEMICO32 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# WDC 65816/65C816
#
# source://elftools//lib/elftools/constants.rb#393
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_LOONGARCH = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Infineon C16x/XC16x processor
#
# source://elftools//lib/elftools/constants.rb#301
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_M16C = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# AT&T WE 32100
#
# source://elftools//lib/elftools/constants.rb#198
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_M32 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Freescale Communication Engine RISC core
#
# source://elftools//lib/elftools/constants.rb#304
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_M32C = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Renesas V850
#
# source://elftools//lib/elftools/constants.rb#272
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_M32R = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# New Japan Radio (NJR) 16-bit DSP Processor
#
# source://elftools//lib/elftools/constants.rb#331
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MANIK = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Ubicom IP2022 micro controller
#
# source://elftools//lib/elftools/constants.rb#286
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MAX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Cyan Technology eCOG1X family
#
# source://elftools//lib/elftools/constants.rb#329
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MAXQ30 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# XMOS xCORE processor family
#
# source://elftools//lib/elftools/constants.rb#362
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MCHP_PIC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Synopsys ARCv2.3 64-bit
#
# source://elftools//lib/elftools/constants.rb#389
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MCS6502 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Imagination Technologies Meta processor architecture
#
# source://elftools//lib/elftools/constants.rb#335
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MCST_ELBRUS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Motorola Star*Core processor
#
# source://elftools//lib/elftools/constants.rb#243
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ME16 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Renesas RX family
#
# source://elftools//lib/elftools/constants.rb#334
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_METAG = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Tilera TILEPro
#
# source://elftools//lib/elftools/constants.rb#347
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MICROBLAZE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# MIPS R3000 (officially, big-endian only)
#
# source://elftools//lib/elftools/constants.rb#205
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MIPS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Next two are historical and binaries and
# modules of these types will be rejected by Linux.
#
# source://elftools//lib/elftools/constants.rb#210
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MIPS_RS3_LE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# MIPS R3000 little-endian
#
# source://elftools//lib/elftools/constants.rb#211
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MIPS_RS4_BE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# HP/Intel IA-64
#
# source://elftools//lib/elftools/constants.rb#235
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MIPS_X = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Motorola M68HC12
#
# source://elftools//lib/elftools/constants.rb#238
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MMA = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Texas Instruments Programmable Realtime Unit
#
# source://elftools//lib/elftools/constants.rb#319
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MMDSP_PLUS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# LSI Logic's 16-bit DSP processor
#
# source://elftools//lib/elftools/constants.rb#264
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MMIX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Matsushita MN10300
#
# source://elftools//lib/elftools/constants.rb#274
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MN10200 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Renesas M32R
#
# source://elftools//lib/elftools/constants.rb#273
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MN10300 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# FTDI Chip FT32 high performance 32-bit RISC architecture
#
# source://elftools//lib/elftools/constants.rb#377
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MOXIE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Fujitsu F2MC16
#
# source://elftools//lib/elftools/constants.rb#289
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_MSP430 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Siemens PCP
#
# source://elftools//lib/elftools/constants.rb#240
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_NCPU = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Sony nCPU embedded RISC processor
#
# source://elftools//lib/elftools/constants.rb#241
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_NDR1 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# STMicroelectronics STxP7x family
#
# source://elftools//lib/elftools/constants.rb#326
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_NDS32 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Imagination Technologies
#
# source://elftools//lib/elftools/constants.rb#385
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_NFP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# none
#
# source://elftools//lib/elftools/constants.rb#197
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_NONE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Bluechip Systems CoolEngine
#
# source://elftools//lib/elftools/constants.rb#372
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_NORC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Thompson Multimedia General Purpose Processor
#
# source://elftools//lib/elftools/constants.rb#281
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_NS32K = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Synopsys ARCompact V2
#
# source://elftools//lib/elftools/constants.rb#354
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_OPEN8 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# picoJava
#
# source://elftools//lib/elftools/constants.rb#276
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_OPENRISC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# MIPS R4000 big-endian
#
# source://elftools//lib/elftools/constants.rb#213
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_PARISC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Fujitsu Multimedia Accelerator
#
# source://elftools//lib/elftools/constants.rb#239
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_PCP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Sony DSP Processor
#
# source://elftools//lib/elftools/constants.rb#248
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_PDP10 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Digital Equipment Corp. PDP-10
#
# source://elftools//lib/elftools/constants.rb#249
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_PDP11 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# AMD x86-64
#
# source://elftools//lib/elftools/constants.rb#247
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_PDSP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Matsushita MN10200
#
# source://elftools//lib/elftools/constants.rb#275
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_PJ = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Intel 80960
#
# source://elftools//lib/elftools/constants.rb#217
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_PPC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# PowerPC
#
# source://elftools//lib/elftools/constants.rb#218
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_PPC64 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Harvard's machine-independent format
#
# source://elftools//lib/elftools/constants.rb#266
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_PRISM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# NXP Semiconductors TriMedia architecture family
#
# source://elftools//lib/elftools/constants.rb#323
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_QDSP6 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Cypress M8C microprocessor
#
# source://elftools//lib/elftools/constants.rb#321
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_R32C = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# TRW RH32
#
# source://elftools//lib/elftools/constants.rb#224
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_RCE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Fujitsu FR20
#
# source://elftools//lib/elftools/constants.rb#223
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_RH32 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Open8 8-bit RISC soft processor core
#
# source://elftools//lib/elftools/constants.rb#355
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_RL78 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Altium TSK3000 core
#
# source://elftools//lib/elftools/constants.rb#306
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_RS08 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Cray Inc. NV2 vector architecture
#
# source://elftools//lib/elftools/constants.rb#333
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_RX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# IBM System/370
#
# source://elftools//lib/elftools/constants.rb#206
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_S370 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# PowerPC64
#
# source://elftools//lib/elftools/constants.rb#219
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_S390 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# This is the old interim value for S/390 architecture
#
# source://elftools//lib/elftools/constants.rb#407
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_S390_OLD = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Cyan Technology eCOG2 microprocessor
#
# source://elftools//lib/elftools/constants.rb#309
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_SCORE7 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# S1C33 Family of Seiko Epson processors
#
# source://elftools//lib/elftools/constants.rb#292
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_SEP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# RISC processor for Lattice FPGA architecture
#
# source://elftools//lib/elftools/constants.rb#313
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_SE_C17 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# ADI Blackfin Processor
#
# source://elftools//lib/elftools/constants.rb#291
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_SE_C33 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# ARM 32 bit
#
# source://elftools//lib/elftools/constants.rb#226
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_SH = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Freescale RS08 embedded processor
#
# source://elftools//lib/elftools/constants.rb#307
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_SHARC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Freescale Extended Time Processing Unit
#
# source://elftools//lib/elftools/constants.rb#339
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_SLE9X = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Tenor Network TPC processor
#
# source://elftools//lib/elftools/constants.rb#283
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_SNP1K = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# SPARC
#
# source://elftools//lib/elftools/constants.rb#199
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_SPARC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Fujitsu VPP500 (also some older versions of PowerPC)
#
# source://elftools//lib/elftools/constants.rb#215
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_SPARC32PLUS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# SuperH
#
# source://elftools//lib/elftools/constants.rb#227
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_SPARCV9 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# IBM S/390
#
# source://elftools//lib/elftools/constants.rb#220
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_SPU = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Toyota ME16 processor
#
# source://elftools//lib/elftools/constants.rb#244
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ST100 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Silicon Graphics SVx
#
# source://elftools//lib/elftools/constants.rb#258
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ST19 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Trebia SNP 1000 processor
#
# source://elftools//lib/elftools/constants.rb#284
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ST200 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# STMicroelectronics ST9+ 8/16 bit microcontroller
#
# source://elftools//lib/elftools/constants.rb#252
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ST7 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Siemens FX66 microcontroller
#
# source://elftools//lib/elftools/constants.rb#251
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ST9PLUS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Denso NDR1 microprocessor
#
# source://elftools//lib/elftools/constants.rb#242
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_STARCORE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Atmel Corporation 32-bit microprocessor family
#
# source://elftools//lib/elftools/constants.rb#344
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_STM8 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Intel 8051 and variants
#
# source://elftools//lib/elftools/constants.rb#325
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_STXP7X = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Motorola MC68HC05 Microcontroller
#
# source://elftools//lib/elftools/constants.rb#257
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_SVX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# LAPIS nX-U16/U8
#
# source://elftools//lib/elftools/constants.rb#396
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TACHYUM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# STMicroeletronics STM8 8-bit microcontroller
#
# source://elftools//lib/elftools/constants.rb#345
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TILE64 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# NVIDIA CUDA architecture
#
# source://elftools//lib/elftools/constants.rb#349
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TILEGX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Tilera TILE64 multicore architecture family
#
# source://elftools//lib/elftools/constants.rb#346
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TILEPRO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# STMicroelectronics ST100 processor
#
# source://elftools//lib/elftools/constants.rb#245
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TINYJ = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# The Texas Instruments TMS320C55x DSP family
#
# source://elftools//lib/elftools/constants.rb#317
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TI_ARP32 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# The Texas Instruments TMS320C6000 DSP family
#
# source://elftools//lib/elftools/constants.rb#315
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TI_C2000 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# The Texas Instruments TMS320C2000 DSP family
#
# source://elftools//lib/elftools/constants.rb#316
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TI_C5500 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Seiko Epson C17 family
#
# source://elftools//lib/elftools/constants.rb#314
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TI_C6000 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Texas Instruments Application Specific RISC Processor, 32bit fetch
#
# source://elftools//lib/elftools/constants.rb#318
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TI_PRU = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Alphamosaic VideoCore processor
#
# source://elftools//lib/elftools/constants.rb#280
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TMM_GPP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# National Semiconductor 32000 series
#
# source://elftools//lib/elftools/constants.rb#282
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TPC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# SPARC v9 64-bit
#
# source://elftools//lib/elftools/constants.rb#228
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TRICORE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Renesas R32C series microprocessors
#
# source://elftools//lib/elftools/constants.rb#322
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TRIMEDIA = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Freescale Communication Engine RISC core
#
# source://elftools//lib/elftools/constants.rb#305
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_TSK3000 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# ChipON KungFu32
#
# source://elftools//lib/elftools/constants.rb#395
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_U16_U8CORE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Arca RISC Microprocessor
#
# source://elftools//lib/elftools/constants.rb#294
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_UNICORE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Cell BE SPU
#
# source://elftools//lib/elftools/constants.rb#221
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_V800 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Mitsubishi D30V
#
# source://elftools//lib/elftools/constants.rb#271
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_V850 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# STMicroelectronics ST19 8-bit cpu
#
# source://elftools//lib/elftools/constants.rb#259
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_VAX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Netronome Flow Processor (NFP)
#
# source://elftools//lib/elftools/constants.rb#386
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_VE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Tensilica Xtensa Architecture
#
# source://elftools//lib/elftools/constants.rb#279
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_VIDEOCORE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# New Japan Radio (NJR) 24-bit DSP Processor
#
# source://elftools//lib/elftools/constants.rb#311
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_VIDEOCORE3 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Renesas RL78 family
#
# source://elftools//lib/elftools/constants.rb#356
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_VIDEOCORE5 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Zilog Z80
#
# source://elftools//lib/elftools/constants.rb#375
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_VISIUM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# HPPA
#
# source://elftools//lib/elftools/constants.rb#214
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_VPP500 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Advanced Logic Corp. TinyJ embedded processor
#
# source://elftools//lib/elftools/constants.rb#246
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_X86_64 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Beyond BA2 CPU architecture
#
# source://elftools//lib/elftools/constants.rb#361
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_XCORE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# National Semiconductor CRX
#
# source://elftools//lib/elftools/constants.rb#299
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_XGATE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Dallas Semiconductor MAXQ30 Core Micro-controllers
#
# source://elftools//lib/elftools/constants.rb#330
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_XIMO16 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# ARC International ARCompact processor
#
# source://elftools//lib/elftools/constants.rb#278
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_XTENSA = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# CSR Kalimba architecture family
#
# source://elftools//lib/elftools/constants.rb#374
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_Z80 = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Element 14 64-bit DSP processor
#
# source://elftools//lib/elftools/constants.rb#263
2022-10-14 09:05:18 +00:00
ELFTools::Constants::EM::EM_ZSP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# This module defines ELF file types.
#
# source://elftools//lib/elftools/constants.rb#446
2022-10-14 09:05:18 +00:00
module ELFTools::Constants::ET
class << self
2023-12-14 15:34:15 +00:00
# Return the type name according to +e_type+ in ELF file header.
#
# @return [String] Type in string format.
#
# source://elftools//lib/elftools/constants.rb#454
2022-10-14 09:05:18 +00:00
def mapping(type); end
end
end
2023-12-14 15:34:15 +00:00
# core file
#
# source://elftools//lib/elftools/constants.rb#451
2022-10-14 09:05:18 +00:00
ELFTools::Constants::ET::ET_CORE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# shared object
#
# source://elftools//lib/elftools/constants.rb#450
2022-10-14 09:05:18 +00:00
ELFTools::Constants::ET::ET_DYN = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# executable file
#
# source://elftools//lib/elftools/constants.rb#449
2022-10-14 09:05:18 +00:00
ELFTools::Constants::ET::ET_EXEC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# no file type
#
# source://elftools//lib/elftools/constants.rb#447
2022-10-14 09:05:18 +00:00
ELFTools::Constants::ET::ET_NONE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# relocatable file
#
# source://elftools//lib/elftools/constants.rb#448
2022-10-14 09:05:18 +00:00
ELFTools::Constants::ET::ET_REL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Program header permission flags, records bitwise OR value in +p_flags+.
#
# source://elftools//lib/elftools/constants.rb#468
2022-10-14 09:05:18 +00:00
module ELFTools::Constants::PF; end
2023-12-14 15:34:15 +00:00
# readable
#
# source://elftools//lib/elftools/constants.rb#471
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PF::PF_R = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# writable
#
# source://elftools//lib/elftools/constants.rb#470
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PF::PF_W = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# executable
#
# source://elftools//lib/elftools/constants.rb#469
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PF::PF_X = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Program header types, records in +p_type+.
#
# source://elftools//lib/elftools/constants.rb#476
2022-10-14 09:05:18 +00:00
module ELFTools::Constants::PT; end
2023-12-14 15:34:15 +00:00
# platform architecture compatibility information
#
# source://elftools//lib/elftools/constants.rb#509
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_AARCH64_ARCHEXT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# exception unwind tables
#
# source://elftools//lib/elftools/constants.rb#510
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_AARCH64_UNWIND = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# platform architecture compatibility information
#
# source://elftools//lib/elftools/constants.rb#501
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_ARM_ARCHEXT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# exception unwind tables
#
# source://elftools//lib/elftools/constants.rb#502
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_ARM_EXIDX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# dynamic tags
#
# source://elftools//lib/elftools/constants.rb#479
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_DYNAMIC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# for exception handler
#
# source://elftools//lib/elftools/constants.rb#487
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_GNU_EH_FRAME = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Mbind segments (upper bound)
#
# source://elftools//lib/elftools/constants.rb#491
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_GNU_MBIND_HI = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Mbind segments (lower bound)
#
# source://elftools//lib/elftools/constants.rb#492
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_GNU_MBIND_LO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# GNU property
#
# source://elftools//lib/elftools/constants.rb#490
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_GNU_PROPERTY = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# read only after relocation
#
# source://elftools//lib/elftools/constants.rb#489
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_GNU_RELRO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# permission of stack
#
# source://elftools//lib/elftools/constants.rb#488
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_GNU_STACK = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# OS-specific
#
# source://elftools//lib/elftools/constants.rb#496
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_HIOS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# see {PT_LOPROC}
#
# source://elftools//lib/elftools/constants.rb#514
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_HIPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# interpreter, same as .interp section
#
# source://elftools//lib/elftools/constants.rb#480
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_INTERP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# segment to be load
#
# source://elftools//lib/elftools/constants.rb#478
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_LOAD = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# OS-specific
#
# source://elftools//lib/elftools/constants.rb#486
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_LOOS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Values between {PT_LOPROC} and {PT_HIPROC} are reserved for processor-specific semantics.
#
# source://elftools//lib/elftools/constants.rb#499
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_LOPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# +.MIPS.abiflags+ section
#
# source://elftools//lib/elftools/constants.rb#507
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_MIPS_ABIFLAGS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# +.MIPS.options+ section
#
# source://elftools//lib/elftools/constants.rb#506
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_MIPS_OPTIONS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# register usage information
#
# source://elftools//lib/elftools/constants.rb#504
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_MIPS_REGINFO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# runtime procedure table
#
# source://elftools//lib/elftools/constants.rb#505
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_MIPS_RTPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# same as .note* section
#
# source://elftools//lib/elftools/constants.rb#481
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_NOTE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# null segment
#
# source://elftools//lib/elftools/constants.rb#477
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_NULL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Section for boot arguments
#
# source://elftools//lib/elftools/constants.rb#495
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_OPENBSD_BOOTDATA = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Fill with random data
#
# source://elftools//lib/elftools/constants.rb#493
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_OPENBSD_RANDOMIZE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Program does W^X violations
#
# source://elftools//lib/elftools/constants.rb#494
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_OPENBSD_WXNEEDED = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# where program header starts
#
# source://elftools//lib/elftools/constants.rb#483
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_PHDR = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# 4k page table size
#
# source://elftools//lib/elftools/constants.rb#512
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_S390_PGSTE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# reserved
#
# source://elftools//lib/elftools/constants.rb#482
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_SHLIB = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# thread local storage segment
#
# source://elftools//lib/elftools/constants.rb#484
2022-10-14 09:05:18 +00:00
ELFTools::Constants::PT::PT_TLS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Section flag mask types, records in +sh_flag+.
#
# source://elftools//lib/elftools/constants.rb#548
2022-10-14 09:05:18 +00:00
module ELFTools::Constants::SHF; end
2023-12-14 15:34:15 +00:00
# Occupies memory during execution
#
# source://elftools//lib/elftools/constants.rb#550
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_ALLOC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Section with compressed data.
#
# source://elftools//lib/elftools/constants.rb#559
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_COMPRESSED = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Section is excluded unless referenced or allocated (Solaris).
#
# source://elftools//lib/elftools/constants.rb#565
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_EXCLUDE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Executable
#
# source://elftools//lib/elftools/constants.rb#551
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_EXECINSTR = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Mbind section
#
# source://elftools//lib/elftools/constants.rb#563
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_GNU_MBIND = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Not to be GCed by linker.
#
# source://elftools//lib/elftools/constants.rb#562
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_GNU_RETAIN = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Section is member of a group.
#
# source://elftools//lib/elftools/constants.rb#557
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_GROUP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# `sh_info' contains SHT index
#
# source://elftools//lib/elftools/constants.rb#554
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_INFO_LINK = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Preserve order after combining
#
# source://elftools//lib/elftools/constants.rb#555
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_LINK_ORDER = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# OS-specific.
#
# source://elftools//lib/elftools/constants.rb#560
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_MASKOS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Processor-specific
#
# source://elftools//lib/elftools/constants.rb#561
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_MASKPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Might be merged
#
# source://elftools//lib/elftools/constants.rb#552
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_MERGE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Special ordering requirement
#
# source://elftools//lib/elftools/constants.rb#564
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_ORDERED = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Non-standard OS specific handling required
#
# source://elftools//lib/elftools/constants.rb#556
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_OS_NONCONFORMING = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Contains nul-terminated strings
#
# source://elftools//lib/elftools/constants.rb#553
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_STRINGS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Section hold thread-local data.
#
# source://elftools//lib/elftools/constants.rb#558
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_TLS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Writable
#
# source://elftools//lib/elftools/constants.rb#549
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHF::SHF_WRITE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Special indices to section. These are used when there is no valid index to section header.
# The meaning of these values is left upto the embedding header.
#
# source://elftools//lib/elftools/constants.rb#520
2022-10-14 09:05:18 +00:00
module ELFTools::Constants::SHN; end
2023-12-14 15:34:15 +00:00
# specifies absolute values for the corresponding reference
#
# source://elftools//lib/elftools/constants.rb#540
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_ABS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# symbols defined relative to this section are common symbols
#
# source://elftools//lib/elftools/constants.rb#541
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_COMMON = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# see {SHN_LOOS}
#
# source://elftools//lib/elftools/constants.rb#539
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_HIOS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# see {SHN_LOPROC}
#
# source://elftools//lib/elftools/constants.rb#535
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_HIPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# end of reserved indices
#
# source://elftools//lib/elftools/constants.rb#543
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_HIRESERVE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Values between {SHN_LOOS} and {SHN_HIOS} are reserved for operating system-specific semantics.
#
# source://elftools//lib/elftools/constants.rb#538
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_LOOS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Values between {SHN_LOPROC} and {SHN_HIPROC} are reserved for processor-specific semantics.
#
# source://elftools//lib/elftools/constants.rb#525
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_LOPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# start of reserved indices
#
# source://elftools//lib/elftools/constants.rb#522
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_LORESERVE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# defined and allocated common symbol
#
# source://elftools//lib/elftools/constants.rb#527
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_MIPS_ACOMMON = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# defined and allocated data symbol
#
# source://elftools//lib/elftools/constants.rb#529
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_MIPS_DATA = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# small common symbol
#
# source://elftools//lib/elftools/constants.rb#530
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_MIPS_SCOMMON = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# small undefined symbol
#
# source://elftools//lib/elftools/constants.rb#531
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_MIPS_SUNDEFINED = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# defined and allocated text symbol
#
# source://elftools//lib/elftools/constants.rb#528
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_MIPS_TEXT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# undefined section
#
# source://elftools//lib/elftools/constants.rb#521
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_UNDEF = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# large common symbol
#
# source://elftools//lib/elftools/constants.rb#533
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_X86_64_LCOMMON = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# escape value indicating that the actual section header index is too large to fit
#
# source://elftools//lib/elftools/constants.rb#542
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHN::SHN_XINDEX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Section header types, records in +sh_type+.
#
# source://elftools//lib/elftools/constants.rb#570
2022-10-14 09:05:18 +00:00
module ELFTools::Constants::SHT; end
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#661
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_AARCH64_ATTRIBUTES = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# object file compatibility attributes
#
# source://elftools//lib/elftools/constants.rb#614
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_ARM_ATTRIBUTES = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# support for debugging overlaid programs
#
# source://elftools//lib/elftools/constants.rb#615
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_ARM_DEBUGOVERLAY = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# exception index table
#
# source://elftools//lib/elftools/constants.rb#612
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_ARM_EXIDX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# support for debugging overlaid programs
#
# source://elftools//lib/elftools/constants.rb#616
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_ARM_OVERLAYSECTION = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# BPABI DLL dynamic linking pre-emption map
#
# source://elftools//lib/elftools/constants.rb#613
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_ARM_PREEMPTMAP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# object file compatibility attributes
#
# source://elftools//lib/elftools/constants.rb#663
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_CSKY_ATTRIBUTES = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# information of dynamic linking
#
# source://elftools//lib/elftools/constants.rb#577
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_DYNAMIC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# symbols for dynamic
#
# source://elftools//lib/elftools/constants.rb#582
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_DYNSYM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# array of termination functions
#
# source://elftools//lib/elftools/constants.rb#584
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_FINI_ARRAY = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# object attributes
#
# source://elftools//lib/elftools/constants.rb#596
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_GNU_ATTRIBUTES = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# GNU style symbol hash table
#
# source://elftools//lib/elftools/constants.rb#597
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_GNU_HASH = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# incremental build data
#
# source://elftools//lib/elftools/constants.rb#595
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_GNU_INCREMENTAL_GOT_PLT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# incremental build data
#
# source://elftools//lib/elftools/constants.rb#592
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_GNU_INCREMENTAL_INPUTS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# incremental build data
#
# source://elftools//lib/elftools/constants.rb#594
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_GNU_INCREMENTAL_RELOCS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# incremental build data
#
# source://elftools//lib/elftools/constants.rb#593
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_GNU_INCREMENTAL_SYMTAB = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# list of prelink dependencies
#
# source://elftools//lib/elftools/constants.rb#598
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_GNU_LIBLIST = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# versions defined by file
#
# source://elftools//lib/elftools/constants.rb#600
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_GNU_verdef = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# versions needed by file
#
# source://elftools//lib/elftools/constants.rb#602
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_GNU_verneed = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# symbol versions
#
# source://elftools//lib/elftools/constants.rb#604
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_GNU_versym = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# section group
#
# source://elftools//lib/elftools/constants.rb#586
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_GROUP = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# symbol hash table
#
# source://elftools//lib/elftools/constants.rb#576
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_HASH = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# see {SHT_LOOS}
#
# source://elftools//lib/elftools/constants.rb#605
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_HIOS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# see {SHT_LOPROC}
#
# source://elftools//lib/elftools/constants.rb#667
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_HIPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# see {SHT_LOUSER}
#
# source://elftools//lib/elftools/constants.rb#671
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_HIUSER = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# array of initialization functions
#
# source://elftools//lib/elftools/constants.rb#583
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_INIT_ARRAY = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Values between {SHT_LOOS} and {SHT_HIOS} are reserved for operating system-specific semantics.
#
# source://elftools//lib/elftools/constants.rb#591
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_LOOS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Values between {SHT_LOPROC} and {SHT_HIPROC} are reserved for processor-specific semantics.
#
# source://elftools//lib/elftools/constants.rb#608
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_LOPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Values between {SHT_LOUSER} and {SHT_HIUSER} are reserved for application programs.
#
# source://elftools//lib/elftools/constants.rb#670
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_LOUSER = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# ABI related flags
#
# source://elftools//lib/elftools/constants.rb#658
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_ABIFLAGS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#639
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_AUXSYM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# list of symbols whose definitions conflict with shared objects
#
# source://elftools//lib/elftools/constants.rb#622
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_CONFLICT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# description of contents of another section
#
# source://elftools//lib/elftools/constants.rb#631
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_CONTENT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# register usage information
#
# source://elftools//lib/elftools/constants.rb#625
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_DEBUG = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# delta C++ class table
#
# source://elftools//lib/elftools/constants.rb#646
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_DELTACLASS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# delta C++ declarations
#
# source://elftools//lib/elftools/constants.rb#648
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_DELTADECL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# delta C++ instance table
#
# source://elftools//lib/elftools/constants.rb#645
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_DELTAINST = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# delta C++ symbol table
#
# source://elftools//lib/elftools/constants.rb#644
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_DELTASYM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#636
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_DENSE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# DWARF debugging section
#
# source://elftools//lib/elftools/constants.rb#647
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_DWARF = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# C++ exception handling region info
#
# source://elftools//lib/elftools/constants.rb#656
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_EH_REGION = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# events section
#
# source://elftools//lib/elftools/constants.rb#650
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_EVENTS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#635
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_EXTSYM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#634
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_FDESC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# global pointer table
#
# source://elftools//lib/elftools/constants.rb#623
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_GPTAB = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# interface information
#
# source://elftools//lib/elftools/constants.rb#630
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_IFACE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# set of dynamic shared objects
#
# source://elftools//lib/elftools/constants.rb#620
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_LIBLIST = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#642
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_LINE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#641
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_LOCSTR = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#638
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_LOCSYM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#621
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_MSYM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# miscellaneous options
#
# source://elftools//lib/elftools/constants.rb#632
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_OPTIONS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#640
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_OPTSYM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#627
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_PACKAGE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#628
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_PACKSYM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#637
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_PDESC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# runtime procedure descriptor table exception information
#
# source://elftools//lib/elftools/constants.rb#657
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_PDR_EXCEPTION = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#652
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_PIXIE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# section contains register usage information
#
# source://elftools//lib/elftools/constants.rb#626
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_REGINFO = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#629
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_RELD = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#643
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_RFDESC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#633
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_SHDR = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# list of libraries the binary depends on
#
# source://elftools//lib/elftools/constants.rb#649
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_SYMBOL_LIB = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#651
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_TRANSLATE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# microcode information
#
# source://elftools//lib/elftools/constants.rb#624
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_UCODE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# intermediate code
#
# source://elftools//lib/elftools/constants.rb#655
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_WHIRL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# GNU style symbol hash table with xlat
#
# source://elftools//lib/elftools/constants.rb#659
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_XHASH = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# address translation table
#
# source://elftools//lib/elftools/constants.rb#653
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_XLATE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# SGI internal address translation table
#
# source://elftools//lib/elftools/constants.rb#654
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_MIPS_XLATE_DEBUG = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# section occupies no space
#
# source://elftools//lib/elftools/constants.rb#579
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_NOBITS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# section for notes
#
# source://elftools//lib/elftools/constants.rb#578
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_NOTE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# null section
#
# source://elftools//lib/elftools/constants.rb#571
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_NULL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#665
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_ORDERED = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# array of functions that are invoked before all other initialization functions
#
# source://elftools//lib/elftools/constants.rb#585
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_PREINIT_ARRAY = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# information defined by program itself
#
# source://elftools//lib/elftools/constants.rb#572
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_PROGBITS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# relocation
#
# source://elftools//lib/elftools/constants.rb#580
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_REL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# relocation with addends
#
# source://elftools//lib/elftools/constants.rb#575
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_RELA = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# RELR relative relocations
#
# source://elftools//lib/elftools/constants.rb#588
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_RELR = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# reserved
#
# source://elftools//lib/elftools/constants.rb#581
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_SHLIB = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/constants.rb#610
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_SPARC_GOTDATA = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# string table section
#
# source://elftools//lib/elftools/constants.rb#574
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_STRTAB = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# versions defined by file
#
# source://elftools//lib/elftools/constants.rb#599
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_SUNW_verdef = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# versions needed by file
#
# source://elftools//lib/elftools/constants.rb#601
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_SUNW_verneed = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# symbol versions
#
# source://elftools//lib/elftools/constants.rb#603
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_SUNW_versym = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# symbol table section
#
# source://elftools//lib/elftools/constants.rb#573
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_SYMTAB = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# indices for SHN_XINDEX entries
#
# source://elftools//lib/elftools/constants.rb#587
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_SYMTAB_SHNDX = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# x86_64 unwind information
#
# source://elftools//lib/elftools/constants.rb#618
2022-10-14 09:05:18 +00:00
ELFTools::Constants::SHT::SHT_X86_64_UNWIND = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Symbol binding from Sym st_info field.
#
# source://elftools//lib/elftools/constants.rb#676
2022-10-14 09:05:18 +00:00
module ELFTools::Constants::STB; end
2023-12-14 15:34:15 +00:00
# Global symbol
#
# source://elftools//lib/elftools/constants.rb#678
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STB::STB_GLOBAL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Unique symbol.
#
# source://elftools//lib/elftools/constants.rb#682
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STB::STB_GNU_UNIQUE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# End of OS-specific
#
# source://elftools//lib/elftools/constants.rb#683
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STB::STB_HIOS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# End of processor-specific
#
# source://elftools//lib/elftools/constants.rb#685
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STB::STB_HIPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Local symbol
#
# source://elftools//lib/elftools/constants.rb#677
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STB::STB_LOCAL = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Start of OS-specific
#
# source://elftools//lib/elftools/constants.rb#681
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STB::STB_LOOS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Start of processor-specific
#
# source://elftools//lib/elftools/constants.rb#684
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STB::STB_LOPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Number of defined types.
#
# source://elftools//lib/elftools/constants.rb#680
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STB::STB_NUM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Weak symbol
#
# source://elftools//lib/elftools/constants.rb#679
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STB::STB_WEAK = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Symbol types from Sym st_info field.
#
# source://elftools//lib/elftools/constants.rb#690
2022-10-14 09:05:18 +00:00
module ELFTools::Constants::STT; end
2023-12-14 15:34:15 +00:00
# ARM: a THUMB label.
#
# source://elftools//lib/elftools/constants.rb#718
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_ARM_16BIT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# ARM: a THUMB function. This is not defined in ARM ELF Specification but
# used by the GNU tool-chain.
#
# source://elftools//lib/elftools/constants.rb#717
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_ARM_TFUNC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Symbol is a common data object
#
# source://elftools//lib/elftools/constants.rb#696
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_COMMON = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Symbol's name is file name
#
# source://elftools//lib/elftools/constants.rb#695
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_FILE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Symbol is a code object
#
# source://elftools//lib/elftools/constants.rb#693
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_FUNC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# GNU extension: symbol value points to a function which is called
# at runtime to determine the final value of the symbol.
#
# source://elftools//lib/elftools/constants.rb#704
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_GNU_IFUNC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# End of OS-specific
#
# source://elftools//lib/elftools/constants.rb#707
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_HIOS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# End of processor-specific
#
# source://elftools//lib/elftools/constants.rb#709
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_HIPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Start of OS-specific
#
# source://elftools//lib/elftools/constants.rb#706
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_LOOS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Start of processor-specific
#
# source://elftools//lib/elftools/constants.rb#708
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_LOPROC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Symbol type is unspecified
#
# source://elftools//lib/elftools/constants.rb#691
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_NOTYPE = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Deprecated.
#
# source://elftools//lib/elftools/constants.rb#698
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_NUM = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Symbol is a data object
#
# source://elftools//lib/elftools/constants.rb#692
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_OBJECT = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Complex relocation expression
#
# source://elftools//lib/elftools/constants.rb#699
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_RELC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Symbol associated with a section
#
# source://elftools//lib/elftools/constants.rb#694
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_SECTION = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# The section type that must be used for register symbols on
# Sparc. These symbols initialize a global register.
#
# source://elftools//lib/elftools/constants.rb#713
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_SPARC_REGISTER = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Signed Complex relocation expression
#
# source://elftools//lib/elftools/constants.rb#700
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_SRELC = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Symbol is thread-local data object
#
# source://elftools//lib/elftools/constants.rb#697
2022-10-14 09:05:18 +00:00
ELFTools::Constants::STT::STT_TLS = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# Define common methods for dynamic sections and dynamic segments.
#
# @note This module can only be included by {ELFTools::Sections::DynamicSection}
# and {ELFTools::Segments::DynamicSegment} because methods here assume some
# attributes exist.
#
# source://elftools//lib/elftools/dynamic.rb#10
2022-10-14 09:05:18 +00:00
module ELFTools::Dynamic
2023-12-14 15:34:15 +00:00
# Iterate all tags.
#
# @note This method assume the following methods already exist:
# header
# tag_start
# @return [Enumerator<ELFTools::Dynamic::Tag>, Array<ELFTools::Dynamic::Tag>] If block is not given, an enumerator will be returned.
# Otherwise, return array of tags.
# @yieldparam tag [ELFTools::Dynamic::Tag]
#
# source://elftools//lib/elftools/dynamic.rb#21
2022-10-14 09:05:18 +00:00
def each_tags(&block); end
2023-12-14 15:34:15 +00:00
# Get the +n+-th tag.
#
# Tags are lazy loaded.
#
# @note This method assume the following methods already exist:
# header
# tag_start
# @note We cannot do bound checking of +n+ here since the only way to get size
# of tags is calling +tags.size+.
# @param n [Integer] The index.
# @return [ELFTools::Dynamic::Tag] The desired tag.
#
# source://elftools//lib/elftools/dynamic.rb#93
2022-10-14 09:05:18 +00:00
def tag_at(n); end
2023-12-14 15:34:15 +00:00
# Get a tag of specific type.
#
# @example
# dynamic = elf.segment_by_type(:dynamic)
# # type as integer
# dynamic.tag_by_type(0) # the null tag
# #=> #<ELFTools::Dynamic::Tag:0x0055b5a5ecad28 @header={:d_tag=>0, :d_val=>0}>
# dynamic.tag_by_type(ELFTools::Constants::DT_NULL)
# #=> #<ELFTools::Dynamic::Tag:0x0055b5a5ecad28 @header={:d_tag=>0, :d_val=>0}>
#
# # symbol
# dynamic.tag_by_type(:null)
# #=> #<ELFTools::Dynamic::Tag:0x0055b5a5ecad28 @header={:d_tag=>0, :d_val=>0}>
# dynamic.tag_by_type(:pltgot)
# #=> #<ELFTools::Dynamic::Tag:0x0055d3d2d91b28 @header={:d_tag=>3, :d_val=>6295552}>
#
# # string
# dynamic.tag_by_type('null')
# #=> #<ELFTools::Dynamic::Tag:0x0055b5a5ecad28 @header={:d_tag=>0, :d_val=>0}>
# dynamic.tag_by_type('DT_PLTGOT')
# #=> #<ELFTools::Dynamic::Tag:0x0055d3d2d91b28 @header={:d_tag=>3, :d_val=>6295552}>
# @param type [Integer, Symbol, String] Constant value, symbol, or string of type
# is acceptable. See examples for more information.
# @return [ELFTools::Dynamic::Tag] The desired tag.
#
# source://elftools//lib/elftools/dynamic.rb#64
2022-10-14 09:05:18 +00:00
def tag_by_type(type); end
2023-12-14 15:34:15 +00:00
# Use {#tags} to get all tags.
#
# @return [Array<ELFTools::Dynamic::Tag>] Array of tags.
#
# source://elftools//lib/elftools/dynamic.rb#36
2022-10-14 09:05:18 +00:00
def tags; end
2023-12-14 15:34:15 +00:00
# Get tags of specific type.
#
# @param type [Integer, Symbol, String] Constant value, symbol, or string of type
# is acceptable. See examples for more information.
# @return [Array<ELFTools::Dynamic::Tag>] The desired tags.
# @see #tag_by_type
#
# source://elftools//lib/elftools/dynamic.rb#76
2022-10-14 09:05:18 +00:00
def tags_by_type(type); end
private
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/dynamic.rb#108
2022-10-14 09:05:18 +00:00
def endian; end
2023-12-14 15:34:15 +00:00
# Get the DT_STRTAB's +d_val+ offset related to file.
#
# source://elftools//lib/elftools/dynamic.rb#113
2022-10-14 09:05:18 +00:00
def str_offset; end
end
2023-12-14 15:34:15 +00:00
# A tag class.
#
# source://elftools//lib/elftools/dynamic.rb#119
2022-10-14 09:05:18 +00:00
class ELFTools::Dynamic::Tag
2023-12-14 15:34:15 +00:00
# Instantiate a {ELFTools::Dynamic::Tag} object.
#
# @param header [ELF_Dyn] The dynamic tag header.
# @param stream [#pos=, #read] Streaming object.
# @param str_offset [Method] Call this method to get the string offset related
# to file.
# @return [Tag] a new instance of Tag
#
# source://elftools//lib/elftools/dynamic.rb#129
2022-10-14 09:05:18 +00:00
def initialize(header, stream, str_offset); end
2023-12-14 15:34:15 +00:00
# @return [ELFTools::Structs::ELF_Dyn] The dynamic tag header.
#
# source://elftools//lib/elftools/dynamic.rb#120
2022-10-14 09:05:18 +00:00
def header; end
2023-12-14 15:34:15 +00:00
# Return the name of this tag.
#
# Only tags with name would return a name.
# Others would return +nil+.
#
# @return [String, nil] The name.
#
# source://elftools//lib/elftools/dynamic.rb#171
2022-10-14 09:05:18 +00:00
def name; end
2023-12-14 15:34:15 +00:00
# Is this tag has a name?
#
# The criteria here is if this tag's type is in {TYPE_WITH_NAME}.
#
# @return [Boolean] Is this tag has a name.
#
# source://elftools//lib/elftools/dynamic.rb#162
2022-10-14 09:05:18 +00:00
def name?; end
2023-12-14 15:34:15 +00:00
# @return [#pos=, #read] Streaming object.
#
# source://elftools//lib/elftools/dynamic.rb#121
2022-10-14 09:05:18 +00:00
def stream; end
2023-12-14 15:34:15 +00:00
# Return the content of this tag records.
#
# For normal tags, this method just return
# +header.d_val+. For tags with +header.d_val+
# in meaning of string offset (e.g. DT_NEEDED), this method would
# return the string it specified.
# Tags with type in {TYPE_WITH_NAME} are those tags with name.
#
# @example
# dynamic = elf.segment_by_type(:dynamic)
# dynamic.tag_by_type(:init).value
# #=> 4195600 # 0x400510
# dynamic.tag_by_type(:needed).value
# #=> 'libc.so.6'
# @return [Integer, String] The content this tag records.
#
# source://elftools//lib/elftools/dynamic.rb#154
2022-10-14 09:05:18 +00:00
def value; end
end
2023-12-14 15:34:15 +00:00
# Some dynamic have name.
#
# source://elftools//lib/elftools/dynamic.rb#136
2022-10-14 09:05:18 +00:00
ELFTools::Dynamic::Tag::TYPE_WITH_NAME = T.let(T.unsafe(nil), Array)
2023-12-14 15:34:15 +00:00
# Raised on invalid ELF class (EI_CLASS).
#
# source://elftools//lib/elftools/exceptions.rb#11
2022-10-14 09:05:18 +00:00
class ELFTools::ELFClassError < ::ELFTools::ELFError; end
2023-12-14 15:34:15 +00:00
# Raised on invalid ELF data encoding (EI_DATA).
#
# source://elftools//lib/elftools/exceptions.rb#14
2022-10-14 09:05:18 +00:00
class ELFTools::ELFDataError < ::ELFTools::ELFError; end
2023-12-14 15:34:15 +00:00
# Being raised when parsing error.
#
# source://elftools//lib/elftools/exceptions.rb#5
2022-10-14 09:05:18 +00:00
class ELFTools::ELFError < ::StandardError; end
2023-12-14 15:34:15 +00:00
# The main class for using elftools.
#
# source://elftools//lib/elftools/elf_file.rb#12
2022-10-14 09:05:18 +00:00
class ELFTools::ELFFile
2023-12-14 15:34:15 +00:00
# Instantiate an {ELFFile} object.
#
# @example
# ELFFile.new(File.open('/bin/cat'))
# #=> #<ELFTools::ELFFile:0x00564b106c32a0 @elf_class=64, @endian=:little, @stream=#<File:/bin/cat>>
# @param stream [#pos=, #read] The +File+ object to be fetch information from.
# @return [ELFFile] a new instance of ELFFile
#
# source://elftools//lib/elftools/elf_file.rb#24
2022-10-14 09:05:18 +00:00
def initialize(stream); end
2023-12-14 15:34:15 +00:00
# Return the BuildID of ELF.
#
# @example
# elf.build_id
# #=> '73ab62cb7bc9959ce053c2b711322158708cdc07'
# @return [String, nil] BuildID in hex form will be returned.
# +nil+ is returned if the .note.gnu.build-id section
# is not found.
#
# source://elftools//lib/elftools/elf_file.rb#52
2022-10-14 09:05:18 +00:00
def build_id; end
2023-12-14 15:34:15 +00:00
# Iterate all sections.
#
# All sections are lazy loading, the section
# only be created whenever accessing it.
# This method is useful for {#section_by_name}
# since not all sections need to be created.
#
# @return [Enumerator<ELFTools::Sections::Section>, Array<ELFTools::Sections::Section>] As +Array#each+, if block is not given, a enumerator will be returned,
# otherwise, the whole sections will be returned.
# @yieldparam section [ELFTools::Sections::Section] A section.
# @yieldreturn [void]
#
# source://elftools//lib/elftools/elf_file.rb#122
2022-10-14 09:05:18 +00:00
def each_sections(&block); end
2023-12-14 15:34:15 +00:00
# Iterate all segments.
#
# All segments are lazy loading, the segment
# only be created whenever accessing it.
# This method is useful for {#segment_by_type}
# since not all segments need to be created.
#
# @return [Array<ELFTools::Segments::Segment>] Whole segments will be returned.
# @yieldparam segment [ELFTools::Segments::Segment] A segment.
# @yieldreturn [void]
#
# source://elftools//lib/elftools/elf_file.rb#195
2022-10-14 09:05:18 +00:00
def each_segments(&block); end
2023-12-14 15:34:15 +00:00
# @return [Integer] 32 or 64.
#
# source://elftools//lib/elftools/elf_file.rb#14
2022-10-14 09:05:18 +00:00
def elf_class; end
2023-12-14 15:34:15 +00:00
# Return the ELF type according to +e_type+.
#
# @example
# ELFFile.new(File.open('spec/files/libc.so.6')).elf_type
# #=> 'DYN'
# ELFFile.new(File.open('spec/files/amd64.elf')).elf_type
# #=> 'EXEC'
# @return [String] Type in string format.
#
# source://elftools//lib/elftools/elf_file.rb#82
2022-10-14 09:05:18 +00:00
def elf_type; end
2023-12-14 15:34:15 +00:00
# @return [Symbol] +:little+ or +:big+.
#
# source://elftools//lib/elftools/elf_file.rb#15
2022-10-14 09:05:18 +00:00
def endian; end
2023-12-14 15:34:15 +00:00
# Return the file header.
#
# Lazy loading.
#
# @return [ELFTools::Structs::ELF_Ehdr] The header.
#
# source://elftools//lib/elftools/elf_file.rb#35
2022-10-14 09:05:18 +00:00
def header; end
2023-12-14 15:34:15 +00:00
# Get machine architecture.
#
# Mappings of architecture can be found
# in {ELFTools::Constants::EM.mapping}.
#
# @example
# elf.machine
# #=> 'Advanced Micro Devices X86-64'
# @return [String] Name of architecture.
#
# source://elftools//lib/elftools/elf_file.rb#71
2022-10-14 09:05:18 +00:00
def machine; end
2023-12-14 15:34:15 +00:00
# Number of sections in this file.
#
# @example
# elf.num_sections
# #=> 29
# @return [Integer] The desired number.
#
# source://elftools//lib/elftools/elf_file.rb#93
2022-10-14 09:05:18 +00:00
def num_sections; end
2023-12-14 15:34:15 +00:00
# Number of segments in this file.
#
# @return [Integer] The desited number.
#
# source://elftools//lib/elftools/elf_file.rb#181
2022-10-14 09:05:18 +00:00
def num_segments; end
2023-12-14 15:34:15 +00:00
# Get the offset related to file, given virtual memory address.
#
# This method should work no matter ELF is a PIE or not.
# This method refers from (actually equals to) binutils/readelf.c#offset_from_vma.
#
# @example
# elf = ELFTools::ELFFile.new(File.open('/bin/cat'))
# elf.offset_from_vma(0x401337)
# #=> 4919 # 0x1337
# @param vma [Integer] The virtual address to be queried.
# @return [Integer] Related file offset.
#
# source://elftools//lib/elftools/elf_file.rb#293
2022-10-14 09:05:18 +00:00
def offset_from_vma(vma, size = T.unsafe(nil)); end
2023-12-14 15:34:15 +00:00
# The patch status.
#
# @return [Hash{Integer => String}]
#
# source://elftools//lib/elftools/elf_file.rb#301
2022-10-14 09:05:18 +00:00
def patches; end
2023-12-14 15:34:15 +00:00
# Apply patches and save as +filename+.
#
# @param filename [String]
# @return [void]
#
# source://elftools//lib/elftools/elf_file.rb#315
2022-10-14 09:05:18 +00:00
def save(filename); end
2023-12-14 15:34:15 +00:00
# Acquire the +n+-th section, 0-based.
#
# Sections are lazy loaded.
#
# @param n [Integer] The index.
# @return [ELFTools::Sections::Section, nil] The target section.
# If +n+ is out of bound, +nil+ is returned.
#
# source://elftools//lib/elftools/elf_file.rb#144
2022-10-14 09:05:18 +00:00
def section_at(n); end
2023-12-14 15:34:15 +00:00
# Acquire the section named as +name+.
#
# @example
# elf.section_by_name('.note.gnu.build-id')
# #=> #<ELFTools::Sections::Section:0x005647b1282428>
# elf.section_by_name('')
# #=> #<ELFTools::Sections::NullSection:0x005647b11da110>
# elf.section_by_name('no such section')
# #=> nil
# @param name [String] The desired section name.
# @return [ELFTools::Sections::Section, nil] The target section.
#
# source://elftools//lib/elftools/elf_file.rb#107
2022-10-14 09:05:18 +00:00
def section_by_name(name); end
2023-12-14 15:34:15 +00:00
# Simply use {#sections} to get all sections.
#
# @return [Array<ELFTools::Sections::Section>] Whole sections.
#
# source://elftools//lib/elftools/elf_file.rb#133
2022-10-14 09:05:18 +00:00
def sections; end
2023-12-14 15:34:15 +00:00
# Fetch all sections with specific type.
#
# The available types are listed in {ELFTools::Constants::PT}.
# This method accept giving block.
#
# @example
# elf = ELFTools::ELFFile.new(File.open('spec/files/amd64.elf'))
# elf.sections_by_type(:rela)
# #=> [#<ELFTools::Sections::RelocationSection:0x00563cd3219970>,
# # #<ELFTools::Sections::RelocationSection:0x00563cd3b89d70>]
# @param type [Integer, Symbol, String] The type needed, similar format as {#segment_by_type}.
# @return [Array<ELFTools::Sections::section>] The target sections.
# @yieldparam section [ELFTools::Sections::Section] A section in specific type.
# @yieldreturn [void]
#
# source://elftools//lib/elftools/elf_file.rb#163
2022-10-14 09:05:18 +00:00
def sections_by_type(type, &block); end
2023-12-14 15:34:15 +00:00
# Acquire the +n+-th segment, 0-based.
#
# Segments are lazy loaded.
#
# @param n [Integer] The index.
# @return [ELFTools::Segments::Segment, nil] The target segment.
# If +n+ is out of bound, +nil+ is returned.
#
# source://elftools//lib/elftools/elf_file.rb#278
2022-10-14 09:05:18 +00:00
def segment_at(n); end
2023-12-14 15:34:15 +00:00
# Get the first segment with +p_type=type+.
# The available types are listed in {ELFTools::Constants::PT}.
#
# @example
# # type as an integer
# elf.segment_by_type(ELFTools::Constants::PT_NOTE)
# #=> #<ELFTools::Segments::NoteSegment:0x005629dda1e4f8>
#
# elf.segment_by_type(4) # PT_NOTE
# #=> #<ELFTools::Segments::NoteSegment:0x005629dda1e4f8>
#
# # type as a symbol
# elf.segment_by_type(:PT_NOTE)
# #=> #<ELFTools::Segments::NoteSegment:0x005629dda1e4f8>
#
# # you can do this
# elf.segment_by_type(:note) # will be transformed into `PT_NOTE`
# #=> #<ELFTools::Segments::NoteSegment:0x005629dda1e4f8>
#
# # type as a string
# elf.segment_by_type('PT_NOTE')
# #=> #<ELFTools::Segments::NoteSegment:0x005629dda1e4f8>
#
# # this is ok
# elf.segment_by_type('note') # will be tranformed into `PT_NOTE`
# #=> #<ELFTools::Segments::NoteSegment:0x005629dda1e4f8>
# @example
# elf.segment_by_type(1337)
# # ArgumentError: No constants in Constants::PT is 1337
#
# elf.segment_by_type('oao')
# # ArgumentError: No constants in Constants::PT named "PT_OAO"
# @example
# elf.segment_by_type(0)
# #=> nil # no such segment exists
# @note This method will return the first segment found,
# to found all segments with specific type you can use {#segments_by_type}.
# @param type [Integer, Symbol, String] See examples for clear usage.
# @return [ELFTools::Segments::Segment] The target segment.
#
# source://elftools//lib/elftools/elf_file.rb#251
2022-10-14 09:05:18 +00:00
def segment_by_type(type); end
2023-12-14 15:34:15 +00:00
# Simply use {#segments} to get all segments.
#
# @return [Array<ELFTools::Segments::Segment>] Whole segments.
#
# source://elftools//lib/elftools/elf_file.rb#206
2022-10-14 09:05:18 +00:00
def segments; end
2023-12-14 15:34:15 +00:00
# Fetch all segments with specific type.
#
# If you want to find only one segment,
# use {#segment_by_type} instead.
# This method accept giving block.
#
# @param type [Integer, Symbol, String] The type needed, same format as {#segment_by_type}.
# @return [Array<ELFTools::Segments::Segment>] The target segments.
# @yieldparam segment [ELFTools::Segments::Segment] A segment in specific type.
# @yieldreturn [void]
#
# source://elftools//lib/elftools/elf_file.rb#266
2022-10-14 09:05:18 +00:00
def segments_by_type(type, &block); end
2023-12-14 15:34:15 +00:00
# @return [#pos=, #read] The +File+ object.
#
# source://elftools//lib/elftools/elf_file.rb#13
2022-10-14 09:05:18 +00:00
def stream; end
2023-12-14 15:34:15 +00:00
# Get the string table section.
#
# This section is acquired by using the +e_shstrndx+
# in ELF header.
#
# @return [ELFTools::Sections::StrTabSection] The desired section.
#
# source://elftools//lib/elftools/elf_file.rb#173
2022-10-14 09:05:18 +00:00
def strtab_section; end
private
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/elf_file.rb#359
2022-10-14 09:05:18 +00:00
def create_section(n); end
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/elf_file.rb#370
2022-10-14 09:05:18 +00:00
def create_segment(n); end
2023-12-14 15:34:15 +00:00
# @raise [ELFMagicError]
#
# source://elftools//lib/elftools/elf_file.rb#339
2022-10-14 09:05:18 +00:00
def identify; end
2023-12-14 15:34:15 +00:00
# bad idea..
#
# source://elftools//lib/elftools/elf_file.rb#327
2022-10-14 09:05:18 +00:00
def loaded_headers; end
end
2023-12-14 15:34:15 +00:00
# Raised on invalid ELF magic.
#
# source://elftools//lib/elftools/exceptions.rb#8
2022-10-14 09:05:18 +00:00
class ELFTools::ELFMagicError < ::ELFTools::ELFError; end
2023-12-14 15:34:15 +00:00
# A helper class for {ELFTools} easy to implement
# 'lazy loading' objects.
# Mainly used when loading sections, segments, and
# symbols.
#
# source://elftools//lib/elftools/lazy_array.rb#29
2022-10-14 09:05:18 +00:00
class ELFTools::LazyArray < ::SimpleDelegator
2023-12-14 15:34:15 +00:00
# Instantiate a {LazyArray} object.
#
# @example
# arr = LazyArray.new(10) { |i| p "calc #{i}"; i * i }
# p arr[2]
# # "calc 2"
# # 4
#
# p arr[3]
# # "calc 3"
# # 9
#
# p arr[3]
# # 9
# @param size [Integer] The size of array.
# @return [LazyArray] a new instance of LazyArray
# @yieldparam i [Integer] Needs the +i+-th element.
# @yieldreturn [Object] Value of the +i+-th element.
#
# source://elftools//lib/elftools/lazy_array.rb#30
2022-10-14 09:05:18 +00:00
def initialize(size, &block); end
2023-12-14 15:34:15 +00:00
# To access elements like a normal array.
#
# Elements are lazy loaded at the first time
# access it.
#
# @return [Object] The element, returned type is the
# return type of block given in {#initialize}.
#
# source://elftools//lib/elftools/lazy_array.rb#42
2022-10-14 09:05:18 +00:00
def [](i); end
end
2023-12-14 15:34:15 +00:00
# Since both note sections and note segments refer to notes, this module
# defines common methods for {ELFTools::Sections::NoteSection} and
# {ELFTools::Segments::NoteSegment}.
#
# @note This module can only be included in {ELFTools::Sections::NoteSection} and
# {ELFTools::Segments::NoteSegment} since some methods here assume some
# attributes already exist.
#
# source://elftools//lib/elftools/note.rb#15
2022-10-14 09:05:18 +00:00
module ELFTools::Note
2023-12-14 15:34:15 +00:00
# Iterate all notes in a note section or segment.
#
# Structure of notes are:
# +---------------+
# | Note 1 header |
# +---------------+
# | Note 1 name |
# +---------------+
# | Note 1 desc |
# +---------------+
# | Note 2 header |
# +---------------+
# | ... |
# +---------------+
#
# @note This method assume following methods exist:
# stream
# note_start
# note_total_size
# @return [Enumerator<ELFTools::Note::Note>, Array<ELFTools::Note::Note>] If block is not given, an enumerator will be returned.
# Otherwise, return the array of notes.
#
# source://elftools//lib/elftools/note.rb#44
2022-10-14 09:05:18 +00:00
def each_notes; end
2023-12-14 15:34:15 +00:00
# Simply +#notes+ to get all notes.
#
# @return [Array<ELFTools::Note::Note>] Whole notes.
#
# source://elftools//lib/elftools/note.rb#67
2022-10-14 09:05:18 +00:00
def notes; end
private
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/note.rb#81
2022-10-14 09:05:18 +00:00
def create_note(cur); end
2023-12-14 15:34:15 +00:00
# Get the endian.
#
# @note This method assume method +header+ exists.
# @return [Symbol] +:little+ or +:big+.
#
# source://elftools//lib/elftools/note.rb#77
2022-10-14 09:05:18 +00:00
def endian; end
end
2023-12-14 15:34:15 +00:00
# Class of a note.
#
# source://elftools//lib/elftools/note.rb#87
2022-10-14 09:05:18 +00:00
class ELFTools::Note::Note
2023-12-14 15:34:15 +00:00
# Instantiate a {ELFTools::Note::Note} object.
#
# @param header [ELF_Nhdr] The note header.
# @param stream [#pos=, #read] Streaming object.
# @param offset [Integer] Start address of this note, includes the header.
# @return [Note] a new instance of Note
#
# source://elftools//lib/elftools/note.rb#97
2022-10-14 09:05:18 +00:00
def initialize(header, stream, offset); end
2023-12-14 15:34:15 +00:00
# Description of this note.
#
# @return [String] The description.
#
# source://elftools//lib/elftools/note.rb#114
2022-10-14 09:05:18 +00:00
def desc; end
2023-12-14 15:34:15 +00:00
# Description of this note.
# If someone likes to use full name.
#
# @return [String] The description.
#
# source://elftools//lib/elftools/note.rb#114
2022-10-14 09:05:18 +00:00
def description; end
2023-12-14 15:34:15 +00:00
# @return [ELFTools::Structs::ELF_Nhdr] Note header.
#
# source://elftools//lib/elftools/note.rb#88
2022-10-14 09:05:18 +00:00
def header; end
2023-12-14 15:34:15 +00:00
# Name of this note.
#
# @return [String] The name.
#
# source://elftools//lib/elftools/note.rb#105
2022-10-14 09:05:18 +00:00
def name; end
2023-12-14 15:34:15 +00:00
# @return [Integer] Address of this note start, includes note header.
#
# source://elftools//lib/elftools/note.rb#90
2022-10-14 09:05:18 +00:00
def offset; end
2023-12-14 15:34:15 +00:00
# @return [#pos=, #read] Streaming object.
#
# source://elftools//lib/elftools/note.rb#89
2022-10-14 09:05:18 +00:00
def stream; end
end
2023-12-14 15:34:15 +00:00
# Since size of {ELFTools::Structs::ELF_Nhdr} will not change no matter in
# what endian and what arch, we can do this here. This value should equal
# to 12.
#
# source://elftools//lib/elftools/note.rb#19
2022-10-14 09:05:18 +00:00
ELFTools::Note::SIZE_OF_NHDR = T.let(T.unsafe(nil), Integer)
2023-12-14 15:34:15 +00:00
# A relocation entry.
#
# Can be either a REL or RELA relocation.
# XXX: move this to an independent file?
#
# source://elftools//lib/elftools/sections/relocation_section.rb#77
2022-10-14 09:05:18 +00:00
class ELFTools::Relocation
2023-12-14 15:34:15 +00:00
# Instantiate a {Relocation} object.
#
# @return [Relocation] a new instance of Relocation
#
# source://elftools//lib/elftools/sections/relocation_section.rb#82
2022-10-14 09:05:18 +00:00
def initialize(header, stream); end
2023-12-14 15:34:15 +00:00
# @return [ELFTools::Structs::ELF_Rel, ELFTools::Structs::ELF_Rela] Rel(a) header.
#
# source://elftools//lib/elftools/sections/relocation_section.rb#78
2022-10-14 09:05:18 +00:00
def header; end
2023-12-14 15:34:15 +00:00
# +r_info+ contains sym and type, use two methods
# to access them easier.
#
# @return [Integer] sym infor.
#
# source://elftools//lib/elftools/sections/relocation_section.rb#90
2022-10-14 09:05:18 +00:00
def r_info_sym; end
2023-12-14 15:34:15 +00:00
# +r_info+ contains sym and type, use two methods
# to access them easier.
#
# @return [Integer] type infor.
#
# source://elftools//lib/elftools/sections/relocation_section.rb#98
2022-10-14 09:05:18 +00:00
def r_info_type; end
2023-12-14 15:34:15 +00:00
# @return [#pos=, #read] Streaming object.
#
# source://elftools//lib/elftools/sections/relocation_section.rb#79
2022-10-14 09:05:18 +00:00
def stream; end
2023-12-14 15:34:15 +00:00
# +r_info+ contains sym and type, use two methods
# to access them easier.
#
# @return [Integer] sym infor.
#
# source://elftools//lib/elftools/sections/relocation_section.rb#90
2022-10-14 09:05:18 +00:00
def symbol_index; end
2023-12-14 15:34:15 +00:00
# +r_info+ contains sym and type, use two methods
# to access them easier.
#
# @return [Integer] type infor.
#
# source://elftools//lib/elftools/sections/relocation_section.rb#98
2022-10-14 09:05:18 +00:00
def type; end
private
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/sections/relocation_section.rb#105
2022-10-14 09:05:18 +00:00
def mask_bit; end
end
2023-12-14 15:34:15 +00:00
# Defines different types of sections in this module.
#
# source://elftools//lib/elftools/sections/section.rb#5
2022-10-14 09:05:18 +00:00
module ELFTools::Sections; end
2023-12-14 15:34:15 +00:00
# Class for dynamic table section.
#
# This section should always be named .dynamic.
# This class knows how to get the list of dynamic tags.
#
# source://elftools//lib/elftools/sections/dynamic_section.rb#12
2022-10-14 09:05:18 +00:00
class ELFTools::Sections::DynamicSection < ::ELFTools::Sections::Section
include ::ELFTools::Dynamic
2023-12-14 15:34:15 +00:00
# Get the start address of tags.
#
# @return [Integer] Start address of tags.
#
# source://elftools//lib/elftools/sections/dynamic_section.rb#17
2022-10-14 09:05:18 +00:00
def tag_start; end
end
2023-12-14 15:34:15 +00:00
# Class of note section.
# Note section records notes
#
# source://elftools//lib/elftools/sections/note_section.rb#11
2022-10-14 09:05:18 +00:00
class ELFTools::Sections::NoteSection < ::ELFTools::Sections::Section
include ::ELFTools::Note
2023-12-14 15:34:15 +00:00
# Address offset of notes start.
#
# @return [Integer] The offset.
#
# source://elftools//lib/elftools/sections/note_section.rb#16
2022-10-14 09:05:18 +00:00
def note_start; end
2023-12-14 15:34:15 +00:00
# The total size of notes in this section.
#
# @return [Integer] The size.
#
# source://elftools//lib/elftools/sections/note_section.rb#22
2022-10-14 09:05:18 +00:00
def note_total_size; end
end
2023-12-14 15:34:15 +00:00
# Class of null section.
# Null section is for specific the end
# of linked list (+sh_link+) between sections.
#
# source://elftools//lib/elftools/sections/null_section.rb#12
2022-10-14 09:05:18 +00:00
class ELFTools::Sections::NullSection < ::ELFTools::Sections::Section
2023-12-14 15:34:15 +00:00
# Is this a null section?
#
# @return [Boolean] Yes it is.
#
# source://elftools//lib/elftools/sections/null_section.rb#13
2022-10-14 09:05:18 +00:00
def null?; end
end
2023-12-14 15:34:15 +00:00
# Class of note section.
# Note section records notes
#
# source://elftools//lib/elftools/sections/relocation_section.rb#13
2022-10-14 09:05:18 +00:00
class ELFTools::Sections::RelocationSection < ::ELFTools::Sections::Section
2023-12-14 15:34:15 +00:00
# Iterate all relocations.
#
# All relocations are lazy loading, the relocation
# only be created whenever accessing it.
#
# @return [Enumerator<ELFTools::Relocation>, Array<ELFTools::Relocation>] If block is not given, an enumerator will be returned.
# Otherwise, the whole relocations will be returned.
# @yieldparam rel [ELFTools::Relocation] A relocation object.
# @yieldreturn [void]
#
# source://elftools//lib/elftools/sections/relocation_section.rb#45
2022-10-14 09:05:18 +00:00
def each_relocations(&block); end
2023-12-14 15:34:15 +00:00
# Number of relocations in this section.
#
# @return [Integer] The number.
#
# source://elftools//lib/elftools/sections/relocation_section.rb#20
2022-10-14 09:05:18 +00:00
def num_relocations; end
2023-12-14 15:34:15 +00:00
# Is this relocation a RELA or REL type.
#
# @return [Boolean] If is RELA.
#
# source://elftools//lib/elftools/sections/relocation_section.rb#14
2022-10-14 09:05:18 +00:00
def rela?; end
2023-12-14 15:34:15 +00:00
# Acquire the +n+-th relocation, 0-based.
#
# relocations are lazy loaded.
#
# @param n [Integer] The index.
# @return [ELFTools::Relocation, nil] The target relocation.
# If +n+ is out of bound, +nil+ is returned.
#
# source://elftools//lib/elftools/sections/relocation_section.rb#31
2022-10-14 09:05:18 +00:00
def relocation_at(n); end
2023-12-14 15:34:15 +00:00
# Simply use {#relocations} to get all relocations.
#
# @return [Array<ELFTools::Relocation>] Whole relocations.
#
# source://elftools//lib/elftools/sections/relocation_section.rb#56
2022-10-14 09:05:18 +00:00
def relocations; end
private
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/sections/relocation_section.rb#62
2022-10-14 09:05:18 +00:00
def create_relocation(n); end
end
2023-12-14 15:34:15 +00:00
# Base class of sections.
#
# source://elftools//lib/elftools/sections/section.rb#7
2022-10-14 09:05:18 +00:00
class ELFTools::Sections::Section
2023-12-14 15:34:15 +00:00
# Instantiate a {Section} object.
#
# @param header [ELFTools::Structs::ELF_Shdr] The section header object.
# @param stream [#pos=, #read] The streaming object for further dump.
# @param strtab [ELFTools::Sections::StrTabSection, Proc] The string table object. For fetching section names.
# If +Proc+ if given, it will call at the first
# time access +#name+.
# @param offset_from_vma [Method] The method to get offset of file, given virtual memory address.
# @return [Section] a new instance of Section
#
# source://elftools//lib/elftools/sections/section.rb#22
2022-10-14 09:05:18 +00:00
def initialize(header, stream, offset_from_vma: T.unsafe(nil), strtab: T.unsafe(nil), **_kwargs); end
2023-12-14 15:34:15 +00:00
# Fetch data of this section.
#
# @return [String] Data.
#
# source://elftools//lib/elftools/sections/section.rb#44
2022-10-14 09:05:18 +00:00
def data; end
2023-12-14 15:34:15 +00:00
# @return [ELFTools::Structs::ELF_Shdr] Section header.
#
# source://elftools//lib/elftools/sections/section.rb#8
2022-10-14 09:05:18 +00:00
def header; end
2023-12-14 15:34:15 +00:00
# Get name of this section.
#
# @return [String] The name.
#
# source://elftools//lib/elftools/sections/section.rb#38
2022-10-14 09:05:18 +00:00
def name; end
2023-12-14 15:34:15 +00:00
# Is this a null section?
#
# @return [Boolean] No it's not.
#
# source://elftools//lib/elftools/sections/section.rb#51
2022-10-14 09:05:18 +00:00
def null?; end
2023-12-14 15:34:15 +00:00
# @return [#pos=, #read] Streaming object.
#
# source://elftools//lib/elftools/sections/section.rb#9
2022-10-14 09:05:18 +00:00
def stream; end
2023-12-14 15:34:15 +00:00
# Return +header.sh_type+ in a simplier way.
#
# @return [Integer] The type, meaning of types are defined in {Constants::SHT}.
#
# source://elftools//lib/elftools/sections/section.rb#32
2022-10-14 09:05:18 +00:00
def type; end
class << self
2023-12-14 15:34:15 +00:00
# Use different class according to +header.sh_type+.
#
# @param header [ELFTools::Structs::ELF_Shdr] Section header.
# @param stream [#pos=, #read] Streaming object.
# @return [ELFTools::Sections::Section] Return object dependes on +header.sh_type+.
#
# source://elftools//lib/elftools/sections/sections.rb#24
2022-10-14 09:05:18 +00:00
def create(header, stream, *args, **kwargs); end
end
end
2023-12-14 15:34:15 +00:00
# Class of string table section.
# Usually for section .strtab and .dynstr,
# which record names.
#
# source://elftools//lib/elftools/sections/str_tab_section.rb#15
2022-10-14 09:05:18 +00:00
class ELFTools::Sections::StrTabSection < ::ELFTools::Sections::Section
2023-12-14 15:34:15 +00:00
# Return the section or symbol name.
#
# @param offset [Integer] Usually from +shdr.sh_name+ or +sym.st_name+.
# @return [String] The name without null bytes.
#
# source://elftools//lib/elftools/sections/str_tab_section.rb#16
2022-10-14 09:05:18 +00:00
def name_at(offset); end
end
2023-12-14 15:34:15 +00:00
# Class of symbol table section.
# Usually for section .symtab and .dynsym,
# which will refer to symbols in ELF file.
#
# source://elftools//lib/elftools/sections/sym_tab_section.rb#20
2022-10-14 09:05:18 +00:00
class ELFTools::Sections::SymTabSection < ::ELFTools::Sections::Section
2023-12-14 15:34:15 +00:00
# Instantiate a {SymTabSection} object.
# There's a +section_at+ lambda for {SymTabSection}
# to easily fetch other sections.
#
# @param header [ELFTools::Structs::ELF_Shdr] See {Section#initialize} for more information.
# @param stream [#pos=, #read] See {Section#initialize} for more information.
# @param section_at [Proc] The method for fetching other sections by index.
# This lambda should be {ELFTools::ELFFile#section_at}.
# @return [SymTabSection] a new instance of SymTabSection
#
# source://elftools//lib/elftools/sections/sym_tab_section.rb#21
2022-10-14 09:05:18 +00:00
def initialize(header, stream, section_at: T.unsafe(nil), **_kwargs); end
2023-12-14 15:34:15 +00:00
# Iterate all symbols.
#
# All symbols are lazy loading, the symbol
# only be created whenever accessing it.
# This method is useful for {#symbol_by_name}
# since not all symbols need to be created.
#
# @return [Enumerator<ELFTools::Sections::Symbol>, Array<ELFTools::Sections::Symbol>] If block is not given, an enumerator will be returned.
# Otherwise return array of symbols.
# @yieldparam sym [ELFTools::Sections::Symbol] A symbol object.
# @yieldreturn [void]
#
# source://elftools//lib/elftools/sections/sym_tab_section.rb#59
2022-10-14 09:05:18 +00:00
def each_symbols(&block); end
2023-12-14 15:34:15 +00:00
# Number of symbols.
#
# @example
# symtab.num_symbols
# #=> 75
# @return [Integer] The number.
#
# source://elftools//lib/elftools/sections/sym_tab_section.rb#32
2022-10-14 09:05:18 +00:00
def num_symbols; end
2023-12-14 15:34:15 +00:00
# Acquire the +n+-th symbol, 0-based.
#
# Symbols are lazy loaded.
#
# @param n [Integer] The index.
# @return [ELFTools::Sections::Symbol, nil] The target symbol.
# If +n+ is out of bound, +nil+ is returned.
#
# source://elftools//lib/elftools/sections/sym_tab_section.rb#43
2022-10-14 09:05:18 +00:00
def symbol_at(n); end
2023-12-14 15:34:15 +00:00
# Get symbol by its name.
#
# @param name [String] The name of symbol.
# @return [ELFTools::Sections::Symbol] Desired symbol.
#
# source://elftools//lib/elftools/sections/sym_tab_section.rb#78
2022-10-14 09:05:18 +00:00
def symbol_by_name(name); end
2023-12-14 15:34:15 +00:00
# Simply use {#symbols} to get all symbols.
#
# @return [Array<ELFTools::Sections::Symbol>] The whole symbols.
#
# source://elftools//lib/elftools/sections/sym_tab_section.rb#70
2022-10-14 09:05:18 +00:00
def symbols; end
2023-12-14 15:34:15 +00:00
# Return the symbol string section.
# Lazy loaded.
#
# @return [ELFTools::Sections::StrTabSection] The string table section.
#
# source://elftools//lib/elftools/sections/sym_tab_section.rb#85
2022-10-14 09:05:18 +00:00
def symstr; end
private
2023-12-14 15:34:15 +00:00
# source://elftools//lib/elftools/sections/sym_tab_section.rb#91
2022-10-14 09:05:18 +00:00
def create_symbol(n); end
end
2023-12-14 15:34:15 +00:00
# Class of symbol.
#
# XXX: Should this class be defined in an independent file?
#
# source://elftools//lib/elftools/sections/sym_tab_section.rb#102
2022-10-14 09:05:18 +00:00
class ELFTools::Sections::Symbol
2023-12-14 15:34:15 +00:00
# Instantiate a {ELFTools::Sections::Symbol} object.
#
# @param header [ELFTools::Structs::ELF32_sym, ELFTools::Structs::ELF64_sym] The symbol header.
# @param stream [#pos=, #read] The streaming object.
# @param symstr [ELFTools::Sections::StrTabSection, Proc] The symbol string section.
# If +Proc+ is given, it will be called at the first time
# access {Symbol#name}.
# @return [Symbol] a new instance of Symbol
#
# source://elftools//lib/elftools/sections/sym_tab_section.rb#114
2022-10-14 09:05:18 +00:00
def initialize(header, stream, symstr: T.unsafe(nil)); end
2023-12-14 15:34:15 +00:00
# @return [ELFTools::Structs::ELF32_sym, ELFTools::Structs::ELF64_sym] Section header.
#
# source://elftools//lib/elftools/sections/sym_tab_section.rb#103
2022-10-14 09:05:18 +00:00
def header; end
2023-12-14 15:34:15 +00:00
# Return the symbol name.
#
# @return [String] The name.
#
# source://elftools//lib/elftools/sections/sym_tab_section.rb#122
2022-10-14 09:05:18 +00:00
def name; end
2023-12-14 15:34:15 +00:00
# @return [#pos=, #read] Streaming object.
#
# source://elftools//lib/elftools/sections/sym_tab_section.rb#104
2022-10-14 09:05:18 +00:00
def stream; end
end
2023-12-14 15:34:15 +00:00
# Module for defining different types of segments.
#
# source://elftools//lib/elftools/segments/segment.rb#4
2022-10-14 09:05:18 +00:00
module ELFTools::Segments; end
2023-12-14 15:34:15 +00:00
# Class for dynamic table segment.
#
# This class knows how to get the list of dynamic tags.
#
# source://elftools//lib/elftools/segments/dynamic_segment.rb#11
2022-10-14 09:05:18 +00:00
class ELFTools::Segments::DynamicSegment < ::ELFTools::Segments::Segment
include ::ELFTools::Dynamic
2023-12-14 15:34:15 +00:00
# Get the start address of tags.
#
# @return [Integer] Start address of tags.
#
# source://elftools//lib/elftools/segments/dynamic_segment.rb#15
2022-10-14 09:05:18 +00:00
def tag_start; end
end
2023-12-14 15:34:15 +00:00
# For DT_INTERP segment, knows how to get path of
# ELF interpreter.
#
# source://elftools//lib/elftools/segments/interp_segment.rb#14
2022-10-14 09:05:18 +00:00
class ELFTools::Segments::InterpSegment < ::ELFTools::Segments::Segment
2023-12-14 15:34:15 +00:00
# Get the path of interpreter.
#
# @example
# interp_segment.interp_name
# #=> '/lib64/ld-linux-x86-64.so.2'
# @return [String] Path to the interpreter.
#
# source://elftools//lib/elftools/segments/interp_segment.rb#15
2022-10-14 09:05:18 +00:00
def interp_name; end
end
2023-12-14 15:34:15 +00:00
# For DT_LOAD segment.
# Able to query between file offset and virtual memory address.
#
# source://elftools//lib/elftools/segments/load_segment.rb#12
2022-10-14 09:05:18 +00:00
class ELFTools::Segments::LoadSegment < ::ELFTools::Segments::Segment
2023-12-14 15:34:15 +00:00
# Returns the start of this segment.
#
# @return [Integer] The file offset.
#
# source://elftools//lib/elftools/segments/load_segment.rb#13
2022-10-14 09:05:18 +00:00
def file_head; end
2023-12-14 15:34:15 +00:00
# Returns the end of this segment.
#
# @return [Integer] The file offset.
#
# source://elftools//lib/elftools/segments/load_segment.rb#27
2022-10-14 09:05:18 +00:00
def file_tail; end
2023-12-14 15:34:15 +00:00
# Returns the start virtual address of this segment.
#
# @return [Integer] The vma.
#
# source://elftools//lib/elftools/segments/load_segment.rb#34
2022-10-14 09:05:18 +00:00
def mem_head; end
2023-12-14 15:34:15 +00:00
# Returns size in memory.
#
# @return [Integer] The size.
#
# source://elftools//lib/elftools/segments/load_segment.rb#41
2022-10-14 09:05:18 +00:00
def mem_size; end
2023-12-14 15:34:15 +00:00
# Returns the end virtual address of this segment.
#
# @return [Integer] The vma.
#
# source://elftools//lib/elftools/segments/load_segment.rb#48
2022-10-14 09:05:18 +00:00
def mem_tail; end
2023-12-14 15:34:15 +00:00
# Query if the given file offset located in this segment.
#
# @param offset [Integer] File offset.
# @param size [Integer] Size.
# @return [Boolean]
#
# source://elftools//lib/elftools/segments/load_segment.rb#58
2022-10-14 09:05:18 +00:00
def offset_in?(offset, size = T.unsafe(nil)); end
2023-12-14 15:34:15 +00:00
# Convert file offset into virtual memory address.
#
# @param offset [Integer] File offset.
# @return [Integer]
#
# source://elftools//lib/elftools/segments/load_segment.rb#66
2022-10-14 09:05:18 +00:00
def offset_to_vma(offset); end
2023-12-14 15:34:15 +00:00
# Returns size in file.
#
# @return [Integer] The size.
#
# source://elftools//lib/elftools/segments/load_segment.rb#20
2022-10-14 09:05:18 +00:00
def size; end
2023-12-14 15:34:15 +00:00
# Query if the given virtual memory address located in this segment.
#
# @param vma [Integer] Virtual memory address.
# @param size [Integer] Size.
# @return [Boolean]
#
# source://elftools//lib/elftools/segments/load_segment.rb#77
2022-10-14 09:05:18 +00:00
def vma_in?(vma, size = T.unsafe(nil)); end
2023-12-14 15:34:15 +00:00
# Convert virtual memory address into file offset.
#
# @param vma [Integer] Virtual memory address.
# @return [Integer]
#
# source://elftools//lib/elftools/segments/load_segment.rb#86
2022-10-14 09:05:18 +00:00
def vma_to_offset(vma); end
end
2023-12-14 15:34:15 +00:00
# Class of note segment.
#
# source://elftools//lib/elftools/segments/note_segment.rb#10
2022-10-14 09:05:18 +00:00
class ELFTools::Segments::NoteSegment < ::ELFTools::Segments::Segment
include ::ELFTools::Note
2023-12-14 15:34:15 +00:00
# Address offset of notes start.
#
# @return [Integer] The offset.
#
# source://elftools//lib/elftools/segments/note_segment.rb#15
2022-10-14 09:05:18 +00:00
def note_start; end
2023-12-14 15:34:15 +00:00
# The total size of notes in this segment.
#
# @return [Integer] The size.
#
# source://elftools//lib/elftools/segments/note_segment.rb#21
2022-10-14 09:05:18 +00:00
def note_total_size; end
end
2023-12-14 15:34:15 +00:00
# Base class of segments.
#
# source://elftools//lib/elftools/segments/segment.rb#6
2022-10-14 09:05:18 +00:00
class ELFTools::Segments::Segment
2023-12-14 15:34:15 +00:00
# Instantiate a {Segment} object.
#
# @param header [ELFTools::Structs::ELF32_Phdr, ELFTools::Structs::ELF64_Phdr] Program header.
# @param stream [#pos=, #read] Streaming object.
# @param offset_from_vma [Method] The method to get offset of file, given virtual memory address.
# @return [Segment] a new instance of Segment
#
# source://elftools//lib/elftools/segments/segment.rb#17
2022-10-14 09:05:18 +00:00
def initialize(header, stream, offset_from_vma: T.unsafe(nil)); end
2023-12-14 15:34:15 +00:00
# The content in this segment.
#
# @return [String] The content.
#
# source://elftools//lib/elftools/segments/segment.rb#32
2022-10-14 09:05:18 +00:00
def data; end
2023-12-14 15:34:15 +00:00
# Is this segment executable?
#
# @return [Boolean] Ture or false.
#
# source://elftools//lib/elftools/segments/segment.rb#51
2022-10-14 09:05:18 +00:00
def executable?; end
2023-12-14 15:34:15 +00:00
# @return [ELFTools::Structs::ELF32_Phdr, ELFTools::Structs::ELF64_Phdr] Program header.
#
# source://elftools//lib/elftools/segments/segment.rb#7
2022-10-14 09:05:18 +00:00
def header; end
2023-12-14 15:34:15 +00:00
# Is this segment readable?
#
# @return [Boolean] Ture or false.
#
# source://elftools//lib/elftools/segments/segment.rb#39
2022-10-14 09:05:18 +00:00
def readable?; end
2023-12-14 15:34:15 +00:00
# @return [#pos=, #read] Streaming object.
#
# source://elftools//lib/elftools/segments/segment.rb#8
2022-10-14 09:05:18 +00:00
def stream; end
2023-12-14 15:34:15 +00:00
# Return +header.p_type+ in a simplier way.
#
# @return [Integer] The type, meaning of types are defined in {Constants::PT}.
#
# source://elftools//lib/elftools/segments/segment.rb#26
2022-10-14 09:05:18 +00:00
def type; end
2023-12-14 15:34:15 +00:00
# Is this segment writable?
#
# @return [Boolean] Ture or false.
#
# source://elftools//lib/elftools/segments/segment.rb#45
2022-10-14 09:05:18 +00:00
def writable?; end
class << self
2023-12-14 15:34:15 +00:00
# Use different class according to +header.p_type+.
#
# @param header [ELFTools::Structs::ELF32_Phdr, ELFTools::Structs::ELF64_Phdr] Program header of a segment.
# @param stream [#pos=, #read] Streaming object.
# @return [ELFTools::Segments::Segment] Return object dependes on +header.p_type+.
#
# source://elftools//lib/elftools/segments/segments.rb#22
2022-10-14 09:05:18 +00:00
def create(header, stream, *args, **kwargs); end
end
end
2023-12-14 15:34:15 +00:00
# Define ELF related structures in this module.
#
# Structures are fetched from https://github.com/torvalds/linux/blob/master/include/uapi/linux/elf.h.
# Use gem +bindata+ to have these structures support 32/64 bits and little/big endian simultaneously.
#
# source://elftools//lib/elftools/structs.rb#10
2022-10-14 09:05:18 +00:00
module ELFTools::Structs; end
2023-12-14 15:34:15 +00:00
# Program header structure for 32-bit.
#
# source://elftools//lib/elftools/structs.rb#123
2022-10-14 09:05:18 +00:00
class ELFTools::Structs::ELF32_Phdr < ::ELFTools::Structs::ELFStruct
class << self
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/base.rb#53
2022-10-14 09:05:18 +00:00
def inherited(subclass); end
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/dsl.rb#279
2022-10-14 09:05:18 +00:00
def new(*args); end
end
end
2023-12-14 15:34:15 +00:00
# Symbol structure for 32-bit.
#
# source://elftools//lib/elftools/structs.rb#155
2022-10-14 09:05:18 +00:00
class ELFTools::Structs::ELF32_sym < ::ELFTools::Structs::ELFStruct
class << self
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/base.rb#53
2022-10-14 09:05:18 +00:00
def inherited(subclass); end
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/dsl.rb#279
2022-10-14 09:05:18 +00:00
def new(*args); end
end
end
2023-12-14 15:34:15 +00:00
# Program header structure for 64-bit.
#
# source://elftools//lib/elftools/structs.rb#136
2022-10-14 09:05:18 +00:00
class ELFTools::Structs::ELF64_Phdr < ::ELFTools::Structs::ELFStruct
class << self
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/base.rb#53
2022-10-14 09:05:18 +00:00
def inherited(subclass); end
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/dsl.rb#279
2022-10-14 09:05:18 +00:00
def new(*args); end
end
end
2023-12-14 15:34:15 +00:00
# Symbol structure for 64-bit.
#
# source://elftools//lib/elftools/structs.rb#166
2022-10-14 09:05:18 +00:00
class ELFTools::Structs::ELF64_sym < ::ELFTools::Structs::ELFStruct
class << self
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/base.rb#53
2022-10-14 09:05:18 +00:00
def inherited(subclass); end
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/dsl.rb#279
2022-10-14 09:05:18 +00:00
def new(*args); end
end
end
2023-12-14 15:34:15 +00:00
# The base structure to define common methods.
#
# source://elftools//lib/elftools/structs.rb#13
2022-10-14 09:05:18 +00:00
class ELFTools::Structs::ELFStruct < ::BinData::Record
2023-12-14 15:34:15 +00:00
# @return [Integer] 32 or 64.
#
# source://elftools//lib/elftools/structs.rb#18
2022-10-14 09:05:18 +00:00
def elf_class; end
2023-12-14 15:34:15 +00:00
# @return [Integer] 32 or 64.
#
# source://elftools//lib/elftools/structs.rb#18
2022-10-14 09:05:18 +00:00
def elf_class=(_arg0); end
2023-12-14 15:34:15 +00:00
# @return [Integer] The file offset of this header.
#
# source://elftools//lib/elftools/structs.rb#19
2022-10-14 09:05:18 +00:00
def offset; end
2023-12-14 15:34:15 +00:00
# @return [Integer] The file offset of this header.
#
# source://elftools//lib/elftools/structs.rb#19
2022-10-14 09:05:18 +00:00
def offset=(_arg0); end
2023-12-14 15:34:15 +00:00
# Records which fields have been patched.
#
# @return [Hash{Integer => Integer}] Patches.
#
# source://elftools//lib/elftools/structs.rb#23
2022-10-14 09:05:18 +00:00
def patches; end
2023-12-14 15:34:15 +00:00
# BinData hash(Snapshot) that behaves like HashWithIndifferentAccess
#
# source://bindata/2.4.15/lib/bindata/struct.rb#106
2022-10-14 09:05:18 +00:00
def to_h; end
class << self
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/base.rb#53
2022-10-14 09:05:18 +00:00
def inherited(subclass); end
2023-12-14 15:34:15 +00:00
# Hooks the constructor.
#
# +BinData::Record+ doesn't allow us to override +#initialize+, so we hack +new+ here.
#
# source://elftools//lib/elftools/structs.rb#34
2022-10-14 09:05:18 +00:00
def new(*args); end
2023-12-14 15:34:15 +00:00
# Packs an integer to string.
#
# @param val [Integer]
# @param bytes [Integer]
# @raise [ArgumentError]
# @return [String]
#
# source://elftools//lib/elftools/structs.rb#64
2022-10-14 09:05:18 +00:00
def pack(val, bytes); end
2023-12-14 15:34:15 +00:00
# Gets the endianness of current class.
#
# @return [:little, :big] The endianness.
#
# source://elftools//lib/elftools/structs.rb#56
2022-10-14 09:05:18 +00:00
def self_endian; end
end
end
2023-12-14 15:34:15 +00:00
# DRY. Many fields have different type in different arch.
#
# source://elftools//lib/elftools/structs.rb#14
2022-10-14 09:05:18 +00:00
ELFTools::Structs::ELFStruct::CHOICE_SIZE_T = T.let(T.unsafe(nil), Proc)
2023-12-14 15:34:15 +00:00
# Dynamic tag header.
#
# source://elftools//lib/elftools/structs.rb#191
2022-10-14 09:05:18 +00:00
class ELFTools::Structs::ELF_Dyn < ::ELFTools::Structs::ELFStruct
class << self
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/base.rb#53
2022-10-14 09:05:18 +00:00
def inherited(subclass); end
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/dsl.rb#279
2022-10-14 09:05:18 +00:00
def new(*args); end
end
end
2023-12-14 15:34:15 +00:00
# ELF header structure.
#
# source://elftools//lib/elftools/structs.rb#80
2022-10-14 09:05:18 +00:00
class ELFTools::Structs::ELF_Ehdr < ::ELFTools::Structs::ELFStruct
class << self
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/base.rb#53
2022-10-14 09:05:18 +00:00
def inherited(subclass); end
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/dsl.rb#279
2022-10-14 09:05:18 +00:00
def new(*args); end
end
end
2023-12-14 15:34:15 +00:00
# Note header.
#
# source://elftools//lib/elftools/structs.rb#183
2022-10-14 09:05:18 +00:00
class ELFTools::Structs::ELF_Nhdr < ::ELFTools::Structs::ELFStruct
class << self
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/base.rb#53
2022-10-14 09:05:18 +00:00
def inherited(subclass); end
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/dsl.rb#279
2022-10-14 09:05:18 +00:00
def new(*args); end
end
end
2023-12-14 15:34:15 +00:00
# Gets the class of program header according to bits.
#
# source://elftools//lib/elftools/structs.rb#149
2022-10-14 09:05:18 +00:00
ELFTools::Structs::ELF_Phdr = T.let(T.unsafe(nil), Hash)
2023-12-14 15:34:15 +00:00
# Rel header in .rel section.
#
# source://elftools//lib/elftools/structs.rb#200
2022-10-14 09:05:18 +00:00
class ELFTools::Structs::ELF_Rel < ::ELFTools::Structs::ELFStruct
2023-12-14 15:34:15 +00:00
# Compatibility with ELF_Rela, both can be used interchangeably
#
# source://elftools//lib/elftools/structs.rb#206
2022-10-14 09:05:18 +00:00
def r_addend; end
class << self
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/base.rb#53
2022-10-14 09:05:18 +00:00
def inherited(subclass); end
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/dsl.rb#279
2022-10-14 09:05:18 +00:00
def new(*args); end
end
end
2023-12-14 15:34:15 +00:00
# Rela header in .rela section.
#
# source://elftools//lib/elftools/structs.rb#212
2022-10-14 09:05:18 +00:00
class ELFTools::Structs::ELF_Rela < ::ELFTools::Structs::ELFStruct
class << self
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/base.rb#53
2022-10-14 09:05:18 +00:00
def inherited(subclass); end
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/dsl.rb#279
2022-10-14 09:05:18 +00:00
def new(*args); end
end
end
2023-12-14 15:34:15 +00:00
# Section header structure.
#
# source://elftools//lib/elftools/structs.rb#108
2022-10-14 09:05:18 +00:00
class ELFTools::Structs::ELF_Shdr < ::ELFTools::Structs::ELFStruct
class << self
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/base.rb#53
2022-10-14 09:05:18 +00:00
def inherited(subclass); end
2023-12-14 15:34:15 +00:00
# source://bindata/2.4.15/lib/bindata/dsl.rb#279
2022-10-14 09:05:18 +00:00
def new(*args); end
end
end
2023-12-14 15:34:15 +00:00
# Get symbol header class according to bits.
#
# source://elftools//lib/elftools/structs.rb#177
2022-10-14 09:05:18 +00:00
ELFTools::Structs::ELF_sym = T.let(T.unsafe(nil), Hash)
2023-12-14 15:34:15 +00:00
# Define some util methods.
#
# source://elftools//lib/elftools/util.rb#5
2022-10-14 09:05:18 +00:00
module ELFTools::Util
extend ::ELFTools::Util::ClassMethods
end
2023-12-14 15:34:15 +00:00
# Class methods.
#
# source://elftools//lib/elftools/util.rb#7
2022-10-14 09:05:18 +00:00
module ELFTools::Util::ClassMethods
2023-12-14 15:34:15 +00:00
# Round up the number to be mulitple of
# +2**bit+.
#
# @example
# align(10, 1) #=> 10
# align(10, 2) #=> 12
# align(10, 3) #=> 16
# align(10, 4) #=> 16
# align(10, 5) #=> 32
# @param num [Integer] Number to be rounded-up.
# @param bit [Integer] How many bit to be aligned.
# @return [Integer] See examples.
#
# source://elftools//lib/elftools/util.rb#19
2022-10-14 09:05:18 +00:00
def align(num, bit); end
2023-12-14 15:34:15 +00:00
# Read from stream until reach a null-byte.
#
# @example
# Util.cstring(File.open('/bin/cat'), 0)
# #=> "\x7FELF\x02\x01\x01"
# @param stream [#pos=, #read] Streaming object
# @param offset [Integer] Start from here.
# @return [String] Result string will never contain null byte.
#
# source://elftools//lib/elftools/util.rb#61
2022-10-14 09:05:18 +00:00
def cstring(stream, offset); end
2023-12-14 15:34:15 +00:00
# Select objects from enumerator with +.type+ property
# equals to +type+.
#
# Different from naive +Array#select+ is this method
# will yield block whenever find a desired object.
#
# This method is used to simplify the same logic in methods
# {ELFFile#sections_by_type}, {ELFFile#segments_by_type}, etc.
#
# @param enum [Enumerator] An enumerator for further select.
# @param type [Object] The type you want.
# @return [Array<Object>] The return value will be objects in +enum+ with attribute
# +.type+ equals to +type+.
#
# source://elftools//lib/elftools/util.rb#88
2022-10-14 09:05:18 +00:00
def select_by_type(enum, type); end
2023-12-14 15:34:15 +00:00
# Fetch the correct value from module +mod+.
#
# See {ELFTools::ELFFile#segment_by_type} for how to
# use this method.
#
# @param mod [Module] The module defined constant numbers.
# @param val [Integer, Symbol, String] Desired value.
# @raise [ArgumentError]
# @return [Integer] Currently this method always return a value
# from {ELFTools::Constants}.
#
# source://elftools//lib/elftools/util.rb#36
2022-10-14 09:05:18 +00:00
def to_constant(mod, val); end
end
2023-12-14 15:34:15 +00:00
# Current gem version
#
# source://elftools//lib/elftools/version.rb#5
2022-10-14 09:05:18 +00:00
ELFTools::VERSION = T.let(T.unsafe(nil), String)