Build dynamically linked executables by default

Fixes #2184
This commit is contained in:
Norman Feske 2016-12-01 19:00:11 +01:00
parent d882277ce3
commit ccffbb0dfc
190 changed files with 227 additions and 199 deletions

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-fiasco-common base-fiasco
include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc

View File

@ -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

View File

@ -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 \

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-foc-common base-foc
include $(BASE_DIR)/lib/mk/spec/arm/ld.inc

View File

@ -1 +0,0 @@
include $(REP_DIR)/lib/mk/base-common.inc

View File

@ -0,0 +1 @@
include $(REP_DIR)/lib/mk/base-foc-common.inc

View File

@ -0,0 +1 @@
include $(REP_DIR)/lib/mk/base-foc.inc

View File

@ -1 +0,0 @@
include $(REP_DIR)/lib/mk/base.inc

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-foc-common base-foc
include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-foc-common base-foc
include $(BASE_DIR)/lib/mk/spec/x86_64/ld.inc

View File

@ -21,7 +21,7 @@ install_config {
</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"

View File

@ -5,4 +5,4 @@ SRC_CC += env.cc
SRC_CC += capability.cc
SRC_CC += cache.cc
LIBS += startup
LIBS += startup base-hw-common

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-hw-common base-hw
include $(BASE_DIR)/lib/mk/spec/arm/ld.inc

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-hw-common base-hw
include $(BASE_DIR)/lib/mk/spec/riscv/ld.inc

View File

@ -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

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-hw-common base-hw
include $(BASE_DIR)/lib/mk/spec/x86_64/ld.inc

View File

@ -26,7 +26,7 @@ install_config {
</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"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-linux-common base-linux
include $(BASE_DIR)/lib/mk/spec/arm/ld.inc

View File

@ -6,4 +6,4 @@
SRC_CC += cache.cc
include $(REP_DIR)/lib/mk/base.mk
include $(REP_DIR)/lib/mk/base-linux.mk

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-linux-common base-linux
include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-linux-common base-linux
include $(BASE_DIR)/lib/mk/spec/x86_64/ld.inc

View File

@ -41,7 +41,7 @@ install_config {
# generic modules
set boot_modules {
core init
core ld.lib.so init
test-lx_hybrid_ctors
}

View File

@ -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

View File

@ -40,7 +40,7 @@ install_config {
# generic modules
set boot_modules {
core init
core ld.lib.so init
test-lx_hybrid_exception
}

View File

@ -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

View File

@ -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

View File

@ -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] }
#

View File

@ -32,7 +32,7 @@ install_config {
</start>
</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

View File

@ -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

View File

@ -1,4 +1,5 @@
include $(BASE_DIR)/lib/mk/base.inc
LIBS += base-nova-common
SRC_CC += thread_start.cc
SRC_CC += cache.cc

View File

@ -1,4 +1,4 @@
LIBS = base-common
LIBS = base-nova-common
GEN_CORE_DIR = $(BASE_DIR)/src/core

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-nova-common base-nova
include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-nova-common base-nova
include $(BASE_DIR)/lib/mk/spec/x86_64/ld.inc

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-okl4-common base-okl4
include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc

View File

@ -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"

View File

@ -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

View File

@ -1,5 +1,5 @@
REQUIRES = pistachio
LIBS = base-common
LIBS = base-pistachio-common
GEN_CORE_DIR = $(BASE_DIR)/src/core

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-pistachio-common base-pistachio
include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc

View File

@ -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

View File

@ -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

View File

@ -1 +0,0 @@
include $(REP_DIR)/lib/mk/base-common.inc

View File

@ -0,0 +1,3 @@
BASE_LIBS += base-sel4-common base-sel4
include $(BASE_DIR)/lib/mk/spec/x86_32/ld.inc

View File

@ -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

View File

@ -0,0 +1 @@
LIBS += ld

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -31,7 +31,7 @@ install_config {
</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"

View File

@ -30,7 +30,7 @@ install_config {
</config>
}
build_boot_image "core init test-fpu"
build_boot_image "core ld.lib.so init test-fpu"
#
# Execution

View File

@ -17,7 +17,7 @@ install_config {
</config>
}
build_boot_image "core init test-log"
build_boot_image "core ld.lib.so init test-log"
append qemu_args "-nographic -m 64"

View File

@ -26,7 +26,7 @@ install_config {
</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

View File

@ -17,7 +17,7 @@ install_config {
</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"

View File

@ -24,7 +24,7 @@ install_config {
</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"

View File

@ -24,7 +24,7 @@ install_config {
</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"

View File

@ -28,7 +28,7 @@ install_config {
</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"

View File

@ -21,7 +21,7 @@ install_config {
</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"

View File

@ -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"

View File

@ -31,7 +31,7 @@ install_config {
</config>
}
build_boot_image "core init test-util_mmio"
build_boot_image "core ld.lib.so init test-util_mmio"
#
# Execution

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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
}

View File

@ -103,6 +103,7 @@ install_config $config
#
set boot_modules {
core
ld.lib.so
init
timer
part_blk

View File

@ -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

View File

@ -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
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

Some files were not shown because too many files have changed in this diff Show More