This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH 28/31] Avoid compat symbols for totalorder in powerpc64le IEEE long double
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. */
#define libm_alias_float128_other_r_ldbl(from, to, r)
Likewise for totalordermagl.
>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
Currently, these macros are not used, because they are only defined on
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)).