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.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.S')
-rw-r--r-- | common/firmware_image.S | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/common/firmware_image.S b/common/firmware_image.S index aaaed19921..8a4fc7f9a2 100644 --- a/common/firmware_image.S +++ b/common/firmware_image.S @@ -8,10 +8,10 @@ #include "config.h" -#define FW_FILE(builddir,proj,sect) builddir##/##proj##.##sect##.flat +#define FW_FILE(builddir,proj,sect) builddir##/##sect##/##proj##.##sect##.flat #define STRINGIFY0(name) #name #define STRINGIFY(name) STRINGIFY0(name) -#define FW_IMAGE(sect) STRINGIFY(FW_FILE(OUTDIR,PROJECT,sect)) +#define FW_IMAGE(sect) STRINGIFY(FW_FILE(FINAL_OUTDIR,PROJECT,sect)) /* Read Only firmware */ #ifdef CONFIG_FW_INCLUDE_RO @@ -19,6 +19,12 @@ .incbin FW_IMAGE(RO) #endif +/* Shared objects library */ +#ifdef CONFIG_SHAREDLIB +.section .image.libsharedobjs, "ax" +.incbin STRINGIFY(FINAL_OUTDIR/libsharedobjs/libsharedobjs.flat) +#endif + /* Read Write firmware */ .section .image.RW, "ax" .incbin FW_IMAGE(RW) |