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

Commit e4793bc7 authored by Elliott Hughes's avatar Elliott Hughes
Browse files

Allow SCS for riscv64 too.

Bug: https://github.com/google/android-riscv64/issues/55
Test: treehugger
Change-Id: I319fc662c1dd6083757f78b8d91ec2775ef94a46
parent a9242e32
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -26,12 +26,16 @@ var (
		// Help catch common 32/64-bit errors.
		"-Werror=implicit-function-declaration",
		"-fno-emulated-tls",
		// For -fsanitize=shadow-call-stack.
		"-ffixed-x18",
	}

	riscv64ArchVariantCflags = map[string][]string{}

	riscv64Ldflags = []string{
		"-Wl,--hash-style=gnu",
		// For -fsanitize=shadow-call-stack.
		"-ffixed-x18",
	}

	riscv64Lldflags = append(riscv64Ldflags,
+3 −3
Original line number Diff line number Diff line
@@ -254,7 +254,7 @@ type SanitizeUserProps struct {
	// This should not be used in Android 11+ : https://source.android.com/devices/tech/debug/scudo
	// deprecated
	Scudo *bool `android:"arch_variant"`
	// shadow-call-stack sanitizer, only available on arm64
	// shadow-call-stack sanitizer, only available on arm64/riscv64.
	Scs *bool `android:"arch_variant"`
	// Memory-tagging, only available on arm64
	// if diag.memtag unset or false, enables async memory tagging
@@ -593,8 +593,8 @@ func (sanitize *sanitize) begin(ctx BaseModuleContext) {
		s.Hwaddress = nil
	}

	// SCS is only implemented on AArch64.
	if ctx.Arch().ArchType != android.Arm64 || !ctx.toolchain().Bionic() {
	// SCS is only implemented on AArch64/riscv64.
	if (ctx.Arch().ArchType != android.Arm64 && ctx.Arch().ArchType != android.Riscv64) || !ctx.toolchain().Bionic() {
		s.Scs = nil
	}