aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Mayer <fmayer@google.com>2024-05-01 17:29:31 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-05-01 17:29:31 +0000
commit39b536260ae4aae16f2fe0b53f84baeec3e934ae (patch)
treebe00302fe14613a9a9338de92f164d323490740d
parentcba8307c25045d8be7b32342907f3b2d1d7042e9 (diff)
parentab97e28bf61947f01462ac52ccb5fbe2a79d4c29 (diff)
downloadsoong-39b536260ae4aae16f2fe0b53f84baeec3e934ae.tar.gz
Merge "Pass -mllvm flags for memtag-stack correctly to linker" into main
-rw-r--r--cc/sanitize.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/cc/sanitize.go b/cc/sanitize.go
index b8a5b5474..2a1ee3c5f 100644
--- a/cc/sanitize.go
+++ b/cc/sanitize.go
@@ -81,7 +81,8 @@ var (
"-fno-sanitize-recover=integer,undefined"}
hwasanGlobalOptions = []string{"heap_history_size=1023", "stack_history_size=512",
"export_memory_stats=0", "max_malloc_fill_size=131072", "malloc_fill_byte=0"}
- memtagStackCommonFlags = []string{"-march=armv8-a+memtag", "-mllvm", "-dom-tree-reachability-max-bbs-to-explore=128"}
+ memtagStackCommonFlags = []string{"-march=armv8-a+memtag"}
+ memtagStackLlvmFlags = []string{"-dom-tree-reachability-max-bbs-to-explore=128"}
hostOnlySanitizeFlags = []string{"-fno-sanitize-recover=all"}
deviceOnlySanitizeFlags = []string{"-fsanitize-trap=all"}
@@ -878,6 +879,13 @@ func (s *sanitize) flags(ctx ModuleContext, flags Flags) Flags {
flags.Local.CFlags = append(flags.Local.CFlags, memtagStackCommonFlags...)
flags.Local.AsFlags = append(flags.Local.AsFlags, memtagStackCommonFlags...)
flags.Local.LdFlags = append(flags.Local.LdFlags, memtagStackCommonFlags...)
+
+ for _, flag := range memtagStackLlvmFlags {
+ flags.Local.CFlags = append(flags.Local.CFlags, "-mllvm", flag)
+ }
+ for _, flag := range memtagStackLlvmFlags {
+ flags.Local.LdFlags = append(flags.Local.LdFlags, "-Wl,-mllvm,"+flag)
+ }
}
if (Bool(sanProps.Memtag_heap) || Bool(sanProps.Memtag_stack) || Bool(sanProps.Memtag_globals)) && ctx.binary() {