aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot2018-05-16 02:26:29 -0500
committerandroid-build-team Robot2018-05-16 02:26:29 -0500
commit66f6672101ce3774c625358fdbb26813a25fa96f (patch)
treede510e98c210fd77e07739747121377a76ce2c66
parentd8bfb82b4291dd9e8c81b3d629137dca65f32cbc (diff)
parent79dff70b468b683fc23fb2e61107a9f69288fee4 (diff)
downloadplatform-build-soong-66f6672101ce3774c625358fdbb26813a25fa96f.tar.gz
platform-build-soong-66f6672101ce3774c625358fdbb26813a25fa96f.tar.xz
platform-build-soong-66f6672101ce3774c625358fdbb26813a25fa96f.zip
Snap for 4784261 from 79dff70b468b683fc23fb2e61107a9f69288fee4 to pi-release
Change-Id: I79bff8a73bf00f2d452c349f3e2aada915eef67c
-rw-r--r--cc/config/arm64_device.go19
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 (
39 arm64Ldflags = []string{ 39 arm64Ldflags = []string{
40 "-Wl,-m,aarch64_elf64_le_vec", 40 "-Wl,-m,aarch64_elf64_le_vec",
41 "-Wl,--hash-style=gnu", 41 "-Wl,--hash-style=gnu",
42 "-Wl,--fix-cortex-a53-843419",
43 "-fuse-ld=gold", 42 "-fuse-ld=gold",
44 "-Wl,--icf=safe", 43 "-Wl,--icf=safe",
45 } 44 }
@@ -172,6 +171,7 @@ var (
172type toolchainArm64 struct { 171type toolchainArm64 struct {
173 toolchain64Bit 172 toolchain64Bit
174 173
174 ldflags string
175 toolchainCflags string 175 toolchainCflags string
176 toolchainClangCflags string 176 toolchainClangCflags string
177} 177}
@@ -205,7 +205,7 @@ func (t *toolchainArm64) Cppflags() string {
205} 205}
206 206
207func (t *toolchainArm64) Ldflags() string { 207func (t *toolchainArm64) Ldflags() string {
208 return "${config.Arm64Ldflags}" 208 return t.ldflags
209} 209}
210 210
211func (t *toolchainArm64) IncludeFlags() string { 211func (t *toolchainArm64) IncludeFlags() string {
@@ -225,7 +225,7 @@ func (t *toolchainArm64) ClangCppflags() string {
225} 225}
226 226
227func (t *toolchainArm64) ClangLdflags() string { 227func (t *toolchainArm64) ClangLdflags() string {
228 return "${config.Arm64Ldflags}" 228 return t.ldflags
229} 229}
230 230
231func (t *toolchainArm64) ToolchainClangCflags() string { 231func (t *toolchainArm64) ToolchainClangCflags() string {
@@ -249,7 +249,20 @@ func arm64ToolchainFactory(arch android.Arch) Toolchain {
249 toolchainClangCflags = append(toolchainClangCflags, 249 toolchainClangCflags = append(toolchainClangCflags,
250 variantOrDefault(arm64ClangCpuVariantCflagsVar, arch.CpuVariant)) 250 variantOrDefault(arm64ClangCpuVariantCflagsVar, arch.CpuVariant))
251 251
252 var extraLdflags string
253 switch arch.CpuVariant {
254 case "cortex-a53", "cortex-a73", "kryo", "exynos-m1", "exynos-m2",
255 // This variant might not need the workaround but leave it
256 // in the list since it has had the workaround on before.
257 "denver64":
258 extraLdflags = "-Wl,--fix-cortex-a53-843419"
259 }
260
252 return &toolchainArm64{ 261 return &toolchainArm64{
262 ldflags: strings.Join([]string{
263 "${config.Arm64Ldflags}",
264 extraLdflags,
265 }, " "),
253 toolchainCflags: variantOrDefault(arm64CpuVariantCflagsVar, arch.CpuVariant), 266 toolchainCflags: variantOrDefault(arm64CpuVariantCflagsVar, arch.CpuVariant),
254 toolchainClangCflags: strings.Join(toolchainClangCflags, " "), 267 toolchainClangCflags: strings.Join(toolchainClangCflags, " "),
255 } 268 }