freebsd-dev/lib/libc/riscv
Mitchell Horne bbfbc439f2 Fix printf(3) output of long doubles on RISC-V
When the RISC-V port was initially committed to FreeBSD, GCC would
generate 64-bit long doubles, and the definitions in _fpmath.h reflected
that. This was changed to 128-bit in GCC later that year [1], but the
definitions were never updated, despite the documented workaround. This
causes printf(3) and friends to interpret only the low 64-bits of a long
double in ldtoa, thereby printing incorrect values.

Update the definitions now that both clang and GCC generate 128-bit long
doubles.

[1] 54b21fc5ae

PR:		242067
Reported by:	Dennis Clarke <dclarke@blastwave.org>
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D25420
2020-06-29 19:30:35 +00:00
..
gen Check the magic value in longjmp() before calling sigprocmask(). 2020-04-21 17:40:23 +00:00
softfloat Add full softfloat and hardfloat support for RISC-V. 2016-11-16 15:21:32 +00:00
sys Reimplement brk() and sbrk() to avoid the use of _end. 2018-06-04 19:35:15 +00:00
_fpmath.h Fix printf(3) output of long doubles on RISC-V 2020-06-29 19:30:35 +00:00
arith.h
gd_qnan.h
Makefile.inc Replace SOFTFLOAT with __riscv_float_abi_*. 2018-04-19 20:36:15 +00:00
static_tls.h Fix initial exec TLS mode for dynamically loaded shared objects. 2019-03-29 17:52:57 +00:00
Symbol.map Don't export _end on arm64 and riscv. 2018-06-01 23:42:10 +00:00
SYS.h Use unconditional jr (jump register) so cerror relocation offset fits. 2017-04-27 22:40:39 +00:00