Revert "rust: Add SCS sanitizer option for AArch64"

This reverts commit 882711357738d2f78e33e001e9b04a9eaaa76654.

Reason for revert: hwasan builds breaking

Change-Id: I28094e27d5935c6f371fddddf4b6b0334de9b12c
diff --git a/cc/sanitize.go b/cc/sanitize.go
index a23e2db..5c68a96 100644
--- a/cc/sanitize.go
+++ b/cc/sanitize.go
@@ -96,7 +96,7 @@
 	Hwasan
 	tsan
 	intOverflow
-	Scs
+	scs
 	Fuzzer
 	Memtag_heap
 	Memtag_stack
@@ -109,7 +109,7 @@
 	Hwasan,
 	tsan,
 	intOverflow,
-	Scs,
+	scs,
 	Fuzzer,
 	Memtag_heap,
 	Memtag_stack,
@@ -130,7 +130,7 @@
 		return "intOverflow"
 	case cfi:
 		return "cfi"
-	case Scs:
+	case scs:
 		return "scs"
 	case Memtag_heap:
 		return "memtag_heap"
@@ -164,7 +164,7 @@
 		return "integer_overflow"
 	case cfi:
 		return "cfi"
-	case Scs:
+	case scs:
 		return "shadow-call-stack"
 	case Fuzzer:
 		return "fuzzer"
