Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 07 Mar 2017 13:21:24 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-arm@FreeBSD.org
Subject:   [Bug 217611] ARM VFP/NEON regs not preserved in signal delivery
Message-ID:  <bug-217611-7@https.bugs.freebsd.org/bugzilla/>

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

            Bug ID: 217611
           Summary: ARM VFP/NEON regs not preserved in signal delivery
           Product: Base System
           Version: 11.0-STABLE
          Hardware: arm
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: arm
          Assignee: freebsd-arm@FreeBSD.org
          Reporter: andrew@tao11.riddles.org.uk

Created attachment 180600
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D180600&action=
=3Dedit
FP registers vs. signals

Signal delivery to process is not saving/restoring the VFP/NEON registers.

I found this on stable/11, but it also exists on CURRENT. I tested on an RP=
I2
but the problem clearly exists on other ARM platforms.

The bug is obvious by inspection, but I attach an example test program. (If=
 you
try this on a much faster platform than cortex-a7 @900MHz, make sure you
increase the loop count to ensure runtime exceeds 1 second.)

cc fptst.c -o fptst
./fptst
entering...
h0: actual=3D10000000.000000 expected=3D10000000.000000
h1: actual=3D10000001.000000 expected=3D10000001.000000
h2: actual=3D10000002.000000 expected=3D10000002.000000
h3: actual=3D10000003.000000 expected=3D10000003.000000
h4: actual=3D10000004.000000 expected=3D10000004.000000
h5: actual=3D10000005.000000 expected=3D10000005.000000
h6: actual=3D10000006.000000 expected=3D10000006.000000
h7: actual=3D10000007.000000 expected=3D10000007.000000

./fptst breakme
entering...
h0: actual=3D-18199474333245.414062 expected=3D10000000.000000
h1: actual=3D-18199474333245.414062 expected=3D10000001.000000
h2: actual=3D-18199476796269.414062 expected=3D10000002.000000
h3: actual=3D-18199476796271.312500 expected=3D10000003.000000
h4: actual=3D-18199479259296.312500 expected=3D10000004.000000
h5: actual=3D-18199479259295.312500 expected=3D10000005.000000
h6: actual=3D-18199481722320.312500 expected=3D10000006.000000
h7: actual=3D-18199481722319.312500 expected=3D10000007.000000

(actual results will vary)

--=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-217611-7>