genode/repos/base-hw/lib/mk/spec
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
..
arm Genode application binary interface (ABI) 2016-12-23 16:50:28 +01:00
arm_v6 hw_x86_64_muen: implement VM service skeleton 2016-07-06 13:02:55 +02:00
arm_v7 base-hw: eliminate the need to $(BASE_HW_DIR) 2016-05-31 15:09:53 +02:00
arndale hw_x86_64_muen: implement VM service skeleton 2016-07-06 13:02:55 +02:00
cortex_a8 base-hw: eliminate the need to $(BASE_HW_DIR) 2016-05-31 15:09:53 +02:00
cortex_a9 hw_x86_64_muen: implement VM service skeleton 2016-07-06 13:02:55 +02:00
cortex_a15 base-hw: eliminate the need to $(BASE_HW_DIR) 2016-05-31 15:09:53 +02:00
exynos5 base-hw: eliminate the need to $(BASE_HW_DIR) 2016-05-31 15:09:53 +02:00
imx6 base-hw: eliminate the need to $(BASE_HW_DIR) 2016-05-31 15:09:53 +02:00
imx53 hw_x86_64_muen: implement VM service skeleton 2016-07-06 13:02:55 +02:00
imx53_qsb base-hw: eliminate the need to $(BASE_HW_DIR) 2016-05-31 15:09:53 +02:00
muen Build dynamically linked executables by default 2016-12-14 11:22:27 +01:00
odroid_xu hw_x86_64_muen: implement VM service skeleton 2016-07-06 13:02:55 +02:00
panda hw: remove kernel unit test framework (fix #2096) 2016-09-30 14:15:22 +02:00
pbxa9 base-hw: eliminate the need to $(BASE_HW_DIR) 2016-05-31 15:09:53 +02:00
perf_counter Introduce 'spec' subdirectories to outline aspects 2015-09-16 13:58:50 +02:00
riscv Genode application binary interface (ABI) 2016-12-23 16:50:28 +01:00
rpi base-hw: eliminate the need to $(BASE_HW_DIR) 2016-05-31 15:09:53 +02:00
smp base-hw: eliminate the need to $(BASE_HW_DIR) 2016-05-31 15:09:53 +02:00
trustzone Introduce 'spec' subdirectories to outline aspects 2015-09-16 13:58:50 +02:00
usb_armory base-hw: eliminate the need to $(BASE_HW_DIR) 2016-05-31 15:09:53 +02:00
x86_64 Genode application binary interface (ABI) 2016-12-23 16:50:28 +01:00
zynq hw: remove kernel unit test framework (fix #2096) 2016-09-30 14:15:22 +02:00
zynq_qemu base-hw: eliminate the need to $(BASE_HW_DIR) 2016-05-31 15:09:53 +02:00