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} |
