Revert "[make] Add memtag-stack sanitizer, switch to linker-generated notes."

This reverts commit 1264fcc95abda4a1d04a0ffebe1f8c8d39a2fd49.

Reason for revert: b/244454542

Change-Id: Ic12481fe99d989dabd52431290c78a17cec911ec
diff --git a/core/config_sanitizers.mk b/core/config_sanitizers.mk
index f25ce72..a0ff119 100644
--- a/core/config_sanitizers.mk
+++ b/core/config_sanitizers.mk
@@ -161,11 +161,9 @@
   my_sanitize_diag := $(filter-out cfi,$(my_sanitize_diag))
 endif
 
-# Also disable CFI and MTE if ASAN is enabled.
+# Also disable CFI if ASAN is enabled.
 ifneq ($(filter address,$(my_sanitize)),)
   my_sanitize := $(filter-out cfi,$(my_sanitize))
-  my_sanitize := $(filter-out memtag_stack,$(my_sanitize))
-  my_sanitize := $(filter-out memtag_heap,$(my_sanitize))
   my_sanitize_diag := $(filter-out cfi,$(my_sanitize_diag))
 endif
 
@@ -207,13 +205,10 @@
 ifneq ($(filter arm x86 x86_64,$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH)),)
   my_sanitize := $(filter-out hwaddress,$(my_sanitize))
   my_sanitize := $(filter-out memtag_heap,$(my_sanitize))
-  my_sanitize := $(filter-out memtag_stack,$(my_sanitize))
 endif
 
 ifneq ($(filter hwaddress,$(my_sanitize)),)
   my_sanitize := $(filter-out address,$(my_sanitize))
-  my_sanitize := $(filter-out memtag_stack,$(my_sanitize))
-  my_sanitize := $(filter-out memtag_heap,$(my_sanitize))
   my_sanitize := $(filter-out thread,$(my_sanitize))
   my_sanitize := $(filter-out cfi,$(my_sanitize))
 endif
@@ -229,27 +224,21 @@
   endif
 endif
 
-ifneq ($(filter memtag_heap memtag_stack,$(my_sanitize)),)
-  ifneq ($(filter memtag_heap,$(my_sanitize_diag)),)
-    my_cflags += -fsanitize-memtag-mode=sync
-    my_sanitize_diag := $(filter-out memtag_heap,$(my_sanitize_diag))
-  else
-    my_cflags += -fsanitize-memtag-mode=async
-  endif
-endif
-
 ifneq ($(filter memtag_heap,$(my_sanitize)),)
-  my_cflags += -fsanitize=memtag-heap
+  # Add memtag ELF note.
+  ifneq ($(filter EXECUTABLES NATIVE_TESTS,$(LOCAL_MODULE_CLASS)),)
+    ifneq ($(filter memtag_heap,$(my_sanitize_diag)),)
+      my_whole_static_libraries += note_memtag_heap_sync
+    else
+      my_whole_static_libraries += note_memtag_heap_async
+    endif
+  endif
+  # This is all that memtag_heap does - it is not an actual -fsanitize argument.
+  # Remove it from the list.
   my_sanitize := $(filter-out memtag_heap,$(my_sanitize))
 endif
 
-ifneq ($(filter memtag_stack,$(my_sanitize)),)
-  my_cflags += -fsanitize=memtag-stack
-  my_cflags += -march=armv8a+memtag
-  my_ldflags += -march=armv8a+memtag
-  my_asflags += -march=armv8a+memtag
-  my_sanitize := $(filter-out memtag_stack,$(my_sanitize))
-endif
+my_sanitize_diag := $(filter-out memtag_heap,$(my_sanitize_diag))
 
 # TSAN is not supported on 32-bit architectures. For non-multilib cases, make
 # its use an error. For multilib cases, don't use it for the 32-bit case.