- 07 Nov, 2022 1 commit
-
-
Martin Storsjö authored
On most ELF platforms on ARM, ARM EHABI is the unwind info format normally used, instead of DWARF like on most other platforms. Currently, when unwinding through ELF objects with libunwind, the libraries don't have any .eh_frame section mapped at runtime (since DWARF isn't used for unwinding). Instead, what happens is that libunwind ends up loading .debug_frame from the libraries on disk instead. Therefore, currently, ELF unwinding relies on the .so files not being stripped. This patch adds the necessary EHABI unwinding instructions in the assembly functions that currently have DWARF CFI instructions. EHABI isn't signaled via any specific preprocessor macro, but is signaled by the absence of other unwind mechanisms (such as __ARM_DWARF_EH__ and __SEH__, or maybe SjLj). Mark the asm functions in the preloaders as .cantunwind, to avoid undefined references to __aeabi_unwind_cpp_pr* functions. Also mark other assembly functions as .cantunwind; for signal_exit_thread this is essential if the function is marked with .fnstart/.fnend - otherwise exiting threads does hang. (pthread_exit internally calls _Unwind_ForcedUnwind, which would hang if signal_exit_thread had .fnstart without any matching unwind info). This would, in principle, allow unwinding through these functions with libunwind, for versions of libunwind that can parse the EHABI unwind info - see e.g. https://github.com/libunwind/libunwind/commit/4d779f55c0d0a3814453517e54cd0f7bed69ca74. (This commit isn't yet in any current release AFAIK). Unwinding with EHABI via libunwind would require a few tweaks to the libunwind interface usage in unix/signal_arm.c though, since e.g. the unw_get_proc_info call fails if there's no .eh_frame or .debug_frame available. Signed-off-by: Martin Storsjö <martin@martin.st>
-
- 04 Nov, 2022 39 commits
-
-
Rémi Bernon authored
It returns a static buffer pointer and will free the first returned pointer on the second call.
-
Jinoh Kang authored
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.
-
Jinoh Kang authored
-
Paul Gofman authored
-
Paul Gofman authored
-
Paul Gofman authored
-
Jinoh Kang authored
This partly reverts e42eaaaf. Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
-
Jinoh Kang authored
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53153Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
-
Jinoh Kang authored
Skip redrawing the composited child window when the window rect and visible region stays the same, since we're taking the union of the old and new visible regions. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53153Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
-
Jacek Caban authored
-
Jacek Caban authored
-
Jacek Caban authored
-
Jacek Caban authored
-
Jacek Caban authored
Static arrays need only output conversion and output conversion is the same for static and dynamic arrays.
-
Jacek Caban authored
And get rid of _generate_static_array_conversion_func.
-
Jacek Caban authored
Fixes -Wenum-conversion warning when VkDebugReportObjectTypeEXT is used as a type.
-
Jacek Caban authored
-
Zhiyi Zhang authored
Support _NET_WM_FULLSCREEN_MONITORS for fullscreen windows spanning multiple monitors. This property is used to hint window managers about which monitor a fullscreen window should cover. Window managers make a fullscreen window spanning multiple monitors cover only one monitor when this property is missing. Fix Project Cars 2/3 incorrect game window size when the triple-screen mode is on.
-
Zhiyi Zhang authored
-
Zhiyi Zhang authored
-
Zhiyi Zhang authored
-
Rémi Bernon authored
-
Rémi Bernon authored
-
Rémi Bernon authored
-
Rémi Bernon authored
-
Rémi Bernon authored
-
Evan Tang authored
Adobe Reader XI patches NtAddAtom() and expects the name to be null-terminated Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53872
-
Ziqing Hui authored
This fixes Chinese and Japanese text display issue for Sins of a Solar Empire: Rebellion.
-
Ziqing Hui authored
-
Ziqing Hui authored
-
Ziqing Hui authored
-
Alex Henrie authored
-
Alex Henrie authored
-
Paul Gofman authored
-
Paul Gofman authored
-
Paul Gofman authored
-
Paul Gofman authored
-
Paul Gofman authored
-
Paul Gofman authored
-