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]
|
||
---|---|---|
.. | ||
gen | ||
softfloat | ||
sys | ||
_fpmath.h | ||
arith.h | ||
gd_qnan.h | ||
Makefile.inc | ||
static_tls.h | ||
Symbol.map | ||
SYS.h |