This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 28/31] Avoid compat symbols for totalorder in powerpc64le IEEE long double


Hi, Joseph,

On Tue, 15 Oct 2019, Joseph Myers wrote:

>This needs more explanation (in a comment in the relevant files).

How about the following paragraph?

  /* On platforms that reuse the _Float128 implementation for IEEE long
     double (powerpc64le), the libm_alias_float128_other_r_ldbl macro
     (which is called by the libm_alias_ldouble macro) is used to create
     aliases between *f128 (_Float128 API) and __*ieee128 functions.
     However, this compat version of totalorderl is older than the
     availability of __ieee*128 symbols, thus, the compat alias is not
     required, nor desired.  */
  #undef libm_alias_float128_other_r_ldbl
  #define libm_alias_float128_other_r_ldbl(from, to, r)

Likewise for totalordermagl.

>Are you 
>saying that libm_alias_float128_other_r_ldbl is presently either unused, 
>or used but expanding to empty, in all existing configurations using these 
>files (so it's not needed to create any existing compat aliases in any 
>configuration that has these functions either for long double or for 
>_Float128)?

Currently, these macros are not used, because they are only defined on
sysdeps/ieee754/ldbl-128ibm-compat/libm-alias-float128.h, but
ldbl-128ibm-compat is not yet on the Implies files for powerpc64le.

No other platform has ldbl-128ibm-compat on their Implies files, so this
macro is not needed to create the existing compat aliases you mentioned
above (between parentheses), anywhere.  Also, on powerpc64le, the _Float128
aliases for the compat functions are still provided, even after this patch
and after adding ldbl-128ibm-compat to their Implies...  The _Float128
aliases get created by the libm_alias_float128_r macro, before it expands
libm_alias_float128_other_r_ldbl, whereas the __*ieee128 aliases get
created by libm_alias_float128_other_r_ldbl itself.

(it was a bit hard to find the words to write this answer and to
streamline it, let me know if it's confusing (or wrong, of course)).


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]