diff options
| -rw-r--r-- | build/codegen.go | 5 | ||||
| -rw-r--r-- | compiler/Android.bp | 24 | ||||
| -rw-r--r-- | dex2oat/Android.bp | 12 | ||||
| -rw-r--r-- | disassembler/Android.bp | 6 | ||||
| -rw-r--r-- | libartbase/Android.bp | 21 | ||||
| -rw-r--r-- | libartbase/libartbase.map | 15 | ||||
| -rw-r--r-- | oatdump/Android.bp | 6 | ||||
| -rw-r--r-- | runtime/Android.bp | 7 | ||||
| -rw-r--r-- | simulator/Android.bp | 4 | ||||
| -rw-r--r-- | test/Android.bp | 3 | ||||
| -rwxr-xr-x | test/testrunner/run_build_test_target.py | 15 | ||||
| -rw-r--r-- | test/testrunner/target_config.py | 7 |
12 files changed, 79 insertions, 46 deletions
diff --git a/build/codegen.go b/build/codegen.go index 8526bf192b..d0db78e571 100644 --- a/build/codegen.go +++ b/build/codegen.go @@ -107,8 +107,9 @@ func codegen(ctx android.LoadHookContext, c *codegenProperties, library bool) { } type CodegenCommonArchProperties struct { - Srcs []string - Cflags []string + Srcs []string + Cflags []string + Cppflags []string } type CodegenLibraryArchProperties struct { diff --git a/compiler/Android.bp b/compiler/Android.bp index 30a65b280a..0d92b05593 100644 --- a/compiler/Android.bp +++ b/compiler/Android.bp @@ -183,7 +183,6 @@ art_cc_defaults { shared_libs: [ "libbase", "libcutils", // for atrace. - "liblzma", ], include_dirs: ["art/disassembler"], header_libs: [ @@ -199,7 +198,6 @@ cc_defaults { static_libs: [ "libbase", "libcutils", - "liblzma", ], } @@ -233,12 +231,12 @@ art_cc_library { // VIXL assembly support for ARM targets. static: { whole_static_libs: [ - "libvixl-arm", + "libvixl", ], }, shared: { shared_libs: [ - "libvixl-arm", + "libvixl", ], }, }, @@ -246,12 +244,12 @@ art_cc_library { // VIXL assembly support for ARM64 targets. static: { whole_static_libs: [ - "libvixl-arm64", + "libvixl", ], }, shared: { shared_libs: [ - "libvixl-arm64", + "libvixl", ], }, }, @@ -295,12 +293,12 @@ art_cc_library { // VIXL assembly support for ARM targets. static: { whole_static_libs: [ - "libvixld-arm", + "libvixld", ], }, shared: { shared_libs: [ - "libvixld-arm", + "libvixld", ], }, }, @@ -308,12 +306,12 @@ art_cc_library { // VIXL assembly support for ARM64 targets. static: { whole_static_libs: [ - "libvixld-arm64", + "libvixld", ], }, shared: { shared_libs: [ - "libvixld-arm64", + "libvixld", ], }, }, @@ -454,8 +452,7 @@ art_cc_test { "libprofiled", "libartd-compiler", "libartd-simulator-container", - "libvixld-arm", - "libvixld-arm64", + "libvixld", "libbacktrace", "libnativeloader", @@ -512,7 +509,6 @@ art_cc_test { }, shared_libs: [ "libartd-compiler", - "libvixld-arm", - "libvixld-arm64", + "libvixld", ], } diff --git a/dex2oat/Android.bp b/dex2oat/Android.bp index fd5f3cd9e4..8ce96a4c16 100644 --- a/dex2oat/Android.bp +++ b/dex2oat/Android.bp @@ -71,11 +71,8 @@ art_cc_defaults { generated_sources: ["art_dex2oat_operator_srcs"], shared_libs: [ "libbase", - "liblz4", - "liblzma", ], include_dirs: [ - "external/lz4/lib", "external/zlib", ], export_include_dirs: ["."], @@ -98,8 +95,6 @@ cc_defaults { }, static_libs: [ "libbase", - "liblz4", - "liblzma", ], } @@ -247,7 +242,6 @@ art_cc_binary { "libdexfile", "libartbase", "libbase", - "liblz4", "libsigchain", ], static_libs: [ @@ -285,7 +279,6 @@ art_cc_binary { "libdexfiled", "libartbased", "libbase", - "liblz4", "libsigchain", ], static_libs: [ @@ -315,7 +308,6 @@ cc_defaults { ], static_libs: [ "libbase", - "liblz4", "libsigchain_dummy", ], } @@ -411,11 +403,11 @@ art_cc_test { "external/zlib", ], shared_libs: [ - "libprofiled", + "libartbased", "libartd-compiler", "libartd-dexlayout", "libbase", - "liblz4", + "libprofiled", "libsigchain", "libziparchive", ], diff --git a/disassembler/Android.bp b/disassembler/Android.bp index a7c1802515..5aa159e98b 100644 --- a/disassembler/Android.bp +++ b/disassembler/Android.bp @@ -69,8 +69,7 @@ art_cc_library { defaults: ["libart-disassembler-defaults"], shared_libs: [ // For disassembler_arm*. - "libvixl-arm", - "libvixl-arm64", + "libvixl", ], } @@ -82,7 +81,6 @@ art_cc_library { ], shared_libs: [ // For disassembler_arm*. - "libvixld-arm", - "libvixld-arm64", + "libvixld", ], } diff --git a/libartbase/Android.bp b/libartbase/Android.bp index 5010f683d7..6a667bc7a7 100644 --- a/libartbase/Android.bp +++ b/libartbase/Android.bp @@ -54,6 +54,10 @@ cc_defaults { "libziparchive", "libz", ], + // Exclude the version script from Darwin host since it's not + // supported by the linker there. That means ASan checks on Darwin + // might trigger ODR violations. + version_script: "libartbase.map", }, host: { shared_libs: [ @@ -61,16 +65,31 @@ cc_defaults { "libz", ], }, + linux_glibc: { + version_script: "libartbase.map", + }, + windows: { + version_script: "libartbase.map", + }, }, generated_sources: ["art_libartbase_operator_srcs"], cflags: ["-DBUILDING_LIBART=1"], shared_libs: [ "liblog", - // For ashmem. + // For ashmem. "libcutils", // 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", + ], + 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 diff --git a/libartbase/libartbase.map b/libartbase/libartbase.map new file mode 100644 index 0000000000..6249930dc1 --- /dev/null +++ b/libartbase/libartbase.map @@ -0,0 +1,15 @@ +# This is used only to hide data symbols that get imported through +# whole_static_libs, or else they might trigger the ASan odr-violation check. +# Before adding symbols here, please make sure that it doesn't give rise to a +# real ODR problem. All these symbols are either in .rodata or .data.rel.ro +# sections. +LIBARTBASE { + local: + PPMD7_kExpEscape; + XZ_SIG; + g_AlignedAlloc; + g_Alloc; + g_BigAlloc; + g_MidAlloc; + k7zSignature; +}; diff --git a/oatdump/Android.bp b/oatdump/Android.bp index 596a94664d..45f853b06e 100644 --- a/oatdump/Android.bp +++ b/oatdump/Android.bp @@ -100,8 +100,7 @@ art_cc_binary { ], static_libs: [ "libart-disassembler", - "libvixl-arm", - "libvixl-arm64", + "libvixl", ], } @@ -124,8 +123,7 @@ art_cc_binary { }, static_libs: [ "libartd-disassembler", - "libvixld-arm", - "libvixld-arm64", + "libvixld", ], group_static_libs: true, } diff --git a/runtime/Android.bp b/runtime/Android.bp index 86ee952022..410901ea47 100644 --- a/runtime/Android.bp +++ b/runtime/Android.bp @@ -377,7 +377,6 @@ libart_cc_defaults { include_dirs: [ "art/sigchainlib", "external/icu/icu4c/source/common", - "external/lz4/lib", "external/zlib", ], header_libs: [ @@ -390,7 +389,6 @@ libart_cc_defaults { "libnativebridge", "libnativeloader", "libbacktrace", - "liblz4", "liblog", // For atrace, properties, ashmem, set_sched_policy. "libcutils", @@ -422,8 +420,6 @@ libart_static_cc_defaults { "libbase", "libcutils", "liblog", - "liblz4", - "liblzma", "libnativebridge", "libnativeloader", "libunwindstack", @@ -661,8 +657,7 @@ art_cc_test { ], shared_libs: [ "libartd-compiler", - "libvixld-arm", - "libvixld-arm64", + "libvixld", ], } diff --git a/simulator/Android.bp b/simulator/Android.bp index 8690426466..223c891da0 100644 --- a/simulator/Android.bp +++ b/simulator/Android.bp @@ -45,7 +45,7 @@ art_cc_library { shared_libs: [ "libart", "libartbase", - "libvixl-arm64", + "libvixl", ], } @@ -58,7 +58,7 @@ art_cc_library { shared_libs: [ "libartd", "libartbased", - "libvixld-arm64", + "libvixld", ], } diff --git a/test/Android.bp b/test/Android.bp index 561f95eb47..d85e2a6fca 100644 --- a/test/Android.bp +++ b/test/Android.bp @@ -59,8 +59,7 @@ art_cc_defaults { shared_libs: [ "libartd", "libartd-disassembler", - "libvixld-arm", - "libvixld-arm64", + "libvixld", "libart-gtest", "libdexfiled", "libprofiled", diff --git a/test/testrunner/run_build_test_target.py b/test/testrunner/run_build_test_target.py index 14287b0f16..b4a4ada506 100755 --- a/test/testrunner/run_build_test_target.py +++ b/test/testrunner/run_build_test_target.py @@ -62,6 +62,18 @@ custom_env['SOONG_ALLOW_MISSING_DEPENDENCIES'] = 'true' print(custom_env) os.environ.update(custom_env) +# build is just a binary/script that is directly executed to build any artifacts needed for the +# test. +if 'build' in target: + build_command = target.get('build').format( + ANDROID_BUILD_TOP = env.ANDROID_BUILD_TOP, + MAKE_OPTIONS='DX= -j{threads}'.format(threads = n_threads)) + sys.stdout.write(str(build_command) + '\n') + sys.stdout.flush() + if subprocess.call(build_command.split()): + sys.exit(1) + +# make runs soong/kati to build the target listed in the entry. if 'make' in target: build_command = 'build/soong/soong_ui.bash --make-mode' build_command += ' DX=' @@ -107,7 +119,8 @@ if 'run-test' in target: run_test_command += ['--host'] run_test_command += ['--dex2oat-jobs'] run_test_command += ['4'] - run_test_command += ['-b'] + if '--no-build-dependencies' not in test_flags: + run_test_command += ['-b'] run_test_command += ['--verbose'] sys.stdout.write(str(run_test_command) + '\n') diff --git a/test/testrunner/target_config.py b/test/testrunner/target_config.py index 9efe435dc2..077129fa6c 100644 --- a/test/testrunner/target_config.py +++ b/test/testrunner/target_config.py @@ -329,4 +329,11 @@ target_config = { 'art-golem-linux-x64': { 'golem' : 'linux-x64' }, + 'art-linux-bionic-x64': { + 'build': '{ANDROID_BUILD_TOP}/art/tools/build_linux_bionic_tests.sh {MAKE_OPTIONS}', + 'run-test': ['--run-test-option=--bionic', + '--host', + '--64', + '--no-build-dependencies'], + }, } |