glibc/sysdeps/riscv
Joseph Myers 9755bc4686 Use round functions not __round functions in glibc libm.
Continuing the move to use, within libm, public names for libm
functions that can be inlined as built-in functions on many
architectures, this patch moves calls to __round functions to call the
corresponding round names instead, with asm redirection to __round
when the calls are not inlined.

An additional complication arises in
sysdeps/ieee754/ldbl-128ibm/e_expl.c, where a call to roundl, with the
result converted to int, gets converted by the compiler to call
lroundl in the case of 32-bit long, so resulting in localplt test
failures.  It's logically correct to let the compiler make such an
optimization; an appropriate asm redirection of lroundl to __lroundl
is thus added to that file (it's not needed anywhere else).

Tested for x86_64, and with build-many-glibcs.py.

	* include/math.h [!_ISOMAC && !(__FINITE_MATH_ONLY__ &&
	__FINITE_MATH_ONLY__ > 0) && !NO_MATH_REDIRECT] (round): Redirect
	using MATH_REDIRECT.
	* sysdeps/aarch64/fpu/s_round.c: Define NO_MATH_REDIRECT before
	header inclusion.
	* sysdeps/aarch64/fpu/s_roundf.c: Likewise.
	* sysdeps/ieee754/dbl-64/s_round.c: Likewise.
	* sysdeps/ieee754/dbl-64/wordsize-64/s_round.c: Likewise.
	* sysdeps/ieee754/float128/s_roundf128.c: Likewise.
	* sysdeps/ieee754/flt-32/s_roundf.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_roundl.c: Likewise.
	* sysdeps/ieee754/ldbl-96/s_roundl.c: Likewise.
	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_round.c: Likewise.
	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_roundf.c: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_round.c: Likewise.
	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf.c: Likewise.
	* sysdeps/riscv/rv64/rvd/s_round.c: Likewise.
	* sysdeps/riscv/rvf/s_roundf.c: Likewise.
	* sysdeps/ieee754/ldbl-128ibm/s_roundl.c: Likewise.
	(round): Redirect to __round.
	(__roundl): Call round instead of __round.
	* sysdeps/powerpc/fpu/math_private.h [_ARCH_PWR5X] (__round):
	Remove macro.
	[_ARCH_PWR5X] (__roundf): Likewise.
	* sysdeps/ieee754/dbl-64/e_gamma_r.c (gamma_positive): Use round
	functions instead of __round variants.
	* sysdeps/ieee754/flt-32/e_gammaf_r.c (gammaf_positive): Likewise.
	* sysdeps/ieee754/ldbl-128/e_gammal_r.c (gammal_positive):
	Likewise.
	* sysdeps/ieee754/ldbl-128ibm/e_gammal_r.c (gammal_positive):
	Likewise.
	* sysdeps/ieee754/ldbl-96/e_gammal_r.c (gammal_positive):
	Likewise.
	* sysdeps/x86/fpu/powl_helper.c (__powl_helper): Likewise.
	* sysdeps/ieee754/ldbl-128ibm/e_expl.c (lroundl): Redirect to
	__lroundl.
	(__ieee754_expl): Call roundl instead of __roundl.
2018-09-27 12:35:23 +00:00
..
bits RISC-V: Generic <math.h> and soft-fp Routines 2018-01-29 10:26:35 -08:00
nofpu Move EXCEPTION_TESTS_* out of math-tests.h 2018-08-23 23:41:13 +00:00
nptl RISC-V: Don't use ps_get_thread_area in libthread_db (bug 23402) 2018-08-06 12:51:59 -07:00
rv64 Use round functions not __round functions in glibc libm. 2018-09-27 12:35:23 +00:00
rvd Do not include fenv_private.h in math_private.h. 2018-09-03 21:09:04 +00:00
rvf Use round functions not __round functions in glibc libm. 2018-09-27 12:35:23 +00:00
sys RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
Implies RISC-V: Build Infastructure 2018-01-29 10:43:15 -08:00
Makefile RISC-V: Build Infastructure 2018-01-29 10:43:15 -08:00
__longjmp.S RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
bsd-_setjmp.c RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
bsd-setjmp.c RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
configure RISC-V: Build Infastructure 2018-01-29 10:43:15 -08:00
configure.ac RISC-V: Build Infastructure 2018-01-29 10:43:15 -08:00
dl-machine.h elf: Unify symbol address run-time calculation [BZ #19818] 2018-04-04 23:09:37 +01:00
dl-tls.h RISC-V: Thread-Local Storage Support 2018-01-29 10:25:58 -08:00
dl-trampoline.S RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
e_sqrtl.c RISC-V: Generic <math.h> and soft-fp Routines 2018-01-29 10:26:35 -08:00
fpu_control.h RISC-V: Generic <math.h> and soft-fp Routines 2018-01-29 10:26:35 -08:00
gccframe.h RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
jmpbuf-offsets.h RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
jmpbuf-unwind.h RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
ldsodefs.h RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
libc-tls.c RISC-V: Thread-Local Storage Support 2018-01-29 10:25:58 -08:00
linkmap.h RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
machine-gmon.h RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
math-tests-snan-payload.h Move SNAN_TESTS_PRESERVE_PAYLOAD out of math-tests.h. 2018-08-01 11:21:16 +00:00
math-tests-trap.h Move EXCEPTION_ENABLE_SUPPORTED out of math-tests.h. 2018-08-24 19:18:16 +00:00
memusage.h RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
preconfigure RISC-V: Build Infastructure 2018-01-29 10:43:15 -08:00
setjmp.S RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
sfp-machine.h RISC-V: Generic <math.h> and soft-fp Routines 2018-01-29 10:26:35 -08:00
sotruss-lib.c RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
stackinfo.h RISC-V: Thread-Local Storage Support 2018-01-29 10:25:58 -08:00
start.S RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00
tininess.h RISC-V: Generic <math.h> and soft-fp Routines 2018-01-29 10:26:35 -08:00
tls-macros.h RISC-V: Do not initialize $gp in TLS macros. 2018-02-22 14:28:47 -05:00
tst-audit.h RISC-V: ABI Implementation 2018-01-29 10:25:29 -08:00