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/ec.libsharedobjs.ld | |
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/ec.libsharedobjs.ld')
-rw-r--r-- | common/ec.libsharedobjs.ld | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/common/ec.libsharedobjs.ld b/common/ec.libsharedobjs.ld new file mode 100644 index 0000000000..ba4170a07e --- /dev/null +++ b/common/ec.libsharedobjs.ld @@ -0,0 +1,15 @@ +/* Copyright (c) 2015 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +SECTIONS +{ + .roshared : { KEEP(*(.roshared*)) } + /* + * Save the .ARM.atrributes section to make the linker not complain + * about conflicting CPU architectures when linking with the RW objs. + * This section will be discarded by the main EC linker script. + */ + .ARM.attributes : { KEEP(*(.ARM.*)) } +} |