summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2018-06-20 18:26:07 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-06-21 09:34:40 +0100
commitd3139c29e332887d35892a1cbd4f799ed9a62327 (patch)
treed6ac86598f9b246529cbef17f4e41cba02fad98b
parent6cf9204d3bc55d4811ce112a1cd7c990b4199b93 (diff)
downloadpoky-d3139c29e332887d35892a1cbd4f799ed9a62327.tar.gz
gcc-8: Enable fp arch extention when fpu is available
This is especially needed when defaulting to hard-float ABI Fixes errors e.g. cc1: error: -mfloat-abi=hard: selected processor lacks an FPU Fixes [YOCTO #12795] (From OE-Core rev: 85981cbbf0ce48a6d82bc39248afa9540ca858d8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/gcc/gcc-target.inc9
-rw-r--r--meta/recipes-devtools/gcc/gcc_8.1.bb4
2 files changed, 10 insertions, 3 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc
index 56e4b95af4..bc2236fed0 100644
--- a/meta/recipes-devtools/gcc/gcc-target.inc
+++ b/meta/recipes-devtools/gcc/gcc-target.inc
@@ -14,9 +14,12 @@ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
14# specific). For example, for ARM, ARMv6+ adds atomic instructions that may 14# specific). For example, for ARM, ARMv6+ adds atomic instructions that may
15# affect the ABI in the gcc-runtime libs. Since we can't rely on gcc on the 15# affect the ABI in the gcc-runtime libs. Since we can't rely on gcc on the
16# target to always be passed -march etc, its built-in default needs to be safe. 16# target to always be passed -march etc, its built-in default needs to be safe.
17EXTRA_OECONF_append_armv6 = " --with-arch=armv6" 17
18EXTRA_OECONF_append_armv7a = " --with-arch=armv7-a" 18ARMFPARCHEXT ?= ""
19EXTRA_OECONF_append_armv7ve = " --with-arch=armv7ve" 19
20EXTRA_OECONF_append_armv6 = " --with-arch=armv6${ARMFPARCHEXT}"
21EXTRA_OECONF_append_armv7a = " --with-arch=armv7-a${ARMFPARCHEXT}"
22EXTRA_OECONF_append_armv7ve = " --with-arch=armv7ve${ARMFPARCHEXT}"
20 23
21# libcc1 requres gcc_cv_objdump when cross build, but gcc_cv_objdump is 24# libcc1 requres gcc_cv_objdump when cross build, but gcc_cv_objdump is
22# set in subdir gcc, so subdir libcc1 can't use it, export it here to 25# set in subdir gcc, so subdir libcc1 can't use it, export it here to
diff --git a/meta/recipes-devtools/gcc/gcc_8.1.bb b/meta/recipes-devtools/gcc/gcc_8.1.bb
index ab208e7026..7d93590588 100644
--- a/meta/recipes-devtools/gcc/gcc_8.1.bb
+++ b/meta/recipes-devtools/gcc/gcc_8.1.bb
@@ -7,4 +7,8 @@ require gcc-target.inc
7ARM_INSTRUCTION_SET_armv4 = "arm" 7ARM_INSTRUCTION_SET_armv4 = "arm"
8ARM_INSTRUCTION_SET_armv5 = "arm" 8ARM_INSTRUCTION_SET_armv5 = "arm"
9 9
10ARMFPARCHEXT_armv6 = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
11ARMFPARCHEXT_armv7a = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
12ARMFPARCHEXT_armv7ve = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
13
10BBCLASSEXTEND = "nativesdk" 14BBCLASSEXTEND = "nativesdk"