about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog202
-rw-r--r--include/math.h2
-rw-r--r--math/w_j0_compat.c12
-rw-r--r--math/w_j0f_compat.c6
-rw-r--r--math/w_j1_compat.c12
-rw-r--r--math/w_j1f_compat.c6
-rw-r--r--math/w_jn_compat.c12
-rw-r--r--math/w_jnf_compat.c6
-rw-r--r--sysdeps/ieee754/dbl-64/s_fromfp.c6
-rw-r--r--sysdeps/ieee754/dbl-64/s_fromfpx.c6
-rw-r--r--sysdeps/ieee754/dbl-64/s_getpayload.c6
-rw-r--r--sysdeps/ieee754/dbl-64/s_roundeven.c8
-rw-r--r--sysdeps/ieee754/dbl-64/s_setpayload.c6
-rw-r--r--sysdeps/ieee754/dbl-64/s_setpayloadsig.c6
-rw-r--r--sysdeps/ieee754/dbl-64/s_totalorder.c6
-rw-r--r--sysdeps/ieee754/dbl-64/s_totalordermag.c6
-rw-r--r--sysdeps/ieee754/dbl-64/s_ufromfp.c6
-rw-r--r--sysdeps/ieee754/dbl-64/s_ufromfpx.c6
-rw-r--r--sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c6
-rw-r--r--sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c8
-rw-r--r--sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c6
-rw-r--r--sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c6
-rw-r--r--sysdeps/ieee754/float128/float128_private.h4
-rw-r--r--sysdeps/ieee754/float128/s_fromfpf128.c3
-rw-r--r--sysdeps/ieee754/float128/s_fromfpxf128.c3
-rw-r--r--sysdeps/ieee754/float128/s_setpayloadf128.c3
-rw-r--r--sysdeps/ieee754/float128/s_setpayloadsigf128.c3
-rw-r--r--sysdeps/ieee754/float128/s_ufromfpf128.c3
-rw-r--r--sysdeps/ieee754/float128/s_ufromfpxf128.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_fromfpf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_fromfpxf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_getpayloadf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_roundevenf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_setpayloadf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_setpayloadsigf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_totalorderf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_totalordermagf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_ufromfpf.c3
-rw-r--r--sysdeps/ieee754/flt-32/s_ufromfpxf.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/s_fromfpl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/s_fromfpxl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/s_getpayloadl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/s_roundevenl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/s_setpayloadl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/s_totalorderl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/s_totalordermagl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/s_ufromfpl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128/s_ufromfpxl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_fromfpl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_fromfpxl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_getpayloadl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c7
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_setpayloadl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_totalorderl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_ufromfpl.c3
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_ufromfpxl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/s_fromfpl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/s_fromfpxl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/s_getpayloadl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/s_roundevenl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/s_setpayloadl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/s_totalorderl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/s_totalordermagl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/s_ufromfpl.c3
-rw-r--r--sysdeps/ieee754/ldbl-96/s_ufromfpxl.c3
69 files changed, 395 insertions, 97 deletions
diff --git a/ChangeLog b/ChangeLog
index 15daa370f3..97267d86c0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,205 @@
+2017-09-14  Joseph Myers  <joseph@codesourcery.com>
+
+	* include/math.h (roundeven): Change hidden_proto call to
+	__roundeven.
+	* math/w_j0_compat.c (j0): Rename to __j0 and define as weak
+	alias.
+	[NO_LONG_DOUBLE] (__j0l): New strong alias.
+	(y0): Rename to __y0 and define as weak alias.
+	[NO_LONG_DOUBLE] (__y0l): New strong alias.
+	* math/w_j0f_compat.c (j0f): Rename to __j0f and define as weak
+	alias.
+	(y0f): Rename to __y0f and define as weak alias.
+	* math/w_j1_compat.c (j1): Rename to __j1 and define as weak
+	alias.
+	[NO_LONG_DOUBLE] (__j1l): New strong alias.
+	(y1): Rename to __y1 and define as weak alias.
+	[NO_LONG_DOUBLE] (__y1l): New strong alias.
+	* math/w_j1f_compat.c (j1f): Rename to __j1f and define as weak
+	alias.
+	(y1f): Rename to __y1f and define as weak alias.
+	* math/w_jn_compat.c (jn): Rename to __jn and define as weak
+	alias.
+	[NO_LONG_DOUBLE] (__jnl): New strong alias.
+	(yn): Rename to __yn and define as weak alias.
+	[NO_LONG_DOUBLE] (__ynl): New strong alias.
+	* math/w_jnf_compat.c (jnf): Rename to __jnf and define as weak
+	alias.
+	(ynf): Rename to __ynf and define as weak alias.
+	* sysdeps/ieee754/dbl-64/s_fromfp.c (FUNC): Define to __fromfp.
+	(fromfp): Define as weak alias.
+	[NO_LONG_DOUBLE] (__fromfpl): New strong alias.
+	* sysdeps/ieee754/dbl-64/s_fromfpx.c (FUNC): Define to __fromfpx.
+	(fromfpx): Define as weak alias.
+	[NO_LONG_DOUBLE] (__fromfpxl): New strong alias.
+	* sysdeps/ieee754/dbl-64/s_getpayload.c (getpayload): Rename to
+	__getpayload and define as weak alias.
+	[NO_LONG_DOUBLE] (__getpayloadl): New strong alias.
+	* sysdeps/ieee754/dbl-64/s_roundeven.c (roundeven): Rename to
+	__roundeven and define as weak alias.
+	[NO_LONG_DOUBLE] (__roundevenl): New strong alias.
+	* sysdeps/ieee754/dbl-64/s_setpayload.c (FUNC): Define to
+	__setpayload.
+	(setpayload): Define as weak alias.
+	[NO_LONG_DOUBLE] (__setpayloadl): New strong alias.
+	* sysdeps/ieee754/dbl-64/s_setpayloadsig.c (FUNC): Define to
+	__setpayloadsig.
+	(setpayloadsig): Define as weak alias.
+	[NO_LONG_DOUBLE] (__setpayloadsigl): New strong alias.
+	* sysdeps/ieee754/dbl-64/s_totalorder.c (totalorder): Rename to
+	__totalorder and define as weak alias.
+	[NO_LONG_DOUBLE] (__totalorderl): New strong alias.
+	* sysdeps/ieee754/dbl-64/s_totalordermag.c (totalordermag): Rename
+	to __totalordermag and define as weak alias.
+	[NO_LONG_DOUBLE] (__totalordermagl): New strong alias.
+	* sysdeps/ieee754/dbl-64/s_ufromfp.c (FUNC): Define to __ufromfp.
+	(ufromfp): Define as weak alias.
+	[NO_LONG_DOUBLE] (__ufromfpl): New strong alias.
+	* sysdeps/ieee754/dbl-64/s_ufromfpx.c (FUNC): Define to
+	__ufromfpx.
+	(ufromfpx): Define as weak alias.
+	[NO_LONG_DOUBLE] (__ufromfpxl): New strong alias.
+	* sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c (getpayload):
+	Rename to __getpayload and define as weak alias.
+	[NO_LONG_DOUBLE] (__getpayloadl): New strong alias.
+	* sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c (roundeven):
+	Rename to __roundeven and define as weak alias.
+	[NO_LONG_DOUBLE] (__roundevenl): New strong alias.
+	* sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c (totalorder):
+	Rename to __totalorder and define as weak alias.
+	[NO_LONG_DOUBLE] (__totalorderl): New strong alias.
+	* sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c
+	(totalordermag): Rename to __totalordermag and define as weak
+	alias.
+	[NO_LONG_DOUBLE] (__totalordermagl): New strong alias.
+	* sysdeps/ieee754/float128/float128_private.h (__getpayloadl): New
+	macro.
+	(__roundevenl): Likewise.
+	(__totalorderl): Likewise.
+	(__totalordermagl): Likewise
+	* sysdeps/ieee754/float128/s_fromfpf128.c (FUNC): Define to
+	__fromfpf128.
+	(fromfpf128): Define as weak alias.
+	* sysdeps/ieee754/float128/s_fromfpxf128.c (FUNC): Define to
+	__fromfpxf128.
+	(fromfpxf128): Define as weak alias.
+	* sysdeps/ieee754/float128/s_setpayloadf128.c (FUNC): Define to
+	__setpayloadf128.
+	(setpayloadf128): Define as weak alias.
+	* sysdeps/ieee754/float128/s_setpayloadsigf128.c (FUNC): Define to
+	__setpayloadsigf128.
+	(setpayloadsigf128): Define as weak alias.
+	* sysdeps/ieee754/float128/s_ufromfpf128.c (FUNC): Define to
+	__ufromfpf128.
+	(ufromfpf128): Define as weak alias.
+	* sysdeps/ieee754/float128/s_ufromfpxf128.c (FUNC): Define to
+	__ufromfpxf128.
+	(ufromfpxf128): Define as weak alias.
+	* sysdeps/ieee754/flt-32/s_fromfpf.c (FUNC): Define to __fromfpf.
+	(fromfpf): Define as weak alias.
+	* sysdeps/ieee754/flt-32/s_fromfpxf.c (FUNC): Define to
+	__fromfpxf.
+	(fromfpxf): Define as weak alias.
+	* sysdeps/ieee754/flt-32/s_getpayloadf.c (getpayloadf): Rename to
+	__getpayloadf and define as weak alias.
+	* sysdeps/ieee754/flt-32/s_roundevenf.c (roundevenf): Rename to
+	__roundevenf and define as weak alias.
+	* sysdeps/ieee754/flt-32/s_setpayloadf.c (FUNC): Define to
+	__setpayloadf.
+	(setpayloadf): Define as weak alias.
+	* sysdeps/ieee754/flt-32/s_setpayloadsigf.c (FUNC): Define to
+	__setpayloadsigf.
+	(setpayloadsigf): Define as weak alias.
+	* sysdeps/ieee754/flt-32/s_totalorderf.c (totalorderf): Rename to
+	__totalorderf and define as weak alias.
+	* sysdeps/ieee754/flt-32/s_totalordermagf.c (totalordermagf):
+	Rename to __totalordermagf and define as weak alias.
+	* sysdeps/ieee754/flt-32/s_ufromfpf.c (FUNC): Define to
+	__ufromfpf.
+	(ufromfpf): Define as weak alias.
+	* sysdeps/ieee754/flt-32/s_ufromfpxf.c (FUNC): Define to
+	__ufromfpxf.
+	(ufromfpxf): Define as weak alias.
+	* sysdeps/ieee754/ldbl-128/s_fromfpl.c (FUNC): Define to
+	__fromfpl.
+	(fromfpl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-128/s_fromfpxl.c (FUNC): Define to
+	__fromfpxl.
+	(fromfpxl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-128/s_getpayloadl.c (getpayloadl): Rename
+	to __getpayloadl and define as weak alias.
+	* sysdeps/ieee754/ldbl-128/s_roundevenl.c (roundevenl): Rename to
+	__roundevenl and define as weak alias.
+	* sysdeps/ieee754/ldbl-128/s_setpayloadl.c (FUNC): Define to
+	__setpayloadl.
+	(setpayloadl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c (FUNC): Define to
+	__setpayloadsigl.
+	(setpayloadsigl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-128/s_totalorderl.c (totalorderl): Rename
+	to __totalorderl and define as weak alias.
+	* sysdeps/ieee754/ldbl-128/s_totalordermagl.c (totalordermagl):
+	Rename to __totalordermagl and define as weak alias.
+	* sysdeps/ieee754/ldbl-128/s_ufromfpl.c (FUNC): Define to
+	__ufromfpl.
+	(ufromfpl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-128/s_ufromfpxl.c (FUNC): Define to
+	__ufromfpxl.
+	(ufromfpxl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-128ibm/s_fromfpl.c (FUNC): Define to
+	__fromfpl.
+	(fromfpl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-128ibm/s_fromfpxl.c (FUNC): Define to
+	__fromfpxl.
+	(fromfpxl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-128ibm/s_getpayloadl.c (getpayloadl):
+	Rename to __getpayloadl and define as weak alias.
+	* sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c (roundevenl): Rename
+	to __roundevenl and define as weak alias.  Call __roundeven
+	instead of roundeven.
+	* sysdeps/ieee754/ldbl-128ibm/s_setpayloadl.c (FUNC): Define to
+	__setpayloadl.
+	(setpayloadl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c (FUNC): Define to
+	__setpayloadsigl.
+	(setpayloadsigl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-128ibm/s_totalorderl.c (totalorderl):
+	Rename to __totalorderl and define as weak alias.
+	* sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c (totalordermagl):
+	Rename to __totalordermagl and define as weak alias.
+	* sysdeps/ieee754/ldbl-128ibm/s_ufromfpl.c (FUNC): Define to
+	__ufromfpl.
+	(ufromfpl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-128ibm/s_ufromfpxl.c (FUNC): Define to
+	__ufromfpxl.
+	(ufromfpxl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-96/s_fromfpl.c (FUNC): Define to
+	__fromfpl.
+	(fromfpl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-96/s_fromfpxl.c (FUNC): Define to
+	__fromfpxl.
+	(fromfpxl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-96/s_getpayloadl.c (getpayloadl): Rename to
+	__getpayloadl and define as weak alias.
+	* sysdeps/ieee754/ldbl-96/s_roundevenl.c (roundevenl): Rename to
+	__roundevenl and define as weak alias.
+	* sysdeps/ieee754/ldbl-96/s_setpayloadl.c (FUNC): Define to
+	__setpayloadl.
+	(setpayloadl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c (FUNC): Define to
+	__setpayloadsigl.
+	(setpayloadsigl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-96/s_totalorderl.c (totalorderl): Rename to
+	__totalorderl and define as weak alias.
+	* sysdeps/ieee754/ldbl-96/s_totalordermagl.c (totalordermagl):
+	Rename to __totalordermagl and define as weak alias.
+	* sysdeps/ieee754/ldbl-96/s_ufromfpl.c (FUNC): Define to
+	__ufromfpl.
+	(ufromfpl): Define as weak alias.
+	* sysdeps/ieee754/ldbl-96/s_ufromfpxl.c (FUNC): Define to
+	__ufromfpxl.
+	(ufromfpxl): Define as weak alias.
+
 2017-09-14  Siddhesh Poyarekar  <siddhesh@sourceware.org>
 
 	* benchtests/bench-string.h (realloc_bufs): New function.
diff --git a/include/math.h b/include/math.h
index b62a388b5c..fe3ed1378d 100644
--- a/include/math.h
+++ b/include/math.h
@@ -39,7 +39,7 @@ libm_hidden_proto (__issignaling)
 libm_hidden_proto (__issignalingf)
 libm_hidden_proto (__exp)
 libm_hidden_proto (__expf)
-libm_hidden_proto (roundeven)
+libm_hidden_proto (__roundeven)
 
 # ifndef __NO_LONG_DOUBLE_MATH
 libm_hidden_proto (__fpclassifyl)
diff --git a/math/w_j0_compat.c b/math/w_j0_compat.c
index 3df71e0b7b..b08688e131 100644
--- a/math/w_j0_compat.c
+++ b/math/w_j0_compat.c
@@ -25,7 +25,7 @@
 #if LIBM_SVID_COMPAT
 /* wrapper j0 */
 double
-j0 (double x)
+__j0 (double x)
 {
   if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
@@ -34,14 +34,16 @@ j0 (double x)
 
   return __ieee754_j0 (x);
 }
+weak_alias (__j0, j0)
 # ifdef NO_LONG_DOUBLE
-weak_alias (j0, j0l)
+strong_alias (__j0, __j0l)
+weak_alias (__j0, j0l)
 # endif
 
 
 /* wrapper y0 */
 double
-y0 (double x)
+__y0 (double x)
 {
   if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_)
@@ -65,7 +67,9 @@ y0 (double x)
 
   return __ieee754_y0 (x);
 }
+weak_alias (__y0, y0)
 # ifdef NO_LONG_DOUBLE
-weak_alias (y0, y0l)
+strong_alias (__y0, __y0l)
+weak_alias (__y0, y0l)
 # endif
 #endif
diff --git a/math/w_j0f_compat.c b/math/w_j0f_compat.c
index e9ac74f23a..0ef4179bfa 100644
--- a/math/w_j0f_compat.c
+++ b/math/w_j0f_compat.c
@@ -25,7 +25,7 @@
 #if LIBM_SVID_COMPAT
 /* wrapper j0f */
 float
-j0f (float x)
+__j0f (float x)
 {
   if (__builtin_expect (isgreater (fabsf (x), (float) X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
@@ -34,11 +34,12 @@ j0f (float x)
 
   return __ieee754_j0f (x);
 }
+weak_alias (__j0f, j0f)
 
 
 /* wrapper y0f */
 float
-y0f (float x)
+__y0f (float x)
 {
   if (__builtin_expect (islessequal (x, 0.0f)
                         || isgreater (x, (float) X_TLOSS), 0)
@@ -63,4 +64,5 @@ y0f (float x)
 
   return __ieee754_y0f (x);
 }
+weak_alias (__y0f, y0f)
 #endif
diff --git a/math/w_j1_compat.c b/math/w_j1_compat.c
index be788f9864..bf0922d588 100644
--- a/math/w_j1_compat.c
+++ b/math/w_j1_compat.c
@@ -25,7 +25,7 @@
 #if LIBM_SVID_COMPAT
 /* wrapper j1 */
 double
-j1 (double x)
+__j1 (double x)
 {
   if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
@@ -34,14 +34,16 @@ j1 (double x)
 
   return __ieee754_j1 (x);
 }
+weak_alias (__j1, j1)
 # ifdef NO_LONG_DOUBLE
-weak_alias (j1, j1l)
+strong_alias (__j1, __j1l)
+weak_alias (__j1, j1l)
 # endif
 
 
 /* wrapper y1 */
 double
-y1 (double x)
+__y1 (double x)
 {
   if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_)
@@ -65,7 +67,9 @@ y1 (double x)
 
   return __ieee754_y1 (x);
 }
+weak_alias (__y1, y1)
 # ifdef NO_LONG_DOUBLE
-weak_alias (y1, y1l)
+strong_alias (__y1, __y1l)
+weak_alias (__y1, y1l)
 # endif
 #endif
diff --git a/math/w_j1f_compat.c b/math/w_j1f_compat.c
index c3222bbc8d..d44fb12437 100644
--- a/math/w_j1f_compat.c
+++ b/math/w_j1f_compat.c
@@ -25,7 +25,7 @@
 #if LIBM_SVID_COMPAT
 /* wrapper j1f */
 float
-j1f (float x)
+__j1f (float x)
 {
   if (__builtin_expect (isgreater (fabsf (x), X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
@@ -34,11 +34,12 @@ j1f (float x)
 
   return __ieee754_j1f (x);
 }
+weak_alias (__j1f, j1f)
 
 
 /* wrapper y1f */
 float
-y1f (float x)
+__y1f (float x)
 {
   if (__builtin_expect (islessequal (x, 0.0f)
 			|| isgreater (x, (float) X_TLOSS), 0)
@@ -63,4 +64,5 @@ y1f (float x)
 
   return __ieee754_y1f (x);
 }
+weak_alias (__y1f, y1f)
 #endif
diff --git a/math/w_jn_compat.c b/math/w_jn_compat.c
index 496c779e8c..955996a2e6 100644
--- a/math/w_jn_compat.c
+++ b/math/w_jn_compat.c
@@ -25,7 +25,7 @@
 #if LIBM_SVID_COMPAT
 /* wrapper jn */
 double
-jn (int n, double x)
+__jn (int n, double x)
 {
   if (__builtin_expect (isgreater (fabs (x), X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
@@ -34,14 +34,16 @@ jn (int n, double x)
 
   return __ieee754_jn (n, x);
 }
+weak_alias (__jn, jn)
 # ifdef NO_LONG_DOUBLE
-weak_alias (jn, jnl)
+strong_alias (__jn, __jnl)
+weak_alias (__jn, jnl)
 # endif
 
 
 /* wrapper yn */
 double
-yn (int n, double x)
+__yn (int n, double x)
 {
   if (__builtin_expect (islessequal (x, 0.0) || isgreater (x, X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_)
@@ -65,7 +67,9 @@ yn (int n, double x)
 
   return __ieee754_yn (n, x);
 }
+weak_alias (__yn, yn)
 # ifdef NO_LONG_DOUBLE
-weak_alias (yn, ynl)
+strong_alias (__yn, __ynl)
+weak_alias (__yn, ynl)
 # endif
 #endif
diff --git a/math/w_jnf_compat.c b/math/w_jnf_compat.c
index 440d53d13e..b2b416182b 100644
--- a/math/w_jnf_compat.c
+++ b/math/w_jnf_compat.c
@@ -25,7 +25,7 @@
 #if LIBM_SVID_COMPAT
 /* wrapper jnf */
 float
-jnf (int n, float x)
+__jnf (int n, float x)
 {
   if (__builtin_expect (isgreater (fabsf (x), (float) X_TLOSS), 0)
       && _LIB_VERSION != _IEEE_ && _LIB_VERSION != _POSIX_)
@@ -34,11 +34,12 @@ jnf (int n, float x)
 
   return __ieee754_jnf (n, x);
 }
+weak_alias (__jnf, jnf)
 
 
 /* wrapper ynf */
 float
-ynf (int n, float x)
+__ynf (int n, float x)
 {
   if (__builtin_expect (islessequal (x, 0.0f)
 			|| isgreater (x, (float) X_TLOSS), 0)
@@ -63,4 +64,5 @@ ynf (int n, float x)
 
   return __ieee754_ynf (n, x);
 }
+weak_alias (__ynf, ynf)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/s_fromfp.c b/sysdeps/ieee754/dbl-64/s_fromfp.c
index 92fbe0c162..efc02f7481 100644
--- a/sysdeps/ieee754/dbl-64/s_fromfp.c
+++ b/sysdeps/ieee754/dbl-64/s_fromfp.c
@@ -1,7 +1,9 @@
 #define UNSIGNED 0
 #define INEXACT 0
-#define FUNC fromfp
+#define FUNC __fromfp
 #include <s_fromfp_main.c>
+weak_alias (__fromfp, fromfp)
 #ifdef NO_LONG_DOUBLE
-weak_alias (fromfp, fromfpl)
+strong_alias (__fromfp, __fromfpl)
+weak_alias (__fromfp, fromfpl)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/s_fromfpx.c b/sysdeps/ieee754/dbl-64/s_fromfpx.c
index bbfb969813..4451b2d08b 100644
--- a/sysdeps/ieee754/dbl-64/s_fromfpx.c
+++ b/sysdeps/ieee754/dbl-64/s_fromfpx.c
@@ -1,7 +1,9 @@
 #define UNSIGNED 0
 #define INEXACT 1
-#define FUNC fromfpx
+#define FUNC __fromfpx
 #include <s_fromfp_main.c>
+weak_alias (__fromfpx, fromfpx)
 #ifdef NO_LONG_DOUBLE
-weak_alias (fromfpx, fromfpxl)
+strong_alias (__fromfpx, __fromfpxl)
+weak_alias (__fromfpx, fromfpxl)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/s_getpayload.c b/sysdeps/ieee754/dbl-64/s_getpayload.c
index 63288e0f45..a868109e0a 100644
--- a/sysdeps/ieee754/dbl-64/s_getpayload.c
+++ b/sysdeps/ieee754/dbl-64/s_getpayload.c
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 double
-getpayload (const double *x)
+__getpayload (const double *x)
 {
   uint32_t hx, lx;
   EXTRACT_WORDS (hx, lx, *x);
@@ -32,6 +32,8 @@ getpayload (const double *x)
     return 0.0f;
   return (double) ix;
 }
+weak_alias (__getpayload, getpayload)
 #ifdef NO_LONG_DOUBLE
-weak_alias (getpayload, getpayloadl)
+strong_alias (__getpayload, __getpayloadl)
+weak_alias (__getpayload, getpayloadl)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/s_roundeven.c b/sysdeps/ieee754/dbl-64/s_roundeven.c
index 78d81a070c..feb874c336 100644
--- a/sysdeps/ieee754/dbl-64/s_roundeven.c
+++ b/sysdeps/ieee754/dbl-64/s_roundeven.c
@@ -26,7 +26,7 @@
 #define MAX_EXP (2 * BIAS + 1)
 
 double
-roundeven (double x)
+__roundeven (double x)
 {
   uint32_t hx, lx, uhx;
   EXTRACT_WORDS (hx, lx, x);
@@ -100,7 +100,9 @@ roundeven (double x)
   INSERT_WORDS (x, hx, lx);
   return x;
 }
-hidden_def (roundeven)
+hidden_def (__roundeven)
+weak_alias (__roundeven, roundeven)
 #ifdef NO_LONG_DOUBLE
-weak_alias (roundeven, roundevenl)
+strong_alias (__roundeven, __roundevenl)
+weak_alias (__roundeven, roundevenl)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/s_setpayload.c b/sysdeps/ieee754/dbl-64/s_setpayload.c
index 5ab70dee73..a37846aa53 100644
--- a/sysdeps/ieee754/dbl-64/s_setpayload.c
+++ b/sysdeps/ieee754/dbl-64/s_setpayload.c
@@ -1,6 +1,8 @@
 #define SIG 0
-#define FUNC setpayload
+#define FUNC __setpayload
 #include <s_setpayload_main.c>
+weak_alias (__setpayload, setpayload)
 #ifdef NO_LONG_DOUBLE
-weak_alias (setpayload, setpayloadl)
+strong_alias (__setpayload, __setpayloadl)
+weak_alias (__setpayload, setpayloadl)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/s_setpayloadsig.c b/sysdeps/ieee754/dbl-64/s_setpayloadsig.c
index c3d1ba1e6e..ad1ee7a3f3 100644
--- a/sysdeps/ieee754/dbl-64/s_setpayloadsig.c
+++ b/sysdeps/ieee754/dbl-64/s_setpayloadsig.c
@@ -1,6 +1,8 @@
 #define SIG 1
-#define FUNC setpayloadsig
+#define FUNC __setpayloadsig
 #include <s_setpayload_main.c>
+weak_alias (__setpayloadsig, setpayloadsig)
 #ifdef NO_LONG_DOUBLE
-weak_alias (setpayloadsig, setpayloadsigl)
+strong_alias (__setpayloadsig, __setpayloadsigl)
+weak_alias (__setpayloadsig, setpayloadsigl)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/s_totalorder.c b/sysdeps/ieee754/dbl-64/s_totalorder.c
index f229119c27..2504319319 100644
--- a/sysdeps/ieee754/dbl-64/s_totalorder.c
+++ b/sysdeps/ieee754/dbl-64/s_totalorder.c
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 int
-totalorder (double x, double y)
+__totalorder (double x, double y)
 {
   int32_t hx, hy;
   uint32_t lx, ly;
@@ -49,6 +49,8 @@ totalorder (double x, double y)
   ly ^= hy_sign;
   return hx < hy || (hx == hy && lx <= ly);
 }
+weak_alias (__totalorder, totalorder)
 #ifdef NO_LONG_DOUBLE
-weak_alias (totalorder, totalorderl)
+strong_alias (__totalorder, __totalorderl)
+weak_alias (__totalorder, totalorderl)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/s_totalordermag.c b/sysdeps/ieee754/dbl-64/s_totalordermag.c
index b1bdd833db..b5f3cff67e 100644
--- a/sysdeps/ieee754/dbl-64/s_totalordermag.c
+++ b/sysdeps/ieee754/dbl-64/s_totalordermag.c
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 int
-totalordermag (double x, double y)
+__totalordermag (double x, double y)
 {
   uint32_t hx, hy;
   uint32_t lx, ly;
@@ -44,6 +44,8 @@ totalordermag (double x, double y)
 #endif
   return hx < hy || (hx == hy && lx <= ly);
 }
+weak_alias (__totalordermag, totalordermag)
 #ifdef NO_LONG_DOUBLE
-weak_alias (totalordermag, totalordermagl)
+strong_alias (__totalordermag, __totalordermagl)
+weak_alias (__totalordermag, totalordermagl)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/s_ufromfp.c b/sysdeps/ieee754/dbl-64/s_ufromfp.c
index c3d9047930..f2b9537338 100644
--- a/sysdeps/ieee754/dbl-64/s_ufromfp.c
+++ b/sysdeps/ieee754/dbl-64/s_ufromfp.c
@@ -1,7 +1,9 @@
 #define UNSIGNED 1
 #define INEXACT 0
-#define FUNC ufromfp
+#define FUNC __ufromfp
 #include <s_fromfp_main.c>
+weak_alias (__ufromfp, ufromfp)
 #ifdef NO_LONG_DOUBLE
-weak_alias (ufromfp, ufromfpl)
+strong_alias (__ufromfp, __ufromfpl)
+weak_alias (__ufromfp, ufromfpl)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/s_ufromfpx.c b/sysdeps/ieee754/dbl-64/s_ufromfpx.c
index dee607f8c0..f360e760e2 100644
--- a/sysdeps/ieee754/dbl-64/s_ufromfpx.c
+++ b/sysdeps/ieee754/dbl-64/s_ufromfpx.c
@@ -1,7 +1,9 @@
 #define UNSIGNED 1
 #define INEXACT 1
-#define FUNC ufromfpx
+#define FUNC __ufromfpx
 #include <s_fromfp_main.c>
+weak_alias (__ufromfpx, ufromfpx)
 #ifdef NO_LONG_DOUBLE
-weak_alias (ufromfpx, ufromfpxl)
+strong_alias (__ufromfpx, __ufromfpxl)
+weak_alias (__ufromfpx, ufromfpxl)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c
index fbcd75b8bd..79a62e3e63 100644
--- a/sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c
+++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_getpayload.c
@@ -21,13 +21,15 @@
 #include <stdint.h>
 
 double
-getpayload (const double *x)
+__getpayload (const double *x)
 {
   uint64_t ix;
   EXTRACT_WORDS64 (ix, *x);
   ix &= 0x7ffffffffffffULL;
   return (double) ix;
 }
+weak_alias (__getpayload, getpayload)
 #ifdef NO_LONG_DOUBLE
-weak_alias (getpayload, getpayloadl)
+strong_alias (__getpayload, __getpayloadl)
+weak_alias (__getpayload, getpayloadl)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c
index d13ee25cea..3f7619b5f3 100644
--- a/sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c
+++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_roundeven.c
@@ -26,7 +26,7 @@
 #define MAX_EXP (2 * BIAS + 1)
 
 double
-roundeven (double x)
+__roundeven (double x)
 {
   uint64_t ix, ux;
   EXTRACT_WORDS64 (ix, x);
@@ -66,7 +66,9 @@ roundeven (double x)
   INSERT_WORDS64 (x, ix);
   return x;
 }
-hidden_def (roundeven)
+hidden_def (__roundeven)
+weak_alias (__roundeven, roundeven)
 #ifdef NO_LONG_DOUBLE
-weak_alias (roundeven, roundevenl)
+strong_alias (__roundeven, __roundevenl)
+weak_alias (__roundeven, roundevenl)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c
index 1e8d57f32b..1d2b3d9710 100644
--- a/sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c
+++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_totalorder.c
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 int
-totalorder (double x, double y)
+__totalorder (double x, double y)
 {
   int64_t ix, iy;
   EXTRACT_WORDS64 (ix, x);
@@ -45,6 +45,8 @@ totalorder (double x, double y)
   iy ^= iy_sign >> 1;
   return ix <= iy;
 }
+weak_alias (__totalorder, totalorder)
 #ifdef NO_LONG_DOUBLE
-weak_alias (totalorder, totalorderl)
+strong_alias (__totalorder, __totalorderl)
+weak_alias (__totalorder, totalorderl)
 #endif
diff --git a/sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c b/sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c
index 47a077f18b..94ce11ccc5 100644
--- a/sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c
+++ b/sysdeps/ieee754/dbl-64/wordsize-64/s_totalordermag.c
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 int
-totalordermag (double x, double y)
+__totalordermag (double x, double y)
 {
   uint64_t ix, iy;
   EXTRACT_WORDS64 (ix, x);
@@ -42,6 +42,8 @@ totalordermag (double x, double y)
 #endif
   return ix <= iy;
 }
+weak_alias (__totalordermag, totalordermag)
 #ifdef NO_LONG_DOUBLE
-weak_alias (totalordermag, totalordermagl)
+strong_alias (__totalordermag, __totalordermagl)
+weak_alias (__totalordermag, totalordermagl)
 #endif
diff --git a/sysdeps/ieee754/float128/float128_private.h b/sysdeps/ieee754/float128/float128_private.h
index 5e6ed78085..8c7d2ba107 100644
--- a/sysdeps/ieee754/float128/float128_private.h
+++ b/sysdeps/ieee754/float128/float128_private.h
@@ -199,6 +199,7 @@
 #define __fpclassifyl __fpclassifyf128
 #define __frexpl __frexpf128
 #define __gammal_r_finite __gammaf128_r_finite
+#define __getpayloadl __getpayloadf128
 #define __isinfl __isinff128
 #define __isnanl __isnanf128
 #define __issignalingl __issignalingf128
@@ -217,6 +218,7 @@
 #define __nextupl __nextupf128
 #define __remquol __remquof128
 #define __rintl __rintf128
+#define __roundevenl __roundevenf128
 #define __roundl __roundf128
 #define __scalblnl __scalblnf128
 #define __scalbnl __scalbnf128
@@ -226,6 +228,8 @@
 #define __sqrtl __sqrtf128
 #define __tanhl __tanhf128
 #define __tanl __tanf128
+#define __totalorderl __totalorderf128
+#define __totalordermagl __totalordermagf128
 #define __truncl __truncf128
 #define __x2y2m1l __x2y2m1f128
 
diff --git a/sysdeps/ieee754/float128/s_fromfpf128.c b/sysdeps/ieee754/float128/s_fromfpf128.c
index 891de3d448..a7393b3c6a 100644
--- a/sysdeps/ieee754/float128/s_fromfpf128.c
+++ b/sysdeps/ieee754/float128/s_fromfpf128.c
@@ -1,5 +1,6 @@
 #define UNSIGNED 0
 #define INEXACT 0
-#define FUNC fromfpf128
+#define FUNC __fromfpf128
 #include <float128_private.h>
 #include "../ldbl-128/s_fromfpl_main.c"
+weak_alias (__fromfpf128, fromfpf128)
diff --git a/sysdeps/ieee754/float128/s_fromfpxf128.c b/sysdeps/ieee754/float128/s_fromfpxf128.c
index 21676fab03..ef05f4beac 100644
--- a/sysdeps/ieee754/float128/s_fromfpxf128.c
+++ b/sysdeps/ieee754/float128/s_fromfpxf128.c
@@ -1,5 +1,6 @@
 #define UNSIGNED 0
 #define INEXACT 1
-#define FUNC fromfpxf128
+#define FUNC __fromfpxf128
 #include <float128_private.h>
 #include "../ldbl-128/s_fromfpl_main.c"
+weak_alias (__fromfpxf128, fromfpxf128)
diff --git a/sysdeps/ieee754/float128/s_setpayloadf128.c b/sysdeps/ieee754/float128/s_setpayloadf128.c
index 63e046a269..526fc47fda 100644
--- a/sysdeps/ieee754/float128/s_setpayloadf128.c
+++ b/sysdeps/ieee754/float128/s_setpayloadf128.c
@@ -1,4 +1,5 @@
 #include <float128_private.h>
 #define SIG 0
-#define FUNC setpayloadf128
+#define FUNC __setpayloadf128
 #include "../ldbl-128/s_setpayloadl_main.c"
+weak_alias (__setpayloadf128, setpayloadf128)
diff --git a/sysdeps/ieee754/float128/s_setpayloadsigf128.c b/sysdeps/ieee754/float128/s_setpayloadsigf128.c
index 85b2c4a1a8..e81720591f 100644
--- a/sysdeps/ieee754/float128/s_setpayloadsigf128.c
+++ b/sysdeps/ieee754/float128/s_setpayloadsigf128.c
@@ -1,4 +1,5 @@
 #include <float128_private.h>
 #define SIG 1
-#define FUNC setpayloadsigf128
+#define FUNC __setpayloadsigf128
 #include "../ldbl-128/s_setpayloadl_main.c"
+weak_alias (__setpayloadsigf128, setpayloadsigf128)
diff --git a/sysdeps/ieee754/float128/s_ufromfpf128.c b/sysdeps/ieee754/float128/s_ufromfpf128.c
index 0cd2281035..e8a5ffe4de 100644
--- a/sysdeps/ieee754/float128/s_ufromfpf128.c
+++ b/sysdeps/ieee754/float128/s_ufromfpf128.c
@@ -1,5 +1,6 @@
 #define UNSIGNED 1
 #define INEXACT 0
-#define FUNC ufromfpf128
+#define FUNC __ufromfpf128
 #include <float128_private.h>
 #include "../ldbl-128/s_fromfpl_main.c"
+weak_alias (__ufromfpf128, ufromfpf128)
diff --git a/sysdeps/ieee754/float128/s_ufromfpxf128.c b/sysdeps/ieee754/float128/s_ufromfpxf128.c
index c0cd7e3bc8..c5c69664d1 100644
--- a/sysdeps/ieee754/float128/s_ufromfpxf128.c
+++ b/sysdeps/ieee754/float128/s_ufromfpxf128.c
@@ -1,5 +1,6 @@
 #define UNSIGNED 1
 #define INEXACT 1
-#define FUNC ufromfpxf128
+#define FUNC __ufromfpxf128
 #include <float128_private.h>
 #include "../ldbl-128/s_fromfpl_main.c"
+weak_alias (__ufromfpxf128, ufromfpxf128)
diff --git a/sysdeps/ieee754/flt-32/s_fromfpf.c b/sysdeps/ieee754/flt-32/s_fromfpf.c
index 68d4c80a17..66489bcf93 100644
--- a/sysdeps/ieee754/flt-32/s_fromfpf.c
+++ b/sysdeps/ieee754/flt-32/s_fromfpf.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 0
 #define INEXACT 0
-#define FUNC fromfpf
+#define FUNC __fromfpf
 #include <s_fromfpf_main.c>
+weak_alias (__fromfpf, fromfpf)
diff --git a/sysdeps/ieee754/flt-32/s_fromfpxf.c b/sysdeps/ieee754/flt-32/s_fromfpxf.c
index 9d0fcbc8cc..61f3e2f461 100644
--- a/sysdeps/ieee754/flt-32/s_fromfpxf.c
+++ b/sysdeps/ieee754/flt-32/s_fromfpxf.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 0
 #define INEXACT 1
-#define FUNC fromfpxf
+#define FUNC __fromfpxf
 #include <s_fromfpf_main.c>
+weak_alias (__fromfpxf, fromfpxf)
diff --git a/sysdeps/ieee754/flt-32/s_getpayloadf.c b/sysdeps/ieee754/flt-32/s_getpayloadf.c
index 90cfcc53b9..1958a3ea71 100644
--- a/sysdeps/ieee754/flt-32/s_getpayloadf.c
+++ b/sysdeps/ieee754/flt-32/s_getpayloadf.c
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 float
-getpayloadf (const float *x)
+__getpayloadf (const float *x)
 {
   uint32_t ix;
   GET_FLOAT_WORD (ix, *x);
@@ -31,3 +31,4 @@ getpayloadf (const float *x)
     return 0.0f;
   return (float) ix;
 }
+weak_alias (__getpayloadf, getpayloadf)
diff --git a/sysdeps/ieee754/flt-32/s_roundevenf.c b/sysdeps/ieee754/flt-32/s_roundevenf.c
index 4a8c2624bb..d1661569ec 100644
--- a/sysdeps/ieee754/flt-32/s_roundevenf.c
+++ b/sysdeps/ieee754/flt-32/s_roundevenf.c
@@ -26,7 +26,7 @@
 #define MAX_EXP (2 * BIAS + 1)
 
 float
-roundevenf (float x)
+__roundevenf (float x)
 {
   uint32_t ix, ux;
   GET_FLOAT_WORD (ix, x);
@@ -66,3 +66,4 @@ roundevenf (float x)
   SET_FLOAT_WORD (x, ix);
   return x;
 }
+weak_alias (__roundevenf, roundevenf)
diff --git a/sysdeps/ieee754/flt-32/s_setpayloadf.c b/sysdeps/ieee754/flt-32/s_setpayloadf.c
index 86dfda9aa6..818cd1baff 100644
--- a/sysdeps/ieee754/flt-32/s_setpayloadf.c
+++ b/sysdeps/ieee754/flt-32/s_setpayloadf.c
@@ -1,3 +1,4 @@
 #define SIG 0
-#define FUNC setpayloadf
+#define FUNC __setpayloadf
 #include <s_setpayloadf_main.c>
+weak_alias (__setpayloadf, setpayloadf)
diff --git a/sysdeps/ieee754/flt-32/s_setpayloadsigf.c b/sysdeps/ieee754/flt-32/s_setpayloadsigf.c
index f7b335dac7..a622f2db66 100644
--- a/sysdeps/ieee754/flt-32/s_setpayloadsigf.c
+++ b/sysdeps/ieee754/flt-32/s_setpayloadsigf.c
@@ -1,3 +1,4 @@
 #define SIG 1
-#define FUNC setpayloadsigf
+#define FUNC __setpayloadsigf
 #include <s_setpayloadf_main.c>
+weak_alias (__setpayloadsigf, setpayloadsigf)
diff --git a/sysdeps/ieee754/flt-32/s_totalorderf.c b/sysdeps/ieee754/flt-32/s_totalorderf.c
index f592b051db..5d65420c66 100644
--- a/sysdeps/ieee754/flt-32/s_totalorderf.c
+++ b/sysdeps/ieee754/flt-32/s_totalorderf.c
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 int
-totalorderf (float x, float y)
+__totalorderf (float x, float y)
 {
   int32_t ix, iy;
   GET_FLOAT_WORD (ix, x);
@@ -44,3 +44,4 @@ totalorderf (float x, float y)
   iy ^= iy_sign >> 1;
   return ix <= iy;
 }
+weak_alias (__totalorderf, totalorderf)
diff --git a/sysdeps/ieee754/flt-32/s_totalordermagf.c b/sysdeps/ieee754/flt-32/s_totalordermagf.c
index cac7601e12..9aaa6c4231 100644
--- a/sysdeps/ieee754/flt-32/s_totalordermagf.c
+++ b/sysdeps/ieee754/flt-32/s_totalordermagf.c
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 int
-totalordermagf (float x, float y)
+__totalordermagf (float x, float y)
 {
   uint32_t ix, iy;
   GET_FLOAT_WORD (ix, x);
@@ -42,3 +42,4 @@ totalordermagf (float x, float y)
 #endif
   return ix <= iy;
 }
+weak_alias (__totalordermagf, totalordermagf)
diff --git a/sysdeps/ieee754/flt-32/s_ufromfpf.c b/sysdeps/ieee754/flt-32/s_ufromfpf.c
index e6ffdf3374..3aafd589d9 100644
--- a/sysdeps/ieee754/flt-32/s_ufromfpf.c
+++ b/sysdeps/ieee754/flt-32/s_ufromfpf.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 1
 #define INEXACT 0
-#define FUNC ufromfpf
+#define FUNC __ufromfpf
 #include <s_fromfpf_main.c>
+weak_alias (__ufromfpf, ufromfpf)
diff --git a/sysdeps/ieee754/flt-32/s_ufromfpxf.c b/sysdeps/ieee754/flt-32/s_ufromfpxf.c
index 97aa6890f0..8bcdad42d9 100644
--- a/sysdeps/ieee754/flt-32/s_ufromfpxf.c
+++ b/sysdeps/ieee754/flt-32/s_ufromfpxf.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 1
 #define INEXACT 1
-#define FUNC ufromfpxf
+#define FUNC __ufromfpxf
 #include <s_fromfpf_main.c>
+weak_alias (__ufromfpxf, ufromfpxf)
diff --git a/sysdeps/ieee754/ldbl-128/s_fromfpl.c b/sysdeps/ieee754/ldbl-128/s_fromfpl.c
index e323b4c25b..f3fdba33c1 100644
--- a/sysdeps/ieee754/ldbl-128/s_fromfpl.c
+++ b/sysdeps/ieee754/ldbl-128/s_fromfpl.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 0
 #define INEXACT 0
-#define FUNC fromfpl
+#define FUNC __fromfpl
 #include <s_fromfpl_main.c>
+weak_alias (__fromfpl, fromfpl)
diff --git a/sysdeps/ieee754/ldbl-128/s_fromfpxl.c b/sysdeps/ieee754/ldbl-128/s_fromfpxl.c
index 2f3189d7de..9477cc2ea7 100644
--- a/sysdeps/ieee754/ldbl-128/s_fromfpxl.c
+++ b/sysdeps/ieee754/ldbl-128/s_fromfpxl.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 0
 #define INEXACT 1
-#define FUNC fromfpxl
+#define FUNC __fromfpxl
 #include <s_fromfpl_main.c>
+weak_alias (__fromfpxl, fromfpxl)
diff --git a/sysdeps/ieee754/ldbl-128/s_getpayloadl.c b/sysdeps/ieee754/ldbl-128/s_getpayloadl.c
index d384645532..a7d395940d 100644
--- a/sysdeps/ieee754/ldbl-128/s_getpayloadl.c
+++ b/sysdeps/ieee754/ldbl-128/s_getpayloadl.c
@@ -21,7 +21,7 @@
 #include <stdint.h>
 
 _Float128
-getpayloadl (const _Float128 *x)
+__getpayloadl (const _Float128 *x)
 {
   uint64_t hx, lx;
   GET_LDOUBLE_WORDS64 (hx, lx, *x);
@@ -55,3 +55,4 @@ getpayloadl (const _Float128 *x)
   SET_LDOUBLE_WORDS64 (ret, hx, lx);
   return ret;
 }
+weak_alias (__getpayloadl, getpayloadl)
diff --git a/sysdeps/ieee754/ldbl-128/s_roundevenl.c b/sysdeps/ieee754/ldbl-128/s_roundevenl.c
index 93b895546a..e57367ba44 100644
--- a/sysdeps/ieee754/ldbl-128/s_roundevenl.c
+++ b/sysdeps/ieee754/ldbl-128/s_roundevenl.c
@@ -26,7 +26,7 @@
 #define MAX_EXP (2 * BIAS + 1)
 
 _Float128
-roundevenl (_Float128 x)
+__roundevenl (_Float128 x)
 {
   uint64_t hx, lx, uhx;
   GET_LDOUBLE_WORDS64 (hx, lx, x);
@@ -100,3 +100,4 @@ roundevenl (_Float128 x)
   SET_LDOUBLE_WORDS64 (x, hx, lx);
   return x;
 }
+weak_alias (__roundevenl, roundevenl)
diff --git a/sysdeps/ieee754/ldbl-128/s_setpayloadl.c b/sysdeps/ieee754/ldbl-128/s_setpayloadl.c
index 1aba33e6e2..bb07a3533a 100644
--- a/sysdeps/ieee754/ldbl-128/s_setpayloadl.c
+++ b/sysdeps/ieee754/ldbl-128/s_setpayloadl.c
@@ -1,3 +1,4 @@
 #define SIG 0
-#define FUNC setpayloadl
+#define FUNC __setpayloadl
 #include <s_setpayloadl_main.c>
+weak_alias (__setpayloadl, setpayloadl)
diff --git a/sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c b/sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c
index d97e2c8206..4e920360d4 100644
--- a/sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c
+++ b/sysdeps/ieee754/ldbl-128/s_setpayloadsigl.c
@@ -1,3 +1,4 @@
 #define SIG 1
-#define FUNC setpayloadsigl
+#define FUNC __setpayloadsigl
 #include <s_setpayloadl_main.c>
+weak_alias (__setpayloadsigl, setpayloadsigl)
diff --git a/sysdeps/ieee754/ldbl-128/s_totalorderl.c b/sysdeps/ieee754/ldbl-128/s_totalorderl.c
index ca7b3102e1..78876070c3 100644
--- a/sysdeps/ieee754/ldbl-128/s_totalorderl.c
+++ b/sysdeps/ieee754/ldbl-128/s_totalorderl.c
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 int
-totalorderl (_Float128 x, _Float128 y)
+__totalorderl (_Float128 x, _Float128 y)
 {
   int64_t hx, hy;
   uint64_t lx, ly;
@@ -52,3 +52,4 @@ totalorderl (_Float128 x, _Float128 y)
   ly ^= hy_sign;
   return hx < hy || (hx == hy && lx <= ly);
 }
+weak_alias (__totalorderl, totalorderl)
diff --git a/sysdeps/ieee754/ldbl-128/s_totalordermagl.c b/sysdeps/ieee754/ldbl-128/s_totalordermagl.c
index 41b969d811..11b58ef3d1 100644
--- a/sysdeps/ieee754/ldbl-128/s_totalordermagl.c
+++ b/sysdeps/ieee754/ldbl-128/s_totalordermagl.c
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 int
-totalordermagl (_Float128 x, _Float128 y)
+__totalordermagl (_Float128 x, _Float128 y)
 {
   uint64_t hx, hy;
   uint64_t lx, ly;
@@ -46,3 +46,4 @@ totalordermagl (_Float128 x, _Float128 y)
 #endif
   return hx < hy || (hx == hy && lx <= ly);
 }
+weak_alias (__totalordermagl, totalordermagl)
diff --git a/sysdeps/ieee754/ldbl-128/s_ufromfpl.c b/sysdeps/ieee754/ldbl-128/s_ufromfpl.c
index c686daa4a7..2176aa0cdd 100644
--- a/sysdeps/ieee754/ldbl-128/s_ufromfpl.c
+++ b/sysdeps/ieee754/ldbl-128/s_ufromfpl.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 1
 #define INEXACT 0
-#define FUNC ufromfpl
+#define FUNC __ufromfpl
 #include <s_fromfpl_main.c>
+weak_alias (__ufromfpl, ufromfpl)
diff --git a/sysdeps/ieee754/ldbl-128/s_ufromfpxl.c b/sysdeps/ieee754/ldbl-128/s_ufromfpxl.c
index 906066c83c..2901151312 100644
--- a/sysdeps/ieee754/ldbl-128/s_ufromfpxl.c
+++ b/sysdeps/ieee754/ldbl-128/s_ufromfpxl.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 1
 #define INEXACT 1
-#define FUNC ufromfpxl
+#define FUNC __ufromfpxl
 #include <s_fromfpl_main.c>
+weak_alias (__ufromfpxl, ufromfpxl)
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_fromfpl.c b/sysdeps/ieee754/ldbl-128ibm/s_fromfpl.c
index e323b4c25b..f3fdba33c1 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_fromfpl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_fromfpl.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 0
 #define INEXACT 0
-#define FUNC fromfpl
+#define FUNC __fromfpl
 #include <s_fromfpl_main.c>
+weak_alias (__fromfpl, fromfpl)
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_fromfpxl.c b/sysdeps/ieee754/ldbl-128ibm/s_fromfpxl.c
index 2f3189d7de..9477cc2ea7 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_fromfpxl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_fromfpxl.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 0
 #define INEXACT 1
-#define FUNC fromfpxl
+#define FUNC __fromfpxl
 #include <s_fromfpl_main.c>
+weak_alias (__fromfpxl, fromfpxl)
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_getpayloadl.c b/sysdeps/ieee754/ldbl-128ibm/s_getpayloadl.c
index 420b17837e..f66b8d3bdd 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_getpayloadl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_getpayloadl.c
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 long double
-getpayloadl (const long double *x)
+__getpayloadl (const long double *x)
 {
   double xhi = ldbl_high (*x);
   uint64_t ix;
@@ -32,3 +32,4 @@ getpayloadl (const long double *x)
     return 0.0L;
   return (long double) ix;
 }
+weak_alias (__getpayloadl, getpayloadl)
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c b/sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c
index f4221cda4b..4f5c9a0f47 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_roundevenl.c
@@ -21,7 +21,7 @@
 #include <math_private.h>
 
 long double
-roundevenl (long double x)
+__roundevenl (long double x)
 {
   double xh, xl, hi;
 
@@ -29,7 +29,7 @@ roundevenl (long double x)
 
   if (xh != 0 && isfinite (xh))
     {
-      hi = roundeven (xh);
+      hi = __roundeven (xh);
       if (hi != xh)
 	{
 	  /* The high part is not an integer; the low part only
@@ -56,7 +56,7 @@ roundevenl (long double x)
 	     part to nearest, ties round to even, is always correct,
 	     as a high part that is an odd integer together with a low
 	     part with magnitude 0.5 is not a valid long double.  */
-	  xl = roundeven (xl);
+	  xl = __roundeven (xl);
 	  xh = hi;
 	  ldbl_canonicalize_int (&xh, &xl);
 	}
@@ -67,3 +67,4 @@ roundevenl (long double x)
 
   return ldbl_pack (xh, xl);
 }
+weak_alias (__roundevenl, roundevenl)
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_setpayloadl.c b/sysdeps/ieee754/ldbl-128ibm/s_setpayloadl.c
index 1aba33e6e2..bb07a3533a 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_setpayloadl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_setpayloadl.c
@@ -1,3 +1,4 @@
 #define SIG 0
-#define FUNC setpayloadl
+#define FUNC __setpayloadl
 #include <s_setpayloadl_main.c>
+weak_alias (__setpayloadl, setpayloadl)
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c b/sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c
index d97e2c8206..4e920360d4 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_setpayloadsigl.c
@@ -1,3 +1,4 @@
 #define SIG 1
-#define FUNC setpayloadsigl
+#define FUNC __setpayloadsigl
 #include <s_setpayloadl_main.c>
+weak_alias (__setpayloadsigl, setpayloadsigl)
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_totalorderl.c b/sysdeps/ieee754/ldbl-128ibm/s_totalorderl.c
index 963376a7cf..27eae36560 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_totalorderl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_totalorderl.c
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 int
-totalorderl (long double x, long double y)
+__totalorderl (long double x, long double y)
 {
   double xhi, xlo, yhi, ylo;
   int64_t hx, hy, lx, ly;
@@ -60,3 +60,4 @@ totalorderl (long double x, long double y)
   ly ^= ly_sign >> 1;
   return lx <= ly;
 }
+weak_alias (__totalorderl, totalorderl)
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c b/sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c
index f7480909df..5398428541 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_totalordermagl.c
@@ -22,7 +22,7 @@
 #include <stdint.h>
 
 int
-totalordermagl (long double x, long double y)
+__totalordermagl (long double x, long double y)
 {
   double xhi, xlo, yhi, ylo;
   int64_t hx, hy, lx, ly;
@@ -62,3 +62,4 @@ totalordermagl (long double x, long double y)
   ly ^= ly_sign >> 1;
   return lx <= ly;
 }
+weak_alias (__totalordermagl, totalordermagl)
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_ufromfpl.c b/sysdeps/ieee754/ldbl-128ibm/s_ufromfpl.c
index c686daa4a7..2176aa0cdd 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_ufromfpl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_ufromfpl.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 1
 #define INEXACT 0
-#define FUNC ufromfpl
+#define FUNC __ufromfpl
 #include <s_fromfpl_main.c>
+weak_alias (__ufromfpl, ufromfpl)
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_ufromfpxl.c b/sysdeps/ieee754/ldbl-128ibm/s_ufromfpxl.c
index 906066c83c..2901151312 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_ufromfpxl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_ufromfpxl.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 1
 #define INEXACT 1
-#define FUNC ufromfpxl
+#define FUNC __ufromfpxl
 #include <s_fromfpl_main.c>
+weak_alias (__ufromfpxl, ufromfpxl)
diff --git a/sysdeps/ieee754/ldbl-96/s_fromfpl.c b/sysdeps/ieee754/ldbl-96/s_fromfpl.c
index e323b4c25b..f3fdba33c1 100644
--- a/sysdeps/ieee754/ldbl-96/s_fromfpl.c
+++ b/sysdeps/ieee754/ldbl-96/s_fromfpl.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 0
 #define INEXACT 0
-#define FUNC fromfpl
+#define FUNC __fromfpl
 #include <s_fromfpl_main.c>
+weak_alias (__fromfpl, fromfpl)
diff --git a/sysdeps/ieee754/ldbl-96/s_fromfpxl.c b/sysdeps/ieee754/ldbl-96/s_fromfpxl.c
index 2f3189d7de..9477cc2ea7 100644
--- a/sysdeps/ieee754/ldbl-96/s_fromfpxl.c
+++ b/sysdeps/ieee754/ldbl-96/s_fromfpxl.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 0
 #define INEXACT 1
-#define FUNC fromfpxl
+#define FUNC __fromfpxl
 #include <s_fromfpl_main.c>
+weak_alias (__fromfpxl, fromfpxl)
diff --git a/sysdeps/ieee754/ldbl-96/s_getpayloadl.c b/sysdeps/ieee754/ldbl-96/s_getpayloadl.c
index 6efe97baee..2c4dab2f58 100644
--- a/sysdeps/ieee754/ldbl-96/s_getpayloadl.c
+++ b/sysdeps/ieee754/ldbl-96/s_getpayloadl.c
@@ -21,7 +21,7 @@
 #include <stdint.h>
 
 long double
-getpayloadl (const long double *x)
+__getpayloadl (const long double *x)
 {
   uint16_t se __attribute__ ((unused));
   uint32_t hx, lx;
@@ -30,3 +30,4 @@ getpayloadl (const long double *x)
   uint64_t ix = ((uint64_t) hx << 32) | lx;
   return (long double) ix;
 }
+weak_alias (__getpayloadl, getpayloadl)
diff --git a/sysdeps/ieee754/ldbl-96/s_roundevenl.c b/sysdeps/ieee754/ldbl-96/s_roundevenl.c
index dab6aa6558..de09535fa6 100644
--- a/sysdeps/ieee754/ldbl-96/s_roundevenl.c
+++ b/sysdeps/ieee754/ldbl-96/s_roundevenl.c
@@ -26,7 +26,7 @@
 #define MAX_EXP (2 * BIAS + 1)
 
 long double
-roundevenl (long double x)
+__roundevenl (long double x)
 {
   uint16_t se;
   uint32_t hx, lx;
@@ -122,3 +122,4 @@ roundevenl (long double x)
   SET_LDOUBLE_WORDS (x, se, hx, lx);
   return x;
 }
+weak_alias (__roundevenl, roundevenl)
diff --git a/sysdeps/ieee754/ldbl-96/s_setpayloadl.c b/sysdeps/ieee754/ldbl-96/s_setpayloadl.c
index 1aba33e6e2..bb07a3533a 100644
--- a/sysdeps/ieee754/ldbl-96/s_setpayloadl.c
+++ b/sysdeps/ieee754/ldbl-96/s_setpayloadl.c
@@ -1,3 +1,4 @@
 #define SIG 0
-#define FUNC setpayloadl
+#define FUNC __setpayloadl
 #include <s_setpayloadl_main.c>
+weak_alias (__setpayloadl, setpayloadl)
diff --git a/sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c b/sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c
index d97e2c8206..4e920360d4 100644
--- a/sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c
+++ b/sysdeps/ieee754/ldbl-96/s_setpayloadsigl.c
@@ -1,3 +1,4 @@
 #define SIG 1
-#define FUNC setpayloadsigl
+#define FUNC __setpayloadsigl
 #include <s_setpayloadl_main.c>
+weak_alias (__setpayloadsigl, setpayloadsigl)
diff --git a/sysdeps/ieee754/ldbl-96/s_totalorderl.c b/sysdeps/ieee754/ldbl-96/s_totalorderl.c
index 16accad1ff..2d3b3b7d05 100644
--- a/sysdeps/ieee754/ldbl-96/s_totalorderl.c
+++ b/sysdeps/ieee754/ldbl-96/s_totalorderl.c
@@ -23,7 +23,7 @@
 #include <stdint.h>
 
 int
-totalorderl (long double x, long double y)
+__totalorderl (long double x, long double y)
 {
   int16_t expx, expy;
   uint32_t hx, hy;
@@ -55,3 +55,4 @@ totalorderl (long double x, long double y)
   ly ^= y_sign;
   return expx < expy || (expx == expy && (hx < hy || (hx == hy && lx <= ly)));
 }
+weak_alias (__totalorderl, totalorderl)
diff --git a/sysdeps/ieee754/ldbl-96/s_totalordermagl.c b/sysdeps/ieee754/ldbl-96/s_totalordermagl.c
index 6b370b2ade..2d22a0c518 100644
--- a/sysdeps/ieee754/ldbl-96/s_totalordermagl.c
+++ b/sysdeps/ieee754/ldbl-96/s_totalordermagl.c
@@ -23,7 +23,7 @@
 #include <stdint.h>
 
 int
-totalordermagl (long double x, long double y)
+__totalordermagl (long double x, long double y)
 {
   uint16_t expx, expy;
   uint32_t hx, hy;
@@ -49,3 +49,4 @@ totalordermagl (long double x, long double y)
 #endif
   return expx < expy || (expx == expy && (hx < hy || (hx == hy && lx <= ly)));
 }
+weak_alias (__totalordermagl, totalordermagl)
diff --git a/sysdeps/ieee754/ldbl-96/s_ufromfpl.c b/sysdeps/ieee754/ldbl-96/s_ufromfpl.c
index c686daa4a7..2176aa0cdd 100644
--- a/sysdeps/ieee754/ldbl-96/s_ufromfpl.c
+++ b/sysdeps/ieee754/ldbl-96/s_ufromfpl.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 1
 #define INEXACT 0
-#define FUNC ufromfpl
+#define FUNC __ufromfpl
 #include <s_fromfpl_main.c>
+weak_alias (__ufromfpl, ufromfpl)
diff --git a/sysdeps/ieee754/ldbl-96/s_ufromfpxl.c b/sysdeps/ieee754/ldbl-96/s_ufromfpxl.c
index 906066c83c..2901151312 100644
--- a/sysdeps/ieee754/ldbl-96/s_ufromfpxl.c
+++ b/sysdeps/ieee754/ldbl-96/s_ufromfpxl.c
@@ -1,4 +1,5 @@
 #define UNSIGNED 1
 #define INEXACT 1
-#define FUNC ufromfpxl
+#define FUNC __ufromfpxl
 #include <s_fromfpl_main.c>
+weak_alias (__ufromfpxl, ufromfpxl)