diff --git a/repos/base-fiasco/lib/mk/base-common.mk b/repos/base-fiasco/lib/mk/base-fiasco-common.mk
similarity index 100%
rename from repos/base-fiasco/lib/mk/base-common.mk
rename to repos/base-fiasco/lib/mk/base-fiasco-common.mk
diff --git a/repos/base-fiasco/lib/mk/base.mk b/repos/base-fiasco/lib/mk/base-fiasco.mk
similarity index 100%
rename from repos/base-fiasco/lib/mk/base.mk
rename to repos/base-fiasco/lib/mk/base-fiasco.mk
diff --git a/repos/base-fiasco/lib/mk/core.inc b/repos/base-fiasco/lib/mk/core.inc
index a5363a5616..94a3716d94 100644
--- a/repos/base-fiasco/lib/mk/core.inc
+++ b/repos/base-fiasco/lib/mk/core.inc
@@ -42,7 +42,7 @@ INC_DIR += $(REP_DIR)/src/core/include \
$(REP_DIR)/src/include \
$(BASE_DIR)/src/include
-LIBS += base-common
+LIBS += base-fiasco-common
include $(GEN_CORE_DIR)/version.inc
diff --git a/repos/base-fiasco/lib/mk/spec/x86/core.mk b/repos/base-fiasco/lib/mk/spec/x86/core.mk
index 4e0e0d36e3..dac89e98b9 100644
--- a/repos/base-fiasco/lib/mk/spec/x86/core.mk
+++ b/repos/base-fiasco/lib/mk/spec/x86/core.mk
@@ -1,7 +1,7 @@
include $(REP_DIR)/lib/mk/core.inc
-REQUIRES += x86
-SRC_CC += platform_x86.cc
+LIBS += base-fiasco-common
+SRC_CC += platform_x86.cc
vpath io_port_session_component.cc $(GEN_CORE_DIR)/spec/x86
vpath io_port_session_support.cc $(GEN_CORE_DIR)/spec/x86
diff --git a/repos/base-fiasco/lib/mk/spec/x86_32/ld.mk b/repos/base-fiasco/lib/mk/spec/x86_32/ld.mk
new file mode 100644
index 0000000000..60099f5b07
--- /dev/null
+++ b/repos/base-fiasco/lib/mk/spec/x86_32/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-fiasco-common base-fiasco
+
+include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc
diff --git a/repos/base-foc/lib/mk/base-common.inc b/repos/base-foc/lib/mk/base-foc-common.inc
similarity index 100%
rename from repos/base-foc/lib/mk/base-common.inc
rename to repos/base-foc/lib/mk/base-foc-common.inc
diff --git a/repos/base-foc/lib/mk/base.inc b/repos/base-foc/lib/mk/base-foc.inc
similarity index 80%
rename from repos/base-foc/lib/mk/base.inc
rename to repos/base-foc/lib/mk/base-foc.inc
index 846da4d43f..f7ad3ffbaa 100644
--- a/repos/base-foc/lib/mk/base.inc
+++ b/repos/base-foc/lib/mk/base-foc.inc
@@ -1,4 +1,5 @@
include $(BASE_DIR)/lib/mk/base.inc
+LIBS += base-foc-common
SRC_CC += cap_map_remove.cc cap_alloc.cc
SRC_CC += thread_start.cc
diff --git a/repos/base-foc/lib/mk/core.inc b/repos/base-foc/lib/mk/core.inc
index 5ed1e96088..a21216817d 100644
--- a/repos/base-foc/lib/mk/core.inc
+++ b/repos/base-foc/lib/mk/core.inc
@@ -2,7 +2,7 @@ REQUIRES += foc
GEN_CORE_DIR = $(BASE_DIR)/src/core
-LIBS += base-common
+LIBS += base-foc-common
SRC_CC += stack_area.cc \
core_log.cc \
diff --git a/repos/base-foc/lib/mk/spec/arm/base-common.mk b/repos/base-foc/lib/mk/spec/arm/base-foc-common.mk
similarity index 64%
rename from repos/base-foc/lib/mk/spec/arm/base-common.mk
rename to repos/base-foc/lib/mk/spec/arm/base-foc-common.mk
index c64aa57068..d8c63d4200 100644
--- a/repos/base-foc/lib/mk/spec/arm/base-common.mk
+++ b/repos/base-foc/lib/mk/spec/arm/base-foc-common.mk
@@ -1,4 +1,4 @@
# override default stack-area location
INC_DIR += $(REP_DIR)/src/include/spec/arm
-include $(REP_DIR)/lib/mk/base-common.inc
+include $(REP_DIR)/lib/mk/base-foc-common.inc
diff --git a/repos/base-foc/lib/mk/spec/arm/base.mk b/repos/base-foc/lib/mk/spec/arm/base-foc.mk
similarity index 68%
rename from repos/base-foc/lib/mk/spec/arm/base.mk
rename to repos/base-foc/lib/mk/spec/arm/base-foc.mk
index 250a6a96db..77ff4ac868 100644
--- a/repos/base-foc/lib/mk/spec/arm/base.mk
+++ b/repos/base-foc/lib/mk/spec/arm/base-foc.mk
@@ -1,4 +1,4 @@
# override default stack-area location
INC_DIR += $(REP_DIR)/src/include/spec/arm
-include $(REP_DIR)/lib/mk/base.inc
+include $(REP_DIR)/lib/mk/base-foc.inc
diff --git a/repos/base-foc/lib/mk/spec/arm/ld.mk b/repos/base-foc/lib/mk/spec/arm/ld.mk
new file mode 100644
index 0000000000..1cbbb08387
--- /dev/null
+++ b/repos/base-foc/lib/mk/spec/arm/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-foc-common base-foc
+
+include $(BASE_DIR)/lib/mk/spec/arm/ld.inc
diff --git a/repos/base-foc/lib/mk/spec/x86/base-common.mk b/repos/base-foc/lib/mk/spec/x86/base-common.mk
deleted file mode 100644
index 7c6d23984f..0000000000
--- a/repos/base-foc/lib/mk/spec/x86/base-common.mk
+++ /dev/null
@@ -1 +0,0 @@
-include $(REP_DIR)/lib/mk/base-common.inc
diff --git a/repos/base-foc/lib/mk/spec/x86/base-foc-common.mk b/repos/base-foc/lib/mk/spec/x86/base-foc-common.mk
new file mode 100644
index 0000000000..f3a625c676
--- /dev/null
+++ b/repos/base-foc/lib/mk/spec/x86/base-foc-common.mk
@@ -0,0 +1 @@
+include $(REP_DIR)/lib/mk/base-foc-common.inc
diff --git a/repos/base-foc/lib/mk/spec/x86/base-foc.mk b/repos/base-foc/lib/mk/spec/x86/base-foc.mk
new file mode 100644
index 0000000000..ff31b15f8e
--- /dev/null
+++ b/repos/base-foc/lib/mk/spec/x86/base-foc.mk
@@ -0,0 +1 @@
+include $(REP_DIR)/lib/mk/base-foc.inc
diff --git a/repos/base-foc/lib/mk/spec/x86/base.mk b/repos/base-foc/lib/mk/spec/x86/base.mk
deleted file mode 100644
index 50d968e030..0000000000
--- a/repos/base-foc/lib/mk/spec/x86/base.mk
+++ /dev/null
@@ -1 +0,0 @@
-include $(REP_DIR)/lib/mk/base.inc
diff --git a/repos/base-foc/lib/mk/spec/x86_32/ld.mk b/repos/base-foc/lib/mk/spec/x86_32/ld.mk
new file mode 100644
index 0000000000..ea2cd28520
--- /dev/null
+++ b/repos/base-foc/lib/mk/spec/x86_32/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-foc-common base-foc
+
+include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc
diff --git a/repos/base-foc/lib/mk/spec/x86_64/ld.mk b/repos/base-foc/lib/mk/spec/x86_64/ld.mk
new file mode 100644
index 0000000000..7c150b804c
--- /dev/null
+++ b/repos/base-foc/lib/mk/spec/x86_64/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-foc-common base-foc
+
+include $(BASE_DIR)/lib/mk/spec/x86_64/ld.inc
diff --git a/repos/base-foc/run/cap_integrity.run b/repos/base-foc/run/cap_integrity.run
index 35a835e69d..17a2653b3f 100644
--- a/repos/base-foc/run/cap_integrity.run
+++ b/repos/base-foc/run/cap_integrity.run
@@ -21,7 +21,7 @@ install_config {
}
-build_boot_image "core init test-cap_integrity"
+build_boot_image "core ld.lib.so init test-cap_integrity"
append qemu_args "-nographic -m 64"
diff --git a/repos/base-hw/lib/mk/base-common.inc b/repos/base-hw/lib/mk/base-hw-common.inc
similarity index 100%
rename from repos/base-hw/lib/mk/base-common.inc
rename to repos/base-hw/lib/mk/base-hw-common.inc
diff --git a/repos/base-hw/lib/mk/base.mk b/repos/base-hw/lib/mk/base-hw.mk
similarity index 80%
rename from repos/base-hw/lib/mk/base.mk
rename to repos/base-hw/lib/mk/base-hw.mk
index 854ea17770..dddbca13bf 100644
--- a/repos/base-hw/lib/mk/base.mk
+++ b/repos/base-hw/lib/mk/base-hw.mk
@@ -5,4 +5,4 @@ SRC_CC += env.cc
SRC_CC += capability.cc
SRC_CC += cache.cc
-LIBS += startup
+LIBS += startup base-hw-common
diff --git a/repos/base-hw/lib/mk/core.inc b/repos/base-hw/lib/mk/core.inc
index a10857784e..3670b34b34 100644
--- a/repos/base-hw/lib/mk/core.inc
+++ b/repos/base-hw/lib/mk/core.inc
@@ -8,7 +8,7 @@
LIBS += core-perf_counter
# add library dependencies
-LIBS += base-common
+LIBS += base-hw-common
# add include paths
INC_DIR += $(BASE_DIR)/../base-hw/src/core/include
diff --git a/repos/base-hw/lib/mk/spec/arm/base-common.mk b/repos/base-hw/lib/mk/spec/arm/base-hw-common.mk
similarity index 55%
rename from repos/base-hw/lib/mk/spec/arm/base-common.mk
rename to repos/base-hw/lib/mk/spec/arm/base-hw-common.mk
index 8da893acbc..cfe1dba2ae 100644
--- a/repos/base-hw/lib/mk/spec/arm/base-common.mk
+++ b/repos/base-hw/lib/mk/spec/arm/base-hw-common.mk
@@ -1,3 +1,3 @@
-include $(REP_DIR)/lib/mk/base-common.inc
+include $(REP_DIR)/lib/mk/base-hw-common.inc
vpath kernel/interface.cc $(REP_DIR)/src/lib/base/arm
diff --git a/repos/base-hw/lib/mk/spec/arm/ld.mk b/repos/base-hw/lib/mk/spec/arm/ld.mk
new file mode 100644
index 0000000000..ce77f06410
--- /dev/null
+++ b/repos/base-hw/lib/mk/spec/arm/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-hw-common base-hw
+
+include $(BASE_DIR)/lib/mk/spec/arm/ld.inc
diff --git a/repos/base-hw/lib/mk/spec/muen/base-common.mk b/repos/base-hw/lib/mk/spec/muen/base-hw-common.mk
similarity index 50%
rename from repos/base-hw/lib/mk/spec/muen/base-common.mk
rename to repos/base-hw/lib/mk/spec/muen/base-hw-common.mk
index 7185f8e66a..39a1941605 100644
--- a/repos/base-hw/lib/mk/spec/muen/base-common.mk
+++ b/repos/base-hw/lib/mk/spec/muen/base-hw-common.mk
@@ -2,4 +2,4 @@ SRC_CC += sinfo.cc
vpath %.cc $(REP_DIR)/src/base/muen
-include $(REP_DIR)/lib/mk/spec/x86_64/base-common.mk
+include $(REP_DIR)/lib/mk/spec/x86_64/base-hw-common.mk
diff --git a/repos/base-hw/lib/mk/spec/riscv/base-common.mk b/repos/base-hw/lib/mk/spec/riscv/base-hw-common.mk
similarity index 55%
rename from repos/base-hw/lib/mk/spec/riscv/base-common.mk
rename to repos/base-hw/lib/mk/spec/riscv/base-hw-common.mk
index 68e72e995e..13a9cc303e 100644
--- a/repos/base-hw/lib/mk/spec/riscv/base-common.mk
+++ b/repos/base-hw/lib/mk/spec/riscv/base-hw-common.mk
@@ -1,3 +1,3 @@
-include $(REP_DIR)/lib/mk/base-common.inc
+include $(REP_DIR)/lib/mk/base-hw-common.inc
vpath kernel/interface.cc $(REP_DIR)/src/lib/base/riscv
diff --git a/repos/base-hw/lib/mk/spec/riscv/ld.mk b/repos/base-hw/lib/mk/spec/riscv/ld.mk
new file mode 100644
index 0000000000..082bda7947
--- /dev/null
+++ b/repos/base-hw/lib/mk/spec/riscv/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-hw-common base-hw
+
+include $(BASE_DIR)/lib/mk/spec/riscv/ld.inc
diff --git a/repos/base-hw/lib/mk/spec/x86_64/base-common.mk b/repos/base-hw/lib/mk/spec/x86_64/base-hw-common.mk
similarity index 56%
rename from repos/base-hw/lib/mk/spec/x86_64/base-common.mk
rename to repos/base-hw/lib/mk/spec/x86_64/base-hw-common.mk
index 756e04751c..dc08cb1381 100644
--- a/repos/base-hw/lib/mk/spec/x86_64/base-common.mk
+++ b/repos/base-hw/lib/mk/spec/x86_64/base-hw-common.mk
@@ -1,3 +1,3 @@
-include $(REP_DIR)/lib/mk/base-common.inc
+include $(REP_DIR)/lib/mk/base-hw-common.inc
vpath kernel/interface.cc $(REP_DIR)/src/lib/base/x86_64
diff --git a/repos/base-hw/lib/mk/spec/x86_64/ld.mk b/repos/base-hw/lib/mk/spec/x86_64/ld.mk
new file mode 100644
index 0000000000..2bae1a60fa
--- /dev/null
+++ b/repos/base-hw/lib/mk/spec/x86_64/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-hw-common base-hw
+
+include $(BASE_DIR)/lib/mk/spec/x86_64/ld.inc
diff --git a/repos/base-hw/run/cpu_scheduler.run b/repos/base-hw/run/cpu_scheduler.run
index 60430bcaf7..05e4c57e7e 100644
--- a/repos/base-hw/run/cpu_scheduler.run
+++ b/repos/base-hw/run/cpu_scheduler.run
@@ -26,7 +26,7 @@ install_config {
}
# create single boot image from the compiled program images
-build_boot_image "core init test-cpu_scheduler"
+build_boot_image "core ld.lib.so init test-cpu_scheduler"
# configure qemu to use 64 MB RAM and avoid GUI mode
append qemu_args " -m 64 -nographic"
diff --git a/repos/base-hw/run/double_list.run b/repos/base-hw/run/double_list.run
index 17a8b846b3..59665e850a 100644
--- a/repos/base-hw/run/double_list.run
+++ b/repos/base-hw/run/double_list.run
@@ -27,7 +27,7 @@ install_config {
}
# create single boot image from the compiled program images
-build_boot_image "core init test-double_list"
+build_boot_image "core ld.lib.so init test-double_list"
# configure qemu to use 64 MB RAM and avoid GUI mode
append qemu_args " -m 64 -nographic"
diff --git a/repos/base-hw/run/nested_init.run b/repos/base-hw/run/nested_init.run
index 83ba9d5ad0..792148179f 100644
--- a/repos/base-hw/run/nested_init.run
+++ b/repos/base-hw/run/nested_init.run
@@ -60,7 +60,7 @@ install_config {
}
# create single boot image from the compiled program images
-build_boot_image "core init"
+build_boot_image "core ld.lib.so init"
# configure qemu to use 64 MB RAM and avoid GUI mode
append qemu_args " -m 64 -nographic"
diff --git a/repos/base-linux/lib/mk/base-common.mk b/repos/base-linux/lib/mk/base-linux-common.mk
similarity index 100%
rename from repos/base-linux/lib/mk/base-common.mk
rename to repos/base-linux/lib/mk/base-linux-common.mk
diff --git a/repos/base-linux/lib/mk/base.inc b/repos/base-linux/lib/mk/base-linux.inc
similarity index 100%
rename from repos/base-linux/lib/mk/base.inc
rename to repos/base-linux/lib/mk/base-linux.inc
diff --git a/repos/base-linux/lib/mk/base.mk b/repos/base-linux/lib/mk/base-linux.mk
similarity index 76%
rename from repos/base-linux/lib/mk/base.mk
rename to repos/base-linux/lib/mk/base-linux.mk
index c5b12b8384..a1767a1a55 100644
--- a/repos/base-linux/lib/mk/base.mk
+++ b/repos/base-linux/lib/mk/base-linux.mk
@@ -4,9 +4,9 @@
# \date 2014-02-21
#
-include $(REP_DIR)/lib/mk/base.inc
+include $(REP_DIR)/lib/mk/base-linux.inc
-LIBS += startup
+LIBS += startup base-linux-common
SRC_CC += thread.cc thread_myself.cc thread_linux.cc
SRC_CC += capability_space.cc capability_raw.cc
SRC_CC += attach_stack_area.cc
diff --git a/repos/base-linux/lib/mk/lx_hybrid.mk b/repos/base-linux/lib/mk/lx_hybrid.mk
index 7a598d9922..2ffba51949 100644
--- a/repos/base-linux/lib/mk/lx_hybrid.mk
+++ b/repos/base-linux/lib/mk/lx_hybrid.mk
@@ -4,7 +4,7 @@ vpath new_delete.cc $(BASE_DIR)/src/lib/cxx
vpath lx_hybrid.cc $(REP_DIR)/src/lib/lx_hybrid
# add parts of the base library that are shared with core
-LIBS += base-common
+LIBS += base-linux-common
# non-core parts of the base library (except for the startup code)
-include $(REP_DIR)/lib/mk/base.inc
+include $(REP_DIR)/lib/mk/base-linux.inc
diff --git a/repos/base-linux/lib/mk/spec/arm/base.mk b/repos/base-linux/lib/mk/spec/arm/base-linux.mk
similarity index 100%
rename from repos/base-linux/lib/mk/spec/arm/base.mk
rename to repos/base-linux/lib/mk/spec/arm/base-linux.mk
diff --git a/repos/base-linux/lib/mk/spec/arm/ld.mk b/repos/base-linux/lib/mk/spec/arm/ld.mk
new file mode 100644
index 0000000000..e7798704d3
--- /dev/null
+++ b/repos/base-linux/lib/mk/spec/arm/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-linux-common base-linux
+
+include $(BASE_DIR)/lib/mk/spec/arm/ld.inc
diff --git a/repos/base-linux/lib/mk/spec/x86/base.mk b/repos/base-linux/lib/mk/spec/x86/base-linux.mk
similarity index 79%
rename from repos/base-linux/lib/mk/spec/x86/base.mk
rename to repos/base-linux/lib/mk/spec/x86/base-linux.mk
index 831a5b8462..a3ba74e823 100644
--- a/repos/base-linux/lib/mk/spec/x86/base.mk
+++ b/repos/base-linux/lib/mk/spec/x86/base-linux.mk
@@ -6,4 +6,4 @@
SRC_CC += cache.cc
-include $(REP_DIR)/lib/mk/base.mk
+include $(REP_DIR)/lib/mk/base-linux.mk
diff --git a/repos/base-linux/lib/mk/spec/x86_32/ld.mk b/repos/base-linux/lib/mk/spec/x86_32/ld.mk
new file mode 100644
index 0000000000..023382e1f4
--- /dev/null
+++ b/repos/base-linux/lib/mk/spec/x86_32/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-linux-common base-linux
+
+include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc
diff --git a/repos/base-linux/lib/mk/spec/x86_64/ld.mk b/repos/base-linux/lib/mk/spec/x86_64/ld.mk
new file mode 100644
index 0000000000..3ff63e12bb
--- /dev/null
+++ b/repos/base-linux/lib/mk/spec/x86_64/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-linux-common base-linux
+
+include $(BASE_DIR)/lib/mk/spec/x86_64/ld.inc
diff --git a/repos/base-linux/run/lx_hybrid_ctors.run b/repos/base-linux/run/lx_hybrid_ctors.run
index 1e0ee9a50b..dc1bfebff4 100644
--- a/repos/base-linux/run/lx_hybrid_ctors.run
+++ b/repos/base-linux/run/lx_hybrid_ctors.run
@@ -41,7 +41,7 @@ install_config {
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
test-lx_hybrid_ctors
}
diff --git a/repos/base-linux/run/lx_hybrid_errno.run b/repos/base-linux/run/lx_hybrid_errno.run
index aec1386ebc..8f9548f761 100644
--- a/repos/base-linux/run/lx_hybrid_errno.run
+++ b/repos/base-linux/run/lx_hybrid_errno.run
@@ -36,7 +36,7 @@ install_config {
#
# generic modules
-set boot_modules { core init test-lx_hybrid_errno }
+set boot_modules { core ld.lib.so init test-lx_hybrid_errno }
build_boot_image $boot_modules
diff --git a/repos/base-linux/run/lx_hybrid_exception.run b/repos/base-linux/run/lx_hybrid_exception.run
index be396641c7..9b17333d24 100644
--- a/repos/base-linux/run/lx_hybrid_exception.run
+++ b/repos/base-linux/run/lx_hybrid_exception.run
@@ -40,7 +40,7 @@ install_config {
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
test-lx_hybrid_exception
}
diff --git a/repos/base-linux/run/lx_hybrid_pthread_ipc.run b/repos/base-linux/run/lx_hybrid_pthread_ipc.run
index eeb696ecbf..09cbc1e06a 100644
--- a/repos/base-linux/run/lx_hybrid_pthread_ipc.run
+++ b/repos/base-linux/run/lx_hybrid_pthread_ipc.run
@@ -36,7 +36,7 @@ install_config {
#
# generic modules
-set boot_modules { core init test-lx_hybrid_pthread_ipc }
+set boot_modules { core ld.lib.so init test-lx_hybrid_pthread_ipc }
build_boot_image $boot_modules
diff --git a/repos/base-linux/run/lx_rmap.inc b/repos/base-linux/run/lx_rmap.inc
index 0f384d1bd2..1e32f14aaf 100644
--- a/repos/base-linux/run/lx_rmap.inc
+++ b/repos/base-linux/run/lx_rmap.inc
@@ -53,7 +53,7 @@ install_config $config
# Boot modules
#
-set boot_modules { core init}
+set boot_modules { core ld.lib.so init }
lappend_if [expr {$test_type eq "static"}] boot_modules test-lx_rmap_static
lappend_if [expr {$test_type eq "dynamic"}] boot_modules test-lx_rmap_dynamic
diff --git a/repos/base-linux/run/lx_uid.run b/repos/base-linux/run/lx_uid.run
index 8493eb2850..4985a27ecb 100644
--- a/repos/base-linux/run/lx_uid.run
+++ b/repos/base-linux/run/lx_uid.run
@@ -62,7 +62,7 @@ install_config {
# this would create mere symlinks. However, we need to enable the setuid
# and setgid capabilities for core, which won't work if core were a symlink.
#
-foreach binary { core init } {
+foreach binary { core ld.lib.so init } {
exec cp -H bin/$binary [run_dir] }
#
diff --git a/repos/base-linux/run/region_map_mmap.run b/repos/base-linux/run/region_map_mmap.run
index b4ef44e369..6ea2fee1f8 100644
--- a/repos/base-linux/run/region_map_mmap.run
+++ b/repos/base-linux/run/region_map_mmap.run
@@ -32,7 +32,7 @@ install_config {
}
-build_boot_image "core init test-region_map_mmap timer test-signal"
+build_boot_image "core ld.lib.so init test-region_map_mmap timer test-signal"
run_genode_until forever
diff --git a/repos/base-linux/src/core/target.mk b/repos/base-linux/src/core/target.mk
index 88097b79d7..0234ffd24c 100644
--- a/repos/base-linux/src/core/target.mk
+++ b/repos/base-linux/src/core/target.mk
@@ -1,6 +1,6 @@
TARGET = core
REQUIRES = linux
-LIBS = cxx base-common syscall startup
+LIBS = cxx base-linux-common syscall startup
GEN_CORE_DIR = $(BASE_DIR)/src/core
diff --git a/repos/base-nova/lib/mk/base-common.mk b/repos/base-nova/lib/mk/base-nova-common.mk
similarity index 100%
rename from repos/base-nova/lib/mk/base-common.mk
rename to repos/base-nova/lib/mk/base-nova-common.mk
diff --git a/repos/base-nova/lib/mk/base.mk b/repos/base-nova/lib/mk/base-nova.mk
similarity index 75%
rename from repos/base-nova/lib/mk/base.mk
rename to repos/base-nova/lib/mk/base-nova.mk
index a32c7ebd77..fc37091238 100644
--- a/repos/base-nova/lib/mk/base.mk
+++ b/repos/base-nova/lib/mk/base-nova.mk
@@ -1,4 +1,5 @@
include $(BASE_DIR)/lib/mk/base.inc
+LIBS += base-nova-common
SRC_CC += thread_start.cc
SRC_CC += cache.cc
diff --git a/repos/base-nova/lib/mk/core.inc b/repos/base-nova/lib/mk/core.inc
index 5e6509046e..ab8150fd7e 100644
--- a/repos/base-nova/lib/mk/core.inc
+++ b/repos/base-nova/lib/mk/core.inc
@@ -1,4 +1,4 @@
-LIBS = base-common
+LIBS = base-nova-common
GEN_CORE_DIR = $(BASE_DIR)/src/core
diff --git a/repos/base-nova/lib/mk/spec/x86_32/ld.mk b/repos/base-nova/lib/mk/spec/x86_32/ld.mk
new file mode 100644
index 0000000000..f3d13f9330
--- /dev/null
+++ b/repos/base-nova/lib/mk/spec/x86_32/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-nova-common base-nova
+
+include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc
diff --git a/repos/base-nova/lib/mk/spec/x86_64/ld.mk b/repos/base-nova/lib/mk/spec/x86_64/ld.mk
new file mode 100644
index 0000000000..c8b2912982
--- /dev/null
+++ b/repos/base-nova/lib/mk/spec/x86_64/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-nova-common base-nova
+
+include $(BASE_DIR)/lib/mk/spec/x86_64/ld.inc
diff --git a/repos/base-nova/run/platform.run b/repos/base-nova/run/platform.run
index 0fd44c5179..9991593a84 100644
--- a/repos/base-nova/run/platform.run
+++ b/repos/base-nova/run/platform.run
@@ -33,7 +33,7 @@ append config {
install_config $config
-build_boot_image "core init test-platform"
+build_boot_image "core ld.lib.so init test-platform"
append qemu_args "-nographic -m 128 -smp 2"
diff --git a/repos/base-okl4/lib/mk/base-common.mk b/repos/base-okl4/lib/mk/base-okl4-common.mk
similarity index 100%
rename from repos/base-okl4/lib/mk/base-common.mk
rename to repos/base-okl4/lib/mk/base-okl4-common.mk
diff --git a/repos/base-pistachio/lib/mk/base.mk b/repos/base-okl4/lib/mk/base-okl4.mk
similarity index 80%
rename from repos/base-pistachio/lib/mk/base.mk
rename to repos/base-okl4/lib/mk/base-okl4.mk
index eec5dc9399..abe953de6d 100644
--- a/repos/base-pistachio/lib/mk/base.mk
+++ b/repos/base-okl4/lib/mk/base-okl4.mk
@@ -1,5 +1,6 @@
include $(BASE_DIR)/lib/mk/base.inc
+LIBS += base-okl4-common
SRC_CC += thread_start.cc
SRC_CC += cache.cc
SRC_CC += capability_space.cc
diff --git a/repos/base-okl4/lib/mk/core.inc b/repos/base-okl4/lib/mk/core.inc
index 58c3b2c2a9..13a6e66621 100644
--- a/repos/base-okl4/lib/mk/core.inc
+++ b/repos/base-okl4/lib/mk/core.inc
@@ -1,6 +1,6 @@
CC_OPT_PIC =
-LIBS += boot_info base-common
+LIBS += boot_info base-okl4-common
GEN_CORE_DIR = $(BASE_DIR)/src/core
diff --git a/repos/base-okl4/lib/mk/spec/x86_32/ld.mk b/repos/base-okl4/lib/mk/spec/x86_32/ld.mk
new file mode 100644
index 0000000000..308cd1d88d
--- /dev/null
+++ b/repos/base-okl4/lib/mk/spec/x86_32/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-okl4-common base-okl4
+
+include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc
diff --git a/repos/base-okl4/run/priority.run b/repos/base-okl4/run/priority.run
index 615cba53f9..c3fff75c5b 100644
--- a/repos/base-okl4/run/priority.run
+++ b/repos/base-okl4/run/priority.run
@@ -6,7 +6,7 @@ create_boot_directory
install_config "[exec cat [genode_dir]/repos/os/src/init/config.priority]"
-build_boot_image "core init"
+build_boot_image "core ld.lib.so init"
append qemu_args "-nographic -m 256"
diff --git a/repos/base-pistachio/lib/mk/base-common.mk b/repos/base-pistachio/lib/mk/base-pistachio-common.mk
similarity index 100%
rename from repos/base-pistachio/lib/mk/base-common.mk
rename to repos/base-pistachio/lib/mk/base-pistachio-common.mk
diff --git a/repos/base-okl4/lib/mk/base.mk b/repos/base-pistachio/lib/mk/base-pistachio.mk
similarity index 77%
rename from repos/base-okl4/lib/mk/base.mk
rename to repos/base-pistachio/lib/mk/base-pistachio.mk
index eec5dc9399..2dfbeaa26d 100644
--- a/repos/base-okl4/lib/mk/base.mk
+++ b/repos/base-pistachio/lib/mk/base-pistachio.mk
@@ -1,5 +1,6 @@
include $(BASE_DIR)/lib/mk/base.inc
+LIBS += base-pistachio-common
SRC_CC += thread_start.cc
SRC_CC += cache.cc
SRC_CC += capability_space.cc
diff --git a/repos/base-pistachio/lib/mk/core.inc b/repos/base-pistachio/lib/mk/core.inc
index 1a498bc374..10e7913868 100644
--- a/repos/base-pistachio/lib/mk/core.inc
+++ b/repos/base-pistachio/lib/mk/core.inc
@@ -1,5 +1,5 @@
REQUIRES = pistachio
-LIBS = base-common
+LIBS = base-pistachio-common
GEN_CORE_DIR = $(BASE_DIR)/src/core
diff --git a/repos/base-pistachio/lib/mk/spec/x86_32/ld.mk b/repos/base-pistachio/lib/mk/spec/x86_32/ld.mk
new file mode 100644
index 0000000000..5334b8cf3a
--- /dev/null
+++ b/repos/base-pistachio/lib/mk/spec/x86_32/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-pistachio-common base-pistachio
+
+include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc
diff --git a/repos/base-sel4/lib/mk/base-common.inc b/repos/base-sel4/lib/mk/base-sel4-common.mk
similarity index 100%
rename from repos/base-sel4/lib/mk/base-common.inc
rename to repos/base-sel4/lib/mk/base-sel4-common.mk
diff --git a/repos/base-sel4/lib/mk/base.mk b/repos/base-sel4/lib/mk/base-sel4.mk
similarity index 79%
rename from repos/base-sel4/lib/mk/base.mk
rename to repos/base-sel4/lib/mk/base-sel4.mk
index cb85faed81..22d17998d7 100644
--- a/repos/base-sel4/lib/mk/base.mk
+++ b/repos/base-sel4/lib/mk/base-sel4.mk
@@ -4,4 +4,4 @@ SRC_CC += capability_space.cc
SRC_CC += thread_start.cc thread_init.cc
SRC_CC += cache.cc
-LIBS += syscall
+LIBS += syscall base-sel4-common
diff --git a/repos/base-sel4/lib/mk/core.mk b/repos/base-sel4/lib/mk/core.mk
index c565e562ba..cbf34386e4 100644
--- a/repos/base-sel4/lib/mk/core.mk
+++ b/repos/base-sel4/lib/mk/core.mk
@@ -35,7 +35,7 @@ SRC_CC += \
capability_space.cc \
pager.cc
-LIBS += core_log base-common syscall
+LIBS += core_log base-sel4-common syscall
INC_DIR += $(REP_DIR)/src/core/include $(GEN_CORE_DIR)/include \
$(REP_DIR)/src/include $(BASE_DIR)/src/include
diff --git a/repos/base-sel4/lib/mk/spec/x86_32/base-common.mk b/repos/base-sel4/lib/mk/spec/x86_32/base-common.mk
deleted file mode 100644
index 7c6d23984f..0000000000
--- a/repos/base-sel4/lib/mk/spec/x86_32/base-common.mk
+++ /dev/null
@@ -1 +0,0 @@
-include $(REP_DIR)/lib/mk/base-common.inc
diff --git a/repos/base-sel4/lib/mk/spec/x86_32/ld.mk b/repos/base-sel4/lib/mk/spec/x86_32/ld.mk
new file mode 100644
index 0000000000..9ecdf8144d
--- /dev/null
+++ b/repos/base-sel4/lib/mk/spec/x86_32/ld.mk
@@ -0,0 +1,3 @@
+BASE_LIBS += base-sel4-common base-sel4
+
+include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc
diff --git a/repos/base/lib/mk/base.inc b/repos/base/lib/mk/base.inc
index 3764f77f27..52dd811c7d 100644
--- a/repos/base/lib/mk/base.inc
+++ b/repos/base/lib/mk/base.inc
@@ -6,5 +6,3 @@ vpath %.cc $(REP_DIR)/src/lib/base
vpath %.cc $(BASE_DIR)/src/lib/base
INC_DIR += $(REP_DIR)/src/include $(BASE_DIR)/src/include
-
-LIBS += base-common
diff --git a/repos/base/lib/mk/base.mk b/repos/base/lib/mk/base.mk
new file mode 100644
index 0000000000..887250767d
--- /dev/null
+++ b/repos/base/lib/mk/base.mk
@@ -0,0 +1 @@
+LIBS += ld
diff --git a/repos/base/lib/mk/ldso.inc b/repos/base/lib/mk/ld.inc
similarity index 89%
rename from repos/base/lib/mk/ldso.inc
rename to repos/base/lib/mk/ld.inc
index 8c19be304a..ad70c7bee8 100644
--- a/repos/base/lib/mk/ldso.inc
+++ b/repos/base/lib/mk/ld.inc
@@ -1,5 +1,5 @@
SHARED_LIB = yes
-DIR = $(REP_DIR)/src/lib/ldso
+DIR = $(BASE_DIR)/src/lib/ldso
include $(BASE_DIR)/mk/base-libs.mk
@@ -25,7 +25,7 @@ ENTRY_POINT = _start
LD_OPT += -T$(DIR)/linker.ld
endif
-include $(REP_DIR)/lib/import/import-ld.mk
+include $(BASE_DIR)/lib/import/import-ld.mk
vpath %.cc $(DIR)
diff --git a/repos/base/lib/mk/spec/arm/ld.mk b/repos/base/lib/mk/spec/arm/ld.inc
similarity index 51%
rename from repos/base/lib/mk/spec/arm/ld.mk
rename to repos/base/lib/mk/spec/arm/ld.inc
index 35a5c9782c..576576c98b 100644
--- a/repos/base/lib/mk/spec/arm/ld.mk
+++ b/repos/base/lib/mk/spec/arm/ld.inc
@@ -1,6 +1,4 @@
-REQUIRES = arm
-
-include $(REP_DIR)/lib/mk/ldso.inc
+include $(BASE_DIR)/lib/mk/ld.inc
INC_DIR += $(DIR)/spec/arm
vpath %.s $(DIR)/spec/arm
diff --git a/repos/base/lib/mk/spec/riscv/ld.mk b/repos/base/lib/mk/spec/riscv/ld.inc
similarity index 52%
rename from repos/base/lib/mk/spec/riscv/ld.mk
rename to repos/base/lib/mk/spec/riscv/ld.inc
index fd72cc99b3..08edd0b66a 100644
--- a/repos/base/lib/mk/spec/riscv/ld.mk
+++ b/repos/base/lib/mk/spec/riscv/ld.inc
@@ -1,6 +1,4 @@
-REQUIRES = riscv
-
-include $(REP_DIR)/lib/mk/ldso.inc
+include $(BASE_DIR)/lib/mk/ld.inc
INC_DIR += $(DIR)/spec/riscv
vpath %.s $(DIR)/spec/riscv
diff --git a/repos/base/lib/mk/spec/x86_32/ld.mk b/repos/base/lib/mk/spec/x86_32/ld.inc
similarity index 51%
rename from repos/base/lib/mk/spec/x86_32/ld.mk
rename to repos/base/lib/mk/spec/x86_32/ld.inc
index 5b3a703c68..44888a4b88 100644
--- a/repos/base/lib/mk/spec/x86_32/ld.mk
+++ b/repos/base/lib/mk/spec/x86_32/ld.inc
@@ -1,6 +1,4 @@
-REQUIRES = x86 32bit
-
-include $(REP_DIR)/lib/mk/ldso.inc
+include $(BASE_DIR)/lib/mk/ld.inc
INC_DIR += $(DIR)/spec/x86_32
vpath %.s $(DIR)/spec/x86_32
diff --git a/repos/base/lib/mk/spec/x86_64/ld.mk b/repos/base/lib/mk/spec/x86_64/ld.inc
similarity index 51%
rename from repos/base/lib/mk/spec/x86_64/ld.mk
rename to repos/base/lib/mk/spec/x86_64/ld.inc
index 30290c731b..0253c6d483 100644
--- a/repos/base/lib/mk/spec/x86_64/ld.mk
+++ b/repos/base/lib/mk/spec/x86_64/ld.inc
@@ -1,6 +1,4 @@
-REQUIRES = x86 64bit
-
-include $(REP_DIR)/lib/mk/ldso.inc
+include $(BASE_DIR)/lib/mk/ld.inc
INC_DIR += $(DIR)/spec/x86_64
vpath %.s $(DIR)/spec/x86_64
diff --git a/repos/base/mk/base-libs.mk b/repos/base/mk/base-libs.mk
index 6e7d272e74..dd1b5b6d34 100644
--- a/repos/base/mk/base-libs.mk
+++ b/repos/base/mk/base-libs.mk
@@ -4,7 +4,7 @@
# These static libraries are filtered out when linking dynamically linked
# binaries.
#
-BASE_LIBS = base-common base startup cxx timed_semaphore alarm config syscall
+BASE_LIBS += startup cxx timed_semaphore alarm config syscall
#
# Name of Genode's dynamic linker
diff --git a/repos/base/run/affinity.run b/repos/base/run/affinity.run
index 6873c0eb15..f4de74fe46 100644
--- a/repos/base/run/affinity.run
+++ b/repos/base/run/affinity.run
@@ -56,7 +56,7 @@ append config {
install_config $config
-set boot_modules { core init test-affinity }
+set boot_modules { core ld.lib.so init test-affinity }
lappend_if [have_spec arndale] boot_modules platform_drv
diff --git a/repos/base/run/affinity_subspace.run b/repos/base/run/affinity_subspace.run
index 6b09cf7505..aafd4c5eb3 100644
--- a/repos/base/run/affinity_subspace.run
+++ b/repos/base/run/affinity_subspace.run
@@ -8,8 +8,7 @@ if {[have_spec pbxa9] || (![have_spec nova] && ![have_spec foc])} {
exit 0
}
-
-build "core init test/affinity"
+build "core ld.lib.so init test/affinity"
create_boot_directory
diff --git a/repos/base/run/ds_ownership.run b/repos/base/run/ds_ownership.run
index f682db8897..009a0e8f88 100644
--- a/repos/base/run/ds_ownership.run
+++ b/repos/base/run/ds_ownership.run
@@ -31,7 +31,7 @@ install_config {
}
-build_boot_image "core init test-ds_ownership"
+build_boot_image "core ld.lib.so init test-ds_ownership"
append qemu_args "-nographic -m 64"
diff --git a/repos/base/run/fpu.run b/repos/base/run/fpu.run
index a8e74f679e..53c846a5f5 100644
--- a/repos/base/run/fpu.run
+++ b/repos/base/run/fpu.run
@@ -30,7 +30,7 @@ install_config {
}
-build_boot_image "core init test-fpu"
+build_boot_image "core ld.lib.so init test-fpu"
#
# Execution
diff --git a/repos/base/run/log.run b/repos/base/run/log.run
index d7a77c61e8..91da7fb4f9 100644
--- a/repos/base/run/log.run
+++ b/repos/base/run/log.run
@@ -17,7 +17,7 @@ install_config {
}
-build_boot_image "core init test-log"
+build_boot_image "core ld.lib.so init test-log"
append qemu_args "-nographic -m 64"
diff --git a/repos/base/run/mp_server.run b/repos/base/run/mp_server.run
index 8ac24c5366..9cafe4e081 100644
--- a/repos/base/run/mp_server.run
+++ b/repos/base/run/mp_server.run
@@ -26,7 +26,7 @@ install_config {
}
-build_boot_image "core init test-server-mp"
+build_boot_image "core ld.lib.so init test-server-mp"
if {[have_include "power_on/qemu"]} {
# in general we want to have at least 2 CPUs
diff --git a/repos/base/run/new_delete.run b/repos/base/run/new_delete.run
index 1e43acdbf4..acf198114b 100644
--- a/repos/base/run/new_delete.run
+++ b/repos/base/run/new_delete.run
@@ -17,7 +17,7 @@ install_config {
}
-build_boot_image "core init test-new_delete"
+build_boot_image "core ld.lib.so init test-new_delete"
append qemu_args "-nographic -m 64"
diff --git a/repos/base/run/rm_fault.run b/repos/base/run/rm_fault.run
index 6f65d3218c..2c483032b3 100644
--- a/repos/base/run/rm_fault.run
+++ b/repos/base/run/rm_fault.run
@@ -24,7 +24,7 @@ install_config {
}
-build_boot_image "core init test-rm_fault"
+build_boot_image "core ld.lib.so init test-rm_fault"
append qemu_args "-nographic -m 64"
diff --git a/repos/base/run/rm_nested.run b/repos/base/run/rm_nested.run
index 8977098c1b..dc45f64927 100644
--- a/repos/base/run/rm_nested.run
+++ b/repos/base/run/rm_nested.run
@@ -24,7 +24,7 @@ install_config {
}
-build_boot_image "core init test-rm_nested"
+build_boot_image "core ld.lib.so init test-rm_nested"
append qemu_args "-nographic -m 64"
diff --git a/repos/base/run/slab.run b/repos/base/run/slab.run
index b555a4493f..bcc4d62ae0 100644
--- a/repos/base/run/slab.run
+++ b/repos/base/run/slab.run
@@ -28,7 +28,7 @@ install_config {
}
-build_boot_image "core init timer test-slab"
+build_boot_image "core ld.lib.so init timer test-slab"
append qemu_args "-nographic -m 128"
diff --git a/repos/base/run/sub_rm.run b/repos/base/run/sub_rm.run
index 20735b7dac..720448b172 100644
--- a/repos/base/run/sub_rm.run
+++ b/repos/base/run/sub_rm.run
@@ -21,7 +21,7 @@ install_config {
}
-build_boot_image "core init test-sub_rm"
+build_boot_image "core ld.lib.so init test-sub_rm"
append qemu_args "-nographic -m 64"
diff --git a/repos/base/run/thread.run b/repos/base/run/thread.run
index e49cf4e6d9..32fa4d5c5a 100644
--- a/repos/base/run/thread.run
+++ b/repos/base/run/thread.run
@@ -36,7 +36,7 @@ append config {
install_config $config
-build_boot_image "core init test-thread"
+build_boot_image "core ld.lib.so init test-thread"
append qemu_args "-nographic -m 64"
diff --git a/repos/base/run/util_mmio.run b/repos/base/run/util_mmio.run
index c4d569cc46..fe600f44a9 100644
--- a/repos/base/run/util_mmio.run
+++ b/repos/base/run/util_mmio.run
@@ -31,7 +31,7 @@ install_config {
}
-build_boot_image "core init test-util_mmio"
+build_boot_image "core ld.lib.so init test-util_mmio"
#
# Execution
diff --git a/repos/base/src/lib/ldso/symbol.map b/repos/base/src/lib/ldso/symbol.map
index fdad4d2f53..0cbd419340 100644
--- a/repos/base/src/lib/ldso/symbol.map
+++ b/repos/base/src/lib/ldso/symbol.map
@@ -27,8 +27,9 @@
* Symbols for calls generated by the compiler (i.e., on ARM), and
* provided by the C++ runtime.
*/
- memcpy;
- memset;
+ memcpy;
+ memset;
+ memmove;
/*
* Debugging
@@ -88,6 +89,7 @@
/* Pistachio */
__L4_ThreadSwitch;
+ __L4_Ipc;
local:
diff --git a/repos/dde_bsd/run/audio_in.run b/repos/dde_bsd/run/audio_in.run
index 19ea2c4ab5..eb21616140 100644
--- a/repos/dde_bsd/run/audio_in.run
+++ b/repos/dde_bsd/run/audio_in.run
@@ -82,7 +82,7 @@ install_config $config
#
set boot_modules {
- core init timer audio_drv test-audio_in
+ core ld.lib.so init timer audio_drv test-audio_in
}
append_platform_drv_boot_modules
diff --git a/repos/dde_bsd/run/audio_out.run b/repos/dde_bsd/run/audio_out.run
index 0e2fee5355..94a2ddfb9d 100644
--- a/repos/dde_bsd/run/audio_out.run
+++ b/repos/dde_bsd/run/audio_out.run
@@ -114,7 +114,7 @@ if {![file exists bin/sample.raw]} {
#
set boot_modules {
- core init timer audio_drv test-audio_out sample.raw }
+ core ld.lib.so init timer audio_drv test-audio_out sample.raw }
lappend_if $use_mixer boot_modules mixer
diff --git a/repos/dde_linux/run/intel_fb.run b/repos/dde_linux/run/intel_fb.run
index 76af3b5483..c2c1048347 100644
--- a/repos/dde_linux/run/intel_fb.run
+++ b/repos/dde_linux/run/intel_fb.run
@@ -116,7 +116,7 @@ install_config $config
# generic modules
set boot_modules {
- core init timer intel_fb_drv intel_fb_controller
+ core ld.lib.so init timer intel_fb_drv intel_fb_controller
test-framebuffer report_rom ram_fs fs_rom
}
diff --git a/repos/dde_linux/run/linux_nic_panda.run b/repos/dde_linux/run/linux_nic_panda.run
index cbc00a32ed..2ee3a086c1 100644
--- a/repos/dde_linux/run/linux_nic_panda.run
+++ b/repos/dde_linux/run/linux_nic_panda.run
@@ -103,6 +103,7 @@ install_config $config
#
set boot_modules {
core
+ ld.lib.so
init
timer
part_blk
diff --git a/repos/dde_linux/run/lxip_http_srv.run b/repos/dde_linux/run/lxip_http_srv.run
index fd8b6e5fdf..e1fbf5dc4e 100644
--- a/repos/dde_linux/run/lxip_http_srv.run
+++ b/repos/dde_linux/run/lxip_http_srv.run
@@ -96,9 +96,8 @@ install_config $config
# generic modules
set boot_modules {
- core init timer
- ld.lib.so libc.lib.so lxip.lib.so test-lxip_http_srv
- libc_resolv.lib.so
+ core ld.lib.so init timer
+ libc.lib.so lxip.lib.so test-lxip_http_srv libc_resolv.lib.so
}
# platform-specific modules
diff --git a/repos/dde_linux/run/lxip_udp_echo.run b/repos/dde_linux/run/lxip_udp_echo.run
index 54afaadc7a..4994e8049d 100644
--- a/repos/dde_linux/run/lxip_udp_echo.run
+++ b/repos/dde_linux/run/lxip_udp_echo.run
@@ -95,8 +95,8 @@ install_config $config
# generic modules
set boot_modules {
- core init timer
- ld.lib.so libc.lib.so lxip.lib.so test-lxip_udp_echo
+ core ld.lib.so init timer
+ libc.lib.so lxip.lib.so test-lxip_udp_echo
libc_resolv.lib.so
}
diff --git a/repos/dde_linux/run/usb_hid.run b/repos/dde_linux/run/usb_hid.run
index 3cf0e6a5df..761a56aa05 100644
--- a/repos/dde_linux/run/usb_hid.run
+++ b/repos/dde_linux/run/usb_hid.run
@@ -128,7 +128,7 @@ install_config $config
# generic modules
set boot_modules {
- core init timer usb_drv test-input
+ core ld.lib.so init timer usb_drv test-input
}
lappend_if [have_spec gpio] boot_modules gpio_drv
diff --git a/repos/dde_linux/run/usb_hid_panda.run b/repos/dde_linux/run/usb_hid_panda.run
index 7f9398a711..33a0a6b1d4 100644
--- a/repos/dde_linux/run/usb_hid_panda.run
+++ b/repos/dde_linux/run/usb_hid_panda.run
@@ -57,7 +57,7 @@ install_config $config
# generic modules
set boot_modules {
- core init timer usb_drv test-input
+ core ld.lib.so init timer usb_drv test-input
}
build_boot_image $boot_modules
diff --git a/repos/dde_linux/run/usb_net.run b/repos/dde_linux/run/usb_net.run
index b796ce9336..f342b54fc6 100644
--- a/repos/dde_linux/run/usb_net.run
+++ b/repos/dde_linux/run/usb_net.run
@@ -89,9 +89,8 @@ install_config $config
# generic modules
set boot_modules {
- core init timer
- usb_drv
- ld.lib.so libc.lib.so lwip.lib.so test-lwip_httpsrv
+ core ld.lib.so init timer usb_drv
+ libc.lib.so lwip.lib.so test-lwip_httpsrv
}
append_platform_drv_boot_modules
diff --git a/repos/dde_linux/run/usb_storage.run b/repos/dde_linux/run/usb_storage.run
index e41cc76387..6f57a1f3f5 100644
--- a/repos/dde_linux/run/usb_storage.run
+++ b/repos/dde_linux/run/usb_storage.run
@@ -79,7 +79,7 @@ install_config $config
# generic modules
set boot_modules {
- core init timer usb_drv test-blk-cli
+ core ld.lib.so init timer usb_drv test-blk-cli
}
append_platform_drv_boot_modules
diff --git a/repos/dde_linux/run/usb_terminal.run b/repos/dde_linux/run/usb_terminal.run
index 6d5cc5b27a..6f8c2400c8 100644
--- a/repos/dde_linux/run/usb_terminal.run
+++ b/repos/dde_linux/run/usb_terminal.run
@@ -92,7 +92,7 @@ install_config $config
# generic modules
set boot_modules {
- core init timer usb_drv test-terminal_echo
+ core ld.lib.so init timer usb_drv test-terminal_echo
usb_terminal
}
diff --git a/repos/dde_linux/run/wifi.run b/repos/dde_linux/run/wifi.run
index 44f470229c..6edadf0357 100644
--- a/repos/dde_linux/run/wifi.run
+++ b/repos/dde_linux/run/wifi.run
@@ -131,9 +131,8 @@ set firmware_modules {
# generic modules
set boot_modules {
- core init timer rtc_drv report_rom dynamic_rom
+ core ld.lib.so init timer rtc_drv report_rom dynamic_rom
vfs_jitterentropy.lib.so
- ld.lib.so
libc.lib.so libcrypto.lib.so libssl.lib.so
wpa_driver_nl80211.lib.so wpa_supplicant.lib.so
wifi.lib.so
diff --git a/repos/dde_rump/run/rump_cgd_ext2.run b/repos/dde_rump/run/rump_cgd_ext2.run
index c953b8ce19..5702c6559e 100644
--- a/repos/dde_rump/run/rump_cgd_ext2.run
+++ b/repos/dde_rump/run/rump_cgd_ext2.run
@@ -119,9 +119,8 @@ install_config $config
# generic modules
set boot_modules {
- core init timer ram_blk rump_cgd rump_fs test-libc_vfs
- ld.lib.so libc.lib.so
- rump.lib.so rump_cgd.lib.so rump_fs.lib.so
+ core ld.lib.so init timer ram_blk rump_cgd rump_fs test-libc_vfs
+ libc.lib.so rump.lib.so rump_cgd.lib.so rump_fs.lib.so
}
append boot_modules "$disk_image"
diff --git a/repos/dde_rump/run/rump_ext2.run b/repos/dde_rump/run/rump_ext2.run
index 7dc1b1f0b3..e1c33296f2 100644
--- a/repos/dde_rump/run/rump_ext2.run
+++ b/repos/dde_rump/run/rump_ext2.run
@@ -83,9 +83,9 @@ install_config $config
# generic modules
set boot_modules {
- core init timer test-libc_vfs ram_blk
+ core ld.lib.so init timer test-libc_vfs ram_blk
rump.lib.so rump_fs.lib.so rump_fs
- ld.lib.so ext2.raw libc.lib.so
+ ext2.raw libc.lib.so
}
build_boot_image $boot_modules
diff --git a/repos/dde_rump/run/rump_fat.run b/repos/dde_rump/run/rump_fat.run
index 331d7ba360..e0a5633d4c 100644
--- a/repos/dde_rump/run/rump_fat.run
+++ b/repos/dde_rump/run/rump_fat.run
@@ -83,9 +83,9 @@ install_config $config
# generic modules
set boot_modules {
- core init timer test-libc_vfs ram_blk
+ core ld.lib.so init timer test-libc_vfs ram_blk
rump.lib.so rump_fs.lib.so rump_fs
- ld.lib.so fs.raw libc.lib.so
+ fs.raw libc.lib.so
}
build_boot_image $boot_modules
diff --git a/repos/dde_rump/run/rump_iso.run b/repos/dde_rump/run/rump_iso.run
index 59c6fe01bd..0d4698a822 100644
--- a/repos/dde_rump/run/rump_iso.run
+++ b/repos/dde_rump/run/rump_iso.run
@@ -88,9 +88,9 @@ install_config $config
# Boot modules
#
set boot_modules {
- core init timer test-iso rom_blk
+ core ld.lib.so init timer test-iso rom_blk
rump.lib.so rump_fs.lib.so rump_fs
- ld.lib.so fs.iso fs_rom
+ fs.iso fs_rom
}
diff --git a/repos/gems/include/gems/report_rom_slave.h b/repos/gems/include/gems/report_rom_slave.h
index bacb043f89..e2bc42996f 100644
--- a/repos/gems/include/gems/report_rom_slave.h
+++ b/repos/gems/include/gems/report_rom_slave.h
@@ -38,7 +38,7 @@ class Report_rom_slave : public Genode::Noncopyable
char const **_permitted_services() const
{
static char const *permitted_services[] = {
- "CPU", "PD", "RAM", "LOG", 0 };
+ "ROM", "CPU", "PD", "RAM", "LOG", 0 };
return permitted_services;
};
diff --git a/repos/gems/run/cpu_load_display.run b/repos/gems/run/cpu_load_display.run
index af4055a7bd..8b53d106c4 100644
--- a/repos/gems/run/cpu_load_display.run
+++ b/repos/gems/run/cpu_load_display.run
@@ -209,7 +209,7 @@ foreach file { genode_logo.png grid.png } {
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
nitpicker report_rom dynamic_rom pointer
cpu_load_display cpu_burner trace_subject_reporter
diff --git a/repos/gems/run/cpu_sampler.run b/repos/gems/run/cpu_sampler.run
index 613fd39649..0e7f674ee1 100644
--- a/repos/gems/run/cpu_sampler.run
+++ b/repos/gems/run/cpu_sampler.run
@@ -71,13 +71,7 @@ install_config {
}
-build_boot_image {
- core
- init
- timer
- cpu_sampler
- test-cpu_sampler
-}
+build_boot_image { core ld.lib.so init timer cpu_sampler test-cpu_sampler }
append qemu_args "-nographic -m 128"
diff --git a/repos/gems/run/cpu_sampler_noux.run b/repos/gems/run/cpu_sampler_noux.run
index 6db36350c4..a9a7cde905 100644
--- a/repos/gems/run/cpu_sampler_noux.run
+++ b/repos/gems/run/cpu_sampler_noux.run
@@ -230,7 +230,7 @@ install_config $config
# generic modules
set boot_modules {
- core init timer ld.lib.so noux terminal ram_fs log_terminal
+ core ld.lib.so init timer noux terminal ram_fs log_terminal
libc.lib.so libm.lib.so libc_noux.lib.so ncurses.lib.so
bash.tar coreutils.tar diffutils.tar vim.tar
fs_log cpu_sampler test-cpu_sampler
diff --git a/repos/gems/run/decorator.run b/repos/gems/run/decorator.run
index 0bea63adca..03a3c51e0b 100644
--- a/repos/gems/run/decorator.run
+++ b/repos/gems/run/decorator.run
@@ -175,7 +175,7 @@ install_config $config
# generic modules
set boot_modules {
- core init timer dynamic_rom report_rom fb_sdl nitpicker decorator
+ core ld.lib.so init timer dynamic_rom report_rom fb_sdl nitpicker decorator
}
build_boot_image $boot_modules
diff --git a/repos/gems/run/decorator_stress.run b/repos/gems/run/decorator_stress.run
index f6bc5abcc4..3ce358f5eb 100644
--- a/repos/gems/run/decorator_stress.run
+++ b/repos/gems/run/decorator_stress.run
@@ -153,12 +153,12 @@ install_config $config
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
decorator
nitpicker report_rom
test-decorator_stress
- ld.lib.so libc.lib.so libm.lib.so
+ libc.lib.so libm.lib.so
}
# platform-specific modules
diff --git a/repos/gems/run/http_blk.run b/repos/gems/run/http_blk.run
index e1716f2ca0..592f69e870 100644
--- a/repos/gems/run/http_blk.run
+++ b/repos/gems/run/http_blk.run
@@ -174,7 +174,7 @@ catch { exec dd if=/dev/zero of=bin/index.bin bs=512 count=400 }
# generic modules
set boot_modules {
- core init timer ld.lib.so
+ core ld.lib.so init timer
libc.lib.so libm.lib.so
lwip.lib.so zlib.lib.so
lighttpd nic_bridge http_blk index.bin test-rom_blk
diff --git a/repos/gems/run/menu_view.run b/repos/gems/run/menu_view.run
index 30e537f172..5cdb7abed8 100644
--- a/repos/gems/run/menu_view.run
+++ b/repos/gems/run/menu_view.run
@@ -143,8 +143,8 @@ install_config $config
# generic modules
set boot_modules {
- core init timer dynamic_rom fb_sdl nitpicker pointer menu_view
- ld.lib.so libpng.lib.so libc.lib.so libm.lib.so zlib.lib.so
+ core ld.lib.so init timer dynamic_rom fb_sdl nitpicker pointer menu_view
+ libpng.lib.so libc.lib.so libm.lib.so zlib.lib.so
menu_view_styles.tar
scout
}
diff --git a/repos/gems/run/mixer_gui_qt_test.run b/repos/gems/run/mixer_gui_qt_test.run
index b6b1e5be45..eac3d09e4d 100644
--- a/repos/gems/run/mixer_gui_qt_test.run
+++ b/repos/gems/run/mixer_gui_qt_test.run
@@ -220,8 +220,8 @@ exec tar chf bin/qt5_fs_mixer_gui_qt.tar -C bin/qt5_fs/mixer_gui_qt .
#
set boot_modules {
- core init timer
- ld.lib.so libc.lib.so
+ core ld.lib.so init timer
+ libc.lib.so
report_rom dynamic_rom ram_fs
fs_rom
diff --git a/repos/gems/run/nano3d.run b/repos/gems/run/nano3d.run
index cf626bb9a4..569e19b97b 100644
--- a/repos/gems/run/nano3d.run
+++ b/repos/gems/run/nano3d.run
@@ -131,11 +131,11 @@ foreach file { genode_logo.png grid.png } {
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
nitpicker dynamic_rom nano3d
backdrop
- ld.lib.so libpng.lib.so libc.lib.so libm.lib.so zlib.lib.so
+ libpng.lib.so libc.lib.so libm.lib.so zlib.lib.so
genode_logo.png grid.png
}
diff --git a/repos/gems/run/nit_fader.run b/repos/gems/run/nit_fader.run
index 5212e7d0a8..54731d2cea 100644
--- a/repos/gems/run/nit_fader.run
+++ b/repos/gems/run/nit_fader.run
@@ -125,7 +125,7 @@ install_config $config
# generic modules
set boot_modules {
- core init timer dynamic_rom fb_sdl nitpicker nit_fader scout pointer
+ core ld.lib.so init timer dynamic_rom fb_sdl nitpicker nit_fader scout pointer
}
build_boot_image $boot_modules
diff --git a/repos/gems/run/tcp_terminal.run b/repos/gems/run/tcp_terminal.run
index 992db29039..5eb3bbee0d 100644
--- a/repos/gems/run/tcp_terminal.run
+++ b/repos/gems/run/tcp_terminal.run
@@ -85,9 +85,9 @@ install_config $config
# generic modules
set boot_modules {
- core init timer
+ core ld.lib.so init timer
nic_drv
- ld.lib.so libc.lib.so lwip.lib.so libc_pipe.lib.so
+ libc.lib.so lwip.lib.so libc_pipe.lib.so
tcp_terminal
test-terminal_echo
}
diff --git a/repos/gems/run/terminal_decoder.run b/repos/gems/run/terminal_decoder.run
index 54bf32f6d2..157dd73d7d 100644
--- a/repos/gems/run/terminal_decoder.run
+++ b/repos/gems/run/terminal_decoder.run
@@ -19,7 +19,7 @@ install_config {
}
-build_boot_image "core init test-terminal_decoder"
+build_boot_image "core ld.lib.so init test-terminal_decoder"
run_genode_until "--- finished test ---" 10
diff --git a/repos/gems/run/terminal_echo.run b/repos/gems/run/terminal_echo.run
index bc02cecb23..7eba3354d2 100644
--- a/repos/gems/run/terminal_echo.run
+++ b/repos/gems/run/terminal_echo.run
@@ -79,7 +79,7 @@ install_config $config
# generic modules
set boot_modules {
- core init timer terminal test-terminal_echo
+ core ld.lib.so init timer terminal test-terminal_echo
}
# platform-specific modules
diff --git a/repos/gems/run/terminal_log.run b/repos/gems/run/terminal_log.run
index 1c2d10b5f6..11383e0f83 100644
--- a/repos/gems/run/terminal_log.run
+++ b/repos/gems/run/terminal_log.run
@@ -135,7 +135,7 @@ install_config $config
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
nitpicker
pointer
diff --git a/repos/gems/run/wm.run b/repos/gems/run/wm.run
index f0059ab528..526a651f2b 100644
--- a/repos/gems/run/wm.run
+++ b/repos/gems/run/wm.run
@@ -240,14 +240,14 @@ foreach file { genode_logo.png grid.png } {
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
wm decorator
floating_window_layouter
nitpicker pointer report_rom
backdrop
testnit launchpad nit_fb
- ld.lib.so libpng.lib.so libc.lib.so libm.lib.so zlib.lib.so
+ libpng.lib.so libc.lib.so libm.lib.so zlib.lib.so
genode_logo.png grid.png
}
diff --git a/repos/gems/src/app/launcher/nit_fader_slave.h b/repos/gems/src/app/launcher/nit_fader_slave.h
index b24857273f..0c37ef44bb 100644
--- a/repos/gems/src/app/launcher/nit_fader_slave.h
+++ b/repos/gems/src/app/launcher/nit_fader_slave.h
@@ -39,7 +39,7 @@ class Launcher::Nit_fader_slave
char const **_permitted_services() const
{
static char const *permitted_services[] = {
- "RAM", "CPU", "PD", "LOG", "Timer", 0 };
+ "RAM", "CPU", "PD", "ROM", "LOG", "Timer", 0 };
return permitted_services;
};
diff --git a/repos/hello_tutorial/doc/hello_tutorial.txt b/repos/hello_tutorial/doc/hello_tutorial.txt
index 99b2c44a01..b058907ae3 100644
--- a/repos/hello_tutorial/doc/hello_tutorial.txt
+++ b/repos/hello_tutorial/doc/hello_tutorial.txt
@@ -397,7 +397,7 @@ script, which can be executed directly from within your build directory.
A run script for the hello client-server scenario should be placed
at the _run/hello.run_ and look as follows:
-!build { core init hello }
+!build { core ld.lib.so init hello }
!
!create_boot_directory
!
diff --git a/repos/hello_tutorial/run/hello.run b/repos/hello_tutorial/run/hello.run
index d83c90907e..9154dc8e8a 100644
--- a/repos/hello_tutorial/run/hello.run
+++ b/repos/hello_tutorial/run/hello.run
@@ -31,7 +31,7 @@ install_config {
# Boot image
#
-build_boot_image { core init hello_client hello_server }
+build_boot_image { core ld.lib.so init hello_client hello_server }
append qemu_args " -nographic "
diff --git a/repos/os/run/ahci_blk.run b/repos/os/run/ahci_blk.run
index 8118a772b6..c8cee85cc3 100644
--- a/repos/os/run/ahci_blk.run
+++ b/repos/os/run/ahci_blk.run
@@ -75,7 +75,7 @@ install_config $config
#
# Boot modules
#
-set boot_modules { core init timer ahci_drv test-blk-cli }
+set boot_modules { core ld.lib.so init timer ahci_drv test-blk-cli }
append_platform_drv_boot_modules
diff --git a/repos/os/run/audio_out_click.run b/repos/os/run/audio_out_click.run
index 383aa9aae7..adfe08f63a 100644
--- a/repos/os/run/audio_out_click.run
+++ b/repos/os/run/audio_out_click.run
@@ -103,7 +103,7 @@ if {[expr ![file exists bin/sample.raw] || ![file exists bin/click.raw]]} {
#
set boot_modules {
- core init timer mixer ps2_drv audio_drv
+ core ld.lib.so init timer mixer ps2_drv audio_drv
test-audio_out test-audio_out_click
sample.raw click.raw }
diff --git a/repos/os/run/blk.run b/repos/os/run/blk.run
index 6e985dd062..4bcf36d7dd 100644
--- a/repos/os/run/blk.run
+++ b/repos/os/run/blk.run
@@ -46,7 +46,7 @@ install_config {
#
# Boot modules
#
-build_boot_image { core init timer test-blk-srv test-blk-cli }
+build_boot_image { core ld.lib.so init timer test-blk-srv test-blk-cli }
append qemu_args " -nographic -m 64 "
run_genode_until "Tests finished successfully.*\n" 100
diff --git a/repos/os/run/blk_cache.run b/repos/os/run/blk_cache.run
index e635eeeb80..e18bdeb809 100644
--- a/repos/os/run/blk_cache.run
+++ b/repos/os/run/blk_cache.run
@@ -60,7 +60,7 @@ install_config {
#
# Boot modules
#
-build_boot_image { core init timer test-blk-srv blk_cache test-blk-cli }
+build_boot_image { core ld.lib.so init timer test-blk-srv blk_cache test-blk-cli }
#
# Qemu
diff --git a/repos/os/run/bomb.run b/repos/os/run/bomb.run
index f1970ebb9c..005744e233 100644
--- a/repos/os/run/bomb.run
+++ b/repos/os/run/bomb.run
@@ -56,6 +56,6 @@ create_boot_directory
install_config $config
-build_boot_image "core init bomb timer"
+build_boot_image "core ld.lib.so init bomb timer"
run_genode_until {.*Done\. Going to sleep.*} $timeout
diff --git a/repos/os/run/clipboard.run b/repos/os/run/clipboard.run
index 27286bf987..c1ceec0c96 100644
--- a/repos/os/run/clipboard.run
+++ b/repos/os/run/clipboard.run
@@ -90,7 +90,7 @@ install_config $config
# Boot modules
#
-set boot_modules { core init timer report_rom clipboard test-clipboard }
+set boot_modules { core ld.lib.so init timer report_rom clipboard test-clipboard }
build_boot_image $boot_modules
diff --git a/repos/os/run/config_args.run b/repos/os/run/config_args.run
index c4c3b9353e..b42a73b8d2 100644
--- a/repos/os/run/config_args.run
+++ b/repos/os/run/config_args.run
@@ -31,7 +31,7 @@ install_config {
}
-build_boot_image "core init timer test-config_args"
+build_boot_image "core ld.lib.so init timer test-config_args"
append qemu_args "-nographic -m 64"
diff --git a/repos/os/run/cpu_quota.run b/repos/os/run/cpu_quota.run
index 854e30bd6c..f4fd27d37b 100644
--- a/repos/os/run/cpu_quota.run
+++ b/repos/os/run/cpu_quota.run
@@ -116,7 +116,7 @@ install_config {
}
-build_boot_image "core init timer test-cpu_quota test-sync"
+build_boot_image "core ld.lib.so init timer test-cpu_quota test-sync"
#
# Execution
diff --git a/repos/os/run/cpufreq.run b/repos/os/run/cpufreq.run
index b225997f7d..d2c4fc94ac 100644
--- a/repos/os/run/cpufreq.run
+++ b/repos/os/run/cpufreq.run
@@ -65,8 +65,7 @@ install_config $config
# generic modules
set boot_modules {
- core
- init
+ core ld.lib.so init
platform_drv
timer
test-affinity
diff --git a/repos/os/run/demo.run b/repos/os/run/demo.run
index a95690c984..a02a5e005d 100644
--- a/repos/os/run/demo.run
+++ b/repos/os/run/demo.run
@@ -242,7 +242,7 @@ close $launchpad_config_fd
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
nitpicker pointer status_bar report_rom rom_filter xray_trigger
liquid_fb launchpad scout testnit nitlog
diff --git a/repos/os/run/dynamic_config.run b/repos/os/run/dynamic_config.run
index 1540915cba..02f2afb6b0 100644
--- a/repos/os/run/dynamic_config.run
+++ b/repos/os/run/dynamic_config.run
@@ -38,7 +38,7 @@ install_config {
}
-build_boot_image "core init timer test-dynamic_config test-dynamic_config_server"
+build_boot_image "core ld.lib.so init timer test-dynamic_config test-dynamic_config_server"
append qemu_args "-nographic -m 64"
diff --git a/repos/os/run/dynamic_config_loader.run b/repos/os/run/dynamic_config_loader.run
index 9e45e95a2e..c86a676f5a 100644
--- a/repos/os/run/dynamic_config_loader.run
+++ b/repos/os/run/dynamic_config_loader.run
@@ -31,7 +31,7 @@ install_config {
}
-build_boot_image "core init timer loader test-dynamic_config test-dynamic_config_loader"
+build_boot_image "core ld.lib.so init timer loader test-dynamic_config test-dynamic_config_loader"
append qemu_args "-nographic -m 64"
diff --git a/repos/os/run/dynamic_config_slave.run b/repos/os/run/dynamic_config_slave.run
index f0887666e6..cb03d12fe6 100644
--- a/repos/os/run/dynamic_config_slave.run
+++ b/repos/os/run/dynamic_config_slave.run
@@ -27,7 +27,7 @@ install_config {
}
-build_boot_image "core init timer test-dynamic_config test-dynamic_config_master"
+build_boot_image "core ld.lib.so init timer test-dynamic_config test-dynamic_config_master"
append qemu_args "-nographic -m 64"
diff --git a/repos/os/run/fault_detection.run b/repos/os/run/fault_detection.run
index 65ff0a4cab..44ba718700 100644
--- a/repos/os/run/fault_detection.run
+++ b/repos/os/run/fault_detection.run
@@ -51,6 +51,7 @@ install_config {
+
@@ -66,7 +67,7 @@ install_config {
#
# generic modules
-set boot_modules { core init loader test-fault_detection test-segfault }
+set boot_modules { core ld.lib.so init loader test-fault_detection test-segfault }
build_boot_image $boot_modules
diff --git a/repos/os/run/fb_bench.run b/repos/os/run/fb_bench.run
index 16f42e4158..1d0a04973a 100644
--- a/repos/os/run/fb_bench.run
+++ b/repos/os/run/fb_bench.run
@@ -71,7 +71,7 @@ install_config $config
# generic modules
set boot_modules {
- core init timer
+ core ld.lib.so init timer
test-fb_bench
}
diff --git a/repos/os/run/framebuffer.run b/repos/os/run/framebuffer.run
index 8ffc868385..0883605906 100644
--- a/repos/os/run/framebuffer.run
+++ b/repos/os/run/framebuffer.run
@@ -71,7 +71,7 @@ install_config $config
# generic modules
set boot_modules {
- core init timer
+ core ld.lib.so init timer
test-framebuffer
}
diff --git a/repos/os/run/gpio_drv.run b/repos/os/run/gpio_drv.run
index 8d75f21959..4fb927c39e 100644
--- a/repos/os/run/gpio_drv.run
+++ b/repos/os/run/gpio_drv.run
@@ -62,7 +62,7 @@ install_config $config
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
gpio_drv
test-omap4_gpio_drv
diff --git a/repos/os/run/gpio_led.run b/repos/os/run/gpio_led.run
index 114441d6eb..132303aeaf 100644
--- a/repos/os/run/gpio_led.run
+++ b/repos/os/run/gpio_led.run
@@ -62,7 +62,7 @@ install_config $config
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
gpio_drv
led_gpio_drv
diff --git a/repos/os/run/gpio_signal.run b/repos/os/run/gpio_signal.run
index c062b261b4..1f68f8f28c 100644
--- a/repos/os/run/gpio_signal.run
+++ b/repos/os/run/gpio_signal.run
@@ -65,7 +65,7 @@ install_config $config
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
gpio_drv
signal_gpio_drv
diff --git a/repos/os/run/input.run b/repos/os/run/input.run
index 26ea47b8d7..84a07b564d 100644
--- a/repos/os/run/input.run
+++ b/repos/os/run/input.run
@@ -104,7 +104,7 @@ install_config $config
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
test-input
}
diff --git a/repos/os/run/kdb_uart_drv.run b/repos/os/run/kdb_uart_drv.run
index e3fe367423..6c60842a3c 100644
--- a/repos/os/run/kdb_uart_drv.run
+++ b/repos/os/run/kdb_uart_drv.run
@@ -68,7 +68,7 @@ install_config $config
# generic modules
set boot_modules {
- core init timer
+ core ld.lib.so init timer
kdb_uart_drv
test-terminal_echo
}
diff --git a/repos/os/run/loader.run b/repos/os/run/loader.run
index e3c16a8939..30b10d18bc 100644
--- a/repos/os/run/loader.run
+++ b/repos/os/run/loader.run
@@ -79,6 +79,7 @@ append config {
+
@@ -94,7 +95,7 @@ install_config $config
#
# generic modules
-set boot_modules { core init timer nitpicker testnit loader test-loader }
+set boot_modules { core ld.lib.so init timer nitpicker testnit loader test-loader }
# platform-specific modules
lappend_if [have_spec linux] boot_modules fb_sdl
diff --git a/repos/os/run/mixer.run b/repos/os/run/mixer.run
index c993019f15..0261205c8a 100644
--- a/repos/os/run/mixer.run
+++ b/repos/os/run/mixer.run
@@ -172,7 +172,7 @@ if {[expr ![file exists bin/client1.f32] || ![file exists bin/client2.f32]]} {
# generic modules
set boot_modules {
- core init timer
+ core ld.lib.so init timer
report_rom dynamic_rom
audio_drv test-audio_out
mixer client1.f32 client2.f32
diff --git a/repos/os/run/nic_loopback.run b/repos/os/run/nic_loopback.run
index c342ce58a8..f946d64310 100644
--- a/repos/os/run/nic_loopback.run
+++ b/repos/os/run/nic_loopback.run
@@ -49,7 +49,7 @@ install_config $config
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
nic_loopback
test-nic_loopback
}
diff --git a/repos/os/run/panda_uart4_echo.run b/repos/os/run/panda_uart4_echo.run
index 0795b9fee1..c81fe62386 100644
--- a/repos/os/run/panda_uart4_echo.run
+++ b/repos/os/run/panda_uart4_echo.run
@@ -62,7 +62,7 @@ install_config $config
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer uart_drv test-terminal_echo
}
diff --git a/repos/os/run/part_blk.run b/repos/os/run/part_blk.run
index 474a45313e..bae6515a1b 100644
--- a/repos/os/run/part_blk.run
+++ b/repos/os/run/part_blk.run
@@ -92,7 +92,7 @@ install_config {
# Boot modules
#
-build_boot_image { core init timer rom_blk part_blk test-blk-cli ata.raw }
+build_boot_image { core ld.lib.so init timer rom_blk part_blk test-blk-cli ata.raw }
#
# Qemu
diff --git a/repos/os/run/ram_fs_chunk.run b/repos/os/run/ram_fs_chunk.run
index 000fab0210..7be8c4d459 100644
--- a/repos/os/run/ram_fs_chunk.run
+++ b/repos/os/run/ram_fs_chunk.run
@@ -23,7 +23,7 @@ install_config {
}
-build_boot_image "core init test-ram_fs_chunk"
+build_boot_image "core ld.lib.so init test-ram_fs_chunk"
append qemu_args "-nographic -m 64"
diff --git a/repos/os/run/reconstructible.run b/repos/os/run/reconstructible.run
index 96e28afa19..1541cb939c 100644
--- a/repos/os/run/reconstructible.run
+++ b/repos/os/run/reconstructible.run
@@ -21,7 +21,7 @@ install_config {
}
-build_boot_image "core init test-reconstructible"
+build_boot_image "core ld.lib.so init test-reconstructible"
append qemu_args "-nographic -m 64"
diff --git a/repos/os/run/report_rom.run b/repos/os/run/report_rom.run
index 7f81560b30..6cac5b9558 100644
--- a/repos/os/run/report_rom.run
+++ b/repos/os/run/report_rom.run
@@ -42,7 +42,7 @@ install_config {
}
-build_boot_image "core init timer report_rom test-report_rom"
+build_boot_image "core ld.lib.so init timer report_rom test-report_rom"
append qemu_args "-nographic -m 128"
diff --git a/repos/os/run/resource_request.run b/repos/os/run/resource_request.run
index 246afee47a..7fa6861405 100644
--- a/repos/os/run/resource_request.run
+++ b/repos/os/run/resource_request.run
@@ -29,7 +29,7 @@ install_config {
}
-build_boot_image "core init timer test-resource_request"
+build_boot_image "core ld.lib.so init timer test-resource_request"
append qemu_args "-nographic -m 128"
diff --git a/repos/os/run/resource_yield.run b/repos/os/run/resource_yield.run
index c41a18a54f..1c221751a6 100644
--- a/repos/os/run/resource_yield.run
+++ b/repos/os/run/resource_yield.run
@@ -30,7 +30,7 @@ install_config {
}
-build_boot_image "core init timer test-resource_yield"
+build_boot_image "core ld.lib.so init timer test-resource_yield"
append qemu_args "-nographic -m 96"
diff --git a/repos/os/run/rom_blk.run b/repos/os/run/rom_blk.run
index 2291b6b048..c710785414 100644
--- a/repos/os/run/rom_blk.run
+++ b/repos/os/run/rom_blk.run
@@ -33,7 +33,7 @@ install_config {
}
-build_boot_image "core init rom_blk test-rom_blk"
+build_boot_image "core ld.lib.so init rom_blk test-rom_blk"
append qemu_args "-m 64 -nographic "
diff --git a/repos/os/run/rom_filter.run b/repos/os/run/rom_filter.run
index 96d29e0d6c..c7c557b029 100644
--- a/repos/os/run/rom_filter.run
+++ b/repos/os/run/rom_filter.run
@@ -111,7 +111,7 @@ install_config $config
# Boot modules
#
-set boot_modules { core init timer dynamic_rom rom_filter rom_logger }
+set boot_modules { core ld.lib.so init timer dynamic_rom rom_filter rom_logger }
build_boot_image $boot_modules
diff --git a/repos/os/run/rom_to_file.run b/repos/os/run/rom_to_file.run
index 74b037ba3f..6bd7d1181d 100644
--- a/repos/os/run/rom_to_file.run
+++ b/repos/os/run/rom_to_file.run
@@ -64,7 +64,7 @@ install_config {
exec mkdir -p bin/fs_test
-build_boot_image { core init timer
+build_boot_image { core ld.lib.so init timer
dynamic_rom
rom_to_file
lx_fs
diff --git a/repos/os/run/rtc.run b/repos/os/run/rtc.run
index e6c6338e16..cccf560e07 100644
--- a/repos/os/run/rtc.run
+++ b/repos/os/run/rtc.run
@@ -33,7 +33,7 @@ install_config {
}
-build_boot_image { core init timer rtc_drv test-rtc }
+build_boot_image { core ld.lib.so init timer rtc_drv test-rtc }
append qemu_args " -nographic -m 128 "
diff --git a/repos/os/run/sd_card.run b/repos/os/run/sd_card.run
index 29f1c24f65..e982ffd9eb 100644
--- a/repos/os/run/sd_card.run
+++ b/repos/os/run/sd_card.run
@@ -66,7 +66,7 @@ install_config $config
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
sd_card_drv
test-blk-cli
diff --git a/repos/os/run/sd_card_bench.run b/repos/os/run/sd_card_bench.run
index 85453b6fda..e498d97053 100644
--- a/repos/os/run/sd_card_bench.run
+++ b/repos/os/run/sd_card_bench.run
@@ -48,7 +48,7 @@ install_config {
#
build_boot_image {
- core init
+ core ld.lib.so init
timer
sd_card_bench
}
diff --git a/repos/os/run/signal.run b/repos/os/run/signal.run
index 3b4564d51d..a79ba937eb 100644
--- a/repos/os/run/signal.run
+++ b/repos/os/run/signal.run
@@ -28,7 +28,7 @@ install_config {
}
-build_boot_image "core init timer test-signal"
+build_boot_image "core ld.lib.so init timer test-signal"
append qemu_args "-nographic -m 64"
diff --git a/repos/os/run/synced_interface.run b/repos/os/run/synced_interface.run
index e1307958cc..0731238137 100644
--- a/repos/os/run/synced_interface.run
+++ b/repos/os/run/synced_interface.run
@@ -21,7 +21,7 @@ install_config {
}
-build_boot_image "core init test-synced_interface"
+build_boot_image "core ld.lib.so init test-synced_interface"
append qemu_args "-nographic -m 64"
diff --git a/repos/os/run/tar_rom.run b/repos/os/run/tar_rom.run
index f164544bb8..9b030fc800 100644
--- a/repos/os/run/tar_rom.run
+++ b/repos/os/run/tar_rom.run
@@ -73,7 +73,7 @@ install_config {
exec sh -c "cd bin; tar cfh archive.tar test-timer"
-build_boot_image "core init timer tar_rom archive.tar"
+build_boot_image "core ld.lib.so init timer tar_rom archive.tar"
append qemu_args "-nographic -m 96"
diff --git a/repos/os/run/terminal_crosslink.run b/repos/os/run/terminal_crosslink.run
index d4e6c018a4..1eb7956750 100644
--- a/repos/os/run/terminal_crosslink.run
+++ b/repos/os/run/terminal_crosslink.run
@@ -56,7 +56,7 @@ install_config $config
#
build_boot_image {
- core init timer terminal_crosslink
+ core ld.lib.so init timer terminal_crosslink
test-terminal_crosslink
}
diff --git a/repos/os/run/thread_join.run b/repos/os/run/thread_join.run
index 7102c3fd35..f52e9d4df7 100644
--- a/repos/os/run/thread_join.run
+++ b/repos/os/run/thread_join.run
@@ -28,7 +28,7 @@ install_config {
}
-build_boot_image "core init timer test-thread_join"
+build_boot_image "core ld.lib.so init timer test-thread_join"
append qemu_args "-nographic -m 64"
diff --git a/repos/os/run/timed_semaphore.run b/repos/os/run/timed_semaphore.run
index eb3aa72f10..c19ce26664 100644
--- a/repos/os/run/timed_semaphore.run
+++ b/repos/os/run/timed_semaphore.run
@@ -45,7 +45,7 @@ install_config {
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
test-timed_semaphore
}
diff --git a/repos/os/run/timeout.run b/repos/os/run/timeout.run
index 15ff831dc1..68cadbea63 100644
--- a/repos/os/run/timeout.run
+++ b/repos/os/run/timeout.run
@@ -37,7 +37,7 @@ install_config {
}
-build_boot_image "core init timer test-timeout"
+build_boot_image "core ld.lib.so init timer test-timeout"
#
# Execution
diff --git a/repos/os/run/timer.run b/repos/os/run/timer.run
index c458fb7b3e..218bdd317c 100644
--- a/repos/os/run/timer.run
+++ b/repos/os/run/timer.run
@@ -39,7 +39,7 @@ install_config {
}
# Build boot files from source binaries
-build_boot_image { core init timer test-timer }
+build_boot_image { core ld.lib.so init timer test-timer }
# Configure Qemu
append qemu_args " -m 64 -nographic"
diff --git a/repos/os/run/trace.run b/repos/os/run/trace.run
index 376e04d338..3f2ca8c67e 100644
--- a/repos/os/run/trace.run
+++ b/repos/os/run/trace.run
@@ -54,7 +54,7 @@ install_config $config
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
test-trace
rpc_name
diff --git a/repos/os/run/tz_vmm.run b/repos/os/run/tz_vmm.run
index 71aa464719..1b5df7b248 100644
--- a/repos/os/run/tz_vmm.run
+++ b/repos/os/run/tz_vmm.run
@@ -209,7 +209,7 @@ if {![file exists linux]} {
exec >& /dev/null wget -O linux.md5 $linux_uri.md5
exec md5sum -c linux.md5
-set boot_modules { core init tz_vmm linux }
+set boot_modules { core ld.lib.so init tz_vmm linux }
if { $dtb } {
diff --git a/repos/os/run/uart.run b/repos/os/run/uart.run
index 02427441aa..cc08fb6832 100644
--- a/repos/os/run/uart.run
+++ b/repos/os/run/uart.run
@@ -69,7 +69,7 @@ install_config $config
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer uart_drv test-uart
}
diff --git a/repos/os/run/vmm.run b/repos/os/run/vmm.run
index d0af78c2ef..fccc81431b 100644
--- a/repos/os/run/vmm.run
+++ b/repos/os/run/vmm.run
@@ -90,7 +90,7 @@ if {![file exists bin/dtb]} {
}
set boot_modules {
- core init
+ core ld.lib.so init
platform_drv
uart_drv
timer
diff --git a/repos/os/run/weak_ptr.run b/repos/os/run/weak_ptr.run
index 43433e1ed2..bc202f58f8 100644
--- a/repos/os/run/weak_ptr.run
+++ b/repos/os/run/weak_ptr.run
@@ -28,7 +28,7 @@ install_config {
}
-build_boot_image "core init timer test-weak_ptr"
+build_boot_image "core ld.lib.so init timer test-weak_ptr"
append qemu_args "-nographic -m 64"
diff --git a/repos/os/run/xml_generator.run b/repos/os/run/xml_generator.run
index de66c7f62c..5f3ccbe05e 100644
--- a/repos/os/run/xml_generator.run
+++ b/repos/os/run/xml_generator.run
@@ -21,7 +21,7 @@ install_config {
}
-build_boot_image "core init test-xml_generator"
+build_boot_image "core ld.lib.so init test-xml_generator"
append qemu_args "-nographic -m 64"
diff --git a/repos/os/run/xml_node.run b/repos/os/run/xml_node.run
index 2847fbdbbf..64c13df989 100644
--- a/repos/os/run/xml_node.run
+++ b/repos/os/run/xml_node.run
@@ -17,7 +17,7 @@ install_config {
}
-build_boot_image "core init test-xml_node"
+build_boot_image "core ld.lib.so init test-xml_node"
append qemu_args "-nographic -m 64"
diff --git a/repos/os/src/app/cli_monitor/main.cc b/repos/os/src/app/cli_monitor/main.cc
index 8052965f10..5e30186b1d 100644
--- a/repos/os/src/app/cli_monitor/main.cc
+++ b/repos/os/src/app/cli_monitor/main.cc
@@ -84,13 +84,6 @@ static Genode::Xml_node vfs_config()
void Component::construct(Genode::Env &env)
{
- /* look for dynamic linker */
- Genode::Dataspace_capability ldso_ds;
- try {
- static Genode::Rom_connection rom("ld.lib.so");
- ldso_ds = rom.dataspace();
- } catch (...) { }
-
using Genode::Signal_context;
using Genode::Signal_context_capability;
using Genode::Signal_receiver;
diff --git a/repos/os/src/drivers/rtc/spec/x86/target.mk b/repos/os/src/drivers/rtc/spec/x86/target.mk
index aa42b7bb4e..c4a16eefe3 100644
--- a/repos/os/src/drivers/rtc/spec/x86/target.mk
+++ b/repos/os/src/drivers/rtc/spec/x86/target.mk
@@ -1,12 +1,12 @@
TARGET = rtc_drv
REQUIRES = x86
SRC_CC = main.cc
-LIBS = base
# enforce hybrid prg on Linux
ifeq ($(filter-out $(SPECS),linux),)
+LIBS = lx_hybrid
SRC_CC += linux.cc
-LIBS += lx_hybrid
else
+LIBS = base
SRC_CC += rtc.cc
endif
diff --git a/repos/os/src/server/lx_fs/target.mk b/repos/os/src/server/lx_fs/target.mk
index 8551a1e8a8..2a9751e7aa 100644
--- a/repos/os/src/server/lx_fs/target.mk
+++ b/repos/os/src/server/lx_fs/target.mk
@@ -1,6 +1,6 @@
TARGET = lx_fs
REQUIRES = linux
SRC_CC = main.cc
-LIBS = base lx_hybrid
+LIBS = lx_hybrid
INC_DIR += $(PRG_DIR) /usr/include
diff --git a/repos/ports-foc/mk/l4lx.mk b/repos/ports-foc/mk/l4lx.mk
index 041db29045..5c98aee093 100644
--- a/repos/ports-foc/mk/l4lx.mk
+++ b/repos/ports-foc/mk/l4lx.mk
@@ -3,7 +3,7 @@ VERBOSE_LX_MK ?= 0
REQUIRES += foc
INC_DIR += $(REP_DIR)/include
LIBS = l4lx l4sys
-GENODE_LIBS := base base-common startup syscall cxx l4lx l4sys config
+GENODE_LIBS := base-foc base-foc-common startup syscall cxx l4lx l4sys config
GENODE_LIBS := $(foreach l,$(GENODE_LIBS),$(BUILD_BASE_DIR)/var/libcache/$l/$l.lib.a)
GENODE_LIBS_SORTED = $(sort $(wildcard $(GENODE_LIBS)))
diff --git a/repos/ports-foc/run/l4linux.run b/repos/ports-foc/run/l4linux.run
index 796139d15a..039775eafd 100644
--- a/repos/ports-foc/run/l4linux.run
+++ b/repos/ports-foc/run/l4linux.run
@@ -121,7 +121,7 @@ install_config $config
#
# Boot modules
#
-set boot_modules { core init timer kdb_uart_drv l4linux initrd.gz }
+set boot_modules { core ld.lib.so init timer kdb_uart_drv l4linux initrd.gz }
lappend_if [have_spec ps2] boot_modules ps2_drv
lappend_if [have_spec framebuffer] boot_modules fb_drv
lappend_if $use_nic_driver boot_modules nic_drv
diff --git a/repos/ports-foc/run/l4linux_ahci_bench.run b/repos/ports-foc/run/l4linux_ahci_bench.run
index cf25a4b6ad..3cae49d4eb 100644
--- a/repos/ports-foc/run/l4linux_ahci_bench.run
+++ b/repos/ports-foc/run/l4linux_ahci_bench.run
@@ -102,6 +102,7 @@ install_config $config
#
set boot_modules {
core
+ ld.lib.so
init
timer
kdb_uart_drv
diff --git a/repos/ports-foc/run/l4linux_netperf.inc b/repos/ports-foc/run/l4linux_netperf.inc
index b8ea3fd1b3..27a9c7ad9f 100644
--- a/repos/ports-foc/run/l4linux_netperf.inc
+++ b/repos/ports-foc/run/l4linux_netperf.inc
@@ -158,6 +158,7 @@ install_config $config
#
set boot_modules {
core
+ ld.lib.so
init
timer
l4linux
diff --git a/repos/ports-foc/run/linux_panda.run b/repos/ports-foc/run/linux_panda.run
index f72fce3528..196d3ee76c 100644
--- a/repos/ports-foc/run/linux_panda.run
+++ b/repos/ports-foc/run/linux_panda.run
@@ -108,6 +108,7 @@ install_config $config
#
set boot_modules {
core
+ ld.lib.so
init
timer
nic_bridge
diff --git a/repos/ports/run/seoul.inc b/repos/ports/run/seoul.inc
index 81b0b0c887..6756e1ab2f 100644
--- a/repos/ports/run/seoul.inc
+++ b/repos/ports/run/seoul.inc
@@ -397,7 +397,7 @@ install_config $config
# generic modules
set boot_modules {
- core init
+ core ld.lib.so init
timer
rtc_drv
seoul
diff --git a/repos/ports/run/vbox_pointer.run b/repos/ports/run/vbox_pointer.run
index 281f39b87b..7133d151b4 100644
--- a/repos/ports/run/vbox_pointer.run
+++ b/repos/ports/run/vbox_pointer.run
@@ -289,7 +289,7 @@ install_config $config
# generic modules
set boot_modules {
- init timer
+ init ld.lib.so timer
fb_sdl
report_rom dynamic_rom
nitpicker
diff --git a/repos/ports/run/virtualbox.run b/repos/ports/run/virtualbox.run
index 896009ee99..0863a61402 100644
--- a/repos/ports/run/virtualbox.run
+++ b/repos/ports/run/virtualbox.run
@@ -140,7 +140,7 @@ install_config $config
exec cp ${genode_dir}/repos/ports/run/test.vbox bin/.
-set boot_modules { core init timer virtualbox test.iso test.vbox }
+set boot_modules { core ld.lib.so init timer virtualbox test.iso test.vbox }
# platform-specific modules
lappend_if [expr $use_usb] boot_modules usb_drv
diff --git a/repos/ports/run/vmm_utils.run b/repos/ports/run/vmm_utils.run
index 13319e4e07..3f215c886d 100644
--- a/repos/ports/run/vmm_utils.run
+++ b/repos/ports/run/vmm_utils.run
@@ -28,7 +28,7 @@ install_config {
}
-build_boot_image { core init timer test-vmm_utils }
+build_boot_image { core ld.lib.so init timer test-vmm_utils }
append qemu_args " -m 512 "
append qemu_args " -cpu phenom "
diff --git a/repos/ports/src/app/seoul/target.inc b/repos/ports/src/app/seoul/target.inc
index c5cf2a8c93..947142d603 100644
--- a/repos/ports/src/app/seoul/target.inc
+++ b/repos/ports/src/app/seoul/target.inc
@@ -5,7 +5,7 @@ SEOUL_GENODE_DIR = $(SEOUL_CONTRIB_DIR)/genode
REQUIRES += nova
-LIBS += base blit alarm seoul_libc_support config
+LIBS += base-nova blit alarm seoul_libc_support config
SRC_CC = main.cc nova_user_env.cc device_model_registry.cc
SRC_CC += console.cc keyboard.cc network.cc disk.cc
SRC_BIN = mono.tff