template <class Elf = elfldltl::Elf<>>
class RemoteZygoteDomain
Defined at line 95 of file ../../sdk/lib/ld/include/lib/ld/remote-zygote.h
This is the type returned by ld::RemoteZygote::Insert() on success. It's
usually used via the ld::RemoteZygote::Domain alias (see below). Each time
an ld::RuntimeDynamicLinker object is inserted into a zygote, Insert()
returns this object to describe that dynamic linking domain. This provides
the absolute runtime addresses for the root module's entry point and for the
root passive ABI data structures; and the stack size request from the root
module. These are all the details usually needed either to launch a main
executable, or to assimilate a new linking domain via its passive ABI and/or
via some custom entry-point protocol for the root module.
Public Methods
size_type main_entry ()
Return the absolute runtime PC of the root module's entry point.
For the main executable, this is the PC to pass to zx_process_start.
Defined at line 102 of file ../../sdk/lib/ld/include/lib/ld/remote-zygote.h
std::optional<size_type> main_stack_size ()
Return the root module (main executable)'s requested stack size, if any.
Defined at line 105 of file ../../sdk/lib/ld/include/lib/ld/remote-zygote.h
size_type abi_vaddr ()
Return the absolute runtime addresses of the passive ABI symbols in the
loaded stub dynamic linker image.
Defined at line 109 of file ../../sdk/lib/ld/include/lib/ld/remote-zygote.h
size_type rdebug_vaddr ()
Defined at line 110 of file ../../sdk/lib/ld/include/lib/ld/remote-zygote.h
Friends
template <RemoteZygoteVmoclass>
class RemoteZygote