diff options
author | Andre McCurdy <armccurdy@gmail.com> | 2018-06-06 21:34:38 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-06-18 11:07:58 +0100 |
commit | 76b414c3cdfd869ea051b0bb26d21a0b73a8b8da (patch) | |
tree | b48861cc43e6c6f7bf10bf176b546b63e2b06714 /meta/recipes-devtools | |
parent | 9a855aa403164998129aad50dbef35ab26b78084 (diff) | |
download | poky-76b414c3cdfd869ea051b0bb26d21a0b73a8b8da.tar.gz |
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
(From OE-Core rev: 3c368282741e9de1f96988e127b86a6a01b6a26f)
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-target.inc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc index b6e31f5d93..56e4b95af4 100644 --- a/meta/recipes-devtools/gcc/gcc-target.inc +++ b/meta/recipes-devtools/gcc/gcc-target.inc | |||
@@ -9,13 +9,14 @@ EXTRA_OECONF_PATHS = "\ | |||
9 | 9 | ||
10 | EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" | 10 | EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu" |
11 | 11 | ||
12 | # ARMv6+ adds atomic instructions that affect the ABI in libraries built | 12 | # Configure gcc running on the target to default to an architecture which will |
13 | # with TUNE_CCARGS in gcc-runtime. Make the compiler default to a | 13 | # be compatible with that of gcc-runtime (which is cross compiled to be target |
14 | # compatible architecture. armv6 and armv7a cover the minimum tune | 14 | # specific). For example, for ARM, ARMv6+ adds atomic instructions that may |
15 | # features used in OE. | 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 | EXTRA_OECONF_append_armv6 = " --with-arch=armv6" | 17 | EXTRA_OECONF_append_armv6 = " --with-arch=armv6" |
17 | EXTRA_OECONF_append_armv7a = " --with-arch=armv7-a" | 18 | EXTRA_OECONF_append_armv7a = " --with-arch=armv7-a" |
18 | EXTRA_OECONF_append_armv7ve = " --with-arch=armv7-a" | 19 | EXTRA_OECONF_append_armv7ve = " --with-arch=armv7ve" |
19 | 20 | ||
20 | # libcc1 requres gcc_cv_objdump when cross build, but gcc_cv_objdump is | 21 | # libcc1 requres gcc_cv_objdump when cross build, but gcc_cv_objdump is |
21 | # set in subdir gcc, so subdir libcc1 can't use it, export it here to | 22 | # set in subdir gcc, so subdir libcc1 can't use it, export it here to |