diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2018-05-16 07:26:29 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-05-16 07:26:29 +0000 |
commit | 66f6672101ce3774c625358fdbb26813a25fa96f (patch) | |
tree | de510e98c210fd77e07739747121377a76ce2c66 | |
parent | d8bfb82b4291dd9e8c81b3d629137dca65f32cbc (diff) | |
parent | 79dff70b468b683fc23fb2e61107a9f69288fee4 (diff) | |
download | build_soong-66f6672101ce3774c625358fdbb26813a25fa96f.tar.gz build_soong-66f6672101ce3774c625358fdbb26813a25fa96f.tar.bz2 build_soong-66f6672101ce3774c625358fdbb26813a25fa96f.zip |
Snap for 4784261 from 79dff70b468b683fc23fb2e61107a9f69288fee4 to pi-release
Change-Id: I79bff8a73bf00f2d452c349f3e2aada915eef67c
-rw-r--r-- | cc/config/arm64_device.go | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/cc/config/arm64_device.go b/cc/config/arm64_device.go index c4426e31..b2b07648 100644 --- a/cc/config/arm64_device.go +++ b/cc/config/arm64_device.go @@ -39,7 +39,6 @@ var ( arm64Ldflags = []string{ "-Wl,-m,aarch64_elf64_le_vec", "-Wl,--hash-style=gnu", - "-Wl,--fix-cortex-a53-843419", "-fuse-ld=gold", "-Wl,--icf=safe", } @@ -172,6 +171,7 @@ var ( type toolchainArm64 struct { toolchain64Bit + ldflags string toolchainCflags string toolchainClangCflags string } @@ -205,7 +205,7 @@ func (t *toolchainArm64) Cppflags() string { } func (t *toolchainArm64) Ldflags() string { - return "${config.Arm64Ldflags}" + return t.ldflags } func (t *toolchainArm64) IncludeFlags() string { @@ -225,7 +225,7 @@ func (t *toolchainArm64) ClangCppflags() string { } func (t *toolchainArm64) ClangLdflags() string { - return "${config.Arm64Ldflags}" + return t.ldflags } func (t *toolchainArm64) ToolchainClangCflags() string { @@ -249,7 +249,20 @@ func arm64ToolchainFactory(arch android.Arch) Toolchain { toolchainClangCflags = append(toolchainClangCflags, variantOrDefault(arm64ClangCpuVariantCflagsVar, arch.CpuVariant)) + var extraLdflags string + switch arch.CpuVariant { + case "cortex-a53", "cortex-a73", "kryo", "exynos-m1", "exynos-m2", + // This variant might not need the workaround but leave it + // in the list since it has had the workaround on before. + "denver64": + extraLdflags = "-Wl,--fix-cortex-a53-843419" + } + return &toolchainArm64{ + ldflags: strings.Join([]string{ + "${config.Arm64Ldflags}", + extraLdflags, + }, " "), toolchainCflags: variantOrDefault(arm64CpuVariantCflagsVar, arch.CpuVariant), toolchainClangCflags: strings.Join(toolchainClangCflags, " "), } |