mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-01 10:06:57 +03:00
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.
This commit is contained in:
committed by
Paul E. Murphy
parent
ad180676b8
commit
c624d23260
@ -41,18 +41,15 @@ sysv_scalb (double x, double fn)
|
||||
|
||||
return z;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* Wrapper scalb */
|
||||
double
|
||||
__scalb (double x, double fn)
|
||||
{
|
||||
#if LIBM_SVID_COMPAT
|
||||
if (__glibc_unlikely (_LIB_VERSION == _SVID_))
|
||||
return sysv_scalb (x, fn);
|
||||
else
|
||||
#endif
|
||||
{
|
||||
double z = __ieee754_scalb (x, fn);
|
||||
|
||||
@ -79,7 +76,8 @@ __scalb (double x, double fn)
|
||||
}
|
||||
}
|
||||
weak_alias (__scalb, scalb)
|
||||
#ifdef NO_LONG_DOUBLE
|
||||
# ifdef NO_LONG_DOUBLE
|
||||
strong_alias (__scalb, __scalbl)
|
||||
weak_alias (__scalb, scalbl)
|
||||
# endif
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user