aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVishwath Mohan <vishwath@google.com>2018-05-23 19:29:55 -0700
committerVishwath Mohan <vishwath@google.com>2018-05-23 23:39:38 -0700
commit7589c82eecd4c25279f64464609708ff8400dcb0 (patch)
tree83d23ef41fb7b6b4d27e82274363d6c4e82ae9ae
parent165e01b744fe42cf700e388f7e0fb874966a6bfc (diff)
downloadbuild_soong-7589c82eecd4c25279f64464609708ff8400dcb0.tar.gz
build_soong-7589c82eecd4c25279f64464609708ff8400dcb0.tar.bz2
build_soong-7589c82eecd4c25279f64464609708ff8400dcb0.zip
Disable CFI for vendor variants of VNDK libraries
Enabling CFI changes the VNDK ABI from the frozen snapshot, so the only solution for now is to temporarily disable CFI on all vendor variants for the sake of compatibility. Bug: 66301104 Test: ABI is consistent. Change-Id: Ie7dca41e0f647808b08adede09a30f3c746e6bda
-rw-r--r--cc/sanitize.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/cc/sanitize.go b/cc/sanitize.go
index fc44eaf1..205b2a20 100644
--- a/cc/sanitize.go
+++ b/cc/sanitize.go
@@ -256,6 +256,13 @@ func (sanitize *sanitize) begin(ctx BaseModuleContext) {
s.Diag.Cfi = nil
}
+ // Also disable CFI for VNDK variants of components in the
+ // include paths
+ if ctx.isVndk() && ctx.useVndk() && ctx.Config().CFIEnabledForPath(ctx.ModuleDir()) {
+ s.Cfi = nil
+ s.Diag.Cfi = nil
+ }
+
if ctx.staticBinary() {
s.Address = nil
s.Coverage = nil