Switch back to llvm-ar (with crsD flags only).

This properly sets -format=gnu for all non-Darwin targets, because
llvm-ar is cross-platform (but defaults to the host environment).

Bug: http://b/71618641
Test: m checkbuild
Change-Id: Ic5bce7e237ea0cadfa1f96ea151d41115d8c56b8
diff --git a/cc/builder.go b/cc/builder.go
index de85d6e..db4cb4f 100644
--- a/cc/builder.go
+++ b/cc/builder.go
@@ -508,8 +508,11 @@
 		return
 	}
 
-	arCmd := gccCmd(flags.toolchain, "ar")
-	arFlags := "crsPD"
+	arCmd := "${config.ClangBin}/llvm-ar"
+	arFlags := "crsD"
+	if !ctx.Darwin() {
+		arFlags += " -format=gnu"
+	}
 	if flags.arFlags != "" {
 		arFlags += " " + flags.arFlags
 	}
diff --git a/cc/makevars.go b/cc/makevars.go
index 0d2569a..5faf201 100644
--- a/cc/makevars.go
+++ b/cc/makevars.go
@@ -289,7 +289,7 @@
 	if target.Os == android.Darwin {
 		ctx.Strict(makePrefix+"AR", "${config.MacArPath}")
 	} else {
-		ctx.Strict(makePrefix+"AR", gccCmd(toolchain, "ar"))
+		ctx.Strict(makePrefix+"AR", "${config.ClangBin}/llvm-ar")
 		ctx.Strict(makePrefix+"READELF", gccCmd(toolchain, "readelf"))
 		ctx.Strict(makePrefix+"NM", gccCmd(toolchain, "nm"))
 	}