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

Commit 966bdded authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Enable emutls with -flto for Android sanitize=cfi"

parents ca59511e 3ed1f704
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -82,7 +82,8 @@ func (lto *lto) flags(ctx BaseModuleContext, flags Flags) Flags {
		flags.LdFlags = append(flags.LdFlags, ltoFlag)
		if ctx.Device() {
			// Work around bug in Clang that doesn't pass correct emulated
			// TLS option to target
			// TLS option to target. See b/72706604 or
			// https://github.com/android-ndk/ndk/issues/498.
			flags.LdFlags = append(flags.LdFlags, "-Wl,-plugin-opt,-emulated-tls")
		}
		flags.ArFlags = append(flags.ArFlags, " --plugin ${config.LLVMGoldPlugin}")
+6 −0
Original line number Diff line number Diff line
@@ -401,6 +401,12 @@ func (sanitize *sanitize) flags(ctx ModuleContext, flags Flags) Flags {
			flags.CFlags = append(flags.CFlags, "-fvisibility=default")
		}
		flags.LdFlags = append(flags.LdFlags, cfiLdflags...)
		if ctx.Device() {
			// Work around a bug in Clang. The CFI sanitizer requires LTO, and when
			// LTO is enabled, the Clang driver fails to enable emutls for Android.
			// See b/72706604 or https://github.com/android-ndk/ndk/issues/498.
			flags.LdFlags = append(flags.LdFlags, "-Wl,-plugin-opt,-emulated-tls")
		}
		flags.ArFlags = append(flags.ArFlags, cfiArflags...)
		if Bool(sanitize.Properties.Sanitize.Diag.Cfi) {
			diagSanitizers = append(diagSanitizers, "cfi")