[Bug 51996] New: aarch64: NtGetContextThread/NtSetContextThread on another thread ignores FPU state due to buggy SIGUSR1 handler

WineHQ Bugzilla wine-bugs at winehq.org
Sun Nov 7 06:50:37 CST 2021


https://bugs.winehq.org/show_bug.cgi?id=51996

            Bug ID: 51996
           Summary: aarch64: NtGetContextThread/NtSetContextThread on
                    another thread ignores FPU state due to buggy SIGUSR1
                    handler
           Product: Wine
           Version: 6.21
          Hardware: aarch64
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ntdll
          Assignee: wine-bugs at winehq.org
          Reporter: jinoh.kang.kr at gmail.com
   Regression SHA1: 07f37f21377e930aefeb1fef3ab9c3cf9daee84f
      Distribution: ---

Created attachment 70987
  --> https://bugs.winehq.org/attachment.cgi?id=70987
Test program reproducing the behaviour

Compiled with -O2, the attached test program's output should be:

    value = 2.0

When the actual output is:

    value = -1.0

This is due to NtGetContextThread/NtSetContextThread not being able to
save/restore FP registers, since save_context()/restore_context() ignores them.

The bug can be traced back to commit 07f37f21377 (ntdll: Add support for
saving/restoring FPU state on ARM64., 2019-08-13), which implements
save_fpu()/restore_fpu() but does not make use of them in
save_context()/restore_context().

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list