diff options
author | Nicolas Boichat <drinkcat@chromium.org> | 2018-06-21 08:39:30 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-06-28 07:06:46 -0700 |
commit | 6c6888037c8d82228b480eeba0eaf1b0aa83e9f8 (patch) | |
tree | 5ccd44915959fa98d811bb4e53f71b295ec41317 /include/console.h | |
parent | dcfbe0be69d3445edfd45fb036bfae2581b6fdd5 (diff) | |
download | chrome-ec-6c6888037c8d82228b480eeba0eaf1b0aa83e9f8.tar.gz |
ec: Make it possible to run tests with AddressSanitizer enabled
Automatically use CC=clang if TEST_ASAN is specified.
Also, add a __no_sanitize_address attribute macro to prevent ASan
from adding guards around host_command, mkbp_event, and hook
"arrays" that are generated at link-time.
Also, set ASAN_OPTIONS env variable in run_host_test.
BRANCH=none
BUG=chromium:854924
TEST=make TEST_ASAN=y runtests -j
Change-Id: Iaf0ec405022760d757a8a9d62a5022460d1b16e1
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1109661
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'include/console.h')
-rw-r--r-- | include/console.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/console.h b/include/console.h index d8da234a24..57a190226b 100644 --- a/include/console.h +++ b/include/console.h @@ -158,7 +158,8 @@ void console_has_input(void); static const char __con_cmd_label_##NAME[] = #NAME; \ struct size_check##NAME { \ int field[2 * (sizeof(__con_cmd_label_##NAME) < 16) - 1]; }; \ - const struct console_command __keep __con_cmd_##NAME \ + const struct console_command __keep __no_sanitize_address \ + __con_cmd_##NAME \ __attribute__((section(".rodata.cmds." #NAME))) = \ { .name = __con_cmd_label_##NAME, \ .handler = ROUTINE, \ |