aboutsummaryrefslogtreecommitdiff
path: root/Android.bp
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2018-04-26 16:04:44 +0100
committerVladimir Marko <vmarko@google.com>2018-04-26 16:32:39 +0100
commit9b00771ae42e6ca9031ce5095ae08cc9a2feaa72 (patch)
treea61a19fff322c5760467f9fa51dc4cabffdca639 /Android.bp
parent2f21e041af74f69d2f3ef277668b36484b5ca5c2 (diff)
downloadvixl-9b00771ae42e6ca9031ce5095ae08cc9a2feaa72.tar.gz
Fix CodeBuffer implementation mismatch.android-n-iot-release-lg-thinq-wk7
Test: Rely on TreeHugger. Bug: 64359573 Change-Id: I17845fea4031032de1dc200494a57e91fbaa2de0
Diffstat (limited to 'Android.bp')
-rw-r--r--Android.bp10
1 files changed, 8 insertions, 2 deletions
diff --git a/Android.bp b/Android.bp
index d2d73906..d10bad34 100644
--- a/Android.bp
+++ b/Android.bp
@@ -72,6 +72,14 @@ cc_defaults {
// Explicitly enable the write-strings warning. VIXL uses
// const correctly when handling string constants.
"-Wwrite-strings",
+
+ // As we can load both libvixl-arm.so and libvixl-arm64.so in the
+ // same process, and some functions are emitted in both libraries,
+ // flags for selecting implementation details for these functions
+ // must be shared to emit identical code. Otherwise we can get
+ // undefined behavior, especially with link-time optimization.
+ // b/64359573
+ "-DVIXL_CODE_BUFFER_MALLOC",
],
local_include_dirs: ["src"],
native_coverage: false,
@@ -84,7 +92,6 @@ cc_defaults {
name: "vixl-arm",
defaults: ["vixl-common"],
cppflags: [
- "-DVIXL_CODE_BUFFER_MALLOC",
"-DVIXL_INCLUDE_TARGET_T32",
],
srcs: ["src/aarch32/*.cc"],
@@ -95,7 +102,6 @@ cc_defaults {
defaults: ["vixl-common"],
cppflags: [
"-DVIXL_INCLUDE_SIMULATOR_AARCH64",
- "-DVIXL_CODE_BUFFER_MMAP",
"-DVIXL_INCLUDE_TARGET_A64",
],
srcs: ["src/aarch64/*.cc"],