diff --git a/LibOS/shim/src/Makefile b/LibOS/shim/src/Makefile index 952b8ab5..f497fac8 100644 --- a/LibOS/shim/src/Makefile +++ b/LibOS/shim/src/Makefile @@ -9,6 +9,7 @@ CFLAGS = -Wall -fPIC -std=c11 -Winline -Wwrite-strings \ -fmerge-all-constants -Wstrict-prototypes \ -Werror=implicit-function-declaration \ $(cc-option, -Wnull-dereference) \ + $(CFLAGS_SANITIZE) \ -fno-stack-protector -fno-builtin -Wno-inline \ -I../include -I../../../Pal/lib -I../../../Pal/include/pal diff --git a/Makefile.configs b/Makefile.configs index 71c491a7..b6611037 100644 --- a/Makefile.configs +++ b/Makefile.configs @@ -11,3 +11,13 @@ ifeq ($(origin LD),default) LD = ld endif OBJCOPY ?= objcopy + +# CONFIG_ENABLE_UBSAN=y +CONFIG_ENABLE_UBSAN=n + +# +# variables depend on configrations +# +ifeq ($(CONFIG_ENABLE_UBSAN),y) + CFLAGS_SANITIZE += $(call cc-option,-fsanitize=undefined) +endif diff --git a/Pal/lib/Makefile b/Pal/lib/Makefile index e3f35e4c..a5388a6c 100644 --- a/Pal/lib/Makefile +++ b/Pal/lib/Makefile @@ -5,7 +5,8 @@ include ../src/Makefile.Host CFLAGS = -Wall -fPIC -O2 -std=gnu99 -fgnu89-inline -U_FORTIFY_SOURCE \ $(call cc-option,-Wnull-dereference) \ -fno-omit-frame-pointer \ - -fno-stack-protector -fno-builtin + -fno-stack-protector -fno-builtin \ + $(CFLAGS_SANITIZE) ARFLAGS = include ../src/host/$(PAL_HOST)/Makefile.am diff --git a/Pal/src/host/Linux-SGX/Makefile.am b/Pal/src/host/Linux-SGX/Makefile.am index adf3dbf8..88dfc75a 100644 --- a/Pal/src/host/Linux-SGX/Makefile.am +++ b/Pal/src/host/Linux-SGX/Makefile.am @@ -2,6 +2,7 @@ HOST_DIR = host/$(PAL_HOST) CFLAGS = -Wall -fPIC -O2 -maes -std=c11 -U_FORTIFY_SOURCE \ + $(CFLAGS_SANITIZE) \ -fno-omit-frame-pointer \ -fno-stack-protector -fno-builtin diff --git a/Pal/src/host/Linux/Makefile.am b/Pal/src/host/Linux/Makefile.am index 37f51aa0..ea520748 100644 --- a/Pal/src/host/Linux/Makefile.am +++ b/Pal/src/host/Linux/Makefile.am @@ -3,7 +3,8 @@ HOST_DIR = host/$(PAL_HOST) SEC_DIR = security/$(PAL_HOST) CFLAGS = -Wall -fPIC -O2 -std=c11 -U_FORTIFY_SOURCE \ - -fno-stack-protector -fno-builtin + -fno-stack-protector -fno-builtin \ + $(CFLAGS_SANITIZE) EXTRAFLAGS = -Wextra $(call cc-option,-Wnull-dereference)