[OE-core] [PATCH 1/3] gcc: Abstract long double configuration into python function

Peter A. Bigot pab at pabigot.com
Thu Aug 14 10:13:44 UTC 2014


On 08/14/2014 02:51 AM, Khem Raj wrote:
> musl does not support IBM 128 long double for ppc, instead of
> doing complex overrides move it into a pythong snippet which
> is easier to read and more compact.
>
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
>   meta/recipes-devtools/gcc/gcc-common.inc           |    5 +++++
>   meta/recipes-devtools/gcc/gcc-configure-common.inc |    5 +----
>   2 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc
> index 66a18d9..e06b6ee 100644
> --- a/meta/recipes-devtools/gcc/gcc-common.inc
> +++ b/meta/recipes-devtools/gcc/gcc-common.inc
> @@ -25,6 +25,11 @@ def get_gcc_mips_plt_setting(bb, d):
>           return "--with-mips-plt"
>       return ""
>   
> +def get_long_double_setting(bb, d):
> +    if d.getVar('TRANSLATED_TARGET_ARCH', True) in [ 'powerpc', 'powerpc64' ] and d.getVar('TCLIBC', True) in [ 'uclibc', 'eglibc' ]:
> +        return "--with-long-double-128"
> +    return ""
> +
>   def get_gcc_multiarch_setting(bb, d):
>       target_arch = d.getVar('TRANSLATED_TARGET_ARCH', True)
>       multiarch_options = {
> diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
> index 75fb379..3934bcb 100644
> --- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
> +++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
> @@ -46,6 +46,7 @@ EXTRA_OECONF = "${@['--enable-clocale=generic', ''][d.getVar('USE_NLS', True) !=
>                   ${EXTRA_OECONF_FPU} \
>                   ${EXTRA_OECONF_PATHS} \
>                   ${@get_gcc_mips_plt_setting(bb, d)} \
> +                ${@get_long_double_setting(bb, d)} \

This conflicted with my earlier whitespace patch to this file.  I've 
rebased it into my series for the next release, unless Khem objects.  
I'll resend that after some testing and further discussion of how to fix 
the C++11 ABI issue.

Patches 78129 and 78135 to gcc-cross-initial.inc do not conflict with my 
changes to the same file so I'm not planning to absorb them.

Peter

>                   ${@get_gcc_multiarch_setting(bb, d)}"
>   
>   export ac_cv_path_SED = 'sed'
> @@ -64,10 +65,6 @@ EXTRA_OECONF_append_mips64el    = " --with-abi=64 --with-arch-64=mips64 --with-t
>   EXTRA_OECONF_FPU ??= ""
>   CPPFLAGS = ""
>   
> -# powerpc needs this to comply with the ABI
> -EXTRA_OECONF_append_powerpc = " --with-long-double-128"
> -EXTRA_OECONF_append_powerpc64 = " --with-long-double-128"
> -
>   SYSTEMHEADERS = "${target_includedir}"
>   SYSTEMLIBS = "${target_base_libdir}/"
>   SYSTEMLIBS1 = "${target_libdir}/"




More information about the Openembedded-core mailing list