[Bug 275322] Improper handling of mxcsr register during debug (gdb/lldb)

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 28 Nov 2023 16:53:49 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275322

Olivier Certner <olivier.freebsd@free.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |olivier.freebsd@free.fr

--- Comment #8 from Olivier Certner <olivier.freebsd@free.fr> ---
On a bare-metal Ryzen 3900X running 13-STABLE, I get:

ra=7.01209994486364354e-310 reatt=10000000000 ra * reatt-> result =0 savemxcsr
00001f80 mxcsr_set 00009fc0 showmxcsr 00009fc0 mxcsr 00009fc0

With a breakpoint I see the same, and when stopped at "mulsd":
(gdb) info register mxcsr
mxcsr          0x1f80              [ IM DM ZM OM UM PM ]
(gdb) continue
Continuing.
ra=7.01209994486364354e-310 reatt=10000000000 ra * reatt-> result
=7.01209994486364403e-300 savemxcsr 00001f80 mxcsr_set 00009fc0 showmxcsr
00009fc0 mxcsr 00001fa2

So I get the same results as markj@ (comment #7), and the same as Cheyenne
Wills (comment #1) except for mxcsr in the first print (00009fc0).  Given the
code, I don't get how you can possibly obtain 00001f80.  Anyway, there is a
discrepancy between a normal run (and a debugged run without "info register
mxcsr") and a debug run with "info register mxcsr").

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