mirror of
git://sourceware.org/git/glibc.git
synced 2024-12-27 04:41:02 +08: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 | ||
fpu | ||
soft-fp | ||
sparcv8 | ||
sparcv9 | ||
__longjmp.S | ||
add_n.S | ||
addmul_1.S | ||
alloca.S | ||
atomic-machine.h | ||
backtrace.h | ||
bsd-_setjmp.S | ||
bsd-setjmp.S | ||
bzero.c | ||
divrem.m4 | ||
dl-irel.h | ||
dl-machine.h | ||
dl-plt.h | ||
dl-trampoline.S | ||
dotmul.S | ||
e_sqrt.c | ||
ieee754.h | ||
Implies | ||
jmpbuf-offsets.h | ||
jmpbuf-unwind.h | ||
lll_timedlock_wait.c | ||
lll_timedwait_tid.c | ||
lowlevellock.c | ||
lshift.S | ||
Makefile | ||
memchr.S | ||
memcpy.S | ||
memset.S | ||
mul_1.S | ||
pthread_barrier_wait.c | ||
pthread_spin_lock.S | ||
pthread_spin_trylock.S | ||
pthreaddef.h | ||
rem.S | ||
rshift.S | ||
sdiv.S | ||
sem_post.c | ||
sem_waitcommon.c | ||
setjmp.S | ||
stackguard-macros.h | ||
start.S | ||
stpcpy.S | ||
strcat.S | ||
strchr.S | ||
strcmp.S | ||
strcpy.S | ||
strlen.S | ||
strrchr.c | ||
sub_n.S | ||
submul_1.S | ||
tls-macros.h | ||
tst-audit.h | ||
udiv.S | ||
umul.S | ||
urem.S | ||
Versions |