summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cc/lto.go5
-rw-r--r--cc/sanitize.go6
2 files changed, 11 insertions, 0 deletions
diff --git a/cc/lto.go b/cc/lto.go
index 581856b46..e068b055d 100644
--- a/cc/lto.go
+++ b/cc/lto.go
@@ -91,6 +91,11 @@ func (lto *lto) flags(ctx BaseModuleContext, flags Flags) Flags {
return flags
}
+ // LTO doesn't work on riscv64 yet.
+ if ctx.Arch().ArchType == android.Riscv64 {
+ return flags
+ }
+
if lto.LTO(ctx) {
var ltoCFlag string
var ltoLdFlag string
diff --git a/cc/sanitize.go b/cc/sanitize.go
index a446cbbf4..ecbc6a382 100644
--- a/cc/sanitize.go
+++ b/cc/sanitize.go
@@ -511,6 +511,12 @@ func (sanitize *sanitize) begin(ctx BaseModuleContext) {
s.Integer_overflow = nil
}
+ // CFI doesn't work for riscv64 yet because LTO doesn't work.
+ if ctx.Arch().ArchType == android.Riscv64 {
+ s.Cfi = nil
+ s.Diag.Cfi = nil
+ }
+
// Disable CFI for musl
if ctx.toolchain().Musl() {
s.Cfi = nil