소스 검색

Merge "Disable LTO and CFI for riscv64"

Colin Cross 1 년 전
부모
커밋
e127b4d060
2개의 변경된 파일11개의 추가작업 그리고 0개의 파일을 삭제
  1. 5 0
      cc/lto.go
  2. 6 0
      cc/sanitize.go

+ 5 - 0
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

+ 6 - 0
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