- 18 May, 2020 34 commits
-
-
Martin Storsjo authored
For the CR == 3 case, x29/x30 should be restored from x29, not from sp, which may have been decremented further for local stack storage. This fixes uwinding the stack for C++ exceptions in code generated by MSVC. Signed-off-by: Martin Storsjo <martin@martin.st> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Martin Storsjo authored
This fixes crashes when handling GNU/mingw style SEH based C++ exceptions on arm64; in these cases unwind_full_data ended up where it tries to write handler_rva + 1 to *handler_data. Signed-off-by: Martin Storsjo <martin@martin.st> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Martin Storsjo authored
The previous implementation might have given the impression of working, as long in some cases where the PE code actually used frame pointers, but turned out to be subly wrong. This essentially reverts the functional aspects of 1c9fdaab. Use the new value of the Lr register, after fetching the registers from unw_step, as the return value. To make single-stepping unwinding work properly, treat the registers consistently: - Make RtlCaptureContext store the current values of x29/Fp and x30/Lr from within the function, not the ones backed up from the stack. - After unwinding one step, first fetch the new values of all registers, including the new value of Lr - then use this value of Lr to set the new value of Pc (the address to actually return to). This makes the unwinding actually coherent in reading unwind opcodes and return addresses from one single function; previously these were out of sync where the return address ended up being read from the function one step further up in the call stack. This fixes unwinding for setjmp for binaries compiled with clang (in mingw mode). Signed-off-by: Martin Storsjo <martin@martin.st> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Derek Lesho authored
Signed-off-by: Derek Lesho <dlesho@codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Jacek Caban authored
It's not present there in Windows SDK. Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Jacek Caban authored
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Jacek Caban authored
Those are available in UCRT (MSVC since 2015) and cause redefinition warnings if math.h is included after test.h. Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Jacek Caban authored
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Francois Gouget authored
Signed-off-by: Francois Gouget <fgouget@free.fr> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Francois Gouget authored
Signed-off-by: Francois Gouget <fgouget@free.fr> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Francois Gouget authored
Signed-off-by: Francois Gouget <fgouget@free.fr> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Emilio Cobos Álvarez authored
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io> Signed-off-by: Piotr Caban <piotr@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Gijs Vermeulen authored
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49146Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com> Signed-off-by: Piotr Caban <piotr@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Paul Gofman authored
Signed-off-by: Paul Gofman <pgofman@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zebediah Figura authored
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zebediah Figura authored
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zebediah Figura authored
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zebediah Figura authored
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zebediah Figura authored
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zhiyi Zhang authored
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49175Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Vincent Povirk authored
Signed-off-by: Vincent Povirk <vincent@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Vincent Povirk authored
Signed-off-by: Vincent Povirk <vincent@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zebediah Figura authored
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zebediah Figura authored
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zebediah Figura authored
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Zebediah Figura authored
Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
André Hentschel authored
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43961Signed-off-by: André Hentschel <nerv@dawncrow.de> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Damjan Jovanovic authored
dlinfo() doesn't conform to a standard, each platform implements in differently, if at all. On GNU and NetBSD its l_addr field returned is the "relocbase", the relative offset between addresses wanted by the file and addresses obtained in memory (==0 when no relocation occurred), which we add to d_un.d_ptr to obtain the memory address where the initializer is. On FreeBSD (and possibly Solaris) this won't work, as l_addr is the "mapbase" instead, the absolute starting memory address where the binary was loaded, resulting in wrong calculations and crashes on startup as we call into wrong addresses. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49139Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Jacek Caban authored
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Jacek Caban authored
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Emilio Cobos Álvarez authored
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49173Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io> Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Francois Gouget authored
Signed-off-by: Francois Gouget <fgouget@free.fr> Signed-off-by: Piotr Caban <piotr@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Francois Gouget authored
Signed-off-by: Francois Gouget <fgouget@free.fr> Signed-off-by: Vincent Povirk <vincent@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
- 17 May, 2020 6 commits
-
-
Alexandre Julliard authored
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Alexandre Julliard authored
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Alexandre Julliard authored
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Alexandre Julliard authored
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Alexandre Julliard authored
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-
Alexandre Julliard authored
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
-