Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Jun 2020 19:31:24 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 242067] libc: r354823 riscv64 has a fault in printf() where IEEE754-2008 fp128 data is output wrong
Message-ID:  <bug-242067-227-ihAZmssMJ1@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-242067-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-242067-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D242067

--- Comment #9 from commit-hook@freebsd.org ---
A commit references this bug:

Author: mhorne
Date: Mon Jun 29 19:30:35 UTC 2020
New revision: 362788
URL: https://svnweb.freebsd.org/changeset/base/362788

Log:
  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/54b21fc5ae83cefec44bc2caed4a8c664=
c274ba0

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

Changes:
  head/lib/libc/riscv/_fpmath.h

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-242067-227-ihAZmssMJ1>