summaryrefslogtreecommitdiff
path: root/test/build.mk
diff options
context:
space:
mode:
authorCraig Hesling <hesling@chromium.org>2022-09-17 01:20:30 -0700
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-09-27 20:09:50 +0000
commit9e579e7a93b5a7c6290174659b2101488369c30e (patch)
tree86b0a4bfcdcfe0dc91195637fe6acfc33cf80137 /test/build.mk
parentf20e37edf6fb679fb7c9752aac9b8f7c557cd0ad (diff)
downloadchrome-ec-9e579e7a93b5a7c6290174659b2101488369c30e.tar.gz
test: Add tests for always_memset
Note that GCC can enable optimization per function using the optimize("O3") attribute, but clang cannot. So, we need to enable optimization in the build system per file. If we want to look for alternatives to always_memset, checkout libsodium's sodium_memzero function in the sodium/utils.c file of commit c281249fd8f2d00c9a76e4686f95ff4783951040. BRANCH=none BUG=b:176500425 TEST=make run-always_memset V=1 TEST=CC=clang make run-always_memset V=1 Change-Id: I57ec10a558fe294587d9b777a558b80d30b9ec28 Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3902571 Reviewed-by: Tom Hughes <tomhughes@chromium.org> Reviewed-by: Andrea Grandi <agrandi@google.com>
Diffstat (limited to 'test/build.mk')
-rw-r--r--test/build.mk5
1 files changed, 5 insertions, 0 deletions
diff --git a/test/build.mk b/test/build.mk
index 73a67a0bb1..f35744494b 100644
--- a/test/build.mk
+++ b/test/build.mk
@@ -21,6 +21,7 @@ test-list-host=$(TEST_LIST_HOST)
else
test-list-host = accel_cal
test-list-host += aes
+test-list-host += always_memset
test-list-host += base32
test-list-host += battery_get_params_smart
test-list-host += bklight_lid
@@ -160,6 +161,10 @@ cov-test-list-host = $(filter-out $(cov-dont-test), $(test-list-host))
accel_cal-y=accel_cal.o
aes-y=aes.o
+# The purpose of the always_memset test is to ensure the functionality of
+# always_memset during high levels of optimization.
+%/test/always_memset.o: CFLAGS += -O3
+always_memset-y=always_memset.o
base32-y=base32.o
battery_get_params_smart-y=battery_get_params_smart.o
bklight_lid-y=bklight_lid.o