diff options
-rw-r--r-- | artd/Android.bp | 2 | ||||
-rw-r--r-- | build/Android.bp | 61 | ||||
-rw-r--r-- | build/art.go | 20 | ||||
-rw-r--r-- | build/codegen.go | 239 | ||||
-rw-r--r-- | cmdline/Android.bp | 2 | ||||
-rw-r--r-- | compiler/Android.bp | 250 | ||||
-rw-r--r-- | dex2oat/Android.bp | 48 | ||||
-rw-r--r-- | dexdump/Android.bp | 2 | ||||
-rw-r--r-- | dexlayout/Android.bp | 2 | ||||
-rw-r--r-- | dexlist/Android.bp | 2 | ||||
-rw-r--r-- | dexoptanalyzer/Android.bp | 2 | ||||
-rw-r--r-- | disassembler/Android.bp | 69 | ||||
-rw-r--r-- | libartbase/Android.bp | 6 | ||||
-rw-r--r-- | libartpalette/Android.bp | 2 | ||||
-rw-r--r-- | libartservice/service/Android.bp | 2 | ||||
-rw-r--r-- | libarttools/Android.bp | 2 | ||||
-rw-r--r-- | libdexfile/Android.bp | 6 | ||||
-rw-r--r-- | libelffile/Android.bp | 2 | ||||
-rw-r--r-- | libprofile/Android.bp | 2 | ||||
-rw-r--r-- | oatdump/Android.bp | 2 | ||||
-rw-r--r-- | odrefresh/Android.bp | 2 | ||||
-rw-r--r-- | profman/Android.bp | 2 | ||||
-rw-r--r-- | runtime/Android.bp | 6 | ||||
-rw-r--r-- | sigchainlib/Android.bp | 2 | ||||
-rw-r--r-- | test/Android.bp | 34 | ||||
-rw-r--r-- | tools/art_verifier/Android.bp | 2 |
26 files changed, 320 insertions, 451 deletions
diff --git a/artd/Android.bp b/artd/Android.bp index af0430261d..8f82216e10 100644 --- a/artd/Android.bp +++ b/artd/Android.bp @@ -68,6 +68,8 @@ art_cc_defaults { ], } +// TODO(b/247785938) Change the above art_cc_defaults to a regular cc_defaults (currently kept due to a merge conflict) + // Version of ART gtest `art_artd_tests` bundled with the ART APEX on target. // // This test requires the full libbinder_ndk implementation on host, which is diff --git a/build/Android.bp b/build/Android.bp index 4569b5523f..a17bc42145 100644 --- a/build/Android.bp +++ b/build/Android.bp @@ -21,7 +21,6 @@ bootstrap_go_package { ], srcs: [ "art.go", - "codegen.go", "makevars.go", ], pluginFor: ["soong_build"], @@ -174,13 +173,37 @@ art_module_art_global_defaults { }, target: { - android: { + // To use oprofile_android --callgraph, add these flags to the appropriate + // android_<arch> and recompile with + // mmma -j art + // "-fno-omit-frame-pointer", + // "-marm", + // "-mapcs", + android_arm: { + cflags: [ + "-DART_ENABLE_CODEGEN_arm", + ], + }, + android_arm64: { + cflags: [ + "-DART_ENABLE_CODEGEN_arm", + "-DART_ENABLE_CODEGEN_arm64", + ], + }, + android_riscv64: { + cflags: [ + "-DART_ENABLE_CODEGEN_riscv64", + ], + }, + android_x86: { + cflags: [ + "-DART_ENABLE_CODEGEN_x86", + ], + }, + android_x86_64: { cflags: [ - // To use oprofile_android --callgraph, uncomment this and recompile with - // mmma -j art - // "-fno-omit-frame-pointer", - // "-marm", - // "-mapcs", + "-DART_ENABLE_CODEGEN_x86", + "-DART_ENABLE_CODEGEN_x86_64", ], }, linux: { @@ -216,6 +239,12 @@ art_module_art_global_defaults { // Bug: 15446488. We don't omit the frame pointer to work around // clang/libunwind bugs that cause SEGVs in run-test-004-ThreadStress. "-fno-omit-frame-pointer", + + "-DART_ENABLE_CODEGEN_arm", + "-DART_ENABLE_CODEGEN_arm64", + "-DART_ENABLE_CODEGEN_riscv64", + "-DART_ENABLE_CODEGEN_x86", + "-DART_ENABLE_CODEGEN_x86_64", ], }, // The build assumes that all our x86/x86_64 hosts (such as buildbots and developer @@ -239,24 +268,6 @@ art_module_art_global_defaults { }, }, - codegen: { - arm: { - cflags: ["-DART_ENABLE_CODEGEN_arm"], - }, - arm64: { - cflags: ["-DART_ENABLE_CODEGEN_arm64"], - }, - riscv64: { - cflags: ["-DART_ENABLE_CODEGEN_riscv64"], - }, - x86: { - cflags: ["-DART_ENABLE_CODEGEN_x86"], - }, - x86_64: { - cflags: ["-DART_ENABLE_CODEGEN_x86_64"], - }, - }, - tidy_checks: art_clang_tidy_errors + art_clang_tidy_disabled, tidy_checks_as_errors: art_clang_tidy_errors, diff --git a/build/art.go b/build/art.go index 0e5c055d26..b82e974bd8 100644 --- a/build/art.go +++ b/build/art.go @@ -377,7 +377,7 @@ func artHostTestApexBundleFactory() android.Module { } func artGlobalDefaultsFactory() android.Module { - module := artDefaultsFactory() + module := cc.DefaultsFactory() android.AddLoadHook(module, addImplicitFlags) android.AddLoadHook(module, globalDefaults) @@ -385,18 +385,11 @@ func artGlobalDefaultsFactory() android.Module { } func artDefaultsFactory() android.Module { - c := &codegenProperties{} - module := cc.DefaultsFactory(c) - android.AddLoadHook(module, func(ctx android.LoadHookContext) { codegen(ctx, c, staticAndSharedLibrary) }) - - return module + return cc.DefaultsFactory() } func artLibrary() android.Module { module := cc.LibraryFactory() - - installCodegenCustomizer(module, staticAndSharedLibrary) - android.AddLoadHook(module, addImplicitFlags) android.AddInstallHook(module, addTestcasesFile) return module @@ -404,9 +397,6 @@ func artLibrary() android.Module { func artStaticLibrary() android.Module { module := cc.LibraryStaticFactory() - - installCodegenCustomizer(module, staticLibrary) - android.AddLoadHook(module, addImplicitFlags) return module } @@ -424,9 +414,6 @@ func artBinary() android.Module { func artTest() android.Module { // Disable bp2build. module := cc.NewTest(android.HostAndDeviceSupported, false /* bazelable */).Init() - - installCodegenCustomizer(module, binary) - android.AddLoadHook(module, addImplicitFlags) android.AddLoadHook(module, customLinker) android.AddLoadHook(module, prefer32Bit) @@ -436,9 +423,6 @@ func artTest() android.Module { func artTestLibrary() android.Module { module := cc.TestLibraryFactory() - - installCodegenCustomizer(module, staticAndSharedLibrary) - android.AddLoadHook(module, addImplicitFlags) android.AddLoadHook(module, prefer32Bit) android.AddInstallHook(module, testInstall) diff --git a/build/codegen.go b/build/codegen.go deleted file mode 100644 index 3cc51a8e1f..0000000000 --- a/build/codegen.go +++ /dev/null @@ -1,239 +0,0 @@ -// Copyright (C) 2016 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package art - -// This file implements the "codegen" property to apply different properties based on the currently -// selected codegen arches, which defaults to all arches on the host and the primary and secondary -// arches on the device. - -import ( - "sort" - "strings" - - "android/soong/android" -) - -type moduleType struct { - library bool - static bool - shared bool -} - -var ( - staticLibrary = moduleType{true, true, false} - sharedLibrary = moduleType{true, false, true} - staticAndSharedLibrary = moduleType{true, true, true} - binary = moduleType{false, false, false} -) - -func codegen(ctx android.LoadHookContext, c *codegenProperties, t moduleType) { - var hostArches, deviceArches []string - - e := ctx.Config().Getenv("ART_HOST_CODEGEN_ARCHS") - if e == "" { - hostArches = supportedArches - } else { - hostArches = strings.Split(e, " ") - } - - e = ctx.Config().Getenv("ART_TARGET_CODEGEN_ARCHS") - if e == "" { - deviceArches = defaultDeviceCodegenArches(ctx) - } else { - deviceArches = strings.Split(e, " ") - } - - getCodegenArchProperties := func(archName string) *codegenArchProperties { - var arch *codegenArchProperties - switch archName { - case "arm": - arch = &c.Codegen.Arm - case "arm64": - arch = &c.Codegen.Arm64 - case "riscv64": - arch = &c.Codegen.Riscv64 - case "x86": - arch = &c.Codegen.X86 - case "x86_64": - arch = &c.Codegen.X86_64 - default: - ctx.ModuleErrorf("Unknown codegen architecture %q", archName) - } - return arch - } - - appendCodegenSourceArchProperties := func(p *CodegenSourceArchProperties, archName string) { - arch := getCodegenArchProperties(archName) - p.Srcs = append(p.Srcs, arch.CodegenSourceArchProperties.Srcs...) - } - - addCodegenSourceArchProperties := func(host bool, p *CodegenSourceArchProperties) { - type sourceProps struct { - Target struct { - Android *CodegenSourceArchProperties - Host *CodegenSourceArchProperties - } - } - - sp := &sourceProps{} - if host { - sp.Target.Host = p - } else { - sp.Target.Android = p - } - ctx.AppendProperties(sp) - } - - addCodegenArchProperties := func(host bool, archName string) { - type commonProps struct { - Target struct { - Android *CodegenCommonArchProperties - Host *CodegenCommonArchProperties - } - } - - type libraryProps struct { - Target struct { - Android *CodegenLibraryArchProperties - Host *CodegenLibraryArchProperties - } - } - - type sharedLibraryProps struct { - Target struct { - Android *CodegenLibraryArchSharedProperties - Host *CodegenLibraryArchSharedProperties - } - } - - type staticLibraryProps struct { - Target struct { - Android *CodegenLibraryArchStaticProperties - Host *CodegenLibraryArchStaticProperties - } - } - - arch := getCodegenArchProperties(archName) - - cp := &commonProps{} - lp := &libraryProps{} - sharedLP := &sharedLibraryProps{} - staticLP := &staticLibraryProps{} - if host { - cp.Target.Host = &arch.CodegenCommonArchProperties - lp.Target.Host = &arch.CodegenLibraryArchProperties - sharedLP.Target.Host = &arch.CodegenLibraryArchSharedProperties - staticLP.Target.Host = &arch.CodegenLibraryArchStaticProperties - } else { - cp.Target.Android = &arch.CodegenCommonArchProperties - lp.Target.Android = &arch.CodegenLibraryArchProperties - sharedLP.Target.Android = &arch.CodegenLibraryArchSharedProperties - staticLP.Target.Android = &arch.CodegenLibraryArchStaticProperties - } - - ctx.AppendProperties(cp) - if t.library { - ctx.AppendProperties(lp) - if t.static { - ctx.AppendProperties(staticLP) - } - if t.shared { - ctx.AppendProperties(sharedLP) - } - } - } - - addCodegenProperties := func(host bool, arches []string) { - sourceProps := &CodegenSourceArchProperties{} - for _, arch := range arches { - appendCodegenSourceArchProperties(sourceProps, arch) - addCodegenArchProperties(host, arch) - } - sourceProps.Srcs = android.FirstUniqueStrings(sourceProps.Srcs) - addCodegenSourceArchProperties(host, sourceProps) - } - - addCodegenProperties(false /* host */, deviceArches) - addCodegenProperties(true /* host */, hostArches) -} - -// These properties are allowed to contain the same source file name in different architectures. -// They we will be deduplicated automatically. -type CodegenSourceArchProperties struct { - Srcs []string -} - -type CodegenCommonArchProperties struct { - Cflags []string - Cppflags []string -} - -type CodegenLibraryArchProperties struct { - Static_libs []string - Export_static_lib_headers []string -} - -type CodegenLibraryArchStaticProperties struct { - Static struct { - Whole_static_libs []string - } -} -type CodegenLibraryArchSharedProperties struct { - Shared struct { - Shared_libs []string - Export_shared_lib_headers []string - } -} - -type codegenArchProperties struct { - CodegenSourceArchProperties - CodegenCommonArchProperties - CodegenLibraryArchProperties - CodegenLibraryArchStaticProperties - CodegenLibraryArchSharedProperties -} - -type codegenProperties struct { - Codegen struct { - Arm, Arm64, Riscv64, X86, X86_64 codegenArchProperties - } -} - -func defaultDeviceCodegenArches(ctx android.LoadHookContext) []string { - arches := make(map[string]bool) - for _, a := range ctx.DeviceConfig().Arches() { - s := a.ArchType.String() - arches[s] = true - if s == "arm64" { - arches["arm"] = true - } else if s == "riscv64" { - arches["riscv64"] = true - } else if s == "x86_64" { - arches["x86"] = true - } - } - ret := make([]string, 0, len(arches)) - for a := range arches { - ret = append(ret, a) - } - sort.Strings(ret) - return ret -} - -func installCodegenCustomizer(module android.Module, t moduleType) { - c := &codegenProperties{} - android.AddLoadHook(module, func(ctx android.LoadHookContext) { codegen(ctx, c, t) }) - module.AddProperties(c) -} diff --git a/cmdline/Android.bp b/cmdline/Android.bp index 91c8ccd8d1..46ab8a61fc 100644 --- a/cmdline/Android.bp +++ b/cmdline/Android.bp @@ -36,7 +36,7 @@ cc_library_headers { ], } -art_cc_defaults { +cc_defaults { name: "art_cmdline_tests_defaults", tidy_timeout_srcs: ["cmdline_parser_test.cc"], srcs: ["cmdline_parser_test.cc"], diff --git a/compiler/Android.bp b/compiler/Android.bp index ea45897a92..e1300ac612 100644 --- a/compiler/Android.bp +++ b/compiler/Android.bp @@ -28,7 +28,66 @@ package { default_applicable_licenses: ["art_license"], } -art_cc_defaults { +libart_compiler_codegen_arm = [ + "jni/quick/arm/calling_convention_arm.cc", + "optimizing/code_generator_arm_vixl.cc", + "optimizing/code_generator_vector_arm_vixl.cc", + "optimizing/critical_native_abi_fixup_arm.cc", + "optimizing/instruction_simplifier_arm.cc", + "optimizing/instruction_simplifier_shared.cc", + "optimizing/intrinsics_arm_vixl.cc", + "optimizing/nodes_shared.cc", + "optimizing/scheduler_arm.cc", + "utils/arm/assembler_arm_vixl.cc", + "utils/arm/constants_arm.cc", + "utils/arm/jni_macro_assembler_arm_vixl.cc", + "utils/arm/managed_register_arm.cc", +] + +libart_compiler_codegen_arm64 = [ + "jni/quick/arm64/calling_convention_arm64.cc", + "optimizing/code_generator_arm64.cc", + "optimizing/code_generator_vector_arm64_neon.cc", + "optimizing/code_generator_vector_arm64_sve.cc", + "optimizing/scheduler_arm64.cc", + "optimizing/instruction_simplifier_arm64.cc", + "optimizing/intrinsics_arm64.cc", + "utils/arm64/assembler_arm64.cc", + "utils/arm64/jni_macro_assembler_arm64.cc", + "utils/arm64/managed_register_arm64.cc", +] + +libart_compiler_codegen_riscv64 = [ + "utils/riscv64/assembler_riscv64.cc", + "utils/riscv64/managed_register_riscv64.cc", +] + +libart_compiler_codegen_x86 = [ + "jni/quick/x86/calling_convention_x86.cc", + "optimizing/code_generator_x86.cc", + "optimizing/code_generator_vector_x86.cc", + "optimizing/intrinsics_x86.cc", + "optimizing/instruction_simplifier_x86_shared.cc", + "optimizing/instruction_simplifier_x86.cc", + "optimizing/pc_relative_fixups_x86.cc", + "optimizing/x86_memory_gen.cc", + "utils/x86/assembler_x86.cc", + "utils/x86/jni_macro_assembler_x86.cc", + "utils/x86/managed_register_x86.cc", +] + +libart_compiler_codegen_x86_64 = [ + "jni/quick/x86_64/calling_convention_x86_64.cc", + "optimizing/intrinsics_x86_64.cc", + "optimizing/instruction_simplifier_x86_64.cc", + "optimizing/code_generator_x86_64.cc", + "optimizing/code_generator_vector_x86_64.cc", + "utils/x86_64/assembler_x86_64.cc", + "utils/x86_64/jni_macro_assembler_x86_64.cc", + "utils/x86_64/managed_register_x86_64.cc", +] + +cc_defaults { name: "libart-compiler-defaults", defaults: ["art_defaults"], host_supported: true, @@ -98,70 +157,28 @@ art_cc_defaults { "compiler.cc", ], - codegen: { - arm: { - srcs: [ - "jni/quick/arm/calling_convention_arm.cc", - "optimizing/code_generator_arm_vixl.cc", - "optimizing/code_generator_vector_arm_vixl.cc", - "optimizing/critical_native_abi_fixup_arm.cc", - "optimizing/instruction_simplifier_arm.cc", - "optimizing/instruction_simplifier_shared.cc", - "optimizing/intrinsics_arm_vixl.cc", - "optimizing/nodes_shared.cc", - "optimizing/scheduler_arm.cc", - "utils/arm/assembler_arm_vixl.cc", - "utils/arm/constants_arm.cc", - "utils/arm/jni_macro_assembler_arm_vixl.cc", - "utils/arm/managed_register_arm.cc", - ], + target: { + host: { + srcs: libart_compiler_codegen_arm + + libart_compiler_codegen_arm64 + + libart_compiler_codegen_riscv64 + + libart_compiler_codegen_x86 + + libart_compiler_codegen_x86_64, }, - arm64: { - srcs: [ - "jni/quick/arm64/calling_convention_arm64.cc", - "optimizing/code_generator_arm64.cc", - "optimizing/code_generator_vector_arm64_neon.cc", - "optimizing/code_generator_vector_arm64_sve.cc", - "optimizing/scheduler_arm64.cc", - "optimizing/instruction_simplifier_arm64.cc", - "optimizing/intrinsics_arm64.cc", - "utils/arm64/assembler_arm64.cc", - "utils/arm64/jni_macro_assembler_arm64.cc", - "utils/arm64/managed_register_arm64.cc", - ], + android_arm: { + srcs: libart_compiler_codegen_arm, }, - riscv64: { - srcs: [ - "utils/riscv64/assembler_riscv64.cc", - "utils/riscv64/managed_register_riscv64.cc", - ], + android_arm64: { + srcs: libart_compiler_codegen_arm + libart_compiler_codegen_arm64, }, - x86: { - srcs: [ - "jni/quick/x86/calling_convention_x86.cc", - "optimizing/code_generator_x86.cc", - "optimizing/code_generator_vector_x86.cc", - "optimizing/intrinsics_x86.cc", - "optimizing/instruction_simplifier_x86_shared.cc", - "optimizing/instruction_simplifier_x86.cc", - "optimizing/pc_relative_fixups_x86.cc", - "optimizing/x86_memory_gen.cc", - "utils/x86/assembler_x86.cc", - "utils/x86/jni_macro_assembler_x86.cc", - "utils/x86/managed_register_x86.cc", - ], + android_riscv64: { + srcs: libart_compiler_codegen_riscv64, }, - x86_64: { - srcs: [ - "jni/quick/x86_64/calling_convention_x86_64.cc", - "optimizing/intrinsics_x86_64.cc", - "optimizing/instruction_simplifier_x86_64.cc", - "optimizing/code_generator_x86_64.cc", - "optimizing/code_generator_vector_x86_64.cc", - "utils/x86_64/assembler_x86_64.cc", - "utils/x86_64/jni_macro_assembler_x86_64.cc", - "utils/x86_64/managed_register_x86_64.cc", - ], + android_x86: { + srcs: libart_compiler_codegen_x86, + }, + android_x86_64: { + srcs: libart_compiler_codegen_x86 + libart_compiler_codegen_x86_64, }, }, static: { @@ -212,14 +229,25 @@ art_cc_library { "dex2oat-pgo-defaults", "art_hugepage_defaults", ], - codegen: { - arm: { + target: { + host: { // VIXL assembly support for ARM targets. static_libs: [ "libvixl", ], }, - arm64: { + android: { + lto: { + thin: true, + }, + }, + android_arm: { + // VIXL assembly support for ARM targets. + static_libs: [ + "libvixl", + ], + }, + android_arm64: { // VIXL assembly support for ARM64 targets. static_libs: [ "libvixl", @@ -240,13 +268,6 @@ art_cc_library { "libart-disassembler", ], - target: { - android: { - lto: { - thin: true, - }, - }, - }, apex_available: [ "com.android.art", "com.android.art.debug", @@ -273,8 +294,18 @@ art_cc_library { "art_debug_defaults", "libart-compiler-defaults", ], - codegen: { - arm: { + target: { + host: { + // VIXL assembly support for ARM targets. + static_libs: [ + "libvixld", + ], + // Export vixl headers as they are included in this library's headers used by tests. + export_static_lib_headers: [ + "libvixld", + ], + }, + android_arm: { // VIXL assembly support for ARM targets. static_libs: [ "libvixld", @@ -284,7 +315,7 @@ art_cc_library { "libvixld", ], }, - arm64: { + android_arm64: { // VIXL assembly support for ARM64 targets. static_libs: [ "libvixld", @@ -332,7 +363,7 @@ cc_defaults { } // Properties common to `libart-compiler-gtest` and `libartd-compiler-gtest`. -art_cc_defaults { +cc_defaults { name: "libart-compiler-gtest-common", srcs: [ "common_compiler_test.cc", @@ -370,7 +401,7 @@ art_cc_library { ], } -art_cc_defaults { +cc_defaults { name: "art_compiler_tests_defaults", data: [ ":art-gtest-jars-ExceptionHandle", @@ -437,23 +468,40 @@ art_cc_defaults { "optimizing/scheduler_test.cc", ], - codegen: { - arm: { + target: { + host: { + srcs: [ + "utils/arm/managed_register_arm_test.cc", + "utils/arm64/managed_register_arm64_test.cc", + "utils/riscv64/managed_register_riscv64_test.cc", + "utils/x86/managed_register_x86_test.cc", + // This test is testing architecture-independent functionality, + // but happens to use x86 codegen as part of the test. + "optimizing/register_allocator_test.cc", + // Is this test a bit-rotten copy of the x86 test? b/77951326 + // "utils/x86_64/managed_register_x86_64_test.cc", + ], + shared_libs: [ + "libartd-simulator", + ], + }, + android_arm: { srcs: [ "utils/arm/managed_register_arm_test.cc", ], }, - arm64: { + android_arm64: { srcs: [ + "utils/arm/managed_register_arm_test.cc", "utils/arm64/managed_register_arm64_test.cc", ], }, - riscv64: { + android_riscv64: { srcs: [ "utils/riscv64/managed_register_riscv64_test.cc", ], }, - x86: { + android_x86: { srcs: [ "utils/x86/managed_register_x86_test.cc", @@ -462,8 +510,14 @@ art_cc_defaults { "optimizing/register_allocator_test.cc", ], }, - x86_64: { + android_x86_64: { srcs: [ + "utils/x86/managed_register_x86_test.cc", + + // This test is testing architecture-independent functionality, + // but happens to use x86 codegen as part of the test. + "optimizing/register_allocator_test.cc", + // Is this test a bit-rotten copy of the x86 test? b/77951326 // "utils/x86_64/managed_register_x86_64_test.cc", ], @@ -479,14 +533,6 @@ art_cc_defaults { "libnativeloader", "libunwindstack", ], - - target: { - host: { - shared_libs: [ - "libartd-simulator", - ], - }, - }, } // Version of ART gtest `art_compiler_tests` bundled with the ART APEX on target. @@ -546,24 +592,38 @@ art_cc_test { "utils/x86/assembler_x86_test.cc", "utils/x86_64/assembler_x86_64_test.cc", ], - codegen: { - arm: { + target: { + host: { + srcs: [ + "utils/assembler_thumb_test.cc", + "utils/riscv64/assembler_riscv64_test.cc", + "utils/x86/assembler_x86_test.cc", + "utils/x86_64/assembler_x86_64_test.cc", + ], + }, + android_arm: { + srcs: [ + "utils/assembler_thumb_test.cc", + ], + }, + android_arm64: { srcs: [ "utils/assembler_thumb_test.cc", ], }, - riscv64 : { + android_riscv64: { srcs: [ "utils/riscv64/assembler_riscv64_test.cc", ], }, - x86: { + android_x86: { srcs: [ "utils/x86/assembler_x86_test.cc", ], }, - x86_64: { + android_x86_64: { srcs: [ + "utils/x86/assembler_x86_test.cc", "utils/x86_64/assembler_x86_64_test.cc", ], }, diff --git a/dex2oat/Android.bp b/dex2oat/Android.bp index 7341774889..9589b5d86b 100644 --- a/dex2oat/Android.bp +++ b/dex2oat/Android.bp @@ -23,7 +23,7 @@ package { default_applicable_licenses: ["art_license"], } -art_cc_defaults { +cc_defaults { name: "libart-dex2oat-defaults", defaults: ["art_defaults"], host_supported: true, @@ -43,26 +43,40 @@ art_cc_defaults { "utils/swap_space.cc", ], - codegen: { - arm: { + target: { + host: { + srcs: [ + "linker/arm/relative_patcher_arm_base.cc", + "linker/arm/relative_patcher_thumb2.cc", + "linker/arm64/relative_patcher_arm64.cc", + "linker/x86/relative_patcher_x86.cc", + "linker/x86/relative_patcher_x86_base.cc", + "linker/x86_64/relative_patcher_x86_64.cc", + ], + }, + android_arm: { srcs: [ "linker/arm/relative_patcher_arm_base.cc", "linker/arm/relative_patcher_thumb2.cc", ], }, - arm64: { + android_arm64: { srcs: [ + "linker/arm/relative_patcher_arm_base.cc", + "linker/arm/relative_patcher_thumb2.cc", "linker/arm64/relative_patcher_arm64.cc", ], }, - x86: { + android_x86: { srcs: [ "linker/x86/relative_patcher_x86.cc", "linker/x86/relative_patcher_x86_base.cc", ], }, - x86_64: { + android_x86_64: { srcs: [ + "linker/x86/relative_patcher_x86.cc", + "linker/x86/relative_patcher_x86_base.cc", "linker/x86_64/relative_patcher_x86_64.cc", ], }, @@ -474,7 +488,7 @@ art_cc_library_static { ], } -art_cc_defaults { +cc_defaults { name: "art_dex2oat_tests_defaults", data: [ ":art-gtest-jars-AbstractMethod", @@ -527,30 +541,36 @@ art_cc_defaults { "verifier_deps_test.cc", "utils/swap_space_test.cc", ], + target: { host: { + srcs: [ + "linker/arm/relative_patcher_thumb2_test.cc", + "linker/arm64/relative_patcher_arm64_test.cc", + "linker/x86/relative_patcher_x86_test.cc", + "linker/x86_64/relative_patcher_x86_64_test.cc", + ], required: ["dex2oatd"], }, - }, - - codegen: { - arm: { + android_arm: { srcs: [ "linker/arm/relative_patcher_thumb2_test.cc", ], }, - arm64: { + android_arm64: { srcs: [ + "linker/arm/relative_patcher_thumb2_test.cc", "linker/arm64/relative_patcher_arm64_test.cc", ], }, - x86: { + android_x86: { srcs: [ "linker/x86/relative_patcher_x86_test.cc", ], }, - x86_64: { + android_x86_64: { srcs: [ + "linker/x86/relative_patcher_x86_test.cc", "linker/x86_64/relative_patcher_x86_64_test.cc", ], }, diff --git a/dexdump/Android.bp b/dexdump/Android.bp index da43fbe4f1..c5c9eca2b7 100644 --- a/dexdump/Android.bp +++ b/dexdump/Android.bp @@ -73,7 +73,7 @@ art_cc_binary { ], } -art_cc_defaults { +cc_defaults { name: "art_dexdump_tests_defaults", srcs: ["dexdump_test.cc"], target: { diff --git a/dexlayout/Android.bp b/dexlayout/Android.bp index ec7fdf6c79..d3faf05731 100644 --- a/dexlayout/Android.bp +++ b/dexlayout/Android.bp @@ -21,7 +21,7 @@ package { default_applicable_licenses: ["art_license"], } -art_cc_defaults { +cc_defaults { name: "libart-dexlayout-defaults", defaults: ["art_defaults"], host_supported: true, diff --git a/dexlist/Android.bp b/dexlist/Android.bp index 918fc68c01..1a1330f204 100644 --- a/dexlist/Android.bp +++ b/dexlist/Android.bp @@ -58,7 +58,7 @@ art_cc_binary { }, } -art_cc_defaults { +cc_defaults { name: "art_dexlist_tests_defaults", srcs: ["dexlist_test.cc"], target: { diff --git a/dexoptanalyzer/Android.bp b/dexoptanalyzer/Android.bp index 82f0c1a70f..4743b8f3c6 100644 --- a/dexoptanalyzer/Android.bp +++ b/dexoptanalyzer/Android.bp @@ -81,7 +81,7 @@ art_cc_binary { ], } -art_cc_defaults { +cc_defaults { name: "art_dexoptanalyzer_tests_defaults", static_libs: [ "libziparchive", diff --git a/disassembler/Android.bp b/disassembler/Android.bp index b7f758ffdc..c16ee39799 100644 --- a/disassembler/Android.bp +++ b/disassembler/Android.bp @@ -23,25 +23,41 @@ package { default_applicable_licenses: ["art_license"], } -art_cc_defaults { +cc_defaults { name: "libart-disassembler-defaults", defaults: ["art_defaults"], host_supported: true, srcs: [ "disassembler.cc", ], - codegen: { - arm: { - srcs: ["disassembler_arm.cc"], + target: { + host: { + srcs: [ + "disassembler_arm.cc", + "disassembler_arm64.cc", + "disassembler_x86.cc", + ], }, - arm64: { - srcs: ["disassembler_arm64.cc"], + android_arm: { + srcs: [ + "disassembler_arm.cc", + ], + }, + android_arm64: { + srcs: [ + "disassembler_arm.cc", + "disassembler_arm64.cc", + ], }, - x86: { - srcs: ["disassembler_x86.cc"], + android_x86: { + srcs: [ + "disassembler_x86.cc", + ], }, - x86_64: { - srcs: ["disassembler_x86.cc"], + android_x86_64: { + srcs: [ + "disassembler_x86.cc", + ], }, }, shared_libs: [ @@ -56,14 +72,20 @@ art_cc_defaults { art_cc_library { name: "libart-disassembler", defaults: ["libart-disassembler-defaults"], - codegen: { - arm: { + target: { + host: { + static_libs: [ + // For disassembler_arm*. + "libvixl", + ], + }, + android_arm: { static_libs: [ // For disassembler_arm*. "libvixl", ], }, - arm64: { + android_arm64: { static_libs: [ // For disassembler_arm*. "libvixl", @@ -90,14 +112,20 @@ art_cc_library { "art_debug_defaults", "libart-disassembler-defaults", ], - codegen: { - arm: { + target: { + host: { + static_libs: [ + // For disassembler_arm*. + "libvixld", + ], + }, + android_arm: { static_libs: [ // For disassembler_arm*. "libvixld", ], }, - arm64: { + android_arm64: { static_libs: [ // For disassembler_arm*. "libvixld", @@ -132,10 +160,13 @@ cc_library_headers { ], } -art_cc_defaults { +cc_defaults { name: "art_disassembler_tests_defaults", - codegen: { - arm64: { + target: { + host: { + srcs: ["disassembler_arm64_test.cc"], + }, + android_arm64: { srcs: ["disassembler_arm64_test.cc"], }, }, diff --git a/libartbase/Android.bp b/libartbase/Android.bp index 84b797b32a..44d6451944 100644 --- a/libartbase/Android.bp +++ b/libartbase/Android.bp @@ -248,7 +248,7 @@ art_cc_library { }, } -art_cc_defaults { +cc_defaults { name: "libartbase-art-gtest-defaults", srcs: [ "base/common_art_test.cc", @@ -300,7 +300,7 @@ art_cc_library { ], } -art_cc_defaults { +cc_defaults { name: "libartbase-testing-defaults", defaults: [ "art_defaults", @@ -341,7 +341,7 @@ art_cc_library { ], } -art_cc_defaults { +cc_defaults { name: "art_libartbase_tests_defaults", tidy_timeout_srcs: [ "base/bit_utils_test.cc", diff --git a/libartpalette/Android.bp b/libartpalette/Android.bp index 9ac9091fae..57b5154782 100644 --- a/libartpalette/Android.bp +++ b/libartpalette/Android.bp @@ -108,7 +108,7 @@ art_cc_library { ], } -art_cc_defaults { +cc_defaults { name: "art_libartpalette_tests_defaults", srcs: ["apex/palette_test.cc"], shared_libs: [ diff --git a/libartservice/service/Android.bp b/libartservice/service/Android.bp index 97f928eec3..dbf0b153d6 100644 --- a/libartservice/service/Android.bp +++ b/libartservice/service/Android.bp @@ -86,7 +86,7 @@ java_sdk_library { jarjar_rules: "jarjar-rules.txt", } -art_cc_defaults { +cc_defaults { name: "art_libartservice_tests_defaults", defaults: ["libartservice_defaults"], srcs: [ diff --git a/libarttools/Android.bp b/libarttools/Android.bp index 087d928821..ce0bb2b2b1 100644 --- a/libarttools/Android.bp +++ b/libarttools/Android.bp @@ -53,7 +53,7 @@ cc_library { ], } -art_cc_defaults { +cc_defaults { name: "art_libarttools_tests_defaults", defaults: ["libarttools_defaults"], srcs: [ diff --git a/libdexfile/Android.bp b/libdexfile/Android.bp index 79dd10c2da..3caf61cd51 100644 --- a/libdexfile/Android.bp +++ b/libdexfile/Android.bp @@ -267,7 +267,7 @@ art_cc_library { ], } -art_cc_defaults { +cc_defaults { name: "art_libdexfile_tests_defaults", tidy_timeout_srcs: [ "dex/dex_file_verifier_test.cc", @@ -367,7 +367,7 @@ cc_library_headers { ], } -art_cc_defaults { +cc_defaults { name: "art_libdexfile_external_tests_defaults", defaults: [ "art_module_source_build_defaults", @@ -451,7 +451,7 @@ art_cc_library_static { ], } -art_cc_defaults { +cc_defaults { name: "art_libdexfile_support_tests_defaults", defaults: [ "art_module_source_build_defaults", diff --git a/libelffile/Android.bp b/libelffile/Android.bp index 82810684c8..9b7ebf3af7 100644 --- a/libelffile/Android.bp +++ b/libelffile/Android.bp @@ -23,7 +23,7 @@ package { default_applicable_licenses: ["art_license"], } -art_cc_defaults { +cc_defaults { name: "libelffile-defaults", defaults: ["art_defaults"], host_supported: true, diff --git a/libprofile/Android.bp b/libprofile/Android.bp index beae8a9863..5d52d6bc0f 100644 --- a/libprofile/Android.bp +++ b/libprofile/Android.bp @@ -177,7 +177,7 @@ art_cc_library { // For now many of these tests still use CommonRuntimeTest, almost universally because of // ScratchFile and related. // TODO: Remove CommonRuntimeTest dependency from these tests. -art_cc_defaults { +cc_defaults { name: "art_libprofile_tests_defaults", data: [ ":art-gtest-jars-ManyMethods", diff --git a/oatdump/Android.bp b/oatdump/Android.bp index dacd647e56..16b386d6de 100644 --- a/oatdump/Android.bp +++ b/oatdump/Android.bp @@ -202,7 +202,7 @@ art_cc_binary { ], } -art_cc_defaults { +cc_defaults { name: "art_oatdump_tests_defaults", data: [ ":art-gtest-jars-ProfileTestMultiDex", diff --git a/odrefresh/Android.bp b/odrefresh/Android.bp index 809e18d2bb..62bb1e7344 100644 --- a/odrefresh/Android.bp +++ b/odrefresh/Android.bp @@ -180,7 +180,7 @@ cc_library_static { ], } -art_cc_defaults { +cc_defaults { name: "art_odrefresh_tests_defaults", defaults: ["odrefresh-defaults"], header_libs: ["odrefresh_headers"], diff --git a/profman/Android.bp b/profman/Android.bp index ac80641fae..184f5516df 100644 --- a/profman/Android.bp +++ b/profman/Android.bp @@ -181,7 +181,7 @@ cc_library_headers { ], } -art_cc_defaults { +cc_defaults { name: "art_profman_tests_defaults", data: [ ":art-gtest-jars-ProfileTestMultiDex", diff --git a/runtime/Android.bp b/runtime/Android.bp index 1d42ccdd1e..a3609f0cee 100644 --- a/runtime/Android.bp +++ b/runtime/Android.bp @@ -633,7 +633,7 @@ gensrcs { // they are used to cross compile for the target. // Properties common to `libart` and `libart-broken`. -art_cc_defaults { +cc_defaults { name: "libart_common_defaults", defaults: [ "libart_defaults", @@ -726,7 +726,7 @@ art_cc_library { ], } -art_cc_defaults { +cc_defaults { name: "libart-runtime-gtest-defaults", target: { host: { @@ -780,7 +780,7 @@ art_cc_library { ], } -art_cc_defaults { +cc_defaults { name: "art_runtime_tests_defaults", target: { host: { diff --git a/sigchainlib/Android.bp b/sigchainlib/Android.bp index 68dec35d1e..bf6028e4f1 100644 --- a/sigchainlib/Android.bp +++ b/sigchainlib/Android.bp @@ -87,7 +87,7 @@ cc_library_static { export_include_dirs: ["."], } -art_cc_defaults { +cc_defaults { name: "art_sigchain_tests_defaults", srcs: ["sigchain_test.cc"], shared_libs: ["libsigchain"], diff --git a/test/Android.bp b/test/Android.bp index 6bc59904d0..7df766a006 100644 --- a/test/Android.bp +++ b/test/Android.bp @@ -118,7 +118,7 @@ art_module_cc_defaults { // // Currently this only works for run tests where run-test-jar sets // LD_LIBRARY_PATH and NATIVELOADER_DEFAULT_NAMESPACE_LIBS. -art_cc_defaults { +cc_defaults { name: "art_test_internal_library_defaults", defaults: ["art_test_defaults"], target: { @@ -167,7 +167,7 @@ filegroup { srcs: ["art-gtests-target-standalone-with-boot-image-template.xml"], } -art_cc_defaults { +cc_defaults { name: "art_standalone_test_defaults", defaults: [ "art_test_common_defaults", @@ -198,7 +198,7 @@ art_cc_defaults { } // Properties common to `art_gtest_defaults` and `art_standalone_gtest_defaults`. -art_cc_defaults { +cc_defaults { name: "art_gtest_common_defaults", // These really are gtests, but the gtest library comes from `libart(d)-gtest.so`. gtest: false, @@ -238,7 +238,7 @@ art_cc_defaults { }, } -art_cc_defaults { +cc_defaults { name: "art_gtest_defaults", defaults: [ "art_test_defaults", @@ -275,7 +275,7 @@ art_cc_defaults { ], } -art_cc_defaults { +cc_defaults { name: "art_standalone_gtest_defaults", defaults: [ // Note: We don't include "art_debug_defaults" here, as standalone ART @@ -344,7 +344,7 @@ art_cc_defaults { } // Properties common to `libart-gtest-defaults` and `libartd-gtest-defaults`. -art_cc_defaults { +cc_defaults { name: "libart-gtest-common-defaults", defaults: [ "art_defaults", @@ -391,7 +391,7 @@ art_cc_defaults { ], } -art_cc_defaults { +cc_defaults { name: "libart-gtest-defaults", defaults: [ "libart-gtest-common-defaults", @@ -405,7 +405,7 @@ art_cc_defaults { ], } -art_cc_defaults { +cc_defaults { name: "libartd-gtest-defaults", defaults: [ "art_debug_defaults", @@ -421,7 +421,7 @@ art_cc_defaults { } // Properties common to `libart-gtest` and `libartd-gtest`. -art_cc_defaults { +cc_defaults { name: "libart-gtest-common", defaults: [ "art_defaults", @@ -593,7 +593,7 @@ art_cc_test_library { ], } -art_cc_defaults { +cc_defaults { name: "libnativebridgetest-defaults", defaults: ["art_test_defaults"], header_libs: ["libnativebridge-headers"], @@ -656,7 +656,7 @@ art_cc_test_library { ], } -art_cc_defaults { +cc_defaults { name: "libtiagent-base-defaults", defaults: ["art_test_internal_library_defaults"], srcs: [ @@ -752,7 +752,7 @@ art_cc_defaults { "2005-pause-all-redefine-multithreaded/pause-all.cc", "2009-structural-local-ref/local-ref.cc", "2035-structural-native-method/structural-native.cc", - "2243-single-step-default/single_step_helper.cc" + "2243-single-step-default/single_step_helper.cc", ], // Use NDK-compatible headers for ctstiagent. header_libs: [ @@ -761,7 +761,7 @@ art_cc_defaults { local_include_dirs: ["ti-agent"], } -art_cc_defaults { +cc_defaults { name: "libtiagent-defaults", defaults: [ "libtiagent-base-defaults", @@ -854,7 +854,7 @@ cc_library_static { export_include_dirs: ["ti-agent"], } -art_cc_defaults { +cc_defaults { name: "libtistress-srcs", defaults: ["libartagent-defaults"], srcs: [ @@ -863,7 +863,7 @@ art_cc_defaults { header_libs: ["libopenjdkjvmti_headers"], } -art_cc_defaults { +cc_defaults { name: "libtistress-defaults", defaults: ["libtistress-srcs"], shared_libs: [ @@ -893,7 +893,7 @@ art_cc_test_library { ], } -art_cc_defaults { +cc_defaults { name: "libtistress-shared-defaults", defaults: [ "libtistress-srcs", @@ -990,7 +990,7 @@ cc_defaults { "2037-thread-name-inherit/thread_name_inherit.cc", "2040-huge-native-alloc/huge_native_buf.cc", "2235-JdkUnsafeTest/unsafe_test.cc", - "2262-miranda-methods/jni_invoke.cc", + "2262-miranda-methods/jni_invoke.cc", "common/runtime_state.cc", "common/stack_inspect.cc", ], diff --git a/tools/art_verifier/Android.bp b/tools/art_verifier/Android.bp index 5d19215f8a..07382b9cb0 100644 --- a/tools/art_verifier/Android.bp +++ b/tools/art_verifier/Android.bp @@ -23,7 +23,7 @@ package { default_applicable_licenses: ["art_license"], } -art_cc_defaults { +cc_defaults { name: "art_verifier-defaults", defaults: [ "art_defaults", |