Bug#781892: (Hardware?) problem with denormal values on mipsel

2015-05-27 Thread James Cowgill
Control: reassign -1 src:linux 3.16.7-ckt9-2
Control: retitle -1 linux: mips sqrt.s instruction not emulated on Loongson 
processors
Control: tags -1 fixed-upstream
# Will be fixed in 4.1

On Tue, 2015-05-26 at 20:21 +0300, Aaro Koskinen wrote:
 On Tue, May 26, 2015 at 10:13:35AM +0100, James Cowgill wrote:
  On Sun, 2015-05-24 at 22:32 +0300, Aaro Koskinen wrote:
   On Fri, May 22, 2015 at 11:00:18PM +0100, James Cowgill wrote:
On Sat, 2015-05-23 at 00:04 +0300, Aaro Koskinen wrote:
 On Fri, May 22, 2015 at 05:27:14PM +0100, James Cowgill wrote:
  Yep it's a hardware problem. The following assembly dies (raises 
  SIGILL)
  at 'sqrt.s' on the Loongsons and works everywhere else:
  
  ===
  .set mips2
  .text
  .global main
  .type main, @function
  main:
  lui $t0, %hi(value)
  lwc1 $f0, %lo(value)($t0)
  nop
  sqrt.s $f0, $f0
  jr $ra
  
  .data
  value:
  .float 1.1342362e-39
  ===
 
 Is this a standalone reproducer program for the problem? Because
 I tried it on on my Loongson box and didn't get any SIGILL...

It should be. I tried it on some 3A machines at work and it crashed
there (and then some other machines which didn't crash). There's a 2F I
can try on Tuesday.
   
   My Loongson is 2F...
  
  I tried it on my 2F (it's a Lemote Fuloong) and it crashed there as well
  (both the gfortran and my testcase). It's running up to date jessie.
  
  What compiler versions do you have?
  What does the 'cpu model' line say in /proc/cpuinfo?
 
 I'm using binutils 2.25, GCC 5.1, Linux 4.1-rc5. The cpu model is:
 
 cpu model   : ICT Loongson-2 V0.3  FPU V0.1

Thanks! The kernel was the important part which was different to my
setup.

There's probably still a hardware bug in here somewhere, but before 3.16
the kernel was fixing it with the math emulator.

From what I can see:
Commit 08a07904e182 in 3.16 ('MIPS: math-emu: Remove most ifdefery.')
incorrectly disabled emulation of the sqrt.s instruction on processors
only supporting the mips2/mips3 ISA.

Commit 7352c8b13dd9 in 3.18 ('MIPS: Loongson: Set Loongson-3's ISA level
to MIPS64R1') worked around this in the Loongson 3s because their ISA
level was bumped to mips64r1.

Commit 2d83fea786d7 in 4.1-rc1 ('MIPS: Correct FP ISA requirements')
fixed the underlying sqrt.s emulation bug.

It would be good if the 4.1-rc1 patch or at least the 'case fsqrt_op'
part (which is the fix for this bug) can be applied to a jessie stable
kernel and then installed on the buildds. This should fix the original
problem of eso-midas failing to build on mipsel.

Thanks,
James


signature.asc
Description: This is a digitally signed message part


Processed: Re: (Hardware?) problem with denormal values on mipsel

2015-05-27 Thread Debian Bug Tracking System
Processing control commands:

 reassign -1 src:linux 3.16.7-ckt9-2
Bug #781892 [gfortran-4.9] gfortran-4.9: denormal value produces illegal 
instruction on mipsel
Bug reassigned from package 'gfortran-4.9' to 'src:linux'.
No longer marked as found in versions gcc-4.9/4.9.2-10.
Ignoring request to alter fixed versions of bug #781892 to the same values 
previously set
Bug #781892 [src:linux] gfortran-4.9: denormal value produces illegal 
instruction on mipsel
Marked as found in versions linux/3.16.7-ckt9-2.
 retitle -1 linux: mips sqrt.s instruction not emulated on Loongson processors
Bug #781892 [src:linux] gfortran-4.9: denormal value produces illegal 
instruction on mipsel
Changed Bug title to 'linux: mips sqrt.s instruction not emulated on Loongson 
processors' from 'gfortran-4.9: denormal value produces illegal instruction on 
mipsel'
 tags -1 fixed-upstream
Bug #781892 [src:linux] linux: mips sqrt.s instruction not emulated on Loongson 
processors
Added tag(s) fixed-upstream.

-- 
781892: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=781892
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems


--
To UNSUBSCRIBE, email to debian-gcc-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/handler.s.b781892.143273436827941.transcr...@bugs.debian.org