From 5548b5999bc5693597305eec7899295f5b8e075f Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Wed, 12 Oct 2022 19:14:41 +0200 Subject: [PATCH] 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. --- Makefile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Makefile b/Makefile index 99f67c29..4345290b 100644 --- a/Makefile +++ b/Makefile @@ -56,6 +56,12 @@ else LLVM_OPTION += '-DLLVM_ENABLE_ASSERTIONS=OFF' endif +# Enable AddressSanitizer +ifeq (1, $(ASAN)) + LLVM_OPTION += -DLLVM_USE_SANITIZER=Address + CGO_LDFLAGS += -fsanitize=address +endif + ifeq (1, $(STATIC)) # 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