diff options
author | Khem Raj <raj.khem@gmail.com> | 2016-05-11 10:35:31 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-05-13 13:41:30 +0100 |
commit | fb6ee2225b32a236dee74b74b62d94e57e82dc4f (patch) | |
tree | d76eed1c138e60e32e681165f3542ffe4e83f2d0 | |
parent | e260dc35b77e7884e8b0d1ea874a58304cdc0a22 (diff) | |
download | poky-fb6ee2225b32a236dee74b74b62d94e57e82dc4f.tar.gz |
libgcc: Ensure that gcc configure options are passed to libgcc too
libgcc uses certain options from EXTRA_OECONF as well, curently we are
ignoring them, as a result we do not configure libgcc to match cross gcc
in some cases e.g. ppc/musl should have used 64bit long doubles but
it went for 128-ldbls which is default, works on glibc but not on musl
(From OE-Core rev: d774bb2d10f2c05900f87dcc53f073433ca02121)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-common.inc | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/libgcc-common.inc | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc index e4fd4d6f70..f540b4d965 100644 --- a/meta/recipes-devtools/gcc/gcc-common.inc +++ b/meta/recipes-devtools/gcc/gcc-common.inc | |||
@@ -33,6 +33,8 @@ def get_gcc_ppc_plt_settings(bb, d): | |||
33 | def get_long_double_setting(bb, d): | 33 | def get_long_double_setting(bb, d): |
34 | if d.getVar('TRANSLATED_TARGET_ARCH', True) in [ 'powerpc', 'powerpc64' ] and d.getVar('TCLIBC', True) in [ 'uclibc', 'glibc' ]: | 34 | if d.getVar('TRANSLATED_TARGET_ARCH', True) in [ 'powerpc', 'powerpc64' ] and d.getVar('TCLIBC', True) in [ 'uclibc', 'glibc' ]: |
35 | return "--with-long-double-128" | 35 | return "--with-long-double-128" |
36 | else: | ||
37 | return "--without-long-double-128" | ||
36 | return "" | 38 | return "" |
37 | 39 | ||
38 | def get_gcc_multiarch_setting(bb, d): | 40 | def get_gcc_multiarch_setting(bb, d): |
diff --git a/meta/recipes-devtools/gcc/libgcc-common.inc b/meta/recipes-devtools/gcc/libgcc-common.inc index dae07e96da..e6d31bc305 100644 --- a/meta/recipes-devtools/gcc/libgcc-common.inc +++ b/meta/recipes-devtools/gcc/libgcc-common.inc | |||
@@ -4,6 +4,13 @@ require gcc-shared-source.inc | |||
4 | 4 | ||
5 | INHIBIT_DEFAULT_DEPS = "1" | 5 | INHIBIT_DEFAULT_DEPS = "1" |
6 | 6 | ||
7 | EXTRA_OECONF += "\ | ||
8 | ${@get_gcc_mips_plt_setting(bb, d)} \ | ||
9 | ${@get_gcc_ppc_plt_settings(bb, d)} \ | ||
10 | ${@get_long_double_setting(bb, d)} \ | ||
11 | ${@get_gcc_multiarch_setting(bb, d)} \ | ||
12 | " | ||
13 | |||
7 | do_configure () { | 14 | do_configure () { |
8 | target=`echo ${TARGET_SYS} | sed -e s#-${SDKPKGSUFFIX}##` | 15 | target=`echo ${TARGET_SYS} | sed -e s#-${SDKPKGSUFFIX}##` |
9 | install -d ${D}${base_libdir} ${D}${libdir} | 16 | install -d ${D}${base_libdir} ${D}${libdir} |