mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-23 15:32:25 +00:00
fa48054959
This patch extends the interface of the dynamic linker with the ability to replace the running binary executable by another one. It is designated for the implementation of execve. The interface consists of two new functions. 'Dynamic_linker::keep' marks the specified shared object as unloadable. This can be used to pin a set of libraries (i.e., the libc) within the local address space while replacing the binary and other higher-level libraries. 'Dynamic_linker::respawn' unloads the current binary, loads the one specifed as first argument, and looks up the entry point symbol of the new binary, which would be "main" for POSIX programs. In addition to implementing the new interface, the patch adjusts the linker at various places that previously assumed the binary to be constant over runtime. Issue #3481 |
||
---|---|---|
.. | ||
base | ||
cpu | ||
cpu_session | ||
cpu_thread | ||
dataspace | ||
deprecated | ||
drivers | ||
io_mem_session | ||
io_port_session | ||
irq_session | ||
log_session | ||
parent | ||
pd_session | ||
region_map | ||
rm_session | ||
rom_session | ||
root | ||
session | ||
spec | ||
timer | ||
timer_session | ||
trace_session | ||
util | ||
vm_session | ||
README |
This directory contains include files of interfaces that are exported by components to be used by other components. Each subdirectory corresponds to the component exporting the interface.