diff options
author | Florian Mayer <fmayer@google.com> | 2024-05-01 17:29:31 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2024-05-01 17:29:31 +0000 |
commit | 39b536260ae4aae16f2fe0b53f84baeec3e934ae (patch) | |
tree | be00302fe14613a9a9338de92f164d323490740d | |
parent | cba8307c25045d8be7b32342907f3b2d1d7042e9 (diff) | |
parent | ab97e28bf61947f01462ac52ccb5fbe2a79d4c29 (diff) | |
download | soong-39b536260ae4aae16f2fe0b53f84baeec3e934ae.tar.gz |
Merge "Pass -mllvm flags for memtag-stack correctly to linker" into main
-rw-r--r-- | cc/sanitize.go | 10 |
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() { |