Loading android/arch_list.go +1 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ var archVariants = map[ArchType][]string{ "armv8-2a", "armv8-2a-dotprod", "armv9-a", "armv9-2a", }, X86: { "amberlake", Loading cc/config/arm64_device.go +7 −23 Original line number Diff line number Diff line Loading @@ -118,11 +118,9 @@ func init() { pctx.StaticVariable("Arm64Cppflags", strings.Join(arm64Cppflags, " ")) pctx.StaticVariable("Arm64Armv8ACflags", strings.Join(arm64ArchVariantCflags["armv8-a"], " ")) pctx.StaticVariable("Arm64Armv8ABranchProtCflags", strings.Join(arm64ArchVariantCflags["armv8-a-branchprot"], " ")) pctx.StaticVariable("Arm64Armv82ACflags", strings.Join(arm64ArchVariantCflags["armv8-2a"], " ")) pctx.StaticVariable("Arm64Armv82ADotprodCflags", strings.Join(arm64ArchVariantCflags["armv8-2a-dotprod"], " ")) pctx.StaticVariable("Arm64Armv9ACflags", strings.Join(arm64ArchVariantCflags["armv9-a"], " ")) for variant, cflags := range arm64ArchVariantCflags { pctx.StaticVariable("Arm64"+variant+"VariantCflags", strings.Join(cflags, " ")) } pctx.StaticVariable("Arm64CortexA53Cflags", strings.Join(arm64CpuVariantCflags["cortex-a53"], " ")) pctx.StaticVariable("Arm64CortexA55Cflags", strings.Join(arm64CpuVariantCflags["cortex-a55"], " ")) Loading @@ -134,14 +132,6 @@ func init() { } var ( arm64ArchVariantCflagsVar = map[string]string{ "armv8-a": "${config.Arm64Armv8ACflags}", "armv8-a-branchprot": "${config.Arm64Armv8ABranchProtCflags}", "armv8-2a": "${config.Arm64Armv82ACflags}", "armv8-2a-dotprod": "${config.Arm64Armv82ADotprodCflags}", "armv9-a": "${config.Arm64Armv9ACflags}", } arm64CpuVariantCflagsVar = map[string]string{ "cortex-a53": "${config.Arm64CortexA53Cflags}", "cortex-a55": "${config.Arm64CortexA55Cflags}", Loading Loading @@ -211,18 +201,12 @@ func (toolchainArm64) LibclangRuntimeLibraryArch() string { } func arm64ToolchainFactory(arch android.Arch) Toolchain { switch arch.ArchVariant { case "armv8-a": case "armv8-a-branchprot": case "armv8-2a": case "armv8-2a-dotprod": case "armv9-a": // Nothing extra for armv8-a/armv8-2a default: panic(fmt.Sprintf("Unknown ARM architecture version: %q", arch.ArchVariant)) } toolchainCflags := []string{arm64ArchVariantCflagsVar[arch.ArchVariant]} // Error now rather than having a confusing Ninja error if _, ok := arm64ArchVariantCflags[arch.ArchVariant]; !ok { panic(fmt.Sprintf("Unknown ARM64 architecture version: %q", arch.ArchVariant)) } toolchainCflags := []string{"${config.Arm64" + arch.ArchVariant + "VariantCflags}"} toolchainCflags = append(toolchainCflags, variantOrDefault(arm64CpuVariantCflagsVar, arch.CpuVariant)) Loading cc/config/arm64_linux_host.go +2 −2 Original line number Diff line number Diff line Loading @@ -87,8 +87,8 @@ func (toolchainLinuxBionicArm64) CrtBeginSharedBinary() []string { } func linuxBionicArm64ToolchainFactory(arch android.Arch) Toolchain { archVariant := "armv8-a" // for host, default to armv8-a toolchainCflags := []string{arm64ArchVariantCflagsVar[archVariant]} // for host, default to armv8-a toolchainCflags := []string{"-march=armv8-a"} // We don't specify CPU architecture for host. Conservatively assume // the host CPU needs the fix Loading Loading
android/arch_list.go +1 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ var archVariants = map[ArchType][]string{ "armv8-2a", "armv8-2a-dotprod", "armv9-a", "armv9-2a", }, X86: { "amberlake", Loading
cc/config/arm64_device.go +7 −23 Original line number Diff line number Diff line Loading @@ -118,11 +118,9 @@ func init() { pctx.StaticVariable("Arm64Cppflags", strings.Join(arm64Cppflags, " ")) pctx.StaticVariable("Arm64Armv8ACflags", strings.Join(arm64ArchVariantCflags["armv8-a"], " ")) pctx.StaticVariable("Arm64Armv8ABranchProtCflags", strings.Join(arm64ArchVariantCflags["armv8-a-branchprot"], " ")) pctx.StaticVariable("Arm64Armv82ACflags", strings.Join(arm64ArchVariantCflags["armv8-2a"], " ")) pctx.StaticVariable("Arm64Armv82ADotprodCflags", strings.Join(arm64ArchVariantCflags["armv8-2a-dotprod"], " ")) pctx.StaticVariable("Arm64Armv9ACflags", strings.Join(arm64ArchVariantCflags["armv9-a"], " ")) for variant, cflags := range arm64ArchVariantCflags { pctx.StaticVariable("Arm64"+variant+"VariantCflags", strings.Join(cflags, " ")) } pctx.StaticVariable("Arm64CortexA53Cflags", strings.Join(arm64CpuVariantCflags["cortex-a53"], " ")) pctx.StaticVariable("Arm64CortexA55Cflags", strings.Join(arm64CpuVariantCflags["cortex-a55"], " ")) Loading @@ -134,14 +132,6 @@ func init() { } var ( arm64ArchVariantCflagsVar = map[string]string{ "armv8-a": "${config.Arm64Armv8ACflags}", "armv8-a-branchprot": "${config.Arm64Armv8ABranchProtCflags}", "armv8-2a": "${config.Arm64Armv82ACflags}", "armv8-2a-dotprod": "${config.Arm64Armv82ADotprodCflags}", "armv9-a": "${config.Arm64Armv9ACflags}", } arm64CpuVariantCflagsVar = map[string]string{ "cortex-a53": "${config.Arm64CortexA53Cflags}", "cortex-a55": "${config.Arm64CortexA55Cflags}", Loading Loading @@ -211,18 +201,12 @@ func (toolchainArm64) LibclangRuntimeLibraryArch() string { } func arm64ToolchainFactory(arch android.Arch) Toolchain { switch arch.ArchVariant { case "armv8-a": case "armv8-a-branchprot": case "armv8-2a": case "armv8-2a-dotprod": case "armv9-a": // Nothing extra for armv8-a/armv8-2a default: panic(fmt.Sprintf("Unknown ARM architecture version: %q", arch.ArchVariant)) } toolchainCflags := []string{arm64ArchVariantCflagsVar[arch.ArchVariant]} // Error now rather than having a confusing Ninja error if _, ok := arm64ArchVariantCflags[arch.ArchVariant]; !ok { panic(fmt.Sprintf("Unknown ARM64 architecture version: %q", arch.ArchVariant)) } toolchainCflags := []string{"${config.Arm64" + arch.ArchVariant + "VariantCflags}"} toolchainCflags = append(toolchainCflags, variantOrDefault(arm64CpuVariantCflagsVar, arch.CpuVariant)) Loading
cc/config/arm64_linux_host.go +2 −2 Original line number Diff line number Diff line Loading @@ -87,8 +87,8 @@ func (toolchainLinuxBionicArm64) CrtBeginSharedBinary() []string { } func linuxBionicArm64ToolchainFactory(arch android.Arch) Toolchain { archVariant := "armv8-a" // for host, default to armv8-a toolchainCflags := []string{arm64ArchVariantCflagsVar[archVariant]} // for host, default to armv8-a toolchainCflags := []string{"-march=armv8-a"} // We don't specify CPU architecture for host. Conservatively assume // the host CPU needs the fix Loading