diff --git a/cc/arm_device.go b/cc/arm_device.go index 7d65e8662..641f96e5c 100644 --- a/cc/arm_device.go +++ b/cc/arm_device.go @@ -88,12 +88,6 @@ var ( }, } - 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 @@ func init() { 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 @@ var ( "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 (t *toolchainArm) ClangLdflags() string { } 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 @@ func armToolchainFactory(archVariant string, cpuVariant string) Toolchain { }, " "), ldflags: strings.Join([]string{ "${armLdflags}", - armArchVariantLdflagsVar[archVariant], + fixCortexA8, }, " "), clangCflags: strings.Join([]string{ "${armClangCflags}",