LLDB mainline
MachOTrie.h File Reference
#include "lldb/Utility/ConstString.h"
#include "lldb/lldb-defines.h"
#include "lldb/lldb-types.h"
#include <cstdint>
#include <set>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  lldb_private::TrieEntry
 A single symbol recovered from the Mach-O export trie. More...
struct  lldb_private::TrieEntryWithOffset
 A TrieEntry paired with the offset of the trie node it was parsed from. More...

Namespaces

namespace  lldb_private
 A class that represents a running process on the host machine.

Functions

bool lldb_private::ParseTrieEntries (DataExtractor &data, const bool is_arm, lldb::addr_t text_seg_base_addr, std::set< lldb::addr_t > &resolver_addresses, std::vector< TrieEntryWithOffset > &reexports, std::vector< TrieEntryWithOffset > &ext_symbols)
 Parse the Mach-O export trie (the dyld symbol trie from LC_DYLD_INFO or LC_DYLD_EXPORTS_TRIE) starting at offset in data, collecting exported and re-exported symbols and any stub resolver addresses.

Variables

constexpr uint64_t lldb_private::TRIE_SYMBOL_IS_THUMB = 1ULL << 63
 Set on TrieEntry::flags for an ARM symbol whose address has the low Thumb bit set; the bit is stripped from the address and recorded here instead.
constexpr uint64_t lldb_private::THUMB_ADDRESS_BIT_MASK = 0xfffffffffffffffeull
 Mask that clears the low Thumb bit from an ARM function address.