Namespaces
Enumerations
enum ElfClass
| Name | Value |
|---|---|
| k32 | 1 |
| k64 | 2 |
| kNative | []() { if constexpr (sizeof(uintptr_t) == sizeof(uint64_t)) { return k64; } else if constexpr (sizeof(uintptr_t) == sizeof(uint32_t)) { return k32; } }() |
The bit width (32-bit vs 64-bit) is called the "ELF class".
Defined at line 18 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
enum ResolverPolicy
| Name | Value |
|---|---|
| kStrictLinkOrder | 0 |
| kStrongOverWeak | 1 |
Defined at line 22 of file ../../src/lib/elfldltl/include/lib/elfldltl/resolve.h
enum RDebugState
| Name | Value |
|---|---|
| kConsistent | 0 |
| kAdd | 1 |
| kDelete | 2 |
Recognized values for RDebug::state field. See below.
Defined at line 22 of file ../../src/lib/elfldltl/include/lib/elfldltl/svr4-abi.h
enum ElfData
| Name | Value |
|---|---|
| k2Lsb | 1 |
| k2Msb | 2 |
| kNative | []() { if constexpr (std::endian::native == std::endian::little) { return k2Lsb; } else if constexpr (std::endian::native == std::endian::big) { return k2Msb; } }() |
The byte order (Least Significant Byte first, aka little-endian, vs
Most Significant Byte first, aka big-endian) used in ELF metadata.
All fields are stored as two's complement integers, hence the names.
Defined at line 34 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
enum ElfVersion
| Name | Value |
|---|---|
| kCurrent | 1 |
This is just a fixed constant that cannot vary.
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
enum ElfType
| Name | Value |
|---|---|
| kNone | 0 |
| kRel | 1 |
| kExec | 2 |
| kDyn | 3 |
| kCore | 4 |
This indicates the type of ELF file, found in Elf::Ehdr::type(). Only
ET_DYN is handled at runtime but the others are provided for the convenience
of other tools.
Defined at line 63 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
enum RelocateTls
| Name | Value |
|---|---|
| kNone | 0 |
| kDynamic | 1 |
| kStatic | 2 |
| kDesc | 3 |
Symbolic relocation for STT_TLS symbols requires the symbolic resolution
engine meet different invariants depending on the specific relocation type.
Defined at line 65 of file ../../src/lib/elfldltl/include/lib/elfldltl/link.h
enum ElfPhdrType
| Name | Value |
|---|---|
| kNull | 0 |
| kLoad | 1 |
| kDynamic | 2 |
| kInterp | 3 |
| kNote | 4 |
| kPhdr | 6 |
| kTls | 7 |
| kEhFrameHdr | 0x6474e550 |
| kStack | 0x6474e551 |
| kRelro | 0x6474e552 |
These are the types of program headers, found in Elf::Phdr::type().
This lists only the types used at runtime.
Defined at line 73 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
enum ElfShdrType
| Name | Value |
|---|---|
| kNull | 0 |
| kProgbits | 1 |
| kSymtab | 2 |
| kStrtab | 3 |
| kRela | 4 |
| kHash | 5 |
| kDynamic | 6 |
| kNote | 7 |
| kNobits | 8 |
| kRel | 9 |
| kShlib | 10 |
| kDynsym | 11 |
| kInitArray | 14 |
| kFiniArray | 15 |
| kPreinitArray | 16 |
| kGroup | 17 |
| kSymtabShndx | 18 |
| kGnuAttributes | 0x6ffffff5 |
| kGnuHash | 0x6ffffff6 |
| kGnuLiblist | 0x6ffffff7 |
| kChecksum | 0x6ffffff8 |
| kSunwMove | 0x6ffffffa |
| kSunwComdat | 0x6ffffffb |
| kSunwSyminfo | 0x6ffffffc |
| kGnuVerdef | 0x6ffffffd |
| kGnuVerneed | 0x6ffffffe |
| kGnuVersym | 0x6fffffff |
These are the types of section headers, found in Elf::Shdr::type().
Defined at line 87 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
enum ElfDynTag
| Name | Value |
|---|---|
| kNull | 0 |
| kNeeded | 1 |
| kPltRelSz | 2 |
| kPltGot | 3 |
| kHash | 4 |
| kStrTab | 5 |
| kSymTab | 6 |
| kRela | 7 |
| kRelaSz | 8 |
| kRelaEnt | 9 |
| kStrSz | 10 |
| kSymEnt | 11 |
| kInit | 12 |
| kFini | 13 |
| kSoname | 14 |
| kRpath | 15 |
| kSymbolic | 16 |
| kRel | 17 |
| kRelSz | 18 |
| kRelEnt | 19 |
| kPltRel | 20 |
| kDebug | 21 |
| kTextRel | 22 |
| kJmpRel | 23 |
| kBindNow | 24 |
| kInitArray | 25 |
| kFiniArray | 26 |
| kInitArraySz | 27 |
| kFiniArraySz | 28 |
| kRunPath | 29 |
| kFlags | 30 |
| kPreinitArray | 32 |
| kPreinitArraySz | 33 |
| kSymTabShndx | 34 |
| kRelrSz | 35 |
| kRelr | 36 |
| kRelrEnt | 37 |
| kFeature1 | 0x6ffffdfc |
| kGnuHash | 0x6ffffef5 |
| kTlsDescPlt | 0x6ffffef6 |
| kTlsDescGot | 0x6ffffef7 |
| kRelaCount | 0x6ffffff9 |
| kRelCount | 0x6ffffffa |
| kFlags1 | 0x6ffffffb |
These are the PT_DYNAMIC entry tags, found in Elf::Dyn::tag().
Defined at line 118 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
enum ElfSymBind
| Name | Value |
|---|---|
| kLocal | 0 |
| kGlobal | 1 |
| kWeak | 2 |
| kUnique | 10 |
These are the "binding" classes of symbols, found in Elf::Sym::bind().
Defined at line 194 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
enum ElfSymType
| Name | Value |
|---|---|
| kNoType | 0 |
| kObject | 1 |
| kFunc | 2 |
| kSection | 3 |
| kFile | 4 |
| kCommon | 5 |
| kTls | 6 |
| kIfunc | 10 |
These are the types of symbols, found in Elf::Sym::type().
Defined at line 202 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
enum ElfSymVisibility
| Name | Value |
|---|---|
| kDefault | 0 |
| kInternal | 1 |
| kHidden | 2 |
| kProtected | 3 |
These are the symbol visibility types, found in Elf::Sym::visibility().
Defined at line 214 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
enum ElfMachine
| Name | Value |
|---|---|
| kNone | 0 |
| k386 | 3 |
| kArm | 40 |
| kX86_64 | 62 |
| kAarch64 | 183 |
| kRiscv | 243 |
| kNative | []() { #ifdef __aarch64__ return kAarch64; #elif defined(__arm__) return kArm; #elif defined(__i386__) return k386; #elif defined(__x86_64__) return kX86_64; #elif defined(__riscv) return kRiscv; #endif return kNone; }() |
This indicates the machine architecture the ELF file is for, as found in
Elf::Ehdr::machine(). There are many more EM_* constants specified by ELF.
This lists only those for which the library provides some degree of support.
Defined at line 224 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
enum ElfNoteType
| Name | Value |
|---|---|
| kGnuBuildId | 3 |
| kGnuPropertyType0 | 5 |
These are types used in notes. Other types might appear in note headers.
Only those used by the library are listed here.
Defined at line 292 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
enum PhdrLoadPolicy
| Name | Value |
|---|---|
| kBasic | 0 |
| kFileRangeMonotonic | 1 |
| kContiguous | 2 |
PT_LOAD validation policy. Subsequent values extend previous ones.
Defined at line 399 of file ../../src/lib/elfldltl/include/lib/elfldltl/phdr.h
Records
-
class AbiPtr -
class AbiSpan -
class AbiSpan -
class AbiSpan -
class AbiSpan -
class AbiSpan -
class AbiSpan -
class AbiStringView -
class AbiTraits -
class AbiTraits -
class AbiTraits -
class AbiTraits -
class AbiTraits -
class AbiTraits -
class AbiTraits -
class AlignedRemoteVmarLoader -
class AllocCheckerContainer -
class CompatHash -
class Diagnostics -
class DiagnosticsFlags -
class DiagnosticsPanicFlags -
class DirectMemory -
class DynamicFiniObserver -
class DynamicInfoObserver -
class DynamicInitFiniObserver -
class DynamicInitObserver -
class DynamicNeededObserver -
class DynamicPreinitObserver -
class DynamicRelocationInfoObserver -
class DynamicSymbolInfoObserver -
class DynamicTagCountObserver -
class DynamicTagMatch -
class DynamicTagObserver -
class DynamicTextrelRejectObserver -
class DynamicValueCollectionObserver -
class DynamicValueCollectionObserver -
class Elf -
class ElfDynFlags -
class ElfDynFlags1 -
class ElfNote -
class ElfNoteSegment -
class EnumField -
class FdFile -
class FieldStorage -
class File -
class FileAddress -
class FileOffset -
class FixedArrayFromFile -
class FixedArrayFromFile -
class FixedArrayFromFile -
class FixedBool -
class FixedBool -
class FixedBool -
class GnuHash -
class InitFiniInfo -
class IsAnyLayout -
class IsTemplateHelper -
class Layout -
class Layout -
class Layout -
class LayoutBase -
class LinkMapList -
class LinkMapListDefaultTraits -
class LinkMapListInFirstMemberTraits -
class LinkerZeroInitialized -
class LoadInfo -
class LoadInfoMappedMemory -
class LoadInfoMutableMemory -
class LocalAbiTraits -
class LocalVmarLoader -
class MappedFdFile -
class MappedVmoFile -
class MmapLoader -
class NoArrayFromFile -
class PerfectSymbolFilter -
class PerfectSymbolMap -
class PerfectSymbolSet -
class PhdrBase -
class PhdrFileNoteObserver -
class PhdrLoadNoCallback -
class PhdrLoadObserver -
class PhdrMemoryNoteObserver -
class PhdrMetadataObserver -
class PhdrNoteObserverBase -
class PhdrNullObserver -
class PhdrObserver -
class PhdrSingletonObserver -
class PhdrStackObserver -
class PhdrTypeMatch -
class PosixError -
class PreallocatedVector -
class PreallocatedVector -
class PreallocatedVector -
class RelocationInfo -
class RelocationTraits -
class RelocationTraits -
class RelocationTraits -
class RelocationTraits -
class RelocationTraits -
class RelocationTraits -
class RelocationTraits -
class RemoteAbiTraits -
class RemoteVmarLoader -
class ResolveSymbolResult -
class ResolverDefinition -
class SegmentWithVmo -
class Self -
class Self -
class Self -
class SelfBase -
class ShdrBase -
class SignedField -
class Soname -
class StaticVector -
class StaticVector -
class StaticVector -
class StdContainer -
class SymBase -
class SymbolInfo -
class SymbolInfoForSingleLookup -
class SymbolName -
class TlsLayout -
class TlsTraitsImpl -
class TlsTraitsImpl -
class TlsTraitsImpl -
class TlsTraitsImpl -
class TlsTraitsImpl -
class TlsTraitsImpl -
class TlsTraitsImpl -
class UniqueFdFile -
class UnownedVmoFile -
class UnsignedField -
class VmarLoader -
class VmoFile -
class ZirconError
Functions
-
template <class Diagnostics>UniqueFdFile<Diagnostics> <deduction guide for UniqueFdFile> (fbl::unique_fd fd, Diagnostics & diagnostics)Deduction guides.
-
template <class Diagnostics>UniqueFdFile<Diagnostics> <deduction guide for UniqueFdFile> (Diagnostics & diagnostics) -
template <class Diagnostics>FdFile<Diagnostics> <deduction guide for FdFile> (int fd, Diagnostics & diagnostics)Deduction guides.
-
template <class Diagnostics>FdFile<Diagnostics> <deduction guide for FdFile> (Diagnostics & diagnostics) -
template <class Diagnostics>VmoFile<Diagnostics> <deduction guide for VmoFile> (zx::vmo vmo, Diagnostics && diagnostics)Deduction guide.
-
template <typename... Args>AbiSpan<typename decltype(std::span{std::forward<Args>(args)...})::element_type, decltype(std::span{std::forward<Args>(args)...})::extent> <deduction guide for AbiSpan> (Args &&... args)Deduction guide, equivalent to the std::span deduction guide.
-
template <typename... Args>AbiSpan<typename decltype(std::span{std::forward<Args>(args)...})::element_type, decltype(std::span{std::forward<Args>(args)...})::extent> <deduction guide for AbiSpan> (Args &&... args)Deduction guide, equivalent to the std::span deduction guide.
-
template <typename... Args>AbiSpan<typename decltype(std::span{std::forward<Args>(args)...})::element_type, decltype(std::span{std::forward<Args>(args)...})::extent> <deduction guide for AbiSpan> (Args &&... args)Deduction guide, equivalent to the std::span deduction guide.
-
template <class LoadInfo, class Memory>LoadInfoMappedMemory<LoadInfo, Memory> <deduction guide for LoadInfoMappedMemory> (const LoadInfo & , Memory & )Deduction guide.
-
template <class Diagnostics>UnownedVmoFile<Diagnostics> <deduction guide for UnownedVmoFile> (zx::unowned_vmo vmo, Diagnostics && diagnostics)Deduction guide.
-
template <typename size_type>FileOffset<size_type> <deduction guide for FileOffset> (size_type )Deduction guides.
-
template <typename size_type, bool kSwap>FileOffset<size_type> <deduction guide for FileOffset> (UnsignedField<size_type, kSwap> ) -
template <typename size_type>FileAddress<size_type> <deduction guide for FileAddress> (size_type )Deduction guides.
-
template <typename size_type, bool kSwap>FileAddress<size_type> <deduction guide for FileAddress> (UnsignedField<size_type, kSwap> ) -
template <typename T>AbiPtr<T> <deduction guide for AbiPtr> (T * )Deduction guide.
-
template <typename T>AbiPtr<T> <deduction guide for AbiPtr> (T * )Deduction guide.
-
template <class Diagnostics, class LoadInfo, typename GetMutableMemory>LoadInfoMutableMemory<Diagnostics, LoadInfo, std::decay_t<GetMutableMemory>> <deduction guide for LoadInfoMutableMemory> (Diagnostics & , LoadInfo & , GetMutableMemory && )Deduction guide. Explicit template parameters must be used for everything
to use a different Container template, since deduction guides can't be
partially specialized.
-
template <typename T, size_t N>PreallocatedVector<T, N> <deduction guide for PreallocatedVector> (std::span<T, N> )Deduction guide.
-
template <typename T, size_t N>PreallocatedVector<T, N> <deduction guide for PreallocatedVector> (std::span<T, N> )Deduction guide.
-
template <typename T, size_t N>PreallocatedVector<T, N> <deduction guide for PreallocatedVector> (std::span<T, N> )Deduction guide.
-
template <typename T, size_t N>PreallocatedVector<T, N> <deduction guide for PreallocatedVector> (std::span<T, N> )Deduction guide.
-
template <typename T, size_t N>PreallocatedVector<T, N> <deduction guide for PreallocatedVector> (std::span<T, N> )Deduction guide.
-
template <class Elf, class File, typename Allocator, typename... Callback>PhdrFileNoteObserver<std::decay_t<Elf>::kData, File, std::decay_t<Allocator>, std::decay_t<Callback>...> <deduction guide for PhdrFileNoteObserver> (Elf && , File & , Allocator && , Callback &&... )Deduction guide. When used without template parameters, the first
constructor argument is an empty Elf
<
...> object to identify the format; the
second is always an lvalue reference (see memory.h); the third is forwarded
as the allocator object used by File::ReadArrayFromFile
<std
::byte>; while
the later arguments (some objects invocable as if functions with type
`fit::result
<fit
::failed, bool>(ElfNote)`) are moved or copied so they can
safely be temporaries. Use std::ref or std::cref to make the
PhdrFileNoteObserver object hold a callback by reference instead.
-
template <class Elf>DynamicRelocationInfoObserver<Elf> <deduction guide for DynamicRelocationInfoObserver> (RelocationInfo<Elf> & info)Deduction guide.
-
template <class Elf, class Memory, typename... Callback>PhdrMemoryNoteObserver<std::decay_t<Elf>::kData, Memory, std::decay_t<Callback>...> <deduction guide for PhdrMemoryNoteObserver> (Elf && , Memory & , Callback &&... )Deduction guide, as for PhdrFileNoteObserver but with no allocator argument.
-
template <class Elf>DynamicSymbolInfoObserver<Elf> <deduction guide for DynamicSymbolInfoObserver> (SymbolInfo<Elf> & info)Deduction guide.
-
template <class Elf>DynamicInitObserver<Elf> <deduction guide for DynamicInitObserver> (InitFiniInfo<Elf> & info)Deduction guides.
-
template <class Elf>DynamicFiniObserver<Elf> <deduction guide for DynamicFiniObserver> (InitFiniInfo<Elf> & info) -
template <class Elf, class AbiTraits, template <class, class> class SymbolInfo, class Callback>DynamicNeededObserver<Elf, SymbolInfo<Elf, AbiTraits>, Callback> <deduction guide for DynamicNeededObserver> (const SymbolInfo<Elf, AbiTraits> & info, Callback )Deduction guides.
-
template <class Phdr>std::pair<decltype(phdr.vaddr()), decltype(phdr.memsz())> RelroBounds (const Phdr & phdr, decltype(phdr.memsz()) pagesize)Returns {start, size} whole-page subregion of the segment, possibly {0, 0}.
Defined at line 18 of file ../../src/lib/elfldltl/include/lib/elfldltl/relro.h
-
template <typename Handle>auto DefaultMakeInvalidHandle ()Defined at line 23 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h
-
uint32_t CompatHashString (std::string_view name)This handles the DT_HASH format, which is mostly obsolete but is the
official ELF standard format. This interface matches GnuHash (gnu-hash.h).
See SymbolInfo (symbol.h) for details.
Defined at line 23 of file ../../src/lib/elfldltl/include/lib/elfldltl/compat-hash.h
-
uint32_t CompatHashString (std::string_view name)This handles the DT_HASH format, which is mostly obsolete but is the
official ELF standard format. This interface matches GnuHash (gnu-hash.h).
See SymbolInfo (symbol.h) for details.
Defined at line 23 of file ../../src/lib/elfldltl/include/lib/elfldltl/compat-hash.h
-
template <typename S, typename CharT, class Traits>decltype(auto) operator<< (S && ostream, const internal::ConstString<CharT, Traits> & string)These overloads let the object returned by OstreamDiagnostics format the
special argument types.
Defined at line 25 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics-ostream.h
-
uint32_t GnuHashString (std::string_view name)This handles the DT_GNU_HASH format, which is the de facto standard format.
This interface matches CompatHash (compat-hash.h).
See SymbolInfo (symbol.h) for details.
Defined at line 25 of file ../../src/lib/elfldltl/include/lib/elfldltl/gnu-hash.h
-
uint32_t GnuHashString (std::string_view name)This handles the DT_GNU_HASH format, which is the de facto standard format.
This interface matches CompatHash (compat-hash.h).
See SymbolInfo (symbol.h) for details.
Defined at line 25 of file ../../src/lib/elfldltl/include/lib/elfldltl/gnu-hash.h
-
template <class Diagnostics, class RelocInfo, auto& memory>bool RelocateRelative (Diagnostics & diag, MemoryWriter<typename RelocInfo::size_type, typename RelocInfo::Addr> auto & memory, const RelocInfo & info, typename RelocInfo::size_type bias)Apply simple fixups as directed by Elf::RelocationInfo, given the load bias:
the difference between runtime addresses and addresses that appear in the
relocation records. This calls memory.Store(reloc_address, runtime_address)
or memory.StoreAdd(reloc_address, bias) to store the adjusted values.
Returns false iff any calls into the Memory object returned false.
Defined at line 29 of file ../../src/lib/elfldltl/include/lib/elfldltl/link.h
-
template <typename S, typename T>decltype(auto) operator<< (S && ostream, FileOffset<T> offset)Defined at line 32 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics-ostream.h
-
template <class Phdr>std::pair<decltype(phdrs[0].vaddr()), decltype(phdrs[0].memsz())> RelroBounds (std::span<const Phdr> phdrs, decltype(phdrs[0].memsz()) pagesize)Given a span of all the phdrs, find and reduce the PT_GNU_RELRO segment.
Defined at line 34 of file ../../src/lib/elfldltl/include/lib/elfldltl/relro.h
-
template <class Phdr>std::pair<decltype(phdrs[0].vaddr()), decltype(phdrs[0].memsz())> RelroBounds (std::span<const Phdr> phdrs, decltype(phdrs[0].memsz()) pagesize)Given a span of all the phdrs, find and reduce the PT_GNU_RELRO segment.
Defined at line 34 of file ../../src/lib/elfldltl/include/lib/elfldltl/relro.h
-
template <size_t N>std::array<SymbolName, N> PerfectSymbolTable (SymbolName (&&)[N] names)Use this to initialize a constexpr variable, as in:
```
constexpr auto kFooSymbols = elfldltl::PerfectSymbolTable({
"foo",
"bar",
});
```
Thereafter use `kFooSymbols` as a template parameter for the classes below.
It's a good idea to do this in an anonymous namespace, so that all the
instantiations using it have internal linkage and the tables are only
generated or used directly in a single translation unit.
Defined at line 36 of file ../../src/lib/elfldltl/include/lib/elfldltl/perfect-symbol-table.h
-
template <class Self, class DiagnosticsType, typename... Args>void LinkStaticPie (const Self & self, DiagnosticsType & diagnostics, Args &&... args)The templated form uses the elfldltl::Self implementation for the known
ElfClass of the metadata, selected by the type of the first (self) argument.
There are two optional std::byte* arguments for the bounds of the program
image, as for elfldltl::Self::Memory(), which see. Those arguments can be
omitted for a normal PIE layout ELF runtime image where the `__ehdr_start`
and `_end` link-time symbols define the bounds of the image.
Defined at line 37 of file ../../src/lib/elfldltl/include/lib/elfldltl/static-pie.h
-
template <class Diagnostics, class Ehdr, ReadArrayFromFileAllocator<typename Ehdr::ElfLayout::Phdr, uint32_t> Allocator, auto& file>auto ReadPhdrsFromFile (Diagnostics & diagnostics, CanReadArrayFromFile<typename Ehdr::ElfLayout::Phdr, Allocator, typename Ehdr::ElfLayout::size_type> auto & file, Allocator && allocator, const Ehdr & ehdr)Read program headers from an ELF file using the File API (see memory.h),
given its file header (Ehdr) already read and validated.
This takes a Diagnostics object (see diagnostics.h) and a File object (see
memory.h) by reference. It ultimately calls `file.ReadArrayFromFile
<Phdr
>`
and returns that value if all goes well. The Allocator argument is just
forwarded to File::ReadArrayFromFile; see memory.h for API details.
All the template parameters are normally deduced, including the Elf layout
to use based on the Ehdr type used for the last argument.
Defined at line 37 of file ../../src/lib/elfldltl/include/lib/elfldltl/phdr.h
-
template <typename S, typename T>decltype(auto) operator<< (S && ostream, FileAddress<T> address)Defined at line 40 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics-ostream.h
-
template <class Elf, class Diagnostics, auto& file>decltype(file.template ReadFromFile<typename Elf::Ehdr>(0)) LoadEhdrFromFile (Diagnostics & diagnostics, CanReadFromFile<typename Elf::Ehdr, decltype(0)> auto & file, std::optional<ElfMachine> machine)Read the ELF file header (Ehdr) from an ELF file using the File API (see
memory.h), and validate it for loading on this machine.
The first template parameter gives the elfldltl::Elf
<
...> layout to use,
i.e. usually elfldltl::Elf
<
> for native loading. The rest are deduced. If
the optional final argument is passed, it can be std::nullopt to accept any
machine or another ElfMachine value to match rather than the native machine.
This returns the return value of calling file.ReadFromFile
<Ehdr
>,
i.e. some type std::optional
<E
> where `const Ehdr
&
ehdr =
<E
object>;`
works and the E object owns the storage ehdr points into.
Defined at line 42 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
-
template <class Elf, class Diagnostics, auto& file>decltype(file.template ReadFromFile<typename Elf::Ehdr>(0)) LoadEhdrFromFile (Diagnostics & diagnostics, CanReadFromFile<typename Elf::Ehdr, decltype(0)> auto & file, std::optional<ElfMachine> machine)Read the ELF file header (Ehdr) from an ELF file using the File API (see
memory.h), and validate it for loading on this machine.
The first template parameter gives the elfldltl::Elf
<
...> layout to use,
i.e. usually elfldltl::Elf
<
> for native loading. The rest are deduced. If
the optional final argument is passed, it can be std::nullopt to accept any
machine or another ElfMachine value to match rather than the native machine.
This returns the return value of calling file.ReadFromFile
<Ehdr
>,
i.e. some type std::optional
<E
> where `const Ehdr
&
ehdr =
<E
object>;`
works and the E object owns the storage ehdr points into.
Defined at line 42 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
-
std::string_view ElfDataName (ElfData data, bool upper)Defined at line 47 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
-
template <typename S>decltype(auto) operator<< (S && ostream, ElfMachine machine)Defined at line 48 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics-ostream.h
-
template <class Self, class DiagnosticsType, typename... DynamicObservers>SymbolInfo<typename Self::Elf> LinkStaticPieWithVdso (const Self & self, DiagnosticsType & diagnostics, const SymbolInfo<typename Self::Elf> & vdso_symbols, typename Self::Elf::size_type vdso_bias, DynamicObservers &&... dynamic_observers)This version takes vDSO details already distilled separately.
Defined at line 49 of file ../../src/lib/elfldltl/include/lib/elfldltl/static-pie-with-vdso.h
-
template <class Elf = elfldltl::Elf<>, forward_range Range, invocable<std::ranges::range_reference_t<Range>> Proj, auto& diag>fit::result<bool, ResolveSymbolResult<Elf, std::ranges::iterator_t<Range>>> ResolveSymbol (auto & diag, Range && modules, Proj && proj, ResolverPolicy policy)Defined at line 56 of file ../../src/lib/elfldltl/include/lib/elfldltl/resolve.h
-
template <typename S, typename T, typename = decltype(std::declval<T>().str())>decltype(auto) operator<< (S && ostream, T && t)Defined at line 57 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics-ostream.h
-
template <class DiagnosticsType, class Memory, class Dyn, size_t N, class... Observers>bool DecodeDynamic (DiagnosticsType && diagnostics, Memory && memory, std::span<const Dyn, N> dyn, Observers &&... observers)This decodes a dynamic section by matching each entry against a list of
observers. Each observer should be of a subclass of DynamicTagObserver that
indicates the tags it matches. If any matching observer returns false then
this stops processing early and returns false. Otherwise, each observer's
Finish method is called, stopping early if one returns false.
Defined at line 57 of file ../../src/lib/elfldltl/include/lib/elfldltl/dynamic.h
-
template <class DiagnosticsType, class Memory, class Dyn, size_t N, class... Observers>bool DecodeDynamic (DiagnosticsType && diagnostics, Memory && memory, std::span<const Dyn, N> dyn, Observers &&... observers)This decodes a dynamic section by matching each entry against a list of
observers. Each observer should be of a subclass of DynamicTagObserver that
indicates the tags it matches. If any matching observer returns false then
this stops processing early and returns false. Otherwise, each observer's
Finish method is called, stopping early if one returns false.
Defined at line 57 of file ../../src/lib/elfldltl/include/lib/elfldltl/dynamic.h
-
template <class DiagnosticsType, class Memory, class Dyn, size_t N, class... Observers>bool DecodeDynamic (DiagnosticsType && diagnostics, Memory && memory, std::span<const Dyn, N> dyn, Observers &&... observers)This decodes a dynamic section by matching each entry against a list of
observers. Each observer should be of a subclass of DynamicTagObserver that
indicates the tags it matches. If any matching observer returns false then
this stops processing early and returns false. Otherwise, each observer's
Finish method is called, stopping early if one returns false.
Defined at line 57 of file ../../src/lib/elfldltl/include/lib/elfldltl/dynamic.h
-
template <class DiagnosticsType, class Memory, class Dyn, size_t N, class... Observers>bool DecodeDynamic (DiagnosticsType && diagnostics, Memory && memory, std::span<const Dyn, N> dyn, Observers &&... observers)This decodes a dynamic section by matching each entry against a list of
observers. Each observer should be of a subclass of DynamicTagObserver that
indicates the tags it matches. If any matching observer returns false then
this stops processing early and returns false. Otherwise, each observer's
Finish method is called, stopping early if one returns false.
Defined at line 57 of file ../../src/lib/elfldltl/include/lib/elfldltl/dynamic.h
-
template <class DiagnosticsType, class Memory, class Dyn, size_t N, class... Observers>bool DecodeDynamic (DiagnosticsType && diagnostics, Memory && memory, std::span<const Dyn, N> dyn, Observers &&... observers)This decodes a dynamic section by matching each entry against a list of
observers. Each observer should be of a subclass of DynamicTagObserver that
indicates the tags it matches. If any matching observer returns false then
this stops processing early and returns false. Otherwise, each observer's
Finish method is called, stopping early if one returns false.
Defined at line 57 of file ../../src/lib/elfldltl/include/lib/elfldltl/dynamic.h
-
template <typename Ostream, typename... Args>auto OstreamDiagnosticsReport (Ostream & ostream, Args &&... prefix)This returns a Report callable that uses
<
<
on an ostream-style object.
Any additional arguments are passed via
<
<
as a prefix on each message. The
ostream should probably be in
<
<
std::hex state for the output to look good.
Defined at line 65 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics-ostream.h
-
template <typename Ostream, class Flags = DiagnosticsFlags, typename... Args>auto OstreamDiagnostics (Ostream & ostream, Flags && flags, Args &&... prefix)This returns a Diagnostics object using OstreamDiagnosticsReport.
Defined at line 78 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics-ostream.h
-
template <class DiagnosticsType, class Memory, class Dyn, class Observer, ElfDynTag... Tags>bool DecodeDynamic (DiagnosticsType && diagnostics, Memory && memory, const Dyn & entry, DynamicTagObserver<Observer, Tags...> & observer)Match a single dynamic section entry against a single observer. If the
observer matches, its Observe overload for the matching tag is called.
Returns the value of that call, or true if this observer didn't match.
Defined at line 80 of file ../../src/lib/elfldltl/include/lib/elfldltl/dynamic.h
-
template <class Elf, class Diagnostics, class File, ReadArrayFromFileAllocator<typename Elf::Phdr, uint32_t> PhdrAllocator>decltype(std::make_optional(std::make_pair(*file.template ReadFromFile<typename Elf::Ehdr>(0), *file.template ReadArrayFromFile<typename Elf::Phdr>(0, phdr_allocator, 0)))) LoadHeadersFromFile (Diagnostics & diagnostics, File & file, PhdrAllocator && phdr_allocator, std::optional<ElfMachine> machine)Read the ELF file header (Ehdr) and program headers (Phdr) from an ELF file
using the File API (see memory.h), and validate for loading on this machine.
This just combines LoadEhdrFromFile and ReadPhdrsFromFile (see phdr.h).
It returns std::optional
<std
::pair
<E
, P>> where LoadEhdrFromFile returns
std::optional
<E
> and ReadPhdrsFromFile returns std::optional
<P
>. e.g.,
```
auto headers = elfldltl::LoadHeadersFromFile
<elfldltl
::Elf
<
>>(...);
if (headers) {
auto [ehdr_owner, phdrs_owner] = *headers;
const Ehdr
&
ehdr = ehdr_owner;
const std::span
<const
Phdr> phdrs = phdrs_owner;
...
}
```
Defined at line 80 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
-
template <class Elf, class Diagnostics, class File, ReadArrayFromFileAllocator<typename Elf::Phdr, uint32_t> PhdrAllocator>decltype(std::make_optional(std::make_pair(*file.template ReadFromFile<typename Elf::Ehdr>(0), *file.template ReadArrayFromFile<typename Elf::Phdr>(0, phdr_allocator, 0)))) LoadHeadersFromFile (Diagnostics & diagnostics, File & file, PhdrAllocator && phdr_allocator, std::optional<ElfMachine> machine)Read the ELF file header (Ehdr) and program headers (Phdr) from an ELF file
using the File API (see memory.h), and validate for loading on this machine.
This just combines LoadEhdrFromFile and ReadPhdrsFromFile (see phdr.h).
It returns std::optional
<std
::pair
<E
, P>> where LoadEhdrFromFile returns
std::optional
<E
> and ReadPhdrsFromFile returns std::optional
<P
>. e.g.,
```
auto headers = elfldltl::LoadHeadersFromFile
<elfldltl
::Elf
<
>>(...);
if (headers) {
auto [ehdr_owner, phdrs_owner] = *headers;
const Ehdr
&
ehdr = ehdr_owner;
const std::span
<const
Phdr> phdrs = phdrs_owner;
...
}
```
Defined at line 80 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
-
template <class Diagnostics, class File, class MetaAllocator, typename Callback>bool WithLoadHeadersFromFile (Diagnostics & diagnostics, File & file, MetaAllocator && meta_allocator, Callback && callback, std::optional<ElfData> expected_data, std::optional<ElfMachine> machine)This does the same work as LoadHeadersFromFile, but handles different
ELFCLASS (and optionally, ELFDATA) formats in the ELF file. It returns
false if the file is invalid, or else returns the result of invoking the
callback as `bool(const Ehdr
&
, std::span
<const
Phdr>)` for the particular
Elf64
<
...> or Elf32
<
...> instantiation chosen.
The MetaAllocator is a lambda
<typename
T>(size_t) that is called with the
specific elfldltl::Elf
<
...>Phdr type as an explicit template parameter and
should otherwise act like the Allocator API object for ReadArrayFromFile
<T
>.
If the optional expected_data argument is provided, it can be std::nullopt
to permit callbacks with either data format (byte order) as well as either
class. The final optional argument gives the machine architecture to match,
and likewise can be std::nullopt to accept any machine.
Defined at line 111 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
-
template <class Diagnostics, class File, class MetaAllocator, typename Callback>bool WithLoadHeadersFromFile (Diagnostics & diagnostics, File & file, MetaAllocator && meta_allocator, Callback && callback, std::optional<ElfData> expected_data, std::optional<ElfMachine> machine)This does the same work as LoadHeadersFromFile, but handles different
ELFCLASS (and optionally, ELFDATA) formats in the ELF file. It returns
false if the file is invalid, or else returns the result of invoking the
callback as `bool(const Ehdr
&
, std::span
<const
Phdr>)` for the particular
Elf64
<
...> or Elf32
<
...> instantiation chosen.
The MetaAllocator is a lambda
<typename
T>(size_t) that is called with the
specific elfldltl::Elf
<
...>Phdr type as an explicit template parameter and
should otherwise act like the Allocator API object for ReadArrayFromFile
<T
>.
If the optional expected_data argument is provided, it can be std::nullopt
to permit callbacks with either data format (byte order) as well as either
class. The final optional argument gives the machine architecture to match,
and likewise can be std::nullopt to accept any machine.
Defined at line 111 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
-
template <class Elf, class DiagnosticsType>std::pair<SymbolInfo<Elf>, uintptr_t> GetVdsoSymbols (DiagnosticsType & diagnostics, const void * vdso_base)This distills the vDSO symbols and load bias from the image in memory.
Defined at line 124 of file ../../src/lib/elfldltl/include/lib/elfldltl/static-pie-with-vdso.h
-
template <class Elf, class DiagnosticsType>std::pair<SymbolInfo<Elf>, uintptr_t> GetVdsoSymbols (DiagnosticsType & diagnostics, const void * vdso_base)This distills the vDSO symbols and load bias from the image in memory.
Defined at line 124 of file ../../src/lib/elfldltl/include/lib/elfldltl/static-pie-with-vdso.h
-
template <ElfMachine Machine = ElfMachine::kNative, class DiagnosticsType, class RelocInfo, class SymbolInfo, typename Resolve, auto& memory>bool RelocateSymbolic (MemoryApi<typename RelocInfo::size_type, typename RelocInfo::Elf::Addr, typename RelocInfo::Elf::Addend> auto & memory, DiagnosticsType & diagnostics, const RelocInfo & reloc_info, const SymbolInfo & symbol_info, typename RelocInfo::size_type bias, Resolve && resolve)Apply symbolic relocations as directed by Elf::RelocationInfo, referring to
Elf::SymbolInfo as adjusted by the load bias (as used in RelocateRelative).
The callback function and methods on its returned Definition here use
`fit::result
<bool
, ...>` for cases where failure to deliver a result is an
option. The error value is like the return value from a Diagnostics object,
indicating whether to continue applying more relocations or to bail out
after this failure. The callback function is:
* fit::result
<bool
, Definition> resolve(const Sym
&
, RelocateTls)
where Definition is some type defined by the caller that supports methods:
* bool undefined_weak()
Returns true iff the symbol was resolved as an undefined weak reference.
* size_type bias()
Returns the load bias for symbol addresses in the defining module.
* const Sym
&
symbol()
Returns the defining symbol table entry.
* size_type tls_module_id()
Returns the TLS module ID number for the defining module.
* size_type static_tls_bias()
Returns the static TLS layout bias for the defining module.
* TlsDescGot tls_desc_undefined_weak()
This is only called if undefined_weak() returned true first.
Returns the GOT contents for a TLSDESC resolution that was an
undefined weak symbol. This overload does not require the addend
up front. Instead, the TlsDescGot::value field will have the
addend applied implicitly.
* TlsDescGot tls_desc_undefined_weak(Addend addend)
This is only called if undefined_weak() returned true first.
Returns the GOT contents for a TLSDESC resolution that was an
undefined weak. This overload can use the relocation addend in
choosing the TLSDESC implementation, but this requires an extra
load in the DT_REL case. The return value will be used as is.
* fit::result
<bool
,
<TlsDescGot
> tls_desc(Diagnostics
&
, Addend addend)
Returns the GOT contents for a TLSDESC resolution, which can fail.
If this overload is present, then it is always used and the second
overload need not be defined. This overload can use the relocation
addend in choosing the TLSDESC implementation, but this requires an
extra load in the DT_REL case. The return value will be used as is.
* fit::result
<bool
, TlsDescGot> tls_desc(Diagnostics
&
)
Returns the GOT contents for a TLSDESC resolution, which can fail.
This overload does not require the addend up front. Instead, the
TlsDescGot::value field will have the addend applied implicitly.
Defined at line 127 of file ../../src/lib/elfldltl/include/lib/elfldltl/link.h
-
template <class Diagnostics, class Phdr, size_t N, class... Observers>bool DecodePhdrs (Diagnostics && diagnostics, std::span<const Phdr, N> phdrs, Observers &&... observers)This decodes a program header table by matching each entry against a list of
observers. Each observer should be of a subclass of PhdrObserver that
indicates the segment type it matches. If any matching observer returns
false then this stops processing early and returns false. Otherwise, each
observer's Finish method is called, stopping early if one returns false.
Defined at line 154 of file ../../src/lib/elfldltl/include/lib/elfldltl/internal/../phdr.h
-
template <class Diagnostics, class Phdr, size_t N, class... Observers>bool DecodePhdrs (Diagnostics && diagnostics, std::span<const Phdr, N> phdrs, Observers &&... observers)This decodes a program header table by matching each entry against a list of
observers. Each observer should be of a subclass of PhdrObserver that
indicates the segment type it matches. If any matching observer returns
false then this stops processing early and returns false. Otherwise, each
observer's Finish method is called, stopping early if one returns false.
Defined at line 154 of file ../../src/lib/elfldltl/include/lib/elfldltl/internal/../phdr.h
-
template <class Diagnostics, class Phdr, size_t N, class... Observers>bool DecodePhdrs (Diagnostics && diagnostics, std::span<const Phdr, N> phdrs, Observers &&... observers)This decodes a program header table by matching each entry against a list of
observers. Each observer should be of a subclass of PhdrObserver that
indicates the segment type it matches. If any matching observer returns
false then this stops processing early and returns false. Otherwise, each
observer's Finish method is called, stopping early if one returns false.
Defined at line 154 of file ../../src/lib/elfldltl/include/lib/elfldltl/phdr.h
-
template <class Diagnostics, class Phdr, size_t N, class... Observers>bool DecodePhdrs (Diagnostics && diagnostics, std::span<const Phdr, N> phdrs, Observers &&... observers)This decodes a program header table by matching each entry against a list of
observers. Each observer should be of a subclass of PhdrObserver that
indicates the segment type it matches. If any matching observer returns
false then this stops processing early and returns false. Otherwise, each
observer's Finish method is called, stopping early if one returns false.
Defined at line 154 of file ../../src/lib/elfldltl/include/lib/elfldltl/phdr.h
-
template <class Diagnostics, class Phdr, size_t N, class... Observers>bool DecodePhdrs (Diagnostics && diagnostics, std::span<const Phdr, N> phdrs, Observers &&... observers)This decodes a program header table by matching each entry against a list of
observers. Each observer should be of a subclass of PhdrObserver that
indicates the segment type it matches. If any matching observer returns
false then this stops processing early and returns false. Otherwise, each
observer's Finish method is called, stopping early if one returns false.
Defined at line 154 of file ../../src/lib/elfldltl/include/lib/elfldltl/phdr.h
-
template <class Diagnostics, class Phdr, class Observer, ElfPhdrType... Type>bool DecodePhdr (Diagnostics && diagnostics, const Phdr & phdr, PhdrObserver<Observer, Type...> & observer)Match a single program header against a single observer. If the
observer matches, its Observe overload for the matching tag is called.
Returns the value of that call, or true if this observer didn't match.
Defined at line 168 of file ../../src/lib/elfldltl/include/lib/elfldltl/phdr.h
-
template <typename T>decltype(auto) VisitSelf (T && visitor)Determine which ELF class is used in this program's own ELF header, in
case a 64-bit program was converted to ELFCLASS32 at link time.
Use it like:
```
auto rv = elfldltl::VisitSelf([](auto
&
&
self) { return self.Method(...); });
```
Defined at line 172 of file ../../src/lib/elfldltl/include/lib/elfldltl/self.h
-
template <class Self, class DiagnosticsType>SymbolInfo<typename Self::Elf> LinkStaticPieWithVdso (const Self & self, DiagnosticsType & diagnostics, const void * vdso_base)Do self-relocation against the vDSO so system calls can be made normally.
This is the simplified all-in-one version that decodes the all vDSO details
from memory itself. It returns the the program's own SymbolInfo data; see
<lib
/elfldltl/symbol.h> for details.
Defined at line 177 of file ../../src/lib/elfldltl/include/lib/elfldltl/static-pie-with-vdso.h
-
template <class Module, forward_range ModuleList, class Diagnostics, typename TlsDescResolver>auto MakeSymbolResolver (const Module & ref_module, ModuleList & modules, Diagnostics & diag, TlsDescResolver & tlsdesc_resolver, ResolverPolicy policy)Returns a callable object which can be used for RelocateSymbolic's `resolve`
argument. This takes some Module object (as described above) whose
symbol_info() contains the symbol given by RelocateSymbolic. The `modules`
argument is a list of modules from where symbolic definitions can be
resolved, this list is in order of precedence. The ModuleList type is a
forward iterable range or container. diag is a diagnostics object for
reporting errors. The TlsDescResolver is a callable object that's called as
`fit::result
<bool
, TlsDescGot>(Diagnostics
&
, const Definition
&
, Addend)` or
`fit::result
<bool
, TlsDescGot>(Diagnostics
&
, const Definition
&
)` for a
TLSDESDC relocation resolved to a defined symbol; and as `TlsDescGot()` or
`TlsDescGot(Addend)` for one resolved as an undefined weak reference.
All references passed to elfldltl::MakeSymbolResolver should outlive the
returned object, which in turn must outlive its return values (Definition
objects). The tlsdesc_resolver reference is saved in Definition objects so
it can be called from the RelocateSymbolic callbacks.
Defined at line 227 of file ../../src/lib/elfldltl/include/lib/elfldltl/resolve.h
-
template <class Container, class Diagnostics>ReadArrayFromFileAllocator<typename Container::value_type> auto ContainerArrayFromFile (Diagnostics & diag, std::string_view error)This returns an Allocator API object File::ReadArrayFromFile that uses a
Container API instantiation (see
<lib
/elfldltl/container.h>). The explicit
template parameter should be a specific ...::Container
<T
> instantiation to
be used with ReadArrayFromFile
<T
> (which should already meet the Allocator
API's return value requirement of being coercible to std::span
<T
> as
contiguous containers do). Note that this uses Container::resize and then
overwrites the default-constructed contents, so it's not best suited for
optimized use cases that should avoid the redundant default construction.
Defined at line 233 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
-
template <class Container, class Diagnostics>ReadArrayFromFileAllocator<typename Container::value_type> auto ContainerArrayFromFile (Diagnostics & diag, std::string_view error)This returns an Allocator API object File::ReadArrayFromFile that uses a
Container API instantiation (see
<lib
/elfldltl/container.h>). The explicit
template parameter should be a specific ...::Container
<T
> instantiation to
be used with ReadArrayFromFile
<T
> (which should already meet the Allocator
API's return value requirement of being coercible to std::span
<T
> as
contiguous containers do). Note that this uses Container::resize and then
overwrites the default-constructed contents, so it's not best suited for
optimized use cases that should avoid the redundant default construction.
Defined at line 233 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
-
std::string_view ElfMachineName (ElfMachine machine)This is used by diagnostics-ostream.h and diagnostics-printf.h to handle
ElfMachine arguments nicely.
Defined at line 251 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
-
std::string_view ElfMachineFileName (ElfMachine machine, ElfClass elfclass)This can be used to assemble a file name or the like using the string that
the GN build system uses as $current_cpu when building modules of this sort.
Defined at line 271 of file ../../src/lib/elfldltl/include/lib/elfldltl/constants.h
-
template <typename Printer, typename... Prefix>auto PrintfDiagnosticsReport (Printer && printer, Prefix &&... prefix)This creates a callable object to use as the Report function in a
Diagnostics object; it calls the printer function like calling printf. The
remaining prefix arguments are treated like initial arguments passed to
every Diagnostics::FormatError call. The printer is called with a format
string literal, followed by various argument types corresponding to the '%'
formats used therein. That format and argument sequence is generated based
on the argument types as passed to FormatError.
Defined at line 360 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h
-
template <typename... Prefix>auto FprintfDiagnosticsReport (FILE * stream, Prefix &&... prefix)This is just PrintfDiagnosticsReport with a printer function that calls
fprintf with the given FILE* argument.
Defined at line 371 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h
-
template <typename... Prefix>auto FprintfDiagnosticsReport (FILE * stream, Prefix &&... prefix)This is just PrintfDiagnosticsReport with a printer function that calls
fprintf with the given FILE* argument.
Defined at line 371 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h
-
Diagnostics<(lambda at ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h:387:25), elfldltl::DiagnosticsPanicFlags> TrapDiagnostics ()This returns a Diagnostics object that crashes immediately for any error or
warning. There are no library dependencies of any kind. This behavior is
appropriate only for self-relocation and bootstrapping cases where if there
is anything wrong in the ELF data then something went wrong in building this
program itself and it shouldn't be running at all.
Defined at line 386 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h
-
template <typename T, typename... Flags>auto OneStringDiagnostics (T & holder, Flags &&... flags)This returns a Diagnostics object that simply stores a single error or
warning message string. It always request early bail-out for errors on the
expectation that only one error will be reported. But if the same object is
indeed called again for another failure, the new error message will replace
the old one.
Defined at line 400 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h
-
template <typename T, typename... Flags>auto CollectStringsDiagnostics (T & container, Flags &&... flags)This returns a Diagnostics object that collects a container of messages.
Defined at line 410 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h
-
(lambda at ../../src/lib/elfldltl/include/lib/elfldltl/note.h:432:10) ObserveBuildIdNote (std::optional<ElfNote> & build_id, bool keep_going)This returns a fit::result
<fit
::failed.bool >(ElfNote) callback object that
can be passed to PhdrFileNoteObserver or PhdrMemoryNoteObserver. That
callback updates build_id to the file's (first) build ID note. If the
optional second argument is true, that callback returns fit::ok(false) after
it's found the build ID, so that PhdrFileNoteObserver would continue to call
additional callbacks on this and other notes rather than finish immediately.
Defined at line 431 of file ../../src/lib/elfldltl/include/lib/elfldltl/note.h
-
(lambda at ../../src/lib/elfldltl/include/lib/elfldltl/note.h:432:10) ObserveBuildIdNote (std::optional<ElfNote> & build_id, bool keep_going)This returns a fit::result
<fit
::failed.bool >(ElfNote) callback object that
can be passed to PhdrFileNoteObserver or PhdrMemoryNoteObserver. That
callback updates build_id to the file's (first) build ID note. If the
optional second argument is true, that callback returns fit::ok(false) after
it's found the build ID, so that PhdrFileNoteObserver would continue to call
additional callbacks on this and other notes rather than finish immediately.
Defined at line 431 of file ../../src/lib/elfldltl/include/lib/elfldltl/note.h
-
template <class Elf, PhdrLoadPolicy Policy = PhdrLoadPolicy::kBasic, typename T>auto MakePhdrLoadObserver (typename Elf::size_type page_size, typename Elf::size_type & vaddr_start, typename Elf::size_type & vaddr_size, T && callback)This acts as a deduction guide with partial explicit specialization.
Defined at line 609 of file ../../src/lib/elfldltl/include/lib/elfldltl/phdr.h
-
template <class Phdr, typename T>bool OnPhdrWritableSegments (std::span<const Phdr> phdrs, T && callback)Given a set of phdrs, call the callback as `bool(size_t vaddr, size_t
memsz)` to cover all the writable segment data described by PT_LOAD
segments, excluding the RELRO region. Returns false as soon as the first
callback returns false, or else returns true.
Defined at line 621 of file ../../src/lib/elfldltl/include/lib/elfldltl/internal/../phdr.h
-
template <class Phdr, typename T>bool OnPhdrWritableSegments (std::span<const Phdr> phdrs, T && callback)Given a set of phdrs, call the callback as `bool(size_t vaddr, size_t
memsz)` to cover all the writable segment data described by PT_LOAD
segments, excluding the RELRO region. Returns false as soon as the first
callback returns false, or else returns true.
Defined at line 621 of file ../../src/lib/elfldltl/include/lib/elfldltl/internal/../phdr.h
-
template <class Phdr, typename T>bool OnPhdrWritableSegments (std::span<const Phdr> phdrs, T && callback)Given a set of phdrs, call the callback as `bool(size_t vaddr, size_t
memsz)` to cover all the writable segment data described by PT_LOAD
segments, excluding the RELRO region. Returns false as soon as the first
callback returns false, or else returns true.
Defined at line 621 of file ../../src/lib/elfldltl/include/lib/elfldltl/phdr.h
-
template <class Phdr, typename T>bool OnPhdrWritableSegments (std::span<const Phdr> phdrs, T && callback)Given a set of phdrs, call the callback as `bool(size_t vaddr, size_t
memsz)` to cover all the writable segment data described by PT_LOAD
segments, excluding the RELRO region. Returns false as soon as the first
callback returns false, or else returns true.
Defined at line 621 of file ../../src/lib/elfldltl/include/lib/elfldltl/phdr.h
-
template <class Phdrtypename T>bool OnPhdrWritableSegments (std::span<const Phdr> phdrsT && callback)Given a set of phdrs, call the callback as `bool(size_t vaddr, size_t
memsz)` to cover all the writable segment data described by PT_LOAD
segments, excluding the RELRO region. Returns false as soon as the first
callback returns false, or else returns true.
Defined at line 621 of file ../../src/lib/elfldltl/include/lib/elfldltl/phdr.h
Concepts
template <class File, class Elf, typename PhdrAllocator> FileApiForLoad CanReadFromFile<File, typename Elf::Ehdr> && CanReadArrayFromFile<File, typename Elf::Phdr, PhdrAllocator, uint32_t>
Like elfldltl::FileApi but for Ehdr and Phdr as required by functions in
this file, and with only a concrete Phdr allocator rather than a template
for allocators of various types.
Defined at line 26 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
template <class T, class Diagnostics, class Handle, auto MakeInvalidHandle = &DefaultMakeInvalidHandle<Handle>> FileWithDiagnosticsApi std::move_constructible<T> && std::move_constructible<Handle> && std::default_initializable<Handle> && requires (Handle &&handle, Diagnostics &diag) { { MakeInvalidHandle() } -> std::convertible_to<Handle>; { T{std::forward<Handle>(handle), diag} }; { T{diag} }; }
Classes derived from elfldltl::File instantiations should meet the
elfldltl::FileWithDiagnosticsApi concept. The constructor should take two
arguments with deducible types. Each of the two template parameters to the
concept can either be a class template parameter to the implementation or
just a function template parameter to its two-argument constructor.
Defined at line 32 of file ../../src/lib/elfldltl/include/lib/elfldltl/file.h
template <typename T> SymbolNameArray std::tuple_size<std::decay_t<T> >{} > 0 && std::same_as<T, const std::array<SymbolName, std::tuple_size<std::decay_t<T> >{}> &>
This requires that a type be a const reference to std::array
<SymbolName
, N>
as returned by elfldltl::PerfectSymbolTable.
Defined at line 42 of file ../../src/lib/elfldltl/include/lib/elfldltl/perfect-symbol-table.h
template <typename StorageType, typename T, typename size_type> AbiPtrTraitsStorageType std::same_as<StorageType, T *> || requires (StorageType storage, size_type unsigned_integer, std::make_signed_t<size_type> signed_integer) { { storage + unsigned_integer } -> std::convertible_to<StorageType>; { storage + signed_integer } -> std::convertible_to<StorageType>; { storage - unsigned_integer } -> std::convertible_to<StorageType>; { storage - signed_integer } -> std::convertible_to<StorageType>; { storage - storage } -> std::integral; }
This concept is used as part of the AbiTraitsApi concept.
Defined at line 47 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h
template <class T, class LoadInfo> GetMutableMemoryApiResult std::same_as<T, fit::result<_Bool, typename T::value_type> > && MemoryWriter<typename T::value_type, typename LoadInfo::Elf::size_type, typename LoadInfo::Elf::Addr> && (std::copy_constructible<typename T::value_type> || (!std::is_const_v<typename LoadInfo::Segment> && std::move_constructible<typename T::value_type>))
elfldltl::LoadInfoMutableMemory is an adapter providing mutation methods of
the Memory API (see Store and StoreAdd
<lib
/elfldltl/memory.h>) representing
a module image described by elfldltl::LoadInfo (see
<lib
/elfldltl/load.h>).
This Memory API object can be used to apply relocations via the interfaces
in
<lib
/elfldltl/link.h>.
The constructor requires Diagnostics and LoadInfo objects by reference, and
some callable object by value. The callable object is used as
`fit::result
<bool
, T>(Diagnostics
&
,LoadInfo::Segment
&
)`. In the error case,
the `bool` value is as would be returned by `Diagnostics::FormatError`. In
the success case, the T is any movable object that provides the mutation
methods of the Memory API. This Memory object represents just the segment
and should accept addresses from `segment.vaddr()` for `segment.filesz()`
bytes, but need not accept any other addresses. Each segment's object is
only requested once and then is used for the lifetime of the adapter.
The callback takes the `LoadInfo::Segment` object by mutable reference so it
can update it to store mutation state when using a segment wrapper subclass.
That state stored in the LoadInfo segments can be used to map the mutated
data into a process later.
The final optional template parameter provides a container template to be
used for the internal storage. To specify that, the Diagnostics, LoadInfo,
and GetMutableMemory callable types must be specified explicitly too. With
the default container (std::vector) a deduction guide allows construction
with no template parameters.
Defined at line 48 of file ../../src/lib/elfldltl/include/lib/elfldltl/loadinfo-mutable-memory.h
template <class Memory, typename Size, typename T> MemoryReaderForType std::integral<Size> && requires (Memory &memory, Size address, Size count, T value) { { memory.template ReadArray<T>(address, count) } -> std::same_as<std::optional<std::span<const T> >>; { memory.template ReadArray<T>(address) } -> std::same_as<std::optional<std::span<const T> >>; }
Various interfaces require a File or Memory type to access data structures.
This header specifies the API contracts those template interfaces require,
and provides an implementation for the simplest case.
Both File and Memory types are not copied or moved, only used by reference.
Each interface uses either the File API or the Memory API, but both APIs
can be implemented by a single object when appropriate.
The primary distinction between File and Memory is that methods for reading
from File handle ownership since copying data into a local buffer may be
required: the lifetime of the data read is tied to an owned object returned
by the call (though it should be presumed that those objects are also only
valid for the lifetime of the File object itself). The Methods for reading
from Memory instead simply return pointers (really references or spans) into
mapped memory whose lifetime is that of the Memory object itself.
The Memory API also has a write aspect, whereas File does only reading. The
Memory API is really the union of MemoryReader and MemoryWriter APIs.
The methods on these objects all require an explicit template parameter for
the datum type to be accessed in the File or Memory object. This means
there can't be a single C++20 concept for File or for Memory generically.
Instead, each concept is parameterized for a particular list of types that
its methods must work with.
Defined at line 48 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
template <typename T, class Diagnostics, class LoadInfo> GetMutableMemoryApi std::invocable<T, Diagnostics &, typename LoadInfo::Segment &> && GetMutableMemoryApiResult<std::invoke_result_t<T, Diagnostics &, typename LoadInfo::Segment &>, LoadInfo>
Defined at line 57 of file ../../src/lib/elfldltl/include/lib/elfldltl/loadinfo-mutable-memory.h
template <class Traits, typename T, class Elf> AbiPtrTraitsApi requires (typename Elf::Addr addr, typename Traits::template StorageType<Elf, T> storage) { typename Traits::template StorageType<Elf, T>; { typename Traits::template StorageType<Elf, T>{} } -> AbiPtrTraitsStorageType<T, typename Elf::size_type>; { Traits::GetAddress(storage) } -> std::unsigned_integral; { Traits::ComparisonValue(storage) } -> std::totally_ordered; { Traits::template FromAddress<Elf, T>(addr) } -> std::convertible_to<decltype(storage)>; }
Any Traits type used with AbiPtr must meet the AbiTraitsApi requirements.
Defined at line 59 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h
template <class Memory, typename Size, typename... Ts> MemoryReader (MemoryReaderForType<Memory, Size, Ts> && ...)
A general-purpose MemoryReader should work for all T, but templates taking a
Memory object will constrain it to the types they actually use.
Defined at line 80 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
template <class Memory, typename Size, typename T> MemoryWriterForType std::integral<Size> && requires (Memory &memory, Size address, T value) { { memory.template Store<T>(address, value) } -> std::convertible_to<_Bool>; { memory.template StoreAdd<T>(address, value) } -> std::convertible_to<_Bool>; }
Defined at line 83 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
template <class Traits, typename T, class Elf> AbiPtrLocalTraitsApi AbiPtrTraitsApi<Traits, T, Elf> && requires (T *ptr, typename Traits::template StorageType<Elf, T> storage) { { Traits::template Make<Elf, T>(ptr) } -> std::convertible_to<typename Traits::template StorageType<Elf, T>>; { Traits::template Get<Elf, T>(storage) } -> std::convertible_to<T *>; }
If an AbiTraits class offers the Make and Get methods to convert directly to
a local pointer, it qualifies as a LocalAbiTraitsApi class. In this case,
AbiPtr will support all the smart-pointer methods and operators and be
convertible to and from normal pointers (T*).
Defined at line 105 of file ../../src/lib/elfldltl/include/lib/elfldltl/abi-ptr.h
template <class Memory, typename Size, typename... Ts> MemoryWriter (MemoryWriterForType<Memory, Size, Ts> && ...)
A general-purpose MemoryWriter should work for all T, but templates taking a
Memory object will constrain it to the types they actually use.
Defined at line 114 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
template <class Memory, typename Size, typename... Ts> MemoryApi MemoryReader<Memory, Size, Ts...> && MemoryWriter<Memory, Size, Ts...>
A fully-general Memory object does all of them.
Defined at line 118 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
template <class Result, typename T> OwnedResult std::same_as<Result, T> || std::convertible_to<const T &, Result>
Successfully reading a single datum of type T yields a value of an
OwnedResult
<T
>. Basically, this means it can be used as if it's a T: either
it's a T or it's equivalent to a const T
&
that's valid for the lifetime of
the File object.
Defined at line 142 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
template <class OptionalResult, typename T> OptionalOwnedResult OwnedResult<OptionalOf<OptionalResult>, T>
OptionalOwnedResult
<T
> is std::optional of some OwnedResult
<T
> type.
Defined at line 146 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
template <class File, typename T, typename Size = size_t> CanReadFromFile requires (File &file, Size offset, Size count) { { file.template ReadFromFile<T>(offset) } -> OptionalOwnedResult<T>; }
The ReadFromFile
<T
> reads a single datum of fixed size. If this aspect of
the File API is used alone then on allocation is required. However, the
return value is nonetheless an owning object that (presumably) must be kept
alive as long it's used as const T
&
. It also must be presumed valid only
during the lifetime of the File object itself. Or it might just be T--but
if not then it may need to be copied to an explicitly typed T to be used
longer than the File object itself.
Defined at line 156 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
template <typename T> SymbolHashBucketApi std::ranges::forward_range<T> && std::same_as<uint32_t, std::ranges::range_value_t<T> >
The elfldltl::GnuHash (
<lib
/elfldltl/gnu-hash.h>) and elfldltl::CompatHash
(
<lib
/elfldltl/compat-hash.h>) classes are used by elfldltl::SymbolInfo,
below. They both conform to the same template API. A hash table yields a
std::forward_range of hash buckets for enumeration: each bucket holds a set
of symbols with equivalent hash values. Each hash bucket is itself a
std::forward_range of uint32_t indices into the symbol table.
Defined at line 166 of file ../../src/lib/elfldltl/include/lib/elfldltl/symbol.h
template <typename Result, typename T> OwnedResultArray std::convertible_to<Result, std::span<const T> >
OwnedResultArray
<T
> is an object that owns some memory resource but that can
be converted to std::span
<const
T>.
Defined at line 171 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
template <typename T> SymbolHashAllBucketsApi std::ranges::forward_range<T> && SymbolHashBucketApi<std::ranges::range_value_t<T> >
Defined at line 171 of file ../../src/lib/elfldltl/include/lib/elfldltl/symbol.h
template <class OptionalResult, typename T> OptionalOwnedResultArray OwnedResultArray<OptionalOf<OptionalResult>, T>
OptionalOwnedResultArray
<T
> is std::optional of an OwnedResultArray
<T
> type.
Defined at line 175 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
template <typename T, typename RawElement> SymbolHashTableApi std::constructible_from<std::span<const RawElement> > && requires (const T &table) { { T::Valid(std::span<const RawElement>{}) } -> std::same_as<_Bool>; { table.symtab_size() } -> std::same_as<uint32_t>; { table.Bucket(uint32_t{}) } -> SymbolHashBucketApi; { table.AllBuckets() } -> SymbolHashAllBucketsApi; }
Defined at line 176 of file ../../src/lib/elfldltl/include/lib/elfldltl/symbol.h
template <class Allocator, typename T, typename Size = size_t> ReadArrayFromFileAllocator std::integral<Size> && requires (Allocator &&allocator, Size count) { { allocator(count) } -> OptionalOwnedResultArray<T>; }
The allocator passed to ReadArrayFromFile
<T
> methods must be a callable
object that returns std::optional of an OwnedResultArray
<T
> type.
Defined at line 180 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
template <class File, typename T, typename Allocator, typename Size = size_t> CanReadArrayFromFile ReadArrayFromFileAllocator<Allocator, T, Size> && requires (File &file, Size offset, Allocator &&allocator, Size count) { { file.template ReadArrayFromFile<T>(offset, allocator, count) } -> OptionalOwnedResultArray<T>; }
The other method required in the File API uses an allocator object.
Defined at line 187 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
template <typename T, class Sym> SymbolFilterApi std::invocable<T, const Sym &> && std::same_as<_Bool, std::invoke_result_t<T, const Sym &> >
A few SymbolInfo methods take a bool(const Sym
&
) callable.
Defined at line 201 of file ../../src/lib/elfldltl/include/lib/elfldltl/symbol.h
template <class File, template <typename> class Allocator, typename... Ts> FileApiFor ((CanReadFromFile<File, Ts> && CanReadArrayFromFile<File, Ts, Allocator<Ts> >) && ...)
The full File API requires both methods. A general-purpose File should work
for all T, but templates taking a File object will constrain it to the types
they actually use. Multiple ReadArrayFromFile
<T
> for different datum types
T calls can't use the same allocator, but users of the File API will often
often use a single template class to supply the allocator objects for all
their calls, so the File object can be validated for calls made with
allocator objects instantiated using the given Allocator template.
Defined at line 203 of file ../../src/lib/elfldltl/include/lib/elfldltl/memory.h
template <class Traitsclass Elf = Elf<>> TlsTraitsApi requires { typename Traits::GotAddr; { std::integral_constant<typename Elf::size_type, Traits::kTlsLocalExecOffset>{} }; { std::bool_constant<Traits::kTlsNegative>{} }; { std::bool_constant<Traits::kTpSelfPointer>{} }; { std::integral_constant<typename Elf::size_type, Traits::kTlsRelativeBias>{} }; }
This defines the API for each TlsTraitsImpl
<Elf
, Machine> class, given Elf.
_Note:_ An expression like `std::integral_constant
<T
, Traits::K>{}`
indicates the requirement for a public member `static constexpr T K = ...;`.
Defined at line 261 of file ../../src/lib/elfldltl/include/lib/elfldltl/machine.h
Variables
const uint32_t kRDebugVersion
Defined at line 19 of file ../../src/lib/elfldltl/include/lib/elfldltl/svr4-abi.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 46 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOf
Defined at line 47 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 58 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsAnyOfTemplate
Defined at line 59 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kIsFileOffset
Defined at line 157 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h
const LinkerZeroInitialized kLinkerZeroInitialized
Defined at line 158 of file ../../src/lib/elfldltl/include/lib/elfldltl/symbol.h
const bool kIsFileOffset
Defined at line 159 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h
const bool kIsFileAddress
Defined at line 191 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h
const bool kIsFileAddress
Defined at line 193 of file ../../src/lib/elfldltl/include/lib/elfldltl/diagnostics.h
const int kAddrBits
Defined at line 283 of file ../../src/lib/elfldltl/include/lib/elfldltl/internal/../layout.h
const int kAddrBits
Defined at line 283 of file ../../src/lib/elfldltl/include/lib/elfldltl/internal/../layout.h
const int kAddrBits
Defined at line 283 of file ../../src/lib/elfldltl/include/lib/elfldltl/internal/../layout.h
const int kAddrBits
Defined at line 283 of file ../../src/lib/elfldltl/include/lib/elfldltl/internal/../layout.h
const int kAddrBits
Defined at line 283 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const int kAddrBits
Defined at line 283 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const auto kAddrBits
Defined at line 284 of file ../../src/lib/elfldltl/include/lib/elfldltl/layout.h
const bool kSegmentWritable
Defined at line 717 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 722 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h
const bool kSegmentHasFilesz
Defined at line 723 of file ../../src/lib/elfldltl/include/lib/elfldltl/load.h