diff options
author | Khem Raj <raj.khem@gmail.com> | 2018-06-20 18:26:07 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-06-21 09:34:40 +0100 |
commit | d3139c29e332887d35892a1cbd4f799ed9a62327 (patch) | |
tree | d6ac86598f9b246529cbef17f4e41cba02fad98b | |
parent | 6cf9204d3bc55d4811ce112a1cd7c990b4199b93 (diff) | |
download | poky-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.inc | 9 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc_8.1.bb | 4 |
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. |
17 | EXTRA_OECONF_append_armv6 = " --with-arch=armv6" | 17 | |
18 | EXTRA_OECONF_append_armv7a = " --with-arch=armv7-a" | 18 | ARMFPARCHEXT ?= "" |
19 | EXTRA_OECONF_append_armv7ve = " --with-arch=armv7ve" | 19 | |
20 | EXTRA_OECONF_append_armv6 = " --with-arch=armv6${ARMFPARCHEXT}" | ||
21 | EXTRA_OECONF_append_armv7a = " --with-arch=armv7-a${ARMFPARCHEXT}" | ||
22 | EXTRA_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 | |||
7 | ARM_INSTRUCTION_SET_armv4 = "arm" | 7 | ARM_INSTRUCTION_SET_armv4 = "arm" |
8 | ARM_INSTRUCTION_SET_armv5 = "arm" | 8 | ARM_INSTRUCTION_SET_armv5 = "arm" |
9 | 9 | ||
10 | ARMFPARCHEXT_armv6 = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" | ||
11 | ARMFPARCHEXT_armv7a = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" | ||
12 | ARMFPARCHEXT_armv7ve = "${@'+fp' if d.getVar('TARGET_FPU') == 'hard' else ''}" | ||
13 | |||
10 | BBCLASSEXTEND = "nativesdk" | 14 | BBCLASSEXTEND = "nativesdk" |