build: Disable -fwhole-program-vtables on Android.

We aren't currently building libc++ ourselves, which means that
once we enable ThinLTO in official builds, libc++ won't be built
with LTO, which is a violation of the LTO visibility rules, which
require all classes with hidden visibility to be built with LTO
when using the CFI or whole-program devirtualization features:
https://clang.llvm.org/docs/LTOVisibility.html

This hasn't caused any problems in practice as far as I know, but
it could in theory, so it's probably best to disable it to be safe.
We should be able to re-enable it on Android once issue 767901 is
fixed and we create another GVR shim prebuilt compiled with ThinLTO.

Bug: 469376, 767901
Change-Id: Ic5554c48c1d4a458a834b16b9f7bd20523871282
Reviewed-on: https://chromium-review.googlesource.com/1141108
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575850}
1 file changed