Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39b53626 authored by Florian Mayer's avatar Florian Mayer Committed by Gerrit Code Review
Browse files

Merge "Pass -mllvm flags for memtag-stack correctly to linker" into main

parents cba8307c ab97e28b
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -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() {