about summary refs log tree commit diff
path: root/math/w_scalbl_compat.c
diff options
context:
space:
mode:
authorTulio Magno Quites Machado Filho <tuliom@linux.ibm.com>2018-05-29 17:52:24 -0300
committerPaul E. Murphy <murphyp@linux.vnet.ibm.com>2020-02-14 08:24:56 -0600
commitc624d23260d5c136bebdd3a0734876527cedc505 (patch)
treec3b9039f6ef2e62892420a9b147668fc8924d759 /math/w_scalbl_compat.c
parentad180676b83dc1782d407dbff57dabbaab0c1f71 (diff)
downloadglibc-c624d23260d5c136bebdd3a0734876527cedc505.tar.gz
glibc-c624d23260d5c136bebdd3a0734876527cedc505.tar.xz
glibc-c624d23260d5c136bebdd3a0734876527cedc505.zip
Add a generic scalb implementation
This is a preparatory patch to enable building a _Float128
variant to ease reuse when building a _Float128 variant to
alias this long double only symbol.

Notably, stubs are added where missing to the native _Float128
sysdep dir to prevent building these newly templated variants
created inside the build directories.

Also noteworthy are the changes around LIBM_SVID_COMPAT.  These
changes are not intuitive.  The templated version is only
enabled when !LIBM_SVID_COMPAT, and the compat version is
predicated entirely on LIBM_SVID_COMPAT.  Thus, exactly one is
stubbed out entirely when building.  The nldbl scalb compat
files are updated to account for this.

Likewise, fixup the reuse of m68k's e_scalb{f,l}.c to include
it's override of e_scalb.c.  Otherwise, the search path finds
the templated copy in the build directory.  This could be
futher simplified by providing an overridden template, but I
lack the hardware to verify.
Diffstat (limited to 'math/w_scalbl_compat.c')
-rw-r--r--math/w_scalbl_compat.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/math/w_scalbl_compat.c b/math/w_scalbl_compat.c
index 8858c6b66d..c8ba3fddb4 100644
--- a/math/w_scalbl_compat.c
+++ b/math/w_scalbl_compat.c
@@ -41,18 +41,15 @@ sysv_scalbl (long double x, long double fn)
 
   return z;
 }
-#endif
 
 
 /* Wrapper scalbl */
 long double
 __scalbl (long double x, long double fn)
 {
-#if LIBM_SVID_COMPAT
   if (__glibc_unlikely (_LIB_VERSION == _SVID_))
     return sysv_scalbl (x, fn);
   else
-#endif
     {
       long double z = __ieee754_scalbl (x, fn);
 
@@ -79,3 +76,4 @@ __scalbl (long double x, long double fn)
     }
 }
 weak_alias (__scalbl, scalbl)
+#endif