Supporting ASAN with LIBC_RAW.
This commit is contained in:
+17
-11
@@ -124,9 +124,6 @@ ifeq ($(sanitize),1)
|
|||||||
ifeq ($(OPTION_LIBC_MUSL),enable)
|
ifeq ($(OPTION_LIBC_MUSL),enable)
|
||||||
$(error ASAN and LIBC_MUSL are mutually exclusive)
|
$(error ASAN and LIBC_MUSL are mutually exclusive)
|
||||||
endif
|
endif
|
||||||
ifeq ($(OPTION_LIBC_RAW),enable)
|
|
||||||
$(error ASAN and LIBC_RAW are mutually exclusive)
|
|
||||||
endif
|
|
||||||
|
|
||||||
OPTION_SANITIZE := enable
|
OPTION_SANITIZE := enable
|
||||||
else
|
else
|
||||||
@@ -236,7 +233,7 @@ DEFINES_JERRY += -DJERRY_BUILD_DATE="\"$(BUILD_DATE)\"" \
|
|||||||
-DJERRY_COMMIT_HASH="\"$(GIT_HASH)\"" \
|
-DJERRY_COMMIT_HASH="\"$(GIT_HASH)\"" \
|
||||||
-DJERRY_BRANCH_NAME="\"$(GIT_BRANCH)\""
|
-DJERRY_BRANCH_NAME="\"$(GIT_BRANCH)\""
|
||||||
|
|
||||||
SOURCES_JERRY = \
|
SOURCES_JERRY_C = \
|
||||||
$(sort \
|
$(sort \
|
||||||
$(wildcard ./src/libruntime/*.c) \
|
$(wildcard ./src/libruntime/*.c) \
|
||||||
$(wildcard ./src/libperipherals/*.c) \
|
$(wildcard ./src/libperipherals/*.c) \
|
||||||
@@ -246,7 +243,12 @@ SOURCES_JERRY = \
|
|||||||
$(wildcard ./src/liballocator/*.c) \
|
$(wildcard ./src/liballocator/*.c) \
|
||||||
$(wildcard ./src/libcoreint/*.c) \
|
$(wildcard ./src/libcoreint/*.c) \
|
||||||
$(wildcard ./src/liboptimizer/*.c) ) \
|
$(wildcard ./src/liboptimizer/*.c) ) \
|
||||||
$(wildcard src/libruntime/target/$(TARGET_SYSTEM)/*.[cS])
|
$(wildcard src/libruntime/target/$(TARGET_SYSTEM)/*.c)
|
||||||
|
|
||||||
|
SOURCES_JERRY_ASM = \
|
||||||
|
$(wildcard src/libruntime/target/$(TARGET_SYSTEM)/*.S)
|
||||||
|
|
||||||
|
SOURCES_JERRY = $(SOURCES_JERRY_C) $(SOURCES_JERRY_ASM)
|
||||||
|
|
||||||
INCLUDES_JERRY = \
|
INCLUDES_JERRY = \
|
||||||
-I src \
|
-I src \
|
||||||
@@ -272,14 +274,18 @@ ifeq ($(OPTION_MCU),disable)
|
|||||||
DEFINES_JERRY += -DLIBC_MUSL
|
DEFINES_JERRY += -DLIBC_MUSL
|
||||||
CFLAGS_COMMON += -static
|
CFLAGS_COMMON += -static
|
||||||
else
|
else
|
||||||
ifeq ($(OPTION_LIBC_RAW),enable)
|
|
||||||
DEFINES_JERRY += -DLIBC_RAW
|
|
||||||
CFLAGS_COMMON += -nostdlib
|
|
||||||
else
|
|
||||||
CFLAGS_COMMON += -DLIBC_STD
|
|
||||||
ifeq ($(OPTION_SANITIZE),enable)
|
ifeq ($(OPTION_SANITIZE),enable)
|
||||||
CFLAGS_COMMON += -fsanitize=address
|
CFLAGS_COMMON += -fsanitize=address
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(OPTION_LIBC_RAW),enable)
|
||||||
|
DEFINES_JERRY += -DLIBC_RAW
|
||||||
|
CFLAGS_COMMON += -nostdlib
|
||||||
|
ifeq ($(OPTION_SANITIZE),enable)
|
||||||
|
LDFLAGS += -lasan
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
CFLAGS_COMMON += -DLIBC_STD
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -346,7 +352,7 @@ all: clean $(JERRY_TARGETS)
|
|||||||
$(JERRY_TARGETS):
|
$(JERRY_TARGETS):
|
||||||
@rm -rf $(TARGET_DIR)
|
@rm -rf $(TARGET_DIR)
|
||||||
@echo "=== Running cppcheck ==="
|
@echo "=== Running cppcheck ==="
|
||||||
@cppcheck $(DEFINES_JERRY) `find $(UNITTESTS_SRC_DIR) -name *.[c]` $(SOURCES_JERRY) $(INCLUDES_JERRY) $(INCLUDES_THIRDPARTY) \
|
@cppcheck $(DEFINES_JERRY) `find $(UNITTESTS_SRC_DIR) -name *.[c]` $(SOURCES_JERRY_C) $(INCLUDES_JERRY) $(INCLUDES_THIRDPARTY) \
|
||||||
--error-exitcode=1 --std=c99 --enable=all --suppress=missingIncludeSystem --suppress=unusedFunction 1>/dev/null
|
--error-exitcode=1 --std=c99 --enable=all --suppress=missingIncludeSystem --suppress=unusedFunction 1>/dev/null
|
||||||
@echo Done
|
@echo Done
|
||||||
@echo
|
@echo
|
||||||
|
|||||||
Reference in New Issue
Block a user