Addedd clang sanitizers

This commit is contained in:
Clifford Wolf 2016-01-31 16:08:21 +01:00
parent 8b3f8cd220
commit fe97110be0
1 changed files with 21 additions and 0 deletions

View File

@ -18,6 +18,14 @@ ENABLE_LIBYOSYS := 0
ENABLE_GPROF := 0
ENABLE_NDEBUG := 0
# clang sanitizers
SANITIZER =
# SANITIZER = address
# SANITIZER = memory
# SANITIZER = undefined
# SANITIZER = cfi
PREFIX ?= /usr/local
INSTALL_SUDO :=
@ -88,6 +96,19 @@ ifeq ($(CONFIG),clang)
CXX = clang
CXXFLAGS += -std=c++11 -Os
ifneq ($(SANITIZER),)
$(info [Clang Sanitizer] $(SANITIZER))
CXXFLAGS += -g -O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fsanitize=$(SANITIZER)
LDFLAGS += -g -fsanitize=$(SANITIZER)
ifeq ($(SANITIZER),address)
ENABLE_COVER := 0
endif
ifeq ($(SANITIZER),cfi)
CXXFLAGS += -flto
LDFLAGS += -flto
endif
endif
else ifeq ($(CONFIG),gcc)
CXX = gcc
CXXFLAGS += -std=gnu++0x -Os