run: don't build ld at boot-dir stage

With the kernel-specific build of the dynamic linker triggered
automatically at the build stage, the artificial build step at the
boot-dir stage can be skipped.

Issue #4320
This commit is contained in:
Norman Feske 2022-02-08 16:46:21 +01:00
parent 23f92da02f
commit 368730ce0b
3 changed files with 7 additions and 10 deletions

View File

@ -46,16 +46,13 @@ proc run_boot_dir {binaries} {
#
set bootstrap_arg ""
set core_arg ""
set ld_arg ""
if {![file exists [run_dir]/genode/ld.lib.so]} { set ld_arg lib/ld/hw }
if {![file exists [run_dir]/genode/core-hw-[board].a]} { set core_arg core/hw }
if {![file exists [run_dir]/genode/bootstrap-hw-[board].o]} { set bootstrap_arg bootstrap/hw }
set build_args "$bootstrap_arg $core_arg $ld_arg"
set build_args "$bootstrap_arg $core_arg"
if {[llength $build_args]} { build $build_args }
if {$ld_arg != ""} { copy_file bin/ld-hw.lib.so [run_dir]/genode/ld.lib.so }
if {$core_arg != ""} { copy_file bin/core-hw-[board].a [run_dir]/genode/ }
if {$bootstrap_arg != ""} { copy_file bin/bootstrap-hw-[board].o [run_dir]/genode/ }

View File

@ -8,8 +8,6 @@ proc binary_name_timer { } { return "linux_timer_drv" }
#
proc run_boot_dir {binaries} {
if {![file exists [run_dir]/genode/ld.lib.so]} { build { lib/ld/linux } }
set missing_boot_modules { }
foreach binary $binaries {
set src_binary_path "[pwd]/bin/[kernel_specific_binary $binary]"

View File

@ -115,11 +115,13 @@ proc run_boot_dir {binaries} {
# Build kernel and dynamic linker if needed
#
set kernel_arg ""
set ld_arg ""
if {![file exists [run_dir]/genode/okl4]} { set kernel_arg kernel/okl4 }
if {![file exists [run_dir]/genode/ld.lib.so]} { set ld_arg lib/ld/okl4 }
set targets "$kernel_arg $ld_arg"
if {![file exists [run_dir]/genode/okl4]} { set kernel_arg kernel/okl4 }
set targets "$kernel_arg"
if {[llength $targets]} { build $targets }
if {$kernel_arg != ""} { copy_file bin/okl4 [run_dir]/genode/okl4 }
build_core_image $binaries