[make] Support to build userspace with HWASan

Bug: 148877030
Test: com.android.trusty.hwasan.user.test
Change-Id: I94df1426f1b6058b1b6cf6d372f8622c9070c3a7
diff --git a/make/module.mk b/make/module.mk
index 26a4f2e..25b5596 100644
--- a/make/module.mk
+++ b/make/module.mk
@@ -140,6 +140,23 @@
 endif
 endif
 
+ifeq (true,$(call TOBOOL,$(USER_HWASAN_ENABLED)))
+MODULE_DEFINES += \
+	HWASAN_ENABLED=1 \
+	HWASAN_SHADOW_SCALE=4 \
+
+ifeq (true,$(call TOBOOL,$(USER_TASK_MODULE)))
+MODULES += trusty/user/base/lib/hwasan
+MODULE_COMPILEFLAGS += \
+	-fsanitize-blacklist=trusty/user/base/lib/hwasan/exemptlist \
+	-fsanitize=hwaddress \
+	-mllvm -hwasan-with-tls=0 \
+	-mllvm -hwasan-globals=0 \
+	-mllvm -hwasan-use-short-granules=0 \
+
+endif
+endif
+
 # generate a per-module config.h file
 MODULE_CONFIG := $(MODULE_BUILDDIR)/module_config.h