Sweden-Number/dlls/ntdll
Martin Storsjo babbf352b6 ntdll: Fix unwinding functions that end with a branch instruction.
This happens with functions that aren't intended to return e.g. like
_Unwind_Resume. In these cases, the return address is outside of the
function (the first instruction in the next function).

Set the flag CONTEXT_UNWOUND_TO_CALL after unwinding to a callsite,
and if this flag is set, look up a RUNTIME_FUNCTION based on
Control.Pc - 4.

This isn't a complete (nor probably entirely correct) implementation
of the flag CONTEXT_UNWOUND_TO_CALL, but it practically seems to
work fine and fixes a large number of unwinding cases.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-28 20:18:32 +02:00
..
tests ntdll/tests: Make RtlIpv6AddressToString test data static and constant. 2020-05-28 20:10:54 +02:00
unix ntdll: Reserve the area whenever possible in reserve_area() on FreeBSD. 2020-05-25 20:21:00 +02:00
Makefile.in ntdll: Move the wineloader exec support to the Unix library. 2020-05-19 14:08:16 +02:00
actctx.c ntdll: Make the windows directory a global variable. 2020-05-21 17:06:04 +02:00
atom.c
cdrom.c
critsection.c
crypt.c
debugbuffer.c
directory.c
env.c ntdll: Make the windows directory a global variable. 2020-05-21 17:06:04 +02:00
error.c
exception.c
file.c
handletable.c
heap.c
large_int.c
loader.c ntdll: Fix off-by-one buffer size error. 2020-05-27 16:08:12 +02:00
loadorder.c
locale.c kernel32: Move the *PreferredUILanguages functions to kernelbase and ntdll. 2020-05-22 14:31:55 +02:00
make_errors
misc.c ntdll: Silence a va_start compiler warning. 2020-05-22 14:32:02 +02:00
nt.c ntdll: Implement SystemTimeAdjustmentInformation class. 2020-05-22 14:31:55 +02:00
ntdll.spec ntdll: Implement RtlIpv6AddressToString(Ex)[AW]. 2020-05-26 10:12:12 +02:00
ntdll_misc.h ntdll: Make the windows directory a global variable. 2020-05-21 17:06:04 +02:00
om.c
path.c
printf.c
process.c ntdll: Implement ProcessImageInformation class in NtQueryInformationProcess(). 2020-05-26 15:58:13 +02:00
reg.c
relay.c
resource.c
rtl.c ntdll: Implement RtlIpv6AddressToString(Ex)[AW]. 2020-05-26 10:12:12 +02:00
rtlbitmap.c
rtlstr.c
sec.c
serial.c
server.c ntdll: Move the wineserver exec support to the Unix library. 2020-05-19 17:40:08 +02:00
signal_arm.c
signal_arm64.c ntdll: Fix unwinding functions that end with a branch instruction. 2020-05-28 20:18:32 +02:00
signal_i386.c
signal_powerpc.c
signal_x86_64.c ntdll: Use memcpy() in set_float_reg(). 2020-05-25 20:20:09 +02:00
string.c
sync.c
tape.c
thread.c ntdll: Fill ActiveGroupCount field in _KUSER_SHARED_DATA. 2020-05-25 20:23:31 +02:00
threadpool.c
time.c ntdll: Use the user shared data to implement RtlQueryUnbiasedInterruptTime(). 2020-05-21 19:36:52 +02:00
unixlib.h ntdll: Move the Unix codepage initialization to the Unix library. 2020-05-20 16:16:40 +02:00
version.c ntdll: Centralize initialization of the user shared data. 2020-05-21 19:36:52 +02:00
version.rc
virtual.c ntdll: Remove unnecessary page variable. 2020-05-27 00:14:14 +02:00
wcstring.c