[meta-lsi] [PATCH 11/26] armv8a: Remove -march flag for specific cortex tunes

Daniel Dragomir daniel.dragomir at windriver.com
Fri Aug 5 08:33:34 PDT 2016


GCC component glibc-initial fails on configure task
if both flags -march and -mcpu are used. It seams
that there is a incompatibility in in GCC 5.2 between
those options and give this warning:
cc1: warning: switch -mcpu=cortex-a57 conflicts with -march=armv8-a switch

And the warning is the cause for the following error:
configure: error: compiler support for visibility attribute is required

The -march=armv8-a flag come from the generic armv8a
tune and  -mcpu=cortex-a57 come from the specific
cortex-a57 tune which inherit the generic one.

Also, add -mtune flag for each cortex specific tunes
to optain a better performance.

Signed-off-by: Daniel Dragomir <daniel.dragomir at windriver.com>
---
 conf/machine/include/arm/arch-armv8a.inc | 2 +-
 conf/machine/include/tune-cortexa53.inc  | 1 +
 conf/machine/include/tune-cortexa57.inc  | 1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/conf/machine/include/arm/arch-armv8a.inc b/conf/machine/include/arm/arch-armv8a.inc
index 2a7ea04..08dd544 100644
--- a/conf/machine/include/arm/arch-armv8a.inc
+++ b/conf/machine/include/arm/arch-armv8a.inc
@@ -10,7 +10,7 @@ require conf/machine/include/arm/feature-arm-thumb.inc
 
 TUNEVALID[crypto] = "Enable ARMv8 crypto extension."
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', bb.utils.contains('TUNE_FEATURES', 'crypto', ' -march=armv8-a+crypto', ' -march=armv8-a', d), '', d)}"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'aarch32', ' -march=armv8-a', '', d)}"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'aarch32', bb.utils.contains_any('TUNE_FEATURES', [ 'cortexa53', 'cortexa57' ], '', ' -march=armv8-a', d), '', d)}"
 
 TUNEVALID[fp-armv8] = "Enable ARMv8 Vector Floating Point unit."
 TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'fp-armv8', ' fp-armv8', '', d)}"
diff --git a/conf/machine/include/tune-cortexa53.inc b/conf/machine/include/tune-cortexa53.inc
index eb3dd9a..a8bde9c 100644
--- a/conf/machine/include/tune-cortexa53.inc
+++ b/conf/machine/include/tune-cortexa53.inc
@@ -2,6 +2,7 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 TUNEVALID[cortexa53] = "Enable Cortex-A53 specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa53', bb.utils.contains('TUNE_FEATURES', [ 'crypto', 'aarch64' ], ' -mcpu=cortex-a53+crypto', ' -mcpu=cortex-a53', d), '', d)}"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa53', ' -mtune=cortex-a53', '', d)}"
 
 # AArch64 Little Endian base configs
 AVAILTUNES += "cortexa53_64 cortexa53_64-crypto"
diff --git a/conf/machine/include/tune-cortexa57.inc b/conf/machine/include/tune-cortexa57.inc
index d2f7fb5..2e8b3ba 100644
--- a/conf/machine/include/tune-cortexa57.inc
+++ b/conf/machine/include/tune-cortexa57.inc
@@ -2,6 +2,7 @@ require conf/machine/include/arm/arch-armv8a.inc
 
 TUNEVALID[cortexa57] = "Enable Cortex-A57 specific processor optimizations"
 TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa57', bb.utils.contains('TUNE_FEATURES', [ 'crypto', 'aarch64' ], ' -mcpu=cortex-a57+crypto', ' -mcpu=cortex-a57', d), '', d)}"
+TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa57', ' -mtune=cortex-a57', '', d)}"
 
 # AArch64 Little Endian base configs
 AVAILTUNES += "cortexa57_64 cortexa57_64-crypto"
-- 
2.7.4



More information about the meta-lsi mailing list