diff options
author | android-build-team Robot | 2018-05-16 02:26:29 -0500 |
---|---|---|
committer | android-build-team Robot | 2018-05-16 02:26:29 -0500 |
commit | 66f6672101ce3774c625358fdbb26813a25fa96f (patch) | |
tree | de510e98c210fd77e07739747121377a76ce2c66 | |
parent | d8bfb82b4291dd9e8c81b3d629137dca65f32cbc (diff) | |
parent | 79dff70b468b683fc23fb2e61107a9f69288fee4 (diff) | |
download | platform-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.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 ( | |||
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 ( | |||
172 | type toolchainArm64 struct { | 171 | type 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 | ||
207 | func (t *toolchainArm64) Ldflags() string { | 207 | func (t *toolchainArm64) Ldflags() string { |
208 | return "${config.Arm64Ldflags}" | 208 | return t.ldflags |
209 | } | 209 | } |
210 | 210 | ||
211 | func (t *toolchainArm64) IncludeFlags() string { | 211 | func (t *toolchainArm64) IncludeFlags() string { |
@@ -225,7 +225,7 @@ func (t *toolchainArm64) ClangCppflags() string { | |||
225 | } | 225 | } |
226 | 226 | ||
227 | func (t *toolchainArm64) ClangLdflags() string { | 227 | func (t *toolchainArm64) ClangLdflags() string { |
228 | return "${config.Arm64Ldflags}" | 228 | return t.ldflags |
229 | } | 229 | } |
230 | 230 | ||
231 | func (t *toolchainArm64) ToolchainClangCflags() string { | 231 | func (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 | } |