Merge "Disable LTO when building with fuzzer support."
This commit is contained in:
@@ -80,6 +80,12 @@ func (lto *lto) useClangLld(ctx BaseModuleContext) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (lto *lto) flags(ctx BaseModuleContext, flags Flags) Flags {
|
func (lto *lto) flags(ctx BaseModuleContext, flags Flags) Flags {
|
||||||
|
// TODO(b/131771163): Disable LTO when using explicit fuzzing configurations.
|
||||||
|
// LTO breaks fuzzer builds.
|
||||||
|
if inList("-fsanitize=fuzzer-no-link", flags.CFlags) {
|
||||||
|
return flags
|
||||||
|
}
|
||||||
|
|
||||||
if lto.LTO() {
|
if lto.LTO() {
|
||||||
var ltoFlag string
|
var ltoFlag string
|
||||||
if Bool(lto.Properties.Lto.Thin) {
|
if Bool(lto.Properties.Lto.Thin) {
|
||||||
|
@@ -464,7 +464,9 @@ func (sanitize *sanitize) flags(ctx ModuleContext, flags Flags) Flags {
|
|||||||
|
|
||||||
// TODO(b/131771163): LTO and Fuzzer support is mutually incompatible.
|
// TODO(b/131771163): LTO and Fuzzer support is mutually incompatible.
|
||||||
_, flags.LdFlags = removeFromList("-flto", flags.LdFlags)
|
_, flags.LdFlags = removeFromList("-flto", flags.LdFlags)
|
||||||
|
_, flags.CFlags = removeFromList("-flto", flags.CFlags)
|
||||||
flags.LdFlags = append(flags.LdFlags, "-fno-lto")
|
flags.LdFlags = append(flags.LdFlags, "-fno-lto")
|
||||||
|
flags.CFlags = append(flags.CFlags, "-fno-lto")
|
||||||
|
|
||||||
// TODO(b/133876586): Experimental PM breaks sanitizer coverage.
|
// TODO(b/133876586): Experimental PM breaks sanitizer coverage.
|
||||||
_, flags.CFlags = removeFromList("-fexperimental-new-pass-manager", flags.CFlags)
|
_, flags.CFlags = removeFromList("-fexperimental-new-pass-manager", flags.CFlags)
|
||||||
|
Reference in New Issue
Block a user