[memtag] Disable memtag for AndroidMk host modules.

BUILD_HOST_EXECUTABLE modules are substantially deprecated, but some
partners are still using them for their bits with the workaround
provided in the product definition. This fixes a build error where
the host module doesn't have a linkable ELF note archive.

MTE is not intended for host modules, and it's fine for us to say
"host module using AndroidMk - no MTE for you" if this changes.

Bug: 189330992
Test: Manually tested using a BUILD_HOST_EXECUTABLE module.
Change-Id: Ifedff39f2f03c08bfb644221d2ab1b88e635c8a3
Merged-In: Ifedff39f2f03c08bfb644221d2ab1b88e635c8a3
This commit is contained in:
Mitch Phillips 2021-05-19 11:29:02 -07:00
parent 709baccebe
commit fe35441af5
1 changed files with 7 additions and 0 deletions

View File

@ -167,6 +167,13 @@ ifneq ($(filter address,$(my_sanitize)),)
my_sanitize_diag := $(filter-out cfi,$(my_sanitize_diag)) my_sanitize_diag := $(filter-out cfi,$(my_sanitize_diag))
endif endif
# Disable memtag for host targets. Host executables in AndroidMk files are
# deprecated, but some partners still have them floating around.
ifdef LOCAL_IS_HOST_MODULE
my_sanitize := $(filter-out memtag_heap,$(my_sanitize))
my_sanitize_diag := $(filter-out memtag_heap,$(my_sanitize_diag))
endif
# Disable sanitizers which need the UBSan runtime for host targets. # Disable sanitizers which need the UBSan runtime for host targets.
ifdef LOCAL_IS_HOST_MODULE ifdef LOCAL_IS_HOST_MODULE
my_sanitize := $(filter-out cfi,$(my_sanitize)) my_sanitize := $(filter-out cfi,$(my_sanitize))