Add undefined behavior sanitizer option
This commit is contained in:
parent
8e7fb0433b
commit
53e3e5bf78
@ -23,7 +23,7 @@ SOURCE_DIRS::=src
|
||||
SOURCES::=
|
||||
OBJDIR::=obj
|
||||
DEPDIR::=$(OBJDIR)/dep
|
||||
LIBDIRS::=
|
||||
LIBDIRS::=lib
|
||||
INCLUDE_DIRS::=include
|
||||
CFLAGS::=-std=c18 -Wall -pedantic -Wextra
|
||||
CXXFLAGS::=-std=c++17 -Wall -pedantic -Wextra
|
||||
@ -32,6 +32,7 @@ LANG::=$(EXT)
|
||||
MAIN_EXECUTABLE::=tester
|
||||
RELEASE?=0
|
||||
MEMCHK?=0
|
||||
UNDEFCHK?=0
|
||||
SAVEFLAGS?=1
|
||||
|
||||
ifneq ($(WINDOWS),1)
|
||||
@ -109,14 +110,18 @@ endif
|
||||
ifeq ($(RELEASE),1)
|
||||
#a lot of false strict aliasing warnings from gcc 9
|
||||
COMPILER_FLAGS+=-O2 -Wno-strict-aliasing
|
||||
|
||||
else ifeq ($(MEMCHK),1)
|
||||
#use asan to check memory leaks/invalid accesses
|
||||
LDFLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
COMPILER_FLAGS+=-O0 -g3 -ggdb -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
else
|
||||
#default target
|
||||
COMPILER_FLAGS+=-O0 -g3 -ggdb
|
||||
ifeq ($(MEMCHK),1)
|
||||
#use asan to check memory leaks/invalid accesses
|
||||
LDFLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
COMPILER_FLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
endif
|
||||
ifeq ($(UNDEFCHK),1)
|
||||
LDFLAGS+=-fsanitize=undefined
|
||||
COMPILER_FLAGS+=-fsanitize=undefined
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(SAVEFLAGS),1)
|
||||
|
||||
@ -35,6 +35,7 @@ POST_TARGETS::=
|
||||
CLEAN_TARGETS::=
|
||||
RELEASE?=0
|
||||
MEMCHK?=0
|
||||
UNDEFCHK?=0
|
||||
SAVECFLAGS?=1
|
||||
VERBOSE=0
|
||||
|
||||
@ -106,13 +107,18 @@ ifeq ($(RELEASE),1)
|
||||
#a lot of false strict aliasing warnings from gcc 9
|
||||
COMPILER_FLAGS+=-O2 -Wno-strict-aliasing
|
||||
POST_TARGETS+= do_strip
|
||||
else ifeq ($(MEMCHK),1)
|
||||
#use asan to check memory leaks/invalid accesses
|
||||
LDFLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
COMPILER_FLAGS+=-O0 -g3 -ggdb -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
else
|
||||
#default target
|
||||
COMPILER_FLAGS+=-O0 -g3 -ggdb
|
||||
ifeq ($(MEMCHK),1)
|
||||
#use asan to check memory leaks/invalid accesses
|
||||
LDFLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
COMPILER_FLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
endif
|
||||
ifeq ($(UNDEFCHK),1)
|
||||
LDFLAGS+=-fsanitize=undefined
|
||||
COMPILER_FLAGS+=-fsanitize=undefined
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(SAVECFLAGS),1)
|
||||
|
||||
@ -34,6 +34,7 @@ SHARED?=1
|
||||
STATIC?=0
|
||||
RELEASE?=0
|
||||
MEMCHK?=0
|
||||
UNDEFCHK?=0
|
||||
SAVEFLAGS?=1
|
||||
|
||||
ifneq ($(WINDOWS),1)
|
||||
@ -121,13 +122,18 @@ endif
|
||||
ifeq ($(RELEASE),1)
|
||||
#a lot of false strict aliasing warnings from gcc 9
|
||||
COMPILER_FLAGS+=-O2 -Wno-strict-aliasing
|
||||
else ifeq ($(MEMCHK),1)
|
||||
#use asan to check memory leaks/invalid accesses
|
||||
LDFLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
COMPILER_FLAGS+=-O0 -g3 -ggdb -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
else
|
||||
#default target
|
||||
COMPILER_FLAGS+=-O0 -g3 -ggdb
|
||||
ifeq ($(MEMCHK),1)
|
||||
#use asan to check memory leaks/invalid accesses
|
||||
LDFLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
COMPILER_FLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
endif
|
||||
ifeq ($(UNDEFCHK),1)
|
||||
LDFLAGS+=-fsanitize=undefined
|
||||
COMPILER_FLAGS+=-fsanitize=undefined
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(SAVEFLAGS),1)
|
||||
|
||||
@ -37,6 +37,7 @@ SHARED?=1
|
||||
STATIC?=0
|
||||
RELEASE?=0
|
||||
MEMCHK?=0
|
||||
UNDEFCHK?=0
|
||||
SAVEFLAGS?=1
|
||||
|
||||
ifneq ($(WINDOWS),1)
|
||||
@ -114,13 +115,18 @@ ifeq ($(RELEASE),1)
|
||||
#a lot of false strict aliasing warnings from gcc 9
|
||||
COMPILER_FLAGS+=-O2 -Wno-strict-aliasing
|
||||
POST_TARGETS+= do_strip
|
||||
else ifeq ($(MEMCHK),1)
|
||||
#use asan to check memory leaks/invalid accesses
|
||||
LDFLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
COMPILER_FLAGS+=-O0 -g3 -ggdb -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
else
|
||||
#default target
|
||||
COMPILER_FLAGS+=-O0 -g3 -ggdb
|
||||
ifeq ($(MEMCHK),1)
|
||||
#use asan to check memory leaks/invalid accesses
|
||||
LDFLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
COMPILER_FLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
endif
|
||||
ifeq ($(UNDEFCHK),1)
|
||||
LDFLAGS+=-fsanitize=undefined
|
||||
COMPILER_FLAGS+=-fsanitize=undefined
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(SAVEFLAGS),1)
|
||||
|
||||
@ -35,6 +35,7 @@ POST_TARGETS::=
|
||||
CLEAN_TARGETS::=
|
||||
RELEASE?=0
|
||||
MEMCHK?=0
|
||||
UNDEFCHK?=0
|
||||
SAVEFLAGS?=1
|
||||
|
||||
ifneq ($(WINDOWS),1)
|
||||
@ -105,13 +106,18 @@ endif
|
||||
ifeq ($(RELEASE),1)
|
||||
#a lot of false strict aliasing warnings from gcc 9
|
||||
COMPILER_FLAGS+=-O2 -Wno-strict-aliasing
|
||||
else ifeq ($(MEMCHK),1)
|
||||
#use asan to check memory leaks/invalid accesses
|
||||
LDFLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
COMPILER_FLAGS+=-O0 -g3 -ggdb -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
else
|
||||
#default target
|
||||
COMPILER_FLAGS+=-O0 -g3 -ggdb
|
||||
ifeq ($(MEMCHK),1)
|
||||
#use asan to check memory leaks/invalid accesses
|
||||
LDFLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
COMPILER_FLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
endif
|
||||
ifeq ($(UNDEFCHK),1)
|
||||
LDFLAGS+=-fsanitize=undefined
|
||||
COMPILER_FLAGS+=-fsanitize=undefined
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(SAVEFLAGS),1)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user