diff --git a/cc/sanitize.go b/cc/sanitize.go index 37d0a49d9..5db6bdfae 100644 --- a/cc/sanitize.go +++ b/cc/sanitize.go @@ -128,6 +128,7 @@ type SanitizeProperties struct { Cfi *bool `android:"arch_variant"` Integer_overflow *bool `android:"arch_variant"` Misc_undefined []string `android:"arch_variant"` + No_recover []string } // value to pass to -fsanitize-recover= @@ -565,6 +566,11 @@ func (sanitize *sanitize) flags(ctx ModuleContext, flags Flags) Flags { strings.Join(sanitize.Properties.Sanitize.Recover, ",")) } + if sanitize.Properties.Sanitize.Diag.No_recover != nil { + flags.CFlags = append(flags.CFlags, "-fno-sanitize-recover="+ + strings.Join(sanitize.Properties.Sanitize.Diag.No_recover, ",")) + } + // Link a runtime library if needed. runtimeLibrary := "" if Bool(sanitize.Properties.Sanitize.Address) {