mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-15 17:01:28 +00:00
Rename CLANG_DEBUG_FLAGS -> ASAN_FLAGS in makefile and enable them for GCC, because GCC supports ASan these days
git-svn-id: https://svn.eduke32.com/eduke32@6549 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
882877054b
commit
b65458ebfe
2 changed files with 17 additions and 11 deletions
26
Common.mak
26
Common.mak
|
@ -585,21 +585,27 @@ ifneq ($(ALLOCACHE_AS_MALLOC),0)
|
|||
COMPILERFLAGS += -DDEBUG_ALLOCACHE_AS_MALLOC
|
||||
endif
|
||||
|
||||
# See http://clang.llvm.org/docs/UsersManual.html#controlling-code-generation
|
||||
# for a list of possible UBSan options.
|
||||
# Clang 3.2 does only supports -fsanitize=address for the AddressSanitizer
|
||||
CLANG_DEBUG_FLAGS := -fsanitize=address -fsanitize=bounds,enum,float-cast-overflow,object-size
|
||||
#CLANG_DEBUG_FLAGS := $(CLANG_DEBUG_FLAGS),signed-integer-overflow
|
||||
#CLANG_DEBUG_FLAGS := $(CLANG_DEBUG_FLAGS),unsigned-integer-overflow
|
||||
#CLANG_DEBUG_FLAGS := $(CLANG_DEBUG_FLAGS) -fsanitize-undefined-trap-on-error
|
||||
# See https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
|
||||
# and https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html
|
||||
# for a list of possible ASan and UBsan options.
|
||||
|
||||
ASAN_FLAGS := -fsanitize=address -fsanitize=bounds,enum,float-cast-overflow
|
||||
ASAN_FLAGS := $(ASAN_FLAGS),signed-integer-overflow,unsigned-integer-overflow
|
||||
ASAN_FLAGS := $(ASAN_FLAGS),undefined,return,null,pointer-overflow,float-divide-by-zero
|
||||
#ASAN_FLAGS := $(ASAN_FLAGS) -fsanitize-undefined-trap-on-error
|
||||
|
||||
ifeq (0,$(FORCEDEBUG))
|
||||
COMPILERFLAGS += -DNDEBUG
|
||||
else
|
||||
COMPILERFLAGS += -DDEBUGGINGAIDS=$(FORCEDEBUG)
|
||||
ifneq (0,$(CLANG))
|
||||
ifeq (2,$(FORCEDEBUG))
|
||||
COMMONFLAGS += $(CLANG_DEBUG_FLAGS)
|
||||
|
||||
ifeq (2,$(FORCEDEBUG))
|
||||
ifneq (0,$(CLANG))
|
||||
COMMONFLAGS += $(ASAN_FLAGS)
|
||||
else ifneq (,$(filter 1 2 3 4 5 6,$(GCC_MAJOR)))
|
||||
ifneq (,$(filter 0 1,$(GCC_MINOR)))
|
||||
COMMONFLAGS += $(ASAN_FLAGS)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
|
|
@ -955,7 +955,7 @@ $(foreach i,$(components),$(eval $(call OBJECTRULES,$i)))
|
|||
# Comment out the following rule to debug a-c.o
|
||||
$(engine_obj)/a-c.$o: $(engine_src)/a-c.cpp | $(engine_obj)
|
||||
$(COMPILE_STATUS)
|
||||
$(RECIPE_IF) $(subst -O$(OPTLEVEL),-O2,$(subst $(CLANG_DEBUG_FLAGS),,$(COMPILER_CXX))) $(engine_cflags) -c $< -o $@ $(RECIPE_RESULT_COMPILE)
|
||||
$(RECIPE_IF) $(subst -O$(OPTLEVEL),-O2,$(subst $(ASAN_FLAGS),,$(COMPILER_CXX))) $(engine_cflags) -c $< -o $@ $(RECIPE_RESULT_COMPILE)
|
||||
|
||||
$(engine_obj)/rev.$o: $(engine_src)/rev.cpp | $(engine_obj)
|
||||
$(COMPILE_STATUS)
|
||||
|
|
Loading…
Reference in a new issue