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>
This commit is contained in:
Khem Raj
2018-06-20 18:26:07 -07:00
committed by Richard Purdie
parent 6cf9204d3b
commit d3139c29e3
2 changed files with 10 additions and 3 deletions

View File

@@ -14,9 +14,12 @@ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
# 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=armv7ve"
ARMFPARCHEXT ?= ""
EXTRA_OECONF_append_armv6 = " --with-arch=armv6${ARMFPARCHEXT}"
EXTRA_OECONF_append_armv7a = " --with-arch=armv7-a${ARMFPARCHEXT}"
EXTRA_OECONF_append_armv7ve = " --with-arch=armv7ve${ARMFPARCHEXT}"
# 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

View File

@@ -7,4 +7,8 @@ require gcc-target.inc
ARM_INSTRUCTION_SET_armv4 = "arm"
ARM_INSTRUCTION_SET_armv5 = "arm"
ARMFPARCHEXT_armv6 = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
ARMFPARCHEXT_armv7a = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
ARMFPARCHEXT_armv7ve = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}"
BBCLASSEXTEND = "nativesdk"