/[base]
ViewVC logotype

Revision 362788


Jump to revision: Previous Next
Author: mhorne
Date: Mon Jun 29 19:30:35 2020 UTC (4 years ago)
Changed paths: 1
Log Message:
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] https://github.com/riscv/riscv-gcc/commit/54b21fc5ae83cefec44bc2caed4a8c664c274ba0

PR:		242067
Reported by:	Dennis Clarke <dclarke@blastwave.org>
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D25420


Changed paths

Path Details
Directoryhead/lib/libc/riscv/_fpmath.h modified , text changed

  ViewVC Help
Powered by ViewVC 1.1.27