diff options
| author | 2018-10-24 15:02:55 +0100 | |
|---|---|---|
| committer | 2018-10-29 21:20:43 +0000 | |
| commit | 8a94003e66f337fe84870ff68d3f6f234555cf06 (patch) | |
| tree | 0271729b2571c969238786d21a45ce05120b96e0 | |
| parent | ce2a00daa92670a4fc01ef59fdbc3769a846f69c (diff) | |
Link compression libs statically into libartbase and use those everywhere.
All targets using these compression libs already use libartbase. This grows
libartbase VM size by 314K on 64 bit, but only these targets pack on the
extra the bloat of liblz4 (84K) and liblzma (174K): dexanalyze, dexdump2,
dexlayout(d), dexlist. libbacktrace and libunwindstack gain liblz4 only.
On the other hand this gets rid of static instances in several shared libs.
Test: mmma art
Test: art/test.py --host --64 --optimizing
Test: env ART_TEST_NO_SYNC=true make -j4 test-art-target-gtest
Test: art/test/testrunner/testrunner.py -j4 --target --64 --optimizing
Bug: 118374951
Change-Id: Ida103546d2d16ef892d09e9ca3a0ae5e3b42a541
| -rw-r--r-- | compiler/Android.bp | 2 | ||||
| -rw-r--r-- | dex2oat/Android.bp | 12 | ||||
| -rw-r--r-- | dexlayout/Android.bp | 2 | ||||
| -rw-r--r-- | imgdiag/Android.bp | 3 | ||||
| -rw-r--r-- | libartbase/Android.bp | 31 | ||||
| -rw-r--r-- | libdexfile/Android.bp | 14 | ||||
| -rw-r--r-- | libprofile/Android.bp | 19 | ||||
| -rw-r--r-- | runtime/Android.bp | 10 | ||||
| -rw-r--r-- | test/Android.bp | 10 | ||||
| -rw-r--r-- | tools/veridex/Android.bp | 2 |
10 files changed, 18 insertions, 87 deletions
diff --git a/compiler/Android.bp b/compiler/Android.bp index c2f8e3c66e..8e4e383b92 100644 --- a/compiler/Android.bp +++ b/compiler/Android.bp @@ -180,7 +180,6 @@ art_cc_defaults { shared_libs: [ "libbase", "libcutils", // for atrace. - "liblzma", ], include_dirs: ["art/disassembler"], header_libs: [ @@ -196,7 +195,6 @@ cc_defaults { static_libs: [ "libbase", "libcutils", - "liblzma", ], } diff --git a/dex2oat/Android.bp b/dex2oat/Android.bp index 666db425bd..2f8275ef89 100644 --- a/dex2oat/Android.bp +++ b/dex2oat/Android.bp @@ -71,8 +71,6 @@ art_cc_defaults { generated_sources: ["art_dex2oat_operator_srcs"], shared_libs: [ "libbase", - "liblz4", - "liblzma", ], include_dirs: [ "external/lz4/lib", @@ -98,8 +96,6 @@ cc_defaults { }, static_libs: [ "libbase", - "liblz4", - "liblzma", ], } @@ -247,7 +243,6 @@ art_cc_binary { "libdexfile", "libartbase", "libbase", - "liblz4", "libsigchain", ], static_libs: [ @@ -285,7 +280,6 @@ art_cc_binary { "libdexfiled", "libartbased", "libbase", - "liblz4", "libsigchain", ], static_libs: [ @@ -315,7 +309,6 @@ cc_defaults { ], static_libs: [ "libbase", - "liblz4", "libsigchain_dummy", ], } @@ -411,13 +404,12 @@ art_cc_test { "external/zlib", ], shared_libs: [ - "libprofiled", + "libartbased", "libartd-compiler", "libartd-dexlayout", "libbase", - "liblz4", + "libprofiled", "libsigchain", - "libziparchive", ], static_libs: [ "libartd-dex2oat", diff --git a/dexlayout/Android.bp b/dexlayout/Android.bp index 24ee5f8532..06e949c9c6 100644 --- a/dexlayout/Android.bp +++ b/dexlayout/Android.bp @@ -29,14 +29,12 @@ art_cc_defaults { shared_libs: [ "libbase", ], - static_libs: ["libz"], } cc_defaults { name: "libart-dexlayout_static_base_defaults", static_libs: [ "libbase", - "libz", ], } diff --git a/imgdiag/Android.bp b/imgdiag/Android.bp index 972c8f7189..51add1aba8 100644 --- a/imgdiag/Android.bp +++ b/imgdiag/Android.bp @@ -34,9 +34,6 @@ cc_defaults { android: { shared_libs: ["libcutils"], }, - host: { - shared_libs: ["libziparchive"], - }, }, header_libs: [ "art_cmdlineparser_headers", diff --git a/libartbase/Android.bp b/libartbase/Android.bp index 0c6b1a2ef6..44b75e6ae6 100644 --- a/libartbase/Android.bp +++ b/libartbase/Android.bp @@ -49,20 +49,15 @@ cc_defaults { ], target: { android: { - static_libs: [ - // ZipArchive support, the order matters here to get all symbols. - "libziparchive", - "libz", - ], shared_libs: [ // For android::FileMap used by libziparchive. "libutils", ], }, host: { - shared_libs: [ - "libziparchive", - "libz", + static_libs: [ + // For android::FileMap used by libziparchive. + "libutils", ], }, }, @@ -75,6 +70,18 @@ cc_defaults { // For common macros. "libbase", ], + + // Utilities used by various ART libs and tools are linked in statically + // here to avoid shared lib dependencies outside the ART APEX. No target + // there should depend on these separately. + whole_static_libs: [ + "liblz4", + "liblzma", + // ZipArchive support, the order matters here to get all symbols. + "libziparchive", + "libz", + ], + export_include_dirs: ["."], // ART's macros.h depends on libbase's macros.h. // Note: runtime_options.h depends on cmdline. But we don't really want to export this @@ -89,8 +96,6 @@ cc_defaults { "libcutils", "liblog", "libutils", - "libz", - "libziparchive", ], } @@ -129,7 +134,6 @@ art_cc_library { }, shared_libs: [ "libbase", - "libziparchive", ], export_shared_lib_headers: ["libbase"], } @@ -140,11 +144,6 @@ art_cc_library { "art_debug_defaults", "libartbase_defaults", ], - shared_libs: [ - "libbase", - "libziparchive", - ], - export_shared_lib_headers: ["libbase"], } art_cc_library { diff --git a/libdexfile/Android.bp b/libdexfile/Android.bp index 49b1278fcb..d7399b3b77 100644 --- a/libdexfile/Android.bp +++ b/libdexfile/Android.bp @@ -39,20 +39,10 @@ cc_defaults { target: { android: { - static_libs: [ - "libziparchive", - "libz", - ], shared_libs: [ "libutils", ], }, - host: { - shared_libs: [ - "libziparchive", - "libz", - ], - }, }, generated_sources: ["dexfile_operator_srcs"], shared_libs: [ @@ -63,7 +53,6 @@ cc_defaults { "libcutils", // For common macros. "libbase", - "libz", ], export_include_dirs: ["."], export_shared_lib_headers: [ @@ -79,8 +68,6 @@ cc_defaults { "libcutils", "liblog", "libutils", - "libz", - "libziparchive", ], } @@ -158,7 +145,6 @@ art_cc_test { ], shared_libs: [ "libbacktrace", - "libziparchive", ], include_dirs: [ "external/zlib", diff --git a/libprofile/Android.bp b/libprofile/Android.bp index edd9fa858b..0f8db9c281 100644 --- a/libprofile/Android.bp +++ b/libprofile/Android.bp @@ -23,27 +23,17 @@ cc_defaults { ], target: { android: { - static_libs: [ - // ZipArchive support, the order matters here to get all symbols. - "libziparchive", - "libz", - ], shared_libs: [ // For android::FileMap used by libziparchive. "libutils", ], }, - host: { - shared_libs: [ - "libziparchive", - "libz", - ], - }, }, //generated_sources: ["art_libartbase_operator_srcs"], cflags: ["-DBUILDING_LIBART=1"], shared_libs: [ "libartbase", + "libbase", "libdexfile", "libartbase", // For atrace. @@ -62,8 +52,6 @@ cc_defaults { "libbase", "libcutils", "libutils", - "libz", - "libziparchive", ], } @@ -97,9 +85,7 @@ art_cc_library { }, shared_libs: [ "libbase", - "libziparchive", ], - export_shared_lib_headers: ["libbase"], } art_cc_library { @@ -110,9 +96,7 @@ art_cc_library { ], shared_libs: [ "libbase", - "libziparchive", ], - export_shared_lib_headers: ["libbase"], } // For now many of these tests still use CommonRuntimeTest, almost universally because of @@ -130,6 +114,5 @@ art_cc_test { "libartbased", "libdexfiled", "libartbased", - "libziparchive", ], } diff --git a/runtime/Android.bp b/runtime/Android.bp index 86ee952022..54027369d8 100644 --- a/runtime/Android.bp +++ b/runtime/Android.bp @@ -341,9 +341,6 @@ libart_cc_defaults { shared_libs: [ "libtombstoned_client", ], - static_libs: [ - "libz", // For adler32. - ], }, android_arm: { ldflags: JIT_DEBUG_REGISTER_CODE_LDFLAGS, @@ -363,9 +360,6 @@ libart_cc_defaults { "runtime_linux.cc", "thread_linux.cc", ], - shared_libs: [ - "libz", // For adler32. - ], }, }, cflags: ["-DBUILDING_LIBART=1"], @@ -390,7 +384,6 @@ libart_cc_defaults { "libnativebridge", "libnativeloader", "libbacktrace", - "liblz4", "liblog", // For atrace, properties, ashmem, set_sched_policy. "libcutils", @@ -422,12 +415,9 @@ libart_static_cc_defaults { "libbase", "libcutils", "liblog", - "liblz4", - "liblzma", "libnativebridge", "libnativeloader", "libunwindstack", - "libz", ], } diff --git a/test/Android.bp b/test/Android.bp index 561f95eb47..b729b0ddd1 100644 --- a/test/Android.bp +++ b/test/Android.bp @@ -70,7 +70,6 @@ art_cc_defaults { "libicuuc", "libicui18n", "libnativehelper", - "libz", ], whole_static_libs: [ "libsigchain", @@ -93,11 +92,6 @@ art_cc_defaults { "-Wno-missing-noreturn", ], }, - host: { - shared_libs: [ - "libziparchive", - ], - }, android: { shared_libs: [ "liblog", @@ -325,7 +319,6 @@ art_cc_defaults { // "1952-pop-frame-jit/pop_frame.cc", ], static_libs: [ - "libz", "slicer", ], } @@ -368,9 +361,6 @@ cc_library_static { static_libs: [ "libbase_ndk", ], - shared_libs: [ - "libz", // for slicer (using adler32). - ], sdk_version: "current", stl: "c++_static", include_dirs: [ diff --git a/tools/veridex/Android.bp b/tools/veridex/Android.bp index 92ace035cf..f0d83a8ef2 100644 --- a/tools/veridex/Android.bp +++ b/tools/veridex/Android.bp @@ -31,8 +31,6 @@ cc_binary { "libbase", "liblog", "libutils", - "libz", - "libziparchive", ], stl: "libc++_static", header_libs: [ |