This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
[glibc/gabriel/powerpc-ieee128-printscan] Avoid compat symbols for totalorder in powerpc64le IEEE long double
- From: Gabriel F.T.Gomes <gftg at sourceware dot org>
- To: glibc-cvs at sourceware dot org
- Date: 15 Oct 2019 19:04:15 -0000
- Subject: [glibc/gabriel/powerpc-ieee128-printscan] Avoid compat symbols for totalorder in powerpc64le IEEE long double
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=a4b0f5cf0f30f3e71d2f4dc3428fb65673d432b5
commit a4b0f5cf0f30f3e71d2f4dc3428fb65673d432b5
Author: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com>
Date: Mon Sep 9 12:59:46 2019 -0500
Avoid compat symbols for totalorder in powerpc64le IEEE long double
On powerpc64le, the libm_alias_float128_other_r_ldbl macro is
used to create an alias between totalorderf128 and __totalorderlieee128,
as well as between the totalordermagf128 and __totalordermaglieee128.
However, the totalorder* and totalordermag* functions changed their
parameter type since commit ID 42760d764649 and got compat symbols for
their old versions. With this change, the aforementioned macro would
create two conflicting aliases for __totalorderlieee128 and
__totalordermaglieee128.
This patch avoids the creation of the alias between the IEEE long double
symbols (__totalorderl*ieee128) and the compat symbols, because the IEEE
long double functions have never been exported thus don't need such
compat symbol.
Diff:
---
sysdeps/ieee754/ldbl-128/s_totalorderl.c | 2 ++
sysdeps/ieee754/ldbl-128/s_totalordermagl.c | 2 ++
2 files changed, 4 insertions(+)
diff --git a/sysdeps/ieee754/ldbl-128/s_totalorderl.c b/sysdeps/ieee754/ldbl-128/s_totalorderl.c
index 098bd2b..7ed24e0 100644
--- a/sysdeps/ieee754/ldbl-128/s_totalorderl.c
+++ b/sysdeps/ieee754/ldbl-128/s_totalorderl.c
@@ -74,6 +74,8 @@ __totalorder_compatl (_Float128 x, _Float128 y)
{
return __totalorderl (&x, &y);
}
+#undef libm_alias_float128_other_r_ldbl
+#define libm_alias_float128_other_r_ldbl(from, to, r)
#undef do_symbol
#define do_symbol(orig_name, name, aliasname) \
strong_alias (orig_name, name) \
diff --git a/sysdeps/ieee754/ldbl-128/s_totalordermagl.c b/sysdeps/ieee754/ldbl-128/s_totalordermagl.c
index b31788c..0afa178 100644
--- a/sysdeps/ieee754/ldbl-128/s_totalordermagl.c
+++ b/sysdeps/ieee754/ldbl-128/s_totalordermagl.c
@@ -68,6 +68,8 @@ __totalordermag_compatl (_Float128 x, _Float128 y)
{
return __totalordermagl (&x, &y);
}
+#undef libm_alias_float128_other_r_ldbl
+#define libm_alias_float128_other_r_ldbl(from, to, r)
#undef do_symbol
#define do_symbol(orig_name, name, aliasname) \
strong_alias (orig_name, name) \