From: Andre McCurdy Date: Thu, 7 Jun 2018 04:34:38 +0000 (-0700) Subject: gcc-target.inc: configure gcc for armv7ve targets to default to armv7ve X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~17619 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c368282741e9de1f96988e127b86a6a01b6a26f;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git gcc-target.inc: 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 gcc-configure-common.inc into gcc-target.inc (ie they were made to apply only to gcc on the target) the compromise no longer needed to be made. http://git.openembedded.org/openembedded-core/commit/?id=851937dde81de2a9ef54c5f19a78fb12fb82afd4 Signed-off-by: Andre McCurdy Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc index b6e31f5d937..56e4b95af4c 100644 --- a/meta/recipes-devtools/gcc/gcc-target.inc +++ b/meta/recipes-devtools/gcc/gcc-target.inc @@ -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