diff options
author | Aseda Aboagye <aaboagye@google.com> | 2015-05-29 11:33:27 -0700 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-07-17 03:17:50 +0000 |
commit | ce063e08297b6578abf6f301f7046302625a781c (patch) | |
tree | 1f3cfa5a87c391c30939cc6e522ea251decec461 /common/firmware_image.lds.S | |
parent | 0450571a46724c702363d2706142121f9b61e212 (diff) | |
download | chrome-ec-ce063e08297b6578abf6f301f7046302625a781c.tar.gz |
build-infr: Add support for shared RO library.
This commit introduces the build infrastructure changes needed for
creating a shared RO library. (libsharedobjs). The end goal is for the
library to contain various objects that can be shared with both the RO
and RW EC images.
Now, there are 3 make goals: ro, rw, and libsharedobjs.
In order for changes that are only specific to a single image (ie: RW
only) to be applied correctly, the object files are now built separately
for the RO, RW, shared objects library targets.
NOTE: Certain EC targets are incompatible with this model due to the
fact that only one image is present within flash at a time.
BRANCH=none
BUG=None
TEST=make -j buildall tests
TEST=make -j BOARD=cr50 xrefs
TEST=make BOARD=samus dis
TEST=Built samus EC image and compared that the final EC image was
identical to the upstream version (except for the git SHAs & version
strings).
CQ-DEPEND=CL:285934
Change-Id: I8e67f089710be9c6d7017718109262394bdad2f5
Signed-off-by: Aseda Aboagye <aaboagye@google.com>
Reviewed-on: https://chromium-review.googlesource.com/274079
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Tested-by: Aseda Aboagye <aaboagye@chromium.org>
Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'common/firmware_image.lds.S')
-rw-r--r-- | common/firmware_image.lds.S | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/common/firmware_image.lds.S b/common/firmware_image.lds.S index 089e032d57..d956a3471d 100644 --- a/common/firmware_image.lds.S +++ b/common/firmware_image.lds.S @@ -24,6 +24,12 @@ SECTIONS *(.image.RO) } > FLASH =0xff . = ALIGN(CONFIG_FLASH_BANK_SIZE); +#ifdef CONFIG_SHAREDLIB + .image.libsharedobjs : AT(CONFIG_FLASH_BASE + CONFIG_SHAREDLIB_MEM_OFF) { + *(.image.libsharedobjs) + } > FLASH =0xff + . = ALIGN(CONFIG_FLASH_BANK_SIZE); +#endif #if (CONFIG_RO_MEM_OFF == CONFIG_RW_MEM_OFF) /* This is applicable to ECs in which RO and RW execution is mapped to the same location but we still have to generate an ec.bin with RO |