Fix llvm-ar error caused by using lto and sanitizer together
LLVM-AR does not allow passing --plugin options more than once. The
--plugin ARFLAGS that lto want to add, may already exist if sanitizer is
also turned on.
Fixed this by adding a new bool Flags.ArGoldPlugin. Set this variable to
true whenever LLVM gold plugin is needed for ArFlags. In function
TransformObjToStaticLib(), add this option to arFlags using global value
${config.LLVMGoldPlugin} if the bool value is true.
Bug: http://b/73160350
Test: build the image with make and succeeded.
Change-Id: I62785829b0a4b663225926e4aed98defc1b6da2c
(cherry picked from commit 4917049f6efe2d08e67eb26ec77e21dcce5172c5)
diff --git a/cc/cc.go b/cc/cc.go
index 9cc7dfa..49fefe9 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -142,6 +142,7 @@
LdFlagsDeps android.Paths // Files depended on by linker flags
GroupStaticLibs bool
+ ArGoldPlugin bool // Whether LLVM gold plugin option is passed to llvm-ar
}
type ObjectLinkerProperties struct {