From: Clifford Wolf Date: Sun, 31 Jan 2016 15:08:21 +0000 (+0100) Subject: Addedd clang sanitizers X-Git-Tag: yosys-0.6~34 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fe97110be0179b522ec03f942f47c4cc4174c590;p=yosys.git Addedd clang sanitizers --- diff --git a/Makefile b/Makefile index 3dff837fb..c20d80249 100644 --- a/Makefile +++ b/Makefile @@ -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