summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--artd/Android.bp2
-rw-r--r--build/Android.bp61
-rw-r--r--build/art.go20
-rw-r--r--build/codegen.go239
-rw-r--r--cmdline/Android.bp2
-rw-r--r--compiler/Android.bp250
-rw-r--r--dex2oat/Android.bp48
-rw-r--r--dexdump/Android.bp2
-rw-r--r--dexlayout/Android.bp2
-rw-r--r--dexlist/Android.bp2
-rw-r--r--dexoptanalyzer/Android.bp2
-rw-r--r--disassembler/Android.bp69
-rw-r--r--libartbase/Android.bp6
-rw-r--r--libartpalette/Android.bp2
-rw-r--r--libartservice/service/Android.bp2
-rw-r--r--libarttools/Android.bp2
-rw-r--r--libdexfile/Android.bp6
-rw-r--r--libelffile/Android.bp2
-rw-r--r--libprofile/Android.bp2
-rw-r--r--oatdump/Android.bp2
-rw-r--r--odrefresh/Android.bp2
-rw-r--r--profman/Android.bp2
-rw-r--r--runtime/Android.bp6
-rw-r--r--sigchainlib/Android.bp2
-rw-r--r--test/Android.bp34
-rw-r--r--tools/art_verifier/Android.bp2
26 files changed, 451 insertions, 320 deletions
diff --git a/artd/Android.bp b/artd/Android.bp
index 8f82216e10..af0430261d 100644
--- a/artd/Android.bp
+++ b/artd/Android.bp
@@ -68,8 +68,6 @@ 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 a17bc42145..4569b5523f 100644
--- a/build/Android.bp
+++ b/build/Android.bp
@@ -21,6 +21,7 @@ bootstrap_go_package {
],
srcs: [
"art.go",
+ "codegen.go",
"makevars.go",
],
pluginFor: ["soong_build"],
@@ -173,37 +174,13 @@ art_module_art_global_defaults {
},
target: {
- // 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: {
+ android: {
cflags: [
- "-DART_ENABLE_CODEGEN_x86",
- "-DART_ENABLE_CODEGEN_x86_64",
+ // To use oprofile_android --callgraph, uncomment this and recompile with
+ // mmma -j art
+ // "-fno-omit-frame-pointer",
+ // "-marm",
+ // "-mapcs",
],
},
linux: {
@@ -239,12 +216,6 @@ 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
@@ -268,6 +239,24 @@ 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 b82e974bd8..0e5c055d26 100644
--- a/build/art.go
+++ b/build/art.go
@@ -377,7 +377,7 @@ func artHostTestApexBundleFactory() android.Module {
}
func artGlobalDefaultsFactory() android.Module {
- module := cc.DefaultsFactory()
+ module := artDefaultsFactory()
android.AddLoadHook(module, addImplicitFlags)
android.AddLoadHook(module, globalDefaults)
@@ -385,11 +385,18 @@ func artGlobalDefaultsFactory() android.Module {
}
func artDefaultsFactory() android.Module {
- return cc.DefaultsFactory()
+ c := &codegenProperties{}
+ module := cc.DefaultsFactory(c)
+ android.AddLoadHook(module, func(ctx android.LoadHookContext) { codegen(ctx, c, staticAndSharedLibrary) })
+
+ return module
}
func artLibrary() android.Module {
module := cc.LibraryFactory()
+
+ installCodegenCustomizer(module, staticAndSharedLibrary)
+
android.AddLoadHook(module, addImplicitFlags)
android.AddInstallHook(module, addTestcasesFile)
return module
@@ -397,6 +404,9 @@ func artLibrary() android.Module {
func artStaticLibrary() android.Module {
module := cc.LibraryStaticFactory()
+
+ installCodegenCustomizer(module, staticLibrary)
+
android.AddLoadHook(module, addImplicitFlags)
return module
}
@@ -414,6 +424,9 @@ 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)
@@ -423,6 +436,9 @@ 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
new file mode 100644
index 0000000000..3cc51a8e1f
--- /dev/null
+++ b/build/codegen.go
@@ -0,0 +1,239 @@
+// 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 46ab8a61fc..91c8ccd8d1 100644
--- a/cmdline/Android.bp
+++ b/cmdline/Android.bp
@@ -36,7 +36,7 @@ cc_library_headers {
],
}
-cc_defaults {
+art_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 e1300ac612..ea45897a92 100644
--- a/compiler/Android.bp
+++ b/compiler/Android.bp
@@ -28,66 +28,7 @@ package {
default_applicable_licenses: ["art_license"],
}
-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 {
+art_cc_defaults {
name: "libart-compiler-defaults",
defaults: ["art_defaults"],
host_supported: true,
@@ -157,28 +98,70 @@ cc_defaults {
"compiler.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,
- },
- android_arm: {
- srcs: libart_compiler_codegen_arm,
+ 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",
+ ],
},
- android_arm64: {
- srcs: libart_compiler_codegen_arm + libart_compiler_codegen_arm64,
+ 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_riscv64: {
- srcs: libart_compiler_codegen_riscv64,
+ riscv64: {
+ srcs: [
+ "utils/riscv64/assembler_riscv64.cc",
+ "utils/riscv64/managed_register_riscv64.cc",
+ ],
},
- android_x86: {
- srcs: libart_compiler_codegen_x86,
+ 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_x86_64: {
- srcs: libart_compiler_codegen_x86 + libart_compiler_codegen_x86_64,
+ 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",
+ ],
},
},
static: {
@@ -229,25 +212,14 @@ art_cc_library {
"dex2oat-pgo-defaults",
"art_hugepage_defaults",
],
- target: {
- host: {
+ codegen: {
+ arm: {
// VIXL assembly support for ARM targets.
static_libs: [
"libvixl",
],
},
- android: {
- lto: {
- thin: true,
- },
- },
- android_arm: {
- // VIXL assembly support for ARM targets.
- static_libs: [
- "libvixl",
- ],
- },
- android_arm64: {
+ arm64: {
// VIXL assembly support for ARM64 targets.
static_libs: [
"libvixl",
@@ -268,6 +240,13 @@ art_cc_library {
"libart-disassembler",
],
+ target: {
+ android: {
+ lto: {
+ thin: true,
+ },
+ },
+ },
apex_available: [
"com.android.art",
"com.android.art.debug",
@@ -294,18 +273,8 @@ art_cc_library {
"art_debug_defaults",
"libart-compiler-defaults",
],
- 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: {
+ codegen: {
+ arm: {
// VIXL assembly support for ARM targets.
static_libs: [
"libvixld",
@@ -315,7 +284,7 @@ art_cc_library {
"libvixld",
],
},
- android_arm64: {
+ arm64: {
// VIXL assembly support for ARM64 targets.
static_libs: [
"libvixld",
@@ -363,7 +332,7 @@ cc_defaults {
}
// Properties common to `libart-compiler-gtest` and `libartd-compiler-gtest`.
-cc_defaults {
+art_cc_defaults {
name: "libart-compiler-gtest-common",
srcs: [
"common_compiler_test.cc",
@@ -401,7 +370,7 @@ art_cc_library {
],
}
-cc_defaults {
+art_cc_defaults {
name: "art_compiler_tests_defaults",
data: [
":art-gtest-jars-ExceptionHandle",
@@ -468,40 +437,23 @@ cc_defaults {
"optimizing/scheduler_test.cc",
],
- 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: {
+ codegen: {
+ arm: {
srcs: [
"utils/arm/managed_register_arm_test.cc",
],
},
- android_arm64: {
+ arm64: {
srcs: [
- "utils/arm/managed_register_arm_test.cc",
"utils/arm64/managed_register_arm64_test.cc",
],
},
- android_riscv64: {
+ riscv64: {
srcs: [
"utils/riscv64/managed_register_riscv64_test.cc",
],
},
- android_x86: {
+ x86: {
srcs: [
"utils/x86/managed_register_x86_test.cc",
@@ -510,14 +462,8 @@ cc_defaults {
"optimizing/register_allocator_test.cc",
],
},
- android_x86_64: {
+ 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",
],
@@ -533,6 +479,14 @@ cc_defaults {
"libnativeloader",
"libunwindstack",
],
+
+ target: {
+ host: {
+ shared_libs: [
+ "libartd-simulator",
+ ],
+ },
+ },
}
// Version of ART gtest `art_compiler_tests` bundled with the ART APEX on target.
@@ -592,38 +546,24 @@ art_cc_test {
"utils/x86/assembler_x86_test.cc",
"utils/x86_64/assembler_x86_64_test.cc",
],
- 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: {
+ codegen: {
+ arm: {
srcs: [
"utils/assembler_thumb_test.cc",
],
},
- android_riscv64: {
+ riscv64 : {
srcs: [
"utils/riscv64/assembler_riscv64_test.cc",
],
},
- android_x86: {
+ x86: {
srcs: [
"utils/x86/assembler_x86_test.cc",
],
},
- android_x86_64: {
+ 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 9589b5d86b..7341774889 100644
--- a/dex2oat/Android.bp
+++ b/dex2oat/Android.bp
@@ -23,7 +23,7 @@ package {
default_applicable_licenses: ["art_license"],
}
-cc_defaults {
+art_cc_defaults {
name: "libart-dex2oat-defaults",
defaults: ["art_defaults"],
host_supported: true,
@@ -43,40 +43,26 @@ cc_defaults {
"utils/swap_space.cc",
],
- 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: {
+ codegen: {
+ arm: {
srcs: [
"linker/arm/relative_patcher_arm_base.cc",
"linker/arm/relative_patcher_thumb2.cc",
],
},
- android_arm64: {
+ arm64: {
srcs: [
- "linker/arm/relative_patcher_arm_base.cc",
- "linker/arm/relative_patcher_thumb2.cc",
"linker/arm64/relative_patcher_arm64.cc",
],
},
- android_x86: {
+ x86: {
srcs: [
"linker/x86/relative_patcher_x86.cc",
"linker/x86/relative_patcher_x86_base.cc",
],
},
- android_x86_64: {
+ x86_64: {
srcs: [
- "linker/x86/relative_patcher_x86.cc",
- "linker/x86/relative_patcher_x86_base.cc",
"linker/x86_64/relative_patcher_x86_64.cc",
],
},
@@ -488,7 +474,7 @@ art_cc_library_static {
],
}
-cc_defaults {
+art_cc_defaults {
name: "art_dex2oat_tests_defaults",
data: [
":art-gtest-jars-AbstractMethod",
@@ -541,36 +527,30 @@ 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"],
},
- android_arm: {
+ },
+
+ codegen: {
+ arm: {
srcs: [
"linker/arm/relative_patcher_thumb2_test.cc",
],
},
- android_arm64: {
+ arm64: {
srcs: [
- "linker/arm/relative_patcher_thumb2_test.cc",
"linker/arm64/relative_patcher_arm64_test.cc",
],
},
- android_x86: {
+ x86: {
srcs: [
"linker/x86/relative_patcher_x86_test.cc",
],
},
- android_x86_64: {
+ 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 c5c9eca2b7..da43fbe4f1 100644
--- a/dexdump/Android.bp
+++ b/dexdump/Android.bp
@@ -73,7 +73,7 @@ art_cc_binary {
],
}
-cc_defaults {
+art_cc_defaults {
name: "art_dexdump_tests_defaults",
srcs: ["dexdump_test.cc"],
target: {
diff --git a/dexlayout/Android.bp b/dexlayout/Android.bp
index d3faf05731..ec7fdf6c79 100644
--- a/dexlayout/Android.bp
+++ b/dexlayout/Android.bp
@@ -21,7 +21,7 @@ package {
default_applicable_licenses: ["art_license"],
}
-cc_defaults {
+art_cc_defaults {
name: "libart-dexlayout-defaults",
defaults: ["art_defaults"],
host_supported: true,
diff --git a/dexlist/Android.bp b/dexlist/Android.bp
index 1a1330f204..918fc68c01 100644
--- a/dexlist/Android.bp
+++ b/dexlist/Android.bp
@@ -58,7 +58,7 @@ art_cc_binary {
},
}
-cc_defaults {
+art_cc_defaults {
name: "art_dexlist_tests_defaults",
srcs: ["dexlist_test.cc"],
target: {
diff --git a/dexoptanalyzer/Android.bp b/dexoptanalyzer/Android.bp
index 4743b8f3c6..82f0c1a70f 100644
--- a/dexoptanalyzer/Android.bp
+++ b/dexoptanalyzer/Android.bp
@@ -81,7 +81,7 @@ art_cc_binary {
],
}
-cc_defaults {
+art_cc_defaults {
name: "art_dexoptanalyzer_tests_defaults",
static_libs: [
"libziparchive",
diff --git a/disassembler/Android.bp b/disassembler/Android.bp
index c16ee39799..b7f758ffdc 100644
--- a/disassembler/Android.bp
+++ b/disassembler/Android.bp
@@ -23,41 +23,25 @@ package {
default_applicable_licenses: ["art_license"],
}
-cc_defaults {
+art_cc_defaults {
name: "libart-disassembler-defaults",
defaults: ["art_defaults"],
host_supported: true,
srcs: [
"disassembler.cc",
],
- target: {
- host: {
- srcs: [
- "disassembler_arm.cc",
- "disassembler_arm64.cc",
- "disassembler_x86.cc",
- ],
+ codegen: {
+ arm: {
+ srcs: ["disassembler_arm.cc"],
},
- android_arm: {
- srcs: [
- "disassembler_arm.cc",
- ],
- },
- android_arm64: {
- srcs: [
- "disassembler_arm.cc",
- "disassembler_arm64.cc",
- ],
+ arm64: {
+ srcs: ["disassembler_arm64.cc"],
},
- android_x86: {
- srcs: [
- "disassembler_x86.cc",
- ],
+ x86: {
+ srcs: ["disassembler_x86.cc"],
},
- android_x86_64: {
- srcs: [
- "disassembler_x86.cc",
- ],
+ x86_64: {
+ srcs: ["disassembler_x86.cc"],
},
},
shared_libs: [
@@ -72,20 +56,14 @@ cc_defaults {
art_cc_library {
name: "libart-disassembler",
defaults: ["libart-disassembler-defaults"],
- target: {
- host: {
- static_libs: [
- // For disassembler_arm*.
- "libvixl",
- ],
- },
- android_arm: {
+ codegen: {
+ arm: {
static_libs: [
// For disassembler_arm*.
"libvixl",
],
},
- android_arm64: {
+ arm64: {
static_libs: [
// For disassembler_arm*.
"libvixl",
@@ -112,20 +90,14 @@ art_cc_library {
"art_debug_defaults",
"libart-disassembler-defaults",
],
- target: {
- host: {
- static_libs: [
- // For disassembler_arm*.
- "libvixld",
- ],
- },
- android_arm: {
+ codegen: {
+ arm: {
static_libs: [
// For disassembler_arm*.
"libvixld",
],
},
- android_arm64: {
+ arm64: {
static_libs: [
// For disassembler_arm*.
"libvixld",
@@ -160,13 +132,10 @@ cc_library_headers {
],
}
-cc_defaults {
+art_cc_defaults {
name: "art_disassembler_tests_defaults",
- target: {
- host: {
- srcs: ["disassembler_arm64_test.cc"],
- },
- android_arm64: {
+ codegen: {
+ arm64: {
srcs: ["disassembler_arm64_test.cc"],
},
},
diff --git a/libartbase/Android.bp b/libartbase/Android.bp
index 44d6451944..84b797b32a 100644
--- a/libartbase/Android.bp
+++ b/libartbase/Android.bp
@@ -248,7 +248,7 @@ art_cc_library {
},
}
-cc_defaults {
+art_cc_defaults {
name: "libartbase-art-gtest-defaults",
srcs: [
"base/common_art_test.cc",
@@ -300,7 +300,7 @@ art_cc_library {
],
}
-cc_defaults {
+art_cc_defaults {
name: "libartbase-testing-defaults",
defaults: [
"art_defaults",
@@ -341,7 +341,7 @@ art_cc_library {
],
}
-cc_defaults {
+art_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 57b5154782..9ac9091fae 100644
--- a/libartpalette/Android.bp
+++ b/libartpalette/Android.bp
@@ -108,7 +108,7 @@ art_cc_library {
],
}
-cc_defaults {
+art_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 dbf0b153d6..97f928eec3 100644
--- a/libartservice/service/Android.bp
+++ b/libartservice/service/Android.bp
@@ -86,7 +86,7 @@ java_sdk_library {
jarjar_rules: "jarjar-rules.txt",
}
-cc_defaults {
+art_cc_defaults {
name: "art_libartservice_tests_defaults",
defaults: ["libartservice_defaults"],
srcs: [
diff --git a/libarttools/Android.bp b/libarttools/Android.bp
index ce0bb2b2b1..087d928821 100644
--- a/libarttools/Android.bp
+++ b/libarttools/Android.bp
@@ -53,7 +53,7 @@ cc_library {
],
}
-cc_defaults {
+art_cc_defaults {
name: "art_libarttools_tests_defaults",
defaults: ["libarttools_defaults"],
srcs: [
diff --git a/libdexfile/Android.bp b/libdexfile/Android.bp
index 3caf61cd51..79dd10c2da 100644
--- a/libdexfile/Android.bp
+++ b/libdexfile/Android.bp
@@ -267,7 +267,7 @@ art_cc_library {
],
}
-cc_defaults {
+art_cc_defaults {
name: "art_libdexfile_tests_defaults",
tidy_timeout_srcs: [
"dex/dex_file_verifier_test.cc",
@@ -367,7 +367,7 @@ cc_library_headers {
],
}
-cc_defaults {
+art_cc_defaults {
name: "art_libdexfile_external_tests_defaults",
defaults: [
"art_module_source_build_defaults",
@@ -451,7 +451,7 @@ art_cc_library_static {
],
}
-cc_defaults {
+art_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 9b7ebf3af7..82810684c8 100644
--- a/libelffile/Android.bp
+++ b/libelffile/Android.bp
@@ -23,7 +23,7 @@ package {
default_applicable_licenses: ["art_license"],
}
-cc_defaults {
+art_cc_defaults {
name: "libelffile-defaults",
defaults: ["art_defaults"],
host_supported: true,
diff --git a/libprofile/Android.bp b/libprofile/Android.bp
index 5d52d6bc0f..beae8a9863 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.
-cc_defaults {
+art_cc_defaults {
name: "art_libprofile_tests_defaults",
data: [
":art-gtest-jars-ManyMethods",
diff --git a/oatdump/Android.bp b/oatdump/Android.bp
index 16b386d6de..dacd647e56 100644
--- a/oatdump/Android.bp
+++ b/oatdump/Android.bp
@@ -202,7 +202,7 @@ art_cc_binary {
],
}
-cc_defaults {
+art_cc_defaults {
name: "art_oatdump_tests_defaults",
data: [
":art-gtest-jars-ProfileTestMultiDex",
diff --git a/odrefresh/Android.bp b/odrefresh/Android.bp
index 62bb1e7344..809e18d2bb 100644
--- a/odrefresh/Android.bp
+++ b/odrefresh/Android.bp
@@ -180,7 +180,7 @@ cc_library_static {
],
}
-cc_defaults {
+art_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 184f5516df..ac80641fae 100644
--- a/profman/Android.bp
+++ b/profman/Android.bp
@@ -181,7 +181,7 @@ cc_library_headers {
],
}
-cc_defaults {
+art_cc_defaults {
name: "art_profman_tests_defaults",
data: [
":art-gtest-jars-ProfileTestMultiDex",
diff --git a/runtime/Android.bp b/runtime/Android.bp
index a3609f0cee..1d42ccdd1e 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`.
-cc_defaults {
+art_cc_defaults {
name: "libart_common_defaults",
defaults: [
"libart_defaults",
@@ -726,7 +726,7 @@ art_cc_library {
],
}
-cc_defaults {
+art_cc_defaults {
name: "libart-runtime-gtest-defaults",
target: {
host: {
@@ -780,7 +780,7 @@ art_cc_library {
],
}
-cc_defaults {
+art_cc_defaults {
name: "art_runtime_tests_defaults",
target: {
host: {
diff --git a/sigchainlib/Android.bp b/sigchainlib/Android.bp
index bf6028e4f1..68dec35d1e 100644
--- a/sigchainlib/Android.bp
+++ b/sigchainlib/Android.bp
@@ -87,7 +87,7 @@ cc_library_static {
export_include_dirs: ["."],
}
-cc_defaults {
+art_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 7df766a006..6bc59904d0 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.
-cc_defaults {
+art_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"],
}
-cc_defaults {
+art_cc_defaults {
name: "art_standalone_test_defaults",
defaults: [
"art_test_common_defaults",
@@ -198,7 +198,7 @@ cc_defaults {
}
// Properties common to `art_gtest_defaults` and `art_standalone_gtest_defaults`.
-cc_defaults {
+art_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 @@ cc_defaults {
},
}
-cc_defaults {
+art_cc_defaults {
name: "art_gtest_defaults",
defaults: [
"art_test_defaults",
@@ -275,7 +275,7 @@ cc_defaults {
],
}
-cc_defaults {
+art_cc_defaults {
name: "art_standalone_gtest_defaults",
defaults: [
// Note: We don't include "art_debug_defaults" here, as standalone ART
@@ -344,7 +344,7 @@ cc_defaults {
}
// Properties common to `libart-gtest-defaults` and `libartd-gtest-defaults`.
-cc_defaults {
+art_cc_defaults {
name: "libart-gtest-common-defaults",
defaults: [
"art_defaults",
@@ -391,7 +391,7 @@ cc_defaults {
],
}
-cc_defaults {
+art_cc_defaults {
name: "libart-gtest-defaults",
defaults: [
"libart-gtest-common-defaults",
@@ -405,7 +405,7 @@ cc_defaults {
],
}
-cc_defaults {
+art_cc_defaults {
name: "libartd-gtest-defaults",
defaults: [
"art_debug_defaults",
@@ -421,7 +421,7 @@ cc_defaults {
}
// Properties common to `libart-gtest` and `libartd-gtest`.
-cc_defaults {
+art_cc_defaults {
name: "libart-gtest-common",
defaults: [
"art_defaults",
@@ -593,7 +593,7 @@ art_cc_test_library {
],
}
-cc_defaults {
+art_cc_defaults {
name: "libnativebridgetest-defaults",
defaults: ["art_test_defaults"],
header_libs: ["libnativebridge-headers"],
@@ -656,7 +656,7 @@ art_cc_test_library {
],
}
-cc_defaults {
+art_cc_defaults {
name: "libtiagent-base-defaults",
defaults: ["art_test_internal_library_defaults"],
srcs: [
@@ -752,7 +752,7 @@ 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 @@ cc_defaults {
local_include_dirs: ["ti-agent"],
}
-cc_defaults {
+art_cc_defaults {
name: "libtiagent-defaults",
defaults: [
"libtiagent-base-defaults",
@@ -854,7 +854,7 @@ cc_library_static {
export_include_dirs: ["ti-agent"],
}
-cc_defaults {
+art_cc_defaults {
name: "libtistress-srcs",
defaults: ["libartagent-defaults"],
srcs: [
@@ -863,7 +863,7 @@ cc_defaults {
header_libs: ["libopenjdkjvmti_headers"],
}
-cc_defaults {
+art_cc_defaults {
name: "libtistress-defaults",
defaults: ["libtistress-srcs"],
shared_libs: [
@@ -893,7 +893,7 @@ art_cc_test_library {
],
}
-cc_defaults {
+art_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 07382b9cb0..5d19215f8a 100644
--- a/tools/art_verifier/Android.bp
+++ b/tools/art_verifier/Android.bp
@@ -23,7 +23,7 @@ package {
default_applicable_licenses: ["art_license"],
}
-cc_defaults {
+art_cc_defaults {
name: "art_verifier-defaults",
defaults: [
"art_defaults",