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

Commit 357433ae authored by Ivan Lozano's avatar Ivan Lozano
Browse files

rust: Re-enable host address sanitizer.

Our toolchain supports a flag "-Z external-clangrt=true" which prevents
rustc from emitting a missing dependency to librust-dev_rt. Instead, we
link in libclang_rt.

Bug: 304507701
Bug: 324826914
Test: SANITIZE_HOST=address m aconfig
Change-Id: I8020c550b7a922c80620f61c22e01848a4f4a349
parent 1c9213d8
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -56,6 +56,8 @@ type SanitizeProperties struct {
}

var fuzzerFlags = []string{
	"-Z external-clangrt=true",

	"-C passes='sancov-module'",

	"--cfg fuzzing",
@@ -73,11 +75,13 @@ var fuzzerFlags = []string{
}

var asanFlags = []string{
	"-Z external-clangrt=true",
	"-Z sanitizer=address",
}

// See cc/sanitize.go's hwasanGlobalOptions for global hwasan options.
var hwasanFlags = []string{
	"-Z external-clangrt=true",
	"-Z sanitizer=hwaddress",
	"-C target-feature=+tagged-globals",

@@ -203,11 +207,6 @@ func (sanitize *sanitize) begin(ctx BaseModuleContext) {
		s.Address = nil
	}

	// TODO: Remove once b/304507701 is resolved
	if Bool(s.Address) && ctx.Host() {
		s.Address = nil
	}

	// Memtag_heap is only implemented on AArch64.
	if ctx.Arch().ArchType != android.Arm64 || !ctx.Os().Bionic() {
		s.Memtag_heap = nil