misc: add address sanitizer heap instrumentation

Introduce AddressSanitizer support: https://github.com/google/sanitizers/
This starts with heap instrumentation. vlib_buffer, bihash and stack
instrumentation should follow.

Type: feature

Change-Id: I7f20e235b2f79db72efd0e756f22c75f717a9884
Signed-off-by: Benoît Ganne <bganne@cisco.com>
This commit is contained in:
Benoît Ganne
2019-04-15 15:28:21 +02:00
committed by Damjan Marion
parent 99fbf0574f
commit 9fb6d40eb3
29 changed files with 251 additions and 71 deletions

View File

@ -81,7 +81,11 @@ typedef struct svm_map_region_args_
* Memory mapped to high addresses for session/vppcom/vcl/etc...
*/
#if __WORDSIZE == 64
#ifdef CLIB_SANITIZE_ADDR
#define HIGH_SEGMENT_BASEVA 0x300000000000
#else /* CLIB_SANITIZE_ADDR */
#define HIGH_SEGMENT_BASEVA (8ULL << 30) /* 8GB */
#endif /* CLIB_SANITIZE_ADDR */
#elif __WORDSIZE == 32
#define HIGH_SEGMENT_BASEVA (3584UL << 20) /* 3.5GB */
#else