aboutsummaryrefslogtreecommitdiffstats
path: root/cc/lto.go
diff options
context:
space:
mode:
authorZhizhou Yang <zhizhouy@google.com>2018-02-08 18:32:11 -0800
committerYi Kong <yikong@google.com>2018-02-14 21:21:14 +0800
commit51be632b95c0693641b7fdf8ec08e797ce804198 (patch)
tree396ff830ca3541e144f2368776c9500f0379f02b /cc/lto.go
parent3bb5f2f2fa11092f25517200cd94f0c81c2e868e (diff)
downloadbuild_soong-51be632b95c0693641b7fdf8ec08e797ce804198.tar.gz
build_soong-51be632b95c0693641b7fdf8ec08e797ce804198.tar.bz2
build_soong-51be632b95c0693641b7fdf8ec08e797ce804198.zip
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)
Diffstat (limited to 'cc/lto.go')
-rw-r--r--cc/lto.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/cc/lto.go b/cc/lto.go
index 91b11b53..4757fc7e 100644
--- a/cc/lto.go
+++ b/cc/lto.go
@@ -86,7 +86,7 @@ func (lto *lto) flags(ctx BaseModuleContext, flags Flags) Flags {
// https://github.com/android-ndk/ndk/issues/498.
flags.LdFlags = append(flags.LdFlags, "-Wl,-plugin-opt,-emulated-tls")
}
- flags.ArFlags = append(flags.ArFlags, " --plugin ${config.LLVMGoldPlugin}")
+ flags.ArGoldPlugin = true
}
return flags
}