summaryrefslogtreecommitdiff
path: root/include/libsharedobjs.h
Commit message (Collapse)AuthorAgeFilesLines
* Update license boilerplate text in source code filesMike Frysinger2022-09-121-1/+1
| | | | | | | | | | | | | | | Normally we don't do this, but enough changes have accumulated that we're doing a tree-wide one-off update of the name & style. BRANCH=none BUG=chromium:1098010 TEST=`repo upload` works Change-Id: Icd3a1723c20595356af83d190b2c6a9078b3013b Signed-off-by: Mike Frysinger <vapier@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3891203 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* include/libsharedobjs.h: Format with clang-formatJack Rosenthal2022-06-301-3/+3
| | | | | | | | | | | BUG=b:236386294 BRANCH=none TEST=none Change-Id: I458a7e9ae4c645d1ed1b315091c3aa93492f92e1 Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3730300 Reviewed-by: Jeremy Bettis <jbettis@chromium.org>
* libsharedobjs: Add libsharedobjs.h.Aseda Aboagye2015-07-171-0/+44
This commit introduces the macros needed for the shared objects library. To enable the creation of the shared objects library for a particular board, simply define it in board.h. #define CONFIG_SHAREDLIB In order to actually add objects to the shared library, one must utilize the SHAREDLIB() macro around the definition of the object. All of the objects in the shared library will be placed into a separate binary which the RO and RW images link against. The SHAREDLIB() macro simply adds this attribute and prevents the RO and RW images from compiling them in. This library will reside at a fixed location in memory (currently following the RO image) and the size of the library can be defined on a board by board basis. For example, in board.h: #undef CONFIG_SHAREDLIB_SIZE #define CONFIG_SHAREDLIB_SIZE 0x800 For example, # In foo/build.mk foo-$(CONFIG_BAR)+=bar_sharedlib.o # In foo/bar_sharedlib.c #include "libsharedobjs.h" SHAREDLIB(const uint8_t shared_var = 0x43); # In include/bar_sharedlib.h extern const uint8_t shared_var; BUG=none BRANCH=none TEST=make -j buildall tests TEST=Enabled config option and saw the sharedlib being created. TEST=Enabled config option on unsupported board and saw build fail. CQ-DEPEND=CL:274079 Change-Id: I2abeb1be248ab161fa81c897d2f5793f5a599456 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/275344 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Commit-Queue: Aseda Aboagye <aaboagye@chromium.org>