genode/repos/base/include
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
..
base ldso: Dynamic_linker::respawn mechanism 2019-08-28 14:18:45 +02:00
cpu Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
cpu_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
cpu_thread base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
dataspace Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
deprecated base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
drivers hw: support for ARM64 Raspberry Pi 3 2019-07-09 08:55:22 +02:00
io_mem_session Refinements for updated "Genode Foundations" book 2019-05-27 14:52:53 +02:00
io_port_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
irq_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
log_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
parent Refinements for updated "Genode Foundations" book 2019-05-27 14:52:53 +02:00
pd_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
region_map base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
rm_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
rom_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
root Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
session Streamline exception types 2017-05-31 13:16:07 +02:00
spec base: timestamp support for ARM 64-Bit 2019-07-09 08:55:23 +02:00
timer timeout: use uint64_t for all plain time values 2019-05-06 16:15:26 +02:00
timer_session timeout: use uint64_t for all plain time values 2019-05-06 16:15:26 +02:00
trace_session base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
util util/fifo: Change empty() method of fifo to const. 2019-08-13 12:02:27 +02:00
vm_session base: extend attach of vm_session 2019-05-06 16:15:25 +02:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00

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.