summaryrefslogtreecommitdiff
path: root/disassembler
diff options
context:
space:
mode:
authorRoland Levillain <rpl@google.com>2019-08-05 18:16:03 +0100
committerRoland Levillain <rpl@google.com>2019-08-07 16:33:21 +0000
commit084fc289b4c0a1355e2c38076933bd80834a44d7 (patch)
tree0c960634c10196cdf2122c8d91cd47231dd6da99 /disassembler
parent7cfc8f5b2a7c1af68de5f2e79652cf55954794dc (diff)
Conditionally include MIPS32/MIPS64 and x86/x86-64 disassembler definitions.
Only include these disassemblers if at least one of the corresponding back ends is enabled. Impact on the size of libart(d)-disassembler.so: - ARM-only target: - libart-disassembler.so: 66512 bytes → 33840 bytes (-32672 bytes, -49%) - libartd-disassembler.so: 70680 bytes → 33900 bytes (-36780 bytes, -52%) - ARM64-only target: - libart-disassembler.so: 105168 bytes → 55776 bytes (-49392 bytes, -47%) - libartd-disassembler.so: 113416 bytes → 59936 bytes (-53480 bytes, -47%) Test: m test-art-host Bug: 119090273 Change-Id: I2bccb482df46b5ce1ca69ffb110451d79a64b996
Diffstat (limited to 'disassembler')
-rw-r--r--disassembler/Android.bp36
1 files changed, 12 insertions, 24 deletions
diff --git a/disassembler/Android.bp b/disassembler/Android.bp
index e77d91478a..892d0604fd 100644
--- a/disassembler/Android.bp
+++ b/disassembler/Android.bp
@@ -20,8 +20,6 @@ art_cc_defaults {
host_supported: true,
srcs: [
"disassembler.cc",
- "disassembler_mips.cc",
- "disassembler_x86.cc",
],
codegen: {
arm: {
@@ -30,28 +28,18 @@ art_cc_defaults {
arm64: {
srcs: ["disassembler_arm64.cc"],
},
- // TODO: We should also conditionally include the MIPS32/MIPS64 and the
- // x86/x86-64 disassembler definitions (b/119090273). However, using the
- // following syntax here:
- //
- // mips: {
- // srcs: ["disassembler_mips.cc"]
- // },
- // mips64: {
- // srcs: ["disassembler_mips.cc"]
- // },
- // x86: {
- // srcs: ["disassembler_x86.cc"]
- // },
- // x86_64: {
- // srcs: ["disassembler_x86.cc"]
- // },
- //
- // does not work, as it generates a file rejected by ninja with this
- // error message (e.g. on host, where we include all the back ends by
- // default):
- //
- // FAILED: ninja: out/soong/build.ninja:320768: multiple rules generate out/soong/.intermediates/art/disassembler/libart-disassembler/linux_glibc_x86_64_static/obj/art/disassembler/disassembler_mips.o [-w dupbuild=err]
+ mips: {
+ srcs: ["disassembler_mips.cc"],
+ },
+ mips64: {
+ srcs: ["disassembler_mips.cc"],
+ },
+ x86: {
+ srcs: ["disassembler_x86.cc"],
+ },
+ x86_64: {
+ srcs: ["disassembler_x86.cc"],
+ },
},
shared_libs: [
"libbase",