Makefile: add ASAN=1 flag to build with AddressSanitizer enabled
This sanitizer is useful to detect use-after-free, double free, buffer overflows, and more such errors. I've found it useful lately to detect some bugs in TinyGo, and having a single flag to enable it makes it much easier to enable AddressSanitizer.
Этот коммит содержится в:
родитель
8f33721b88
коммит
5548b5999b
1 изменённых файлов: 6 добавлений и 0 удалений
6
Makefile
6
Makefile
|
@ -56,6 +56,12 @@ else
|
||||||
LLVM_OPTION += '-DLLVM_ENABLE_ASSERTIONS=OFF'
|
LLVM_OPTION += '-DLLVM_ENABLE_ASSERTIONS=OFF'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Enable AddressSanitizer
|
||||||
|
ifeq (1, $(ASAN))
|
||||||
|
LLVM_OPTION += -DLLVM_USE_SANITIZER=Address
|
||||||
|
CGO_LDFLAGS += -fsanitize=address
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq (1, $(STATIC))
|
ifeq (1, $(STATIC))
|
||||||
# Build TinyGo as a fully statically linked binary (no dynamically loaded
|
# Build TinyGo as a fully statically linked binary (no dynamically loaded
|
||||||
# libraries such as a libc). This is not supported with glibc which is used
|
# libraries such as a libc). This is not supported with glibc which is used
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче