mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-20 14:13:09 +00:00
7e1692d997
Instead of solving the problem to deliver ROM modules to core while booting differently for the several kernels (multi-boot, elfweaver, core re-linking), this commit unifies the approaches. It always builds core as a library, and after all binaries are built from a run-script, the run-tool will link an ELF image out of the core-library and all boot modules. Thereby, core can access its ROM modules directly. This approach now works for all kernels except Linux. With this solution, there is no [build_dir]/bin/core binary available anymore. For debugging purposes you will find a core binary without boot modules, but with debug symbols under [run_dir].core. Fix #2095
22 lines
608 B
Makefile
22 lines
608 B
Makefile
#
|
|
# Specifics for the Linux-specific Genode components
|
|
#
|
|
|
|
#
|
|
# Startup code to be used when building a program and linker script that is
|
|
# specific for Linux. We also reserve the stack area via a segment in
|
|
# the program under Linux to prevent clashes with vdso.
|
|
#
|
|
ifneq ($(USE_HOST_LD_SCRIPT),yes)
|
|
LD_TEXT_ADDR ?= 0x01000000
|
|
LD_SCRIPT_STATIC = $(call select_from_repositories,src/ld/genode.ld) \
|
|
$(call select_from_repositories,src/ld/stack_area.nostdlib.ld)
|
|
else
|
|
LD_TEXT_ADDR ?=
|
|
LD_SCRIPT_STATIC ?=
|
|
endif
|
|
|
|
ifneq ($(filter hardening_tool_chain, $(SPECS)),)
|
|
CC_OPT += -fPIC
|
|
endif
|