aboutsummaryrefslogtreecommitdiffstats
path: root/cc
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 /cc
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
Diffstat (limited to 'cc')
-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