diff --git a/repos/base/mk/dep_prg.mk b/repos/base/mk/dep_prg.mk index 0bc776a9f..190dd92aa 100644 --- a/repos/base/mk/dep_prg.mk +++ b/repos/base/mk/dep_prg.mk @@ -23,6 +23,13 @@ ifeq ($(COVERAGE),yes) LIBS += libgcov endif +# +# Add libraries for undefined behavior sanitizer if requested +# +ifeq ($(SANITIZE_UNDEFINED),yes) +LIBS += libubsan libsanitizer_common +endif + # # Include lib-import description files # diff --git a/repos/base/mk/global.mk b/repos/base/mk/global.mk index 5118ba132..c297afce6 100644 --- a/repos/base/mk/global.mk +++ b/repos/base/mk/global.mk @@ -119,6 +119,13 @@ endif CC_OPT += -fprofile-arcs -ftest-coverage -fprofile-dir=$(PROFILE_DIR) endif +# +# Enable the undefined behavior sanitizer if requested +# +ifeq ($(SANITIZE_UNDEFINED),yes) +CC_OPT += -fsanitize=undefined +endif + # # Default optimization and warning levels #