Martin Storsjo
36ebdfc6b6
ntdll: Add ARM64 SEH unwind directives for assembly functions in PE builds.
...
This fixes unwinding through RtlRaiseException and
call_consolidate_callback in PE builds.
Adjust the call_consolidate_callback function to store the whole
context on the stack, and use the seh "context" opcode for
unwinding to that context instead of the parent. Adjust the dwarf
escape codes for reading from the context on the stack.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-04 15:47:27 +02:00
Martin Storsjo
264bd4fc84
wine/asm.h: Don't define __ASM_CFI when using clang as cross compiler.
...
Consolidate the existing checks for __APPLE__ and __clang__ into one,
but only use it as long as __GNUC__ is defined (clang operating in
gcc compatible mode, as opposed to MSVC compatible mode) and as
long as __SEH__ isn't defined (which it is while cross compiling
targeting windows, when SEH is used as unwind format).
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 20:05:30 +02:00
Martin Storsjo
c22e8645b0
wine/asm.h: Use __ASM_CFI on clang too, despite not defining __GCC_HAVE_DWARF2_CFI_ASM.
...
It has already been unconditionally enabled for macOS (which uses clang).
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-28 20:18:32 +02:00
Jacek Caban
aa6c442cac
wine/asm.h: Introduce __ASM_USE_THISCALL_WRAPPER macro.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 12:50:37 +02:00
Jacek Caban
541048868d
wine/asm.h: Introduce __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 22:03:16 +02:00
Jacek Caban
3acd943275
windef.h: Use __thiscall keyword on Clang with MSVC target.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 20:20:24 +02:00
Alexandre Julliard
39138478fd
libwine: Make some functions obsolete.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:14:54 +01:00
Ken Thomases
021c5054f6
include: Always generate CFI directives on macOS.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47736
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-26 21:02:47 +02:00
Alexandre Julliard
a0190cc27c
Revert "wine/asm.h: Quote stdcall decored symbols."
...
This reverts commit bdcc54c19d
.
It breaks with older binutils.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-27 10:13:11 +02:00
Jacek Caban
bdcc54c19d
wine/asm.h: Quote stdcall decored symbols.
...
LLVM can't handle @ char in non-quoted symbol names.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-26 17:41:15 +02:00
Alexandre Julliard
f1bd0cadd1
include: Add support for .seh asm annotations.
...
Based on a patch by Rémi Bernon.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-21 11:52:04 +02:00
Alexandre Julliard
170bd8f361
include: Pass function name directly to the __ASM_STDCALL macro.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 19:00:10 +02:00
Alexandre Julliard
0a79eb3608
include: Use the __thiscall attribute directly for the Mingw build.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 19:00:10 +02:00
Alexandre Julliard
10584d2057
include: Use the __fastcall attribute directly for the Windows build.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-16 14:07:15 +02:00
André Hentschel
f2503a3e0d
include: Fix ASM_CFI definition.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 22:04:39 +02:00
Alexandre Julliard
ee4db2005e
include: Define thiscall assembly wrappers globally.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 20:11:19 +02:00
Alexandre Julliard
62fa748f23
include: Define fastcall assembly wrappers globally.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 19:59:33 +02:00
Alexandre Julliard
d5a372abbb
include: Move inline assembly definitions to a new wine/asm.h header.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 13:45:07 +02:00