genode/repos/ports
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
..
doc Make label prefixing more strict 2016-11-30 13:37:07 +01:00
include nova: use async. map for thread/pd bootstrap 2016-12-14 11:22:29 +01:00
lib nova: remove native_cpu interface 2016-12-14 11:22:29 +01:00
mk ports: GNU build-system support for non-noux pkgs 2016-10-21 12:39:29 +02:00
ports vbox: update to 5.1.10 2016-11-30 13:37:05 +01:00
run vbox: adjust vbox_pointer policy to be working 2016-12-14 11:22:30 +01:00
src Genode application binary interface (ABI) 2016-12-23 16:50:28 +01:00
README Remove repos/qt4, fix #1451 2015-03-19 08:57:20 +01:00

README

This directory contains ports of popular 3rd-party applications to Genode.

The 'ports' repository follows the line of the 'libports' repository.
For instructions about downloading and building 3rd-party applications,
please refer to 'libports/README'.


Dependencies from other repositories
------------------------------------

Application provided by the 'ports' repository typically expect a rich
runtime environment, including shared libraries provided by the 'libports'
repository. Hence, 'ports' depends on 'libports'.