template <class Diagnostics>

struct ModuleTranscriberContext

Defined at line 332 of file ../../sdk/lib/ld/include/lib/ld/remote-abi.h

In this context, pointers point into the module's loaded image.

Public Members

const AbiTranscriberContext<Diagnostics> & abi
const ModuleVaddrMap & vaddr_map

Public Methods

template <typename T>
std::optional<Addr> FromLocalPtr (const T & ptr)

Defined at line 334 of file ../../sdk/lib/ld/include/lib/ld/remote-abi.h

template <auto Member, typename MemberType, auto LocalMember, typename Local>
bool MemberFromLocal (MemberType & out, const Local & in)

Most members stay in the module context where the FromLocalPtr above is

used for any AbiPtr-typed members: they point into this module's image.

Defined at line 341 of file ../../sdk/lib/ld/include/lib/ld/remote-abi.h

bool MemberFromLocal (LinkMapPtr & out, const LocalLinkMap & in)

The link_map linked-list pointers are inside the AbiModule object but

really they are heap pointers, so they redirect back to that context.

Defined at line 348 of file ../../sdk/lib/ld/include/lib/ld/remote-abi.h

bool MemberFromLocal (AbiStringPtr & out, const LocalLinkMap & in)

The name pointer is a special case. It doesn't get transcribed from the

local pointer. Instead it gets set directly after transcription, below.

Defined at line 362 of file ../../sdk/lib/ld/include/lib/ld/remote-abi.h