Re: [PATCH] MIPS: Provide Kconfig option for default IEEE754 conformance mode

From: Zhou Yanjie
Date: Wed Aug 05 2020 - 16:50:01 EST



在 2020/8/3 下午5:01, Jiaxun Yang 写道:


在 2020/8/3 上午5:46, Maciej W. Rozycki 写道:
On Fri, 31 Jul 2020, Serge Semin wrote:

Requested by downstream distros, a Kconfig option for default
IEEE754 conformance mode allows them to set their mode to
relaxed by default.
That's what should have been here in the first place. Thanks!
  Well, originally plans were there to have NaN interlinking implemented
and no such mess or desire for hacks like one here would result.  Cf.:

<https://gcc.gnu.org/ml/gcc/2015-11/msg00068.html>,
<https://gcc.gnu.org/ml/gcc/2016-05/msg00137.html>,

and then:

<https://lkml.org/lkml/2015/11/16/386>,
<https://sourceware.org/ml/libc-alpha/2015-11/msg00485.html>,
<https://sourceware.org/ml/binutils/2015-11/msg00170.html>,
<https://gcc.gnu.org/ml/gcc-patches/2015-11/msg03241.html>.

You could well pick this work up and complete it if you like. Final
conclusions for further work were made here:

<https://gcc.gnu.org/ml/gcc/2016-11/msg00027.html>,
<https://gcc.gnu.org/ml/gcc/2017-08/msg00260.html>,
<https://gcc.gnu.org/ml/gcc/2017-10/msg00142.html>.

  In the relaxed mode math programs may produce wrong results unless you
rebuild all your software for the correct NaN mode for the hardware used

Unfortunately most of the hardware guys didn't understood the difficulty here.
They decided to implement their hardware (P5600 & LS3A4000) as NaN2008 only.


All SoCs based on Ingenic XBurst2 CPU core are also NaN2008 only.


I was thinking about let Kernel drop SIGFPE exception was caused by mismatched NaN,
as most applications don't rely on signaling NaN, but it is still a dirty hack. Not a good
idea in general.

Thanks.

- Jiaxun

(in which case you don't need the relaxed setting in the first place).


   Maciej