mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 02:40:08 +00:00
831bbd5527
This patch removes the SPARC-specific wrappers for sqrt and sqrtf.
These wrappers, by adding architecture-specific uses of _LIB_VERSION
and __kernel_standard, unnecessarily complicate cleanups of libm error
handling. They also do not serve a useful optimization purpose. GCC
knows about sqrt as a built-in function, and can generate direct calls
to a hardware square root instruction, either on its own, in the
-fno-math-errno case, or together with an inline check for the
argument being negative and a call to the out-of-line sqrt function
for error handling only in that case (and has been able to do so for a
long time). Thus in practice the wrapper will only be called only in
the case of negative arguments, which is not a case it is useful to
optimize for.
The removal of the wrappers also uncovers, and fixes, an old bug.
32-bit SPARC libm used (checked with glibc 2.8 binaries) to have a
sqrtl compat symbol, version GLIBC_2.0, for old binaries when sqrtl
was an alias of sqrt (I don't have pre-glibc-2.4 binaries for SPARC to
hand to check for the sqrtl symbol in those). This disappeared,
probably with:
commit
|
||
---|---|---|
.. | ||
bits | ||
sparc32 | ||
sparc64 | ||
sys | ||
a.out.h | ||
aio_cancel.c | ||
arch-fork.h | ||
configure | ||
configure.ac | ||
dl-cache.h | ||
getrlimit64.c | ||
getshmlba.c | ||
getsysstats.c | ||
Implies | ||
kernel_termios.h | ||
kernel-features.h | ||
ldd-rewrite.sed | ||
lowlevellock.h | ||
Makefile | ||
pt-vfork.S | ||
readelflib.c | ||
rt-sysdep.c | ||
sysdep.c | ||
sysdep.h | ||
system.c | ||
Versions |