path: root/meta/recipes-devtools/gcc/
diff options
authorAndre McCurdy <>2018-06-06 21:34:38 -0700
committerRichard Purdie <>2018-06-16 22:34:12 +0100
commitf2572f0bfb4b62971642901131063ea891038811 (patch)
treedd9e4d8611bf0b9bd14ebaca31cb9724c244d5bc /meta/recipes-devtools/gcc/
parent489c3fd01d1c12d9cc7c087b1fc316a142908f7d (diff)
openembedded-core-contrib-f2572f0bfb4b62971642901131063ea891038811.tar.bz2 configure gcc for armv7ve targets to default to armv7ve
Originally these ARM specific EXTRA_OECONF options were applied to both gcc for the target and gcc-cross. That lead to a compromise being made: gcc on the target was configured to default to an ARM architecture which was at least compatible with the target (but not necessarily an exact match) and gcc-cross was configured default to armv7a for both armv7a and armv7ve (to avoid gcc-cross rebuilds when switching between the two). However, when these ARM specific EXTRA_OECONF options were moved from into (ie they were made to apply only to gcc on the target) the compromise no longer needed to be made. Signed-off-by: Andre McCurdy <> Signed-off-by: Richard Purdie <>
Diffstat (limited to 'meta/recipes-devtools/gcc/')
1 files changed, 6 insertions, 5 deletions
diff --git a/meta/recipes-devtools/gcc/ b/meta/recipes-devtools/gcc/
index b6e31f5d93..56e4b95af4 100644
--- a/meta/recipes-devtools/gcc/
+++ b/meta/recipes-devtools/gcc/
@@ -9,13 +9,14 @@ EXTRA_OECONF_PATHS = "\
EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
-# ARMv6+ adds atomic instructions that affect the ABI in libraries built
-# with TUNE_CCARGS in gcc-runtime. Make the compiler default to a
-# compatible architecture. armv6 and armv7a cover the minimum tune
-# features used in OE.
+# Configure gcc running on the target to default to an architecture which will
+# be compatible with that of gcc-runtime (which is cross compiled to be target
+# specific). For example, for ARM, ARMv6+ adds atomic instructions that may
+# affect the ABI in the gcc-runtime libs. Since we can't rely on gcc on the
+# target to always be passed -march etc, its built-in default needs to be safe.
EXTRA_OECONF_append_armv6 = " --with-arch=armv6"
EXTRA_OECONF_append_armv7a = " --with-arch=armv7-a"
-EXTRA_OECONF_append_armv7ve = " --with-arch=armv7-a"
+EXTRA_OECONF_append_armv7ve = " --with-arch=armv7ve"
# libcc1 requres gcc_cv_objdump when cross build, but gcc_cv_objdump is
# set in subdir gcc, so subdir libcc1 can't use it, export it here to