genode/repos/base-foc
Norman Feske f54c85e045 Genode application binary interface (ABI)
This patch decouples the kernel-specific implementation of the dynamic
linker from its kernel-agnostic binary interface. The name of the
kernel-specific dynamic linker binary now corresponds to the kernel,
e.g., 'ld-linux.lib.so' or 'ld-nova.lib.so'. Applications are no longer
linked directly against a concrete instance of the dynamic linker but
against a shallow stub called 'ld.lib.so'. This stub contains nothing
but the symbols provided by the dynamic linker. It thereby represents
the Genode ABI.

At system-integration time, the kernel-specific run/boot_dir back ends
integrate the matching the kernel-specific variant of the dynamic linker
as 'ld.lib.so' into the boot image.

The ABI symbol file for the dynamic linker is located at
'base/lib/symbols/ld'. It contains the joint ABI of all supported
architectures. The new utility 'tool/abi_symbols' eases the creation of
such an ABI symbol file for a given shared library. Its result should be
manually inspected and edited as needed.

The patch removes the 'syscall' library from 'base_libs.mk' to avoid
polluting the kernel-agnostic ABI with kernel-specific interfaces.

Issue #2190
Issue #2195
2016-12-23 16:50:28 +01:00
..
config foc: Odroid-X2 basic support 2015-07-21 09:28:25 +02:00
doc tool: remove deprecated 'make prepare' mechanism 2016-03-17 17:02:04 +01:00
etc Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
include Remove signal-source headers from public API 2016-07-15 11:38:25 +02:00
lib/mk Genode application binary interface (ABI) 2016-12-23 16:50:28 +01:00
mk core: unify handling of boot modules 2016-11-08 15:26:27 +01:00
ports foc: update port revision and hash 2016-05-23 15:52:48 +02:00
run Build dynamically linked executables by default 2016-12-14 11:22:27 +01:00
src Genode application binary interface (ABI) 2016-12-23 16:50:28 +01:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00

This repository contains the port of Genode to the Fiasco.OC microkernel.
For further information, please refer to the following documents:

:[http://genode.org/community/wiki/GenodeOnFiascoOC - Genode on Fiasco.OC Wiki page]:
  This Wiki page contains the information on how to build and use
  Genode with Fiasco.OC.

:[http://os.inf.tu-dresden.de/fiasco]:
  Official website for the Fiasco.OC microkernel.