cc: remove --fix-cortex-a8 from non-Cortex A8 devcies
Pass --fix-cortex-a8 only on Cortex A8 and generic ARM builds, and
pass --no-fix-cortex-a8 on everything else.
Change-Id: I4b12afee4de443b5d55df66be3c6a05251715e31
diff --git a/cc/arm_device.go b/cc/arm_device.go
index 7d65e86..641f96e 100644
--- a/cc/arm_device.go
+++ b/cc/arm_device.go
@@ -88,12 +88,6 @@
},
}
- armArchVariantLdflags = map[string][]string{
- "armv7-a": []string{
- "-Wl,--fix-cortex-a8",
- },
- }
-
armCpuVariantCflags = map[string][]string{
"cortex-a7": []string{
"-mcpu=cortex-a7",
@@ -158,9 +152,6 @@
pctx.StaticVariable("armArmv7ACflags", strings.Join(armArchVariantCflags["armv7-a"], " "))
pctx.StaticVariable("armArmv7ANeonCflags", strings.Join(armArchVariantCflags["armv7-a-neon"], " "))
- // Architecture variant ldflags
- pctx.StaticVariable("armArmv7ALdflags", strings.Join(armArchVariantLdflags["armv7-a"], " "))
-
// Cpu variant cflags
pctx.StaticVariable("armCortexA7Cflags", strings.Join(armCpuVariantCflags["cortex-a7"], " "))
pctx.StaticVariable("armCortexA8Cflags", strings.Join(armCpuVariantCflags["cortex-a8"], " "))
@@ -197,11 +188,6 @@
"armv7-a-neon": "${armArmv7ANeonCflags}",
}
- armArchVariantLdflagsVar = map[string]string{
- "armv7-a": "${armArmv7ALdflags}",
- "armv7-a-neon": "${armArmv7ALdflags}",
- }
-
armCpuVariantCflagsVar = map[string]string{
"": "",
"cortex-a7": "${armCortexA7Cflags}",
@@ -292,6 +278,15 @@
}
func armToolchainFactory(archVariant string, cpuVariant string) Toolchain {
+ var fixCortexA8 string
+ switch cpuVariant {
+ case "cortex-a8", "":
+ // Generic ARM might be a Cortex A8 -- better safe than sorry
+ fixCortexA8 = "-Wl,--fix-cortex-a8"
+ default:
+ fixCortexA8 = "-Wl,--no-fix-cortex-a8"
+ }
+
return &toolchainArm{
cflags: strings.Join([]string{
"${armCflags}",
@@ -300,7 +295,7 @@
}, " "),
ldflags: strings.Join([]string{
"${armLdflags}",
- armArchVariantLdflagsVar[archVariant],
+ fixCortexA8,
}, " "),
clangCflags: strings.Join([]string{
"${armClangCflags}",