• Martin Storsjö's avatar
    ntdll: Zero-initialize the syscall_frame used for starting threads on ARM/ARM64. · 482b6a6d
    Martin Storsjö authored
    This fixes an inconsistency since
    fed7e7a7 (ntdll: Simulate a syscall
    return when starting a thread); in that commit, on i386 and
    x86_64, the syscall_frame used for starting the thread was
    zeroed with a memset, while it wasn't on arm and arm64.
    
    This had a noticable effect on float maths, where the
    uninitialized frame->restore_flags field could have the
    CONTEXT_FLOATING_POINT bit set. (call_init_thunk only ORs in
    CONTEXT_INTEGER into the restore_flags field, on all architectures).
    If that bit was set, it would restore uninitialized data into the
    fpscr register, possibly setting the FPU in a nondefault rounding
    mode.
    Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
    Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
    482b6a6d
Name
Last commit
Last update
dlls Loading commit data...
documentation Loading commit data...
fonts Loading commit data...
include Loading commit data...
libs Loading commit data...
loader Loading commit data...
nls Loading commit data...
po Loading commit data...
programs Loading commit data...
server Loading commit data...
tools Loading commit data...
.editorconfig Loading commit data...
.mailmap Loading commit data...
ANNOUNCE Loading commit data...
AUTHORS Loading commit data...
COPYING.LIB Loading commit data...
LICENSE Loading commit data...
LICENSE.OLD Loading commit data...
MAINTAINERS Loading commit data...
README Loading commit data...
VERSION Loading commit data...
aclocal.m4 Loading commit data...
configure Loading commit data...
configure.ac Loading commit data...