This change is adding DWARF (CFI) unwind information to the
hand-written assembly of the `__wine_syscall_dispatcher` function.
This enables unwinding through the dispatcher from the Linux stack
into (and through) the Windows stack.
The general idea is that the `syscall_frame` struct contains the
content of the callee-save registers before the function call
(in particular the stack pointer and the return address). At any
point of the execution, we have a pointer into the `syscall_frame`
in $ebx, $ecx, $ebp, or $esp.
For the CFI codes the general idea is that we are defining the
computations of the callee-save registers based on the
`syscall_frame` using DWARF’s `breg` instruction, rather than
relative to CFA.
cc/ @florian-kuebler
--
v6: ntdll: Add CFI unwind info to __wine_syscall_dispatcher (i386).
ntdll: Move CFI helper macros out of signal_x86_64.c.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1182
Enforce proper atomic update so that other threads do not read stale
data from IO_STATUS_BLOCK.
Signed-off-by: Jinoh Kang <jinoh.kang.kr(a)gmail.com>
--
v13: ntdll: Fix reading stale Information from IOSB.
ws2_32: Access internal fields of WSAOVERLAPPED as IO_STATUS_BLOCK.
kernelbase: Access internal fields of OVERLAPPED as IO_STATUS_BLOCK.
https://gitlab.winehq.org/wine/wine/-/merge_requests/155
Signed-off-by: Jinoh Kang <jinoh.kang.kr(a)gmail.com>
--
v10: server: Don't invalidate the newly exposed child region on the parent if it doesn't clip children.
server: Redraw composited window child when its z-order changes.
server: Correctly expose composited parent window and its child on position change.
https://gitlab.winehq.org/wine/wine/-/merge_requests/231
This splits the full MR test run, with short running tests on a side and now executed for both Win64 and WOW64, roughly 5min each, and the long running tests executed only for Win64, taking roughly 20min. All are executed unconditionally, but we could maybe add some early exit if that feels useful.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1241