genode/repos/base/src
Norman Feske fa48054959 ldso: Dynamic_linker::respawn mechanism
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
2019-08-28 14:18:45 +02:00
..
core trace: make trace buffer resizeable 2019-07-09 08:55:23 +02:00
include base: remove debug message 2019-08-28 14:18:44 +02:00
ld hw: switch page-tables only when necessary 2017-10-19 13:31:18 +02:00
lib ldso: Dynamic_linker::respawn mechanism 2019-08-28 14:18:45 +02:00
test Relax timing requirements in lazy timer test 2019-06-13 12:22:49 +02:00
timer timeout: use uint64_t for all plain time values 2019-05-06 16:15:26 +02:00
README

This directory contains all source codes.