From: Erik Gilling Date: Fri, 17 Jul 2009 22:57:10 +0000 (-0700) Subject: enable cortex branch predition errata workaround for armv7-a builds X-Git-Tag: android-x86-2.2~516^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=c12c5183792280f00739eff8b07f58d147a3c2e4;p=android-x86%2Fbuild.git enable cortex branch predition errata workaround for armv7-a builds Signed-off-by: Erik Gilling --- diff --git a/core/combo/arch/arm/armv7-a.mk b/core/combo/arch/arm/armv7-a.mk index ca309325c..7a3ecc4c8 100644 --- a/core/combo/arch/arm/armv7-a.mk +++ b/core/combo/arch/arm/armv7-a.mk @@ -17,3 +17,6 @@ arch_variant_cflags := \ -march=armv7-a \ -mfloat-abi=softfp \ -mfpu=neon + +arch_variant_ldflags := \ + -Wl,--fix-cortex-a8 \ No newline at end of file diff --git a/core/combo/linux-arm.mk b/core/combo/linux-arm.mk index ec786c01f..601135111 100644 --- a/core/combo/linux-arm.mk +++ b/core/combo/linux-arm.mk @@ -96,6 +96,9 @@ $(combo_target)GLOBAL_CFLAGS += \ -include $(android_config_h) \ -I $(arch_include_dir) +$(combo_target)GLOBAL_LDFLAGS += \ + $(arch_variant_ldflags) + # We only need thumb interworking in cases where thumb support # is available in the architecture, and just to be sure, (and # since sometimes thumb-interwork appears to be default), we @@ -177,6 +180,7 @@ $(TARGET_CXX) \ $(call normalize-target-libraries,$(PRIVATE_ALL_SHARED_LIBRARIES)) \ -o $@ \ $(PRIVATE_LDFLAGS) \ + $(TARGET_GLOBAL_LDFLAGS) \ $(TARGET_LIBGCC) endef @@ -193,6 +197,7 @@ $(TARGET_CXX) -nostdlib -Bdynamic -Wl,-T,$(BUILD_SYSTEM)/armelf.x \ $(PRIVATE_ALL_OBJECTS) \ $(call normalize-target-libraries,$(PRIVATE_ALL_STATIC_LIBRARIES)) \ $(PRIVATE_LDFLAGS) \ + $(TARGET_GLOBAL_LDFLAGS) \ $(TARGET_LIBGCC) \ $(TARGET_CRTEND_O) endef @@ -204,6 +209,7 @@ $(TARGET_CXX) -nostdlib -Bstatic -Wl,-T,$(BUILD_SYSTEM)/armelf.x \ $(TARGET_GLOBAL_LD_DIRS) \ $(TARGET_CRTBEGIN_STATIC_O) \ $(PRIVATE_LDFLAGS) \ + $(TARGET_GLOBAL_LDFLAGS) \ $(PRIVATE_ALL_OBJECTS) \ $(call normalize-target-libraries,$(PRIVATE_ALL_STATIC_LIBRARIES)) \ $(TARGET_LIBGCC) \ diff --git a/core/combo/select.mk b/core/combo/select.mk index 273b660d9..793b0a9dc 100644 --- a/core/combo/select.mk +++ b/core/combo/select.mk @@ -39,6 +39,7 @@ $(combo_target)HAVE_KERNEL_MODULES := 0 # These flags might (will) be overridden by the target makefiles $(combo_target)GLOBAL_CFLAGS := -fno-exceptions -Wno-multichar $(combo_target)RELEASE_CFLAGS := -O2 -g -fno-strict-aliasing +$(combo_target)GLOBAL_LDFLAGS := $(combo_target)GLOBAL_ARFLAGS := crs $(combo_target)EXECUTABLE_SUFFIX :=