From 8c4a2a48ca508b410d45b25e336ace4e2d189d56 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Wed, 5 Apr 2017 10:18:35 +0200 Subject: [PATCH] core: install core-.o at bin/ By installing the core object to bin/, we follow the same convention as for regular binaries. This, in turn, enables us to ship core in a regular binary archive. The patch also adjusts the run tool to pick up the core object from bin/ for the final linking stage. --- repos/base-fiasco/src/core/fiasco/target.mk | 3 ++- repos/base-foc/src/core/foc/target.mk | 3 ++- repos/base-hw/src/core/hw/target.mk | 3 ++- repos/base-nova/src/core/nova/target.mk | 3 ++- repos/base-okl4/src/core/okl4/target.mk | 3 ++- repos/base-pistachio/src/core/pistachio/target.mk | 3 ++- repos/base-sel4/src/core/sel4/target.mk | 3 ++- repos/base/src/core/target.inc | 6 +++--- tool/run/boot_dir/fiasco | 2 +- tool/run/boot_dir/foc | 2 +- tool/run/boot_dir/hw | 4 ++-- tool/run/boot_dir/nova | 2 +- tool/run/boot_dir/okl4 | 4 ++-- tool/run/boot_dir/pistachio | 2 +- tool/run/boot_dir/sel4 | 2 +- tool/run/run | 2 +- 16 files changed, 27 insertions(+), 20 deletions(-) diff --git a/repos/base-fiasco/src/core/fiasco/target.mk b/repos/base-fiasco/src/core/fiasco/target.mk index a40a66a83..873c08063 100644 --- a/repos/base-fiasco/src/core/fiasco/target.mk +++ b/repos/base-fiasco/src/core/fiasco/target.mk @@ -1,3 +1,4 @@ -LIBS = core-fiasco +LIBS := core-fiasco +CORE_OBJ := core-fiasco.o include $(BASE_DIR)/src/core/target.inc diff --git a/repos/base-foc/src/core/foc/target.mk b/repos/base-foc/src/core/foc/target.mk index 960afad3c..2caea549c 100644 --- a/repos/base-foc/src/core/foc/target.mk +++ b/repos/base-foc/src/core/foc/target.mk @@ -1,3 +1,4 @@ -LIBS = core-foc +LIBS := core-foc +CORE_OBJ := core-foc.o include $(BASE_DIR)/src/core/target.inc diff --git a/repos/base-hw/src/core/hw/target.mk b/repos/base-hw/src/core/hw/target.mk index a96f38c03..3226e78f2 100644 --- a/repos/base-hw/src/core/hw/target.mk +++ b/repos/base-hw/src/core/hw/target.mk @@ -1,3 +1,4 @@ -LIBS = core-hw +LIBS := core-hw +CORE_OBJ := core-hw.o include $(BASE_DIR)/src/core/target.inc diff --git a/repos/base-nova/src/core/nova/target.mk b/repos/base-nova/src/core/nova/target.mk index 7af8cfc60..878bcfbee 100644 --- a/repos/base-nova/src/core/nova/target.mk +++ b/repos/base-nova/src/core/nova/target.mk @@ -1,3 +1,4 @@ -LIBS = core-nova +LIBS := core-nova +CORE_OBJ := core-nova.o include $(BASE_DIR)/src/core/target.inc diff --git a/repos/base-okl4/src/core/okl4/target.mk b/repos/base-okl4/src/core/okl4/target.mk index 5cc8f1d3b..d8ca78bef 100644 --- a/repos/base-okl4/src/core/okl4/target.mk +++ b/repos/base-okl4/src/core/okl4/target.mk @@ -1,3 +1,4 @@ -LIBS = core-okl4 +LIBS := core-okl4 +CORE_OBJ := core-okl4.o include $(BASE_DIR)/src/core/target.inc diff --git a/repos/base-pistachio/src/core/pistachio/target.mk b/repos/base-pistachio/src/core/pistachio/target.mk index f000d8404..b2e6e32a8 100644 --- a/repos/base-pistachio/src/core/pistachio/target.mk +++ b/repos/base-pistachio/src/core/pistachio/target.mk @@ -1,3 +1,4 @@ -LIBS = core-pistachio +LIBS := core-pistachio +CORE_OBJ := core-pistachio.o include $(BASE_DIR)/src/core/target.inc diff --git a/repos/base-sel4/src/core/sel4/target.mk b/repos/base-sel4/src/core/sel4/target.mk index 69c83d8c3..9af0b717d 100644 --- a/repos/base-sel4/src/core/sel4/target.mk +++ b/repos/base-sel4/src/core/sel4/target.mk @@ -1,3 +1,4 @@ -LIBS = core-sel4 +LIBS := core-sel4 +CORE_OBJ := core-sel4.o include $(BASE_DIR)/src/core/target.inc diff --git a/repos/base/src/core/target.inc b/repos/base/src/core/target.inc index bac8d28fa..b0ce6b010 100644 --- a/repos/base/src/core/target.inc +++ b/repos/base/src/core/target.inc @@ -1,8 +1,8 @@ -TARGET = core -CORE_OBJ = core.o +TARGET = core +CORE_OBJ ?= core.o $(TARGET): $(CORE_OBJ) - $(VERBOSE)true + $(VERBOSE)ln -sf $(CURDIR)/$(CORE_OBJ) $(INSTALL_DIR)/$(CORE_OBJ) .PHONY: $(CORE_OBJ) $(CORE_OBJ): diff --git a/tool/run/boot_dir/fiasco b/tool/run/boot_dir/fiasco index 5bd2525fa..84d3659cb 100644 --- a/tool/run/boot_dir/fiasco +++ b/tool/run/boot_dir/fiasco @@ -1,5 +1,5 @@ proc binary_name_ld_lib_so { } { return "ld-fiasco.lib.so" } -proc binary_name_core_o { } { return "fiasco/core.o" } +proc binary_name_core_o { } { return "core-fiasco.o" } proc binary_name_timer { } { return "fiasco_timer_drv" } diff --git a/tool/run/boot_dir/foc b/tool/run/boot_dir/foc index ff2805c37..72d2bdcd5 100644 --- a/tool/run/boot_dir/foc +++ b/tool/run/boot_dir/foc @@ -1,5 +1,5 @@ proc binary_name_ld_lib_so { } { return "ld-foc.lib.so" } -proc binary_name_core_o { } { return "foc/core.o" } +proc binary_name_core_o { } { return "core-foc.o" } proc binary_name_timer { } { return "foc_timer_drv" } diff --git a/tool/run/boot_dir/hw b/tool/run/boot_dir/hw index b13ce2dc0..496db4664 100644 --- a/tool/run/boot_dir/hw +++ b/tool/run/boot_dir/hw @@ -1,5 +1,5 @@ proc binary_name_ld_lib_so { } { return "ld-hw.lib.so" } -proc binary_name_core_o { } { return "hw/core.o" } +proc binary_name_core_o { } { return "core-hw.o" } proc binary_name_timer { } { return "hw_timer_drv" } @@ -53,7 +53,7 @@ proc run_boot_dir {binaries} { puts "core link address is [core_link_address]" - set core_obj core/hw/core.o + set core_obj core/hw/core-hw.o set bootstrap_obj bootstrap/hw/bootstrap.o # create core and bootstrap binary without modules for debugging diff --git a/tool/run/boot_dir/nova b/tool/run/boot_dir/nova index bd62da936..82fd96aa2 100644 --- a/tool/run/boot_dir/nova +++ b/tool/run/boot_dir/nova @@ -1,5 +1,5 @@ proc binary_name_ld_lib_so { } { return "ld-nova.lib.so" } -proc binary_name_core_o { } { return "nova/core.o" } +proc binary_name_core_o { } { return "core-nova.o" } proc binary_name_timer { } { return "nova_timer_drv" } diff --git a/tool/run/boot_dir/okl4 b/tool/run/boot_dir/okl4 index 70274ce63..5b8c234b9 100644 --- a/tool/run/boot_dir/okl4 +++ b/tool/run/boot_dir/okl4 @@ -1,6 +1,6 @@ proc binary_name_ld_lib_so { } { return "ld-okl4.lib.so" } -proc binary_name_core_o { } { return "okl4/core.o" } -proc binary_name_timer { } { return "pit_timer_drv" } +proc binary_name_core_o { } { return "core-okl4.o" } +proc binary_name_timer { } { return "pit_timer_drv" } ## diff --git a/tool/run/boot_dir/pistachio b/tool/run/boot_dir/pistachio index 0db71c695..4074a5f0d 100644 --- a/tool/run/boot_dir/pistachio +++ b/tool/run/boot_dir/pistachio @@ -1,5 +1,5 @@ proc binary_name_ld_lib_so { } { return "ld-pistachio.lib.so" } -proc binary_name_core_o { } { return "pistachio/core.o" } +proc binary_name_core_o { } { return "core-pistachio.o" } proc binary_name_timer { } { return "pit_timer_drv" } diff --git a/tool/run/boot_dir/sel4 b/tool/run/boot_dir/sel4 index b16bcc661..ef7ff623e 100644 --- a/tool/run/boot_dir/sel4 +++ b/tool/run/boot_dir/sel4 @@ -1,5 +1,5 @@ proc binary_name_ld_lib_so { } { return "ld-sel4.lib.so" } -proc binary_name_core_o { } { return "sel4/core.o" } +proc binary_name_core_o { } { return "core-sel4.o" } proc binary_name_timer { } { return "pit_timer_drv" } diff --git a/tool/run/run b/tool/run/run index 68a7e1b35..305005b81 100755 --- a/tool/run/run +++ b/tool/run/run @@ -776,7 +776,7 @@ proc build_core_image {binaries} { copy_and_strip_genode_binaries_to_run_dir $modules lappend modules "config" - set core_obj core/[kernel_specific_binary core.o] + set core_obj bin/[kernel_specific_binary core.o] # create core binary without modules for debugging build_core $core_obj {} [run_dir].core [core_link_address]