[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
feature/asan-gc-poisoning 8043ba186d 2/2: Avoid build failure when build
From: |
Vibhav Pant |
Subject: |
feature/asan-gc-poisoning 8043ba186d 2/2: Avoid build failure when building without -fsanitize=address. |
Date: |
Sun, 18 Dec 2022 09:58:55 -0500 (EST) |
branch: feature/asan-gc-poisoning
commit 8043ba186dc9d296624d975715938bc4341cc94d
Author: Vibhav Pant <vibhavp@gmail.com>
Commit: Vibhav Pant <vibhavp@gmail.com>
Avoid build failure when building without -fsanitize=address.
* src/lisp.h (UNALIGNED_LOAD_SIZE): Only use the sanitizer version of
the macro when USE_SANITIZER_UNALIGNED_LOAD is defined, avoiding link
errors when building without -fsanitize=address.
---
src/lisp.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/lisp.h b/src/lisp.h
index f466d4b0da..be511a0eb9 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -5296,8 +5296,12 @@ __lsan_ignore_object (void const *p)
}
#endif
+/* If built with USE_SANITIZER_UNALIGNED_LOAD defined, use compiler
+ provided ASan functions to perform unaligned loads, allowing ASan
+ to catch bugs which it might otherwise miss. */
#if defined HAVE_SANITIZER_COMMON_INTERFACE_DEFS_H \
- && defined ADDRESS_SANITIZER
+ && defined ADDRESS_SANITIZER \
+ && defined USE_SANITIZER_UNALIGNED_LOAD
# include <sanitizer/common_interface_defs.h>
# if (SIZE_MAX == UINT64_MAX)
# define UNALIGNED_LOAD_SIZE(a, i) \