[PATCH v3 05/11] ldbl-128ibm-compat: Add *cvt functions

Paul E Murphy murphyp@linux.ibm.com
Mon Dec 9 23:13:00 GMT 2019



On 12/3/19 11:05 AM, Gabriel F. T. Gomes wrote:
> From: "Gabriel F. T. Gomes" <gabrielftg@linux.ibm.com>
> 
> Changes since v2:
> 
>    - Fix http URLs.
> 
> No changes since v1.
> 
> -- 8< --
> This patch adds IEEE long double versions of q*cvt* functions for
> powerpc64le.  Unlike all other long double to/from string conversion
> functions, these do not rely on internal functions that can take
> floating-point numbers with different formats and act on them
> accordingly, instead, the related files are rebuilt with the
> -mabi=ieeelongdouble compiler flag set.
> 
> Having -mabi=ieeelongdouble passed to the compiler causes the object
> files to be marked with a .gnu_attribute that is incompatible with the
> .gnu_attribute in files built with -mabi=ibmlongdouble (the default).
> The difference causes error messages similar to the following:
> 
>    ld: libc_pic.a(s_isinfl.os) uses IBM long double,
>        libc_pic.a(ieee128-qefgcvt_r.os) uses IEEE long double.
>    collect2: error: ld returned 1 exit status
>    make[2]: *** [../Makerules:649: libc_pic.os] Error 1
> 
> Although this warning is useful in other situations, the library
> actually needs to have functions with different long double formats, so
> .gnu_attribute generation is explicitly disabled for these files with
> the use of -mno-gnu-attribute.
> 
> Tested for powerpc64le on the branch that actually enables the
> sysdeps/ieee754/ldbl-128ibm-compat for powerpc64le.

> diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
> index 6d5414c54a..49d9af9fea 100644
> --- a/sysdeps/ieee754/ldbl-128ibm-compat/Makefile
> +++ b/sysdeps/ieee754/ldbl-128ibm-compat/Makefile

...

> +tests-internal += tst-ibm128-efgcvt tst-ieee128-efgcvt

Are these tests generated?  I don't see tst-{ibm128,ieee128}-efgcvt.c in 
this patch.  The patch looks otherwise OK to me.



More information about the Libc-alpha mailing list