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