@@ -175,7 +175,7 @@
 
 func (t SanitizerType) registerMutators(ctx android.RegisterMutatorsContext) {
 	switch t {
-	case cfi, Hwasan, Asan, tsan, Fuzzer, Scs:
+	case cfi, Hwasan, Asan, tsan, Fuzzer, scs:
 		sanitizer := &sanitizerSplitMutator{t}
 		ctx.TopDown(t.variationName()+"_markapexes", sanitizer.markSanitizableApexesMutator)
 		ctx.Transition(t.variationName(), sanitizer)
@@ -212,7 +212,7 @@
 		return true
 	case cfi:
 		return true
-	case Scs:
+	case scs:
 		return true
 	case Fuzzer:
 		return true
@@ -1012,7 +1012,7 @@
 		return s.Properties.SanitizeMutated.Integer_overflow
 	case cfi:
 		return s.Properties.SanitizeMutated.Cfi
-	case Scs:
+	case scs:
 		return s.Properties.SanitizeMutated.Scs
 	case Memtag_heap:
 		return s.Properties.SanitizeMutated.Memtag_heap
@@ -1033,7 +1033,7 @@
 		!sanitize.isSanitizerEnabled(Hwasan) &&
 		!sanitize.isSanitizerEnabled(tsan) &&
 		!sanitize.isSanitizerEnabled(cfi) &&
-		!sanitize.isSanitizerEnabled(Scs) &&
+		!sanitize.isSanitizerEnabled(scs) &&
 		!sanitize.isSanitizerEnabled(Memtag_heap) &&
 		!sanitize.isSanitizerEnabled(Memtag_stack) &&
 		!sanitize.isSanitizerEnabled(Memtag_globals) &&
@@ -1070,7 +1070,7 @@
 		sanitize.Properties.SanitizeMutated.Integer_overflow = bPtr
 	case cfi:
 		sanitize.Properties.SanitizeMutated.Cfi = bPtr
-	case Scs:
+	case scs:
 		sanitize.Properties.SanitizeMutated.Scs = bPtr
 	case Memtag_heap:
 		sanitize.Properties.SanitizeMutated.Memtag_heap = bPtr
@@ -1330,7 +1330,7 @@
 
 		oneMakeVariation := false
 		if c.StaticallyLinked() || c.Header() {
-			if s.sanitizer != cfi && s.sanitizer != Scs && s.sanitizer != Hwasan {
+			if s.sanitizer != cfi && s.sanitizer != scs && s.sanitizer != Hwasan {
 				// These sanitizers export only one variation to Make. For the rest,
 				// Make targets can depend on both the sanitized and non-sanitized
 				// versions.
@@ -1340,7 +1340,7 @@
 			// Shared library. These are the sanitizers that do propagate through shared
 			// library dependencies and therefore can cause multiple variations of a
 			// shared library to be built.
-			if s.sanitizer != cfi && s.sanitizer != Hwasan && s.sanitizer != Scs && s.sanitizer != Asan {
+			if s.sanitizer != cfi && s.sanitizer != Hwasan && s.sanitizer != scs && s.sanitizer != Asan {
 				oneMakeVariation = true
 			}
 		}
diff --git a/cc/vendor_snapshot.go b/cc/vendor_snapshot.go
index 2421e24..9ea337b 100644
--- a/cc/vendor_snapshot.go
+++ b/cc/vendor_snapshot.go
@@ -95,7 +95,7 @@
 		if sanitizable.SanitizePropDefined() {
 			// scs exports both sanitized and unsanitized variants for static and header
 			// Always use unsanitized variant of it.
-			if !sanitizable.Shared() && sanitizable.IsSanitizerEnabled(Scs) {
+			if !sanitizable.Shared() && sanitizable.IsSanitizerEnabled(scs) {
 				return false
 			}
 			// cfi and hwasan also export both variants. But for static, we capture both.
diff --git a/rust/sanitize.go b/rust/sanitize.go
index e232b53..0f7cf6e 100644
--- a/rust/sanitize.go
+++ b/rust/sanitize.go
@@ -32,7 +32,6 @@
 	Sanitize struct {
 		Address   *bool `android:"arch_variant"`
 		Hwaddress *bool `android:"arch_variant"`
-		Scs       *bool `android:"arch_variant"`
 
 		// Memory-tagging, only available on arm64
 		// if diag.memtag unset or false, enables async memory tagging
@@ -76,9 +75,6 @@
 var asanFlags = []string{
 	"-Z sanitizer=address",
 }
-var scsFlags = []string{
-	"-Z sanitizer=shadow-call-stack",
-}
 
 // See cc/sanitize.go's hwasanGlobalOptions for global hwasan options.
 var hwasanFlags = []string{
@@ -212,15 +208,9 @@
 		s.Memtag_heap = nil
 	}
 
-	// SCS is only supported on AArch64 in Rust.
-	// TODO: Add riscv when riscv supported.
-	if (ctx.Arch().ArchType != android.Arm64) || !ctx.toolchain().Bionic() {
-		s.Scs = nil
-	}
-
 	// TODO:(b/178369775)
 	// For now sanitizing is only supported on devices
-	if ctx.Os() == android.Android && (Bool(s.Hwaddress) || Bool(s.Address) || Bool(s.Memtag_heap) || Bool(s.Fuzzer) || Bool(s.Scs)) {
+	if ctx.Os() == android.Android && (Bool(s.Hwaddress) || Bool(s.Address) || Bool(s.Memtag_heap) || Bool(s.Fuzzer)) {
 		sanitize.Properties.SanitizerEnabled = true
 	}
 }
@@ -239,10 +229,7 @@
 		flags.RustFlags = append(flags.RustFlags, hwasanFlags...)
 	} else if Bool(sanitize.Properties.Sanitize.Address) {
 		flags.RustFlags = append(flags.RustFlags, asanFlags...)
-	} else if Bool(sanitize.Properties.Sanitize.Scs) {
-		flags.RustFlags = append(flags.RustFlags, scsFlags...)
 	}
-
 	return flags, deps
 }
 
@@ -324,9 +311,6 @@
 	case cc.Memtag_heap:
 		sanitize.Properties.Sanitize.Memtag_heap = boolPtr(b)
 		sanitizerSet = true
-	case cc.Scs:
-		sanitize.Properties.Sanitize.Scs = boolPtr(b)
-		sanitizerSet = true
 	default:
 		panic(fmt.Errorf("setting unsupported sanitizerType %d", t))
 	}
@@ -388,8 +372,6 @@
 		return sanitize.Properties.Sanitize.Hwaddress
 	case cc.Memtag_heap:
 		return sanitize.Properties.Sanitize.Memtag_heap
-	case cc.Scs:
-		return sanitize.Properties.Sanitize.Scs
 	default:
 		return nil
 	}
@@ -402,10 +384,6 @@
 		if sanitize.isSanitizerEnabled(cc.Hwasan) {
 			entries.SubName += ".hwasan"
 		}
-		if sanitize.isSanitizerEnabled(cc.Scs) {
-			entries.SubName += ".scs"
-		}
-
 	}
 }
 
@@ -426,13 +404,6 @@
 		return true
 	case cc.Memtag_heap:
 		return true
-	case cc.Scs:
-		// SCS is only supported on AArch64 in Rust.
-		// TODO: Add riscv when riscv supported.
-		if mod.Target().Arch.ArchType == android.Arm64 {
-			return true
-		}
-		return false
 	default:
 		return false
 	}