From 32645f219cb3d4588c1aefcf9c7db944aef6cd45 Mon Sep 17 00:00:00 2001 From: Cole Faust Date: Thu, 20 Apr 2023 15:46:49 -0700 Subject: Remove the codegen property The codegen property was very similar to the targets property, except: - on host it combined all the properties from all the arches - it would apply the properties from each arch branch if the device supported it, with the exception of always including a 32bit branch if the 64bit branch was included. For the most part, this could be expressed by using the regular `target` property in soong. However, the `target` branches are selected based on if the module itself is being compiled for 32bit/64bit/a particular arch, not if the device supports it or not. This means that after this change, compiling a module for 32 bit on a device that supports both 64 and 32 bit will not have the 64 bit flags. Note that the reverse does not work the same way, the 32 bit flags are manually copied onto the 64 bit `target` branch to maintain the plugin's old behavior of always including 32bit code on 64bit. Bug: 247785938 Test: Presubmits (because of the behavior change described above, the ninja files do have differences) Change-Id: I23f585c2a2ad2cbe9b3e212097aef88d63c5394b --- artd/Android.bp | 2 + build/Android.bp | 61 ++++++---- build/art.go | 20 +--- build/codegen.go | 239 ------------------------------------- cmdline/Android.bp | 2 +- compiler/Android.bp | 250 ++++++++++++++++++++++++--------------- dex2oat/Android.bp | 48 +++++--- dexdump/Android.bp | 2 +- dexlayout/Android.bp | 2 +- dexlist/Android.bp | 2 +- dexoptanalyzer/Android.bp | 2 +- disassembler/Android.bp | 69 ++++++++--- libartbase/Android.bp | 6 +- libartpalette/Android.bp | 2 +- libartservice/service/Android.bp | 2 +- libarttools/Android.bp | 2 +- libdexfile/Android.bp | 6 +- libelffile/Android.bp | 2 +- libprofile/Android.bp | 2 +- oatdump/Android.bp | 2 +- odrefresh/Android.bp | 2 +- profman/Android.bp | 2 +- runtime/Android.bp | 6 +- sigchainlib/Android.bp | 2 +- test/Android.bp | 34 +++--- tools/art_verifier/Android.bp | 2 +- 26 files changed, 320 insertions(+), 451 deletions(-) delete mode 100644 build/codegen.go 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_ 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", -- cgit v1.2.3-59-g8ed1b