Go to the documentation of this file.
9 #ifndef LLDB_SOURCE_PLUGINS_DYNAMICLOADER_HEXAGON_DYLD_HEXAGONDYLDRENDEZVOUS_H
10 #define LLDB_SOURCE_PLUGINS_DYNAMICLOADER_HEXAGON_DYLD_HEXAGONDYLDRENDEZVOUS_H
244 #endif // LLDB_SOURCE_PLUGINS_DYNAMICLOADER_HEXAGON_DYLD_HEXAGONDYLDRENDEZVOUS_H
bool operator==(const SOEntry &entry)
lldb::addr_t GetLinkMapAddress() const
SOEntryList::const_iterator iterator
bool ModulesDidUnload() const
RendezvousState
Constants describing the state of the rendezvous.
bool UpdateSOEntries()
Updates the current set of SOEntries, the set of added entries, and the set of removed entries.
lldb::addr_t GetRendezvousAddress() const
bool ModulesDidLoad() const
Structure representing the shared objects currently loaded into the inferior process.
lldb::addr_t GetLDBase() const
uint64_t GetVersion() const
bool TakeSnapshot(SOEntryList &entry_list)
Reads the current list of shared objects according to the link map supplied by the runtime linker.
std::string path
File name of shared object.
lldb::addr_t GetBreakAddress() const
A breakpoint should be set at this address and Resolve called on each hit.
lldb_private::Process * m_process
lldb::addr_t prev
Address of previous so_entry.
SOEntryList m_added_soentries
List of SOEntry's added to the link map since the last call to Resolve().
SOEntryList m_removed_soentries
List of SOEntry's removed from the link map since the last call to Resolve().
Rendezvous m_current
Current and previous snapshots of the rendezvous structure.
bool Resolve()
Update the internal snapshot of runtime linker rendezvous and recompute the currently loaded modules.
std::string ReadStringFromMemory(lldb::addr_t addr)
Reads a null-terminated C string from the memory location starting at addr.
iterator loaded_end() const
uint64_t GetState() const
Returns the current state of the rendezvous structure.
iterator loaded_begin() const
Iterators over all modules loaded into the inferior since the last call to Resolve().
void SetBreakAddress(lldb::addr_t addr)
In hexagon it is possible that we can know the dyld breakpoint without having to find it from the ren...
bool UpdateSOEntriesForAddition()
bool ReadSOEntryFromMemory(lldb::addr_t addr, SOEntry &entry)
Reads an SOEntry starting at addr.
HexagonDYLDRendezvous(lldb_private::Process *process)
string(SUBSTRING ${p} 10 -1 pStripped) if($
const ThreadInfo & GetThreadInfo()
lldb::addr_t ReadWord(lldb::addr_t addr, uint64_t *dst, size_t size)
Reads an unsigned integer of size bytes from the inferior's address space starting at addr.
lldb::addr_t link_addr
Address of this link_map.
iterator begin() const
Iterators over all currently loaded modules.
lldb::addr_t ReadPointer(lldb::addr_t addr, lldb::addr_t *dst)
Reads an address from the inferior's address space starting at addr.
std::list< SOEntry > SOEntryList
lldb::addr_t dyn_addr
Dynamic section of shared object.
void DumpToLog(lldb_private::Log *log) const
#define LLDB_INVALID_ADDRESS
lldb::addr_t next
Address of next so_entry.
lldb::addr_t base_addr
Base address of the loaded object.
iterator unloaded_begin() const
Iterators over all modules unloaded from the inferior since the last call to Resolve().
SOEntryList m_soentries
List of SOEntry objects corresponding to the current link map state.
A class that represents a running process on the host machine.
lldb::addr_t m_rendezvous_addr
Location of the r_debug structure in the inferiors address space.
iterator unloaded_end() const
void SetRendezvousAddress(lldb::addr_t)
Provide the dyld structure address.
bool FindMetadata(const char *name, PThreadField field, uint32_t &value)
char m_exe_path[PATH_MAX]
bool UpdateSOEntriesForDeletion()
lldb::addr_t path_addr
String naming the shared object.
ThreadInfo m_thread_info
Threading metadata read from the inferior.