summaryrefslogtreecommitdiffstats
path: root/core/combo/arch
diff options
context:
space:
mode:
authorBernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>2015-03-25 17:15:29 +0100
committerBernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>2015-03-25 17:21:02 +0100
commit4da707176bd554eeca183527b9260acb64ca9123 (patch)
tree4aea68c74765ac0fa40eb1937f6b82142e643c05 /core/combo/arch
parent5d60719e42fdc0d007920d946f1c1bb440cedab7 (diff)
downloadbuild-4da707176bd554eeca183527b9260acb64ca9123.zip
build-4da707176bd554eeca183527b9260acb64ca9123.tar.gz
build-4da707176bd554eeca183527b9260acb64ca9123.tar.bz2
Don't use -Wl,--fix-cortex-a8 for Cortex A7, A9, A15, Krait or Denver
-Wl,--fix-cortex-a8 is a workaround for an Erratum in Cortex-A8 processors. It slightly increases code size and decreases performance, and there's no point in using it on non-A8 CPUs. Instead of forcing it unconditionally, use it when targeting Cortex-A8 or generic armv7-a (which might or might not be A8). Change-Id: Ifa59765d380445237edccfe5440a67b3ba1e459a Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Diffstat (limited to 'core/combo/arch')
-rw-r--r--core/combo/arch/arm/armv7-a-neon.mk12
1 files changed, 9 insertions, 3 deletions
diff --git a/core/combo/arch/arm/armv7-a-neon.mk b/core/combo/arch/arm/armv7-a-neon.mk
index d535afc..99f17aa 100644
--- a/core/combo/arch/arm/armv7-a-neon.mk
+++ b/core/combo/arch/arm/armv7-a-neon.mk
@@ -16,14 +16,23 @@ ifneq (,$(filter cortex-a15 krait denver,$(TARGET_$(combo_2nd_arch_prefix)CPU_VA
# Fake an ARM compiler flag as these processors support LPAE which GCC/clang
# don't advertise.
arch_variant_cflags += -D__ARM_FEATURE_LPAE=1
+ arch_variant_ldflags := \
+ -Wl,--no-fix-cortex-a8
else
ifeq ($(strip $(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT)),cortex-a8)
arch_variant_cflags := -mcpu=cortex-a8
+ arch_variant_ldflags := \
+ -Wl,--fix-cortex-a8
else
ifeq ($(strip $(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT)),cortex-a7)
arch_variant_cflags := -mcpu=cortex-a7
+ arch_variant_ldflags := \
+ -Wl,--no-fix-cortex-a8
else
arch_variant_cflags := -march=armv7-a
+ # Generic ARM might be a Cortex A8 -- better safe than sorry
+ arch_variant_ldflags := \
+ -Wl,--fix-cortex-a8
endif
endif
endif
@@ -31,6 +40,3 @@ endif
arch_variant_cflags += \
-mfloat-abi=softfp \
-mfpu=neon
-
-arch_variant_ldflags := \
- -Wl,--fix-cortex-a8