From f8be04bc7025b04352e4187383edba91fcc6d360 Mon Sep 17 00:00:00 2001 From: Martin Stein Date: Tue, 6 May 2014 16:46:35 +0200 Subject: [PATCH] base: extra section for binaries of boot modules This enables us to map the binaries of the boot modules on demand at least in base-hw. ref #1139 --- repos/base/src/platform/genode.ld | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/repos/base/src/platform/genode.ld b/repos/base/src/platform/genode.ld index b059560e3..b2a5289d1 100644 --- a/repos/base/src/platform/genode.ld +++ b/repos/base/src/platform/genode.ld @@ -83,7 +83,10 @@ SECTIONS __l4sys_invoke_indirect = .; LONG(0xeacff000); - *(.data .data.* .gnu.linkonce.d.*) + *(.data .gnu.linkonce.d.*) + + /* include all data subsections except those of the boot modules */ + *(EXCLUDE_FILE (*boot_modules.o) .data.*) } : rw /* exception frames for C++ */ @@ -120,6 +123,15 @@ SECTIONS /* end of program image -- must be after last section */ _prog_img_end = .; + /* + * Separate location for the binaries of the boot modules + * + * This is merely used by base-hw yet to enable on-demand mapping. + * Must be a subsection of data as object copy may not copy the content + * to the uImage otherwise. + */ + .data.boot_modules_binaries : { *(.data.boot_modules_binaries) } : rw + /DISCARD/ : { *(.note) *(.note.ABI-tag)