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
This commit is contained in:
Colin Cross
2015-04-28 13:15:59 -07:00
parent e11befc4e4
commit c1e814dbf1

View File

@@ -88,12 +88,6 @@ var (
}, },
} }
armArchVariantLdflags = map[string][]string{
"armv7-a": []string{
"-Wl,--fix-cortex-a8",
},
}
armCpuVariantCflags = map[string][]string{ armCpuVariantCflags = map[string][]string{
"cortex-a7": []string{ "cortex-a7": []string{
"-mcpu=cortex-a7", "-mcpu=cortex-a7",
@@ -158,9 +152,6 @@ func init() {
pctx.StaticVariable("armArmv7ACflags", strings.Join(armArchVariantCflags["armv7-a"], " ")) pctx.StaticVariable("armArmv7ACflags", strings.Join(armArchVariantCflags["armv7-a"], " "))
pctx.StaticVariable("armArmv7ANeonCflags", strings.Join(armArchVariantCflags["armv7-a-neon"], " ")) pctx.StaticVariable("armArmv7ANeonCflags", strings.Join(armArchVariantCflags["armv7-a-neon"], " "))
// Architecture variant ldflags
pctx.StaticVariable("armArmv7ALdflags", strings.Join(armArchVariantLdflags["armv7-a"], " "))
// Cpu variant cflags // Cpu variant cflags
pctx.StaticVariable("armCortexA7Cflags", strings.Join(armCpuVariantCflags["cortex-a7"], " ")) pctx.StaticVariable("armCortexA7Cflags", strings.Join(armCpuVariantCflags["cortex-a7"], " "))
pctx.StaticVariable("armCortexA8Cflags", strings.Join(armCpuVariantCflags["cortex-a8"], " ")) pctx.StaticVariable("armCortexA8Cflags", strings.Join(armCpuVariantCflags["cortex-a8"], " "))
@@ -197,11 +188,6 @@ var (
"armv7-a-neon": "${armArmv7ANeonCflags}", "armv7-a-neon": "${armArmv7ANeonCflags}",
} }
armArchVariantLdflagsVar = map[string]string{
"armv7-a": "${armArmv7ALdflags}",
"armv7-a-neon": "${armArmv7ALdflags}",
}
armCpuVariantCflagsVar = map[string]string{ armCpuVariantCflagsVar = map[string]string{
"": "", "": "",
"cortex-a7": "${armCortexA7Cflags}", "cortex-a7": "${armCortexA7Cflags}",
@@ -292,6 +278,15 @@ func (t *toolchainArm) ClangLdflags() string {
} }
func armToolchainFactory(archVariant string, cpuVariant string) Toolchain { 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{ return &toolchainArm{
cflags: strings.Join([]string{ cflags: strings.Join([]string{
"${armCflags}", "${armCflags}",
@@ -300,7 +295,7 @@ func armToolchainFactory(archVariant string, cpuVariant string) Toolchain {
}, " "), }, " "),
ldflags: strings.Join([]string{ ldflags: strings.Join([]string{
"${armLdflags}", "${armLdflags}",
armArchVariantLdflagsVar[archVariant], fixCortexA8,
}, " "), }, " "),
clangCflags: strings.Join([]string{ clangCflags: strings.Join([]string{
"${armClangCflags}", "${armClangCflags}",