Commit graph

1228 commits

Author SHA1 Message Date
Jérôme Gardou 4084b5f214 [SDK] Add WOW64_CONTEXT structure 2020-09-16 10:35:34 +02:00
winesync 148591a8a6 [WINESYNC] dbghelp: Fix loading of Mach-O load commands for 64-bit binaries.
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3ff8fa7ed1d28b38703125b0c8c632410e3fd980 by Ken Thomases <ken@codeweavers.com>
2020-09-16 10:35:34 +02:00
winesync 4e89603929 [WINESYNC] dbghelp: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 053a7e225c8190fd7416b3f3c3186f1ac230eeb3 by Michael Stefaniuc <mstefani@winehq.org>
2020-09-16 10:35:34 +02:00
winesync d3247b3f59 [WINESYNC] dbghelp: Recompute location after fixing it.
Fix a assertion raised by every exception with newer clang versions (>3.7) at least on ARM64:
../../../dlls/dbghelp/dwarf.c:1641: void dwarf2_parse_variable(dwarf2_subprogram_t *, struct symt_block *, dwarf2_debug_info_t *): Assertion `subpgm->func' failed.

Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3d482d3f9f0a3ffa69540af87594b3c1dc46e07b by André Hentschel <nerv@dawncrow.de>
2020-09-16 10:35:34 +02:00
winesync d119141669 [WINESYNC] dbghelp: Map SIMD dwarf registers on ARM64.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 86864486be64a277f6edf8e66709cd0f17a4eed9 by André Hentschel <nerv@dawncrow.de>
2020-09-16 10:35:33 +02:00
winesync eaf6edad46 [WINESYNC] dbghelp: Read the stabs nlist entry corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7d441808ac3b1d8bcef7795b636bda14c31c927b by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:33 +02:00
winesync f631b4d120 [WINESYNC] dbghelp: Translate the 32-bit Mach-O section header to the 64-bit one.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1dc9bb70cd16fa7b37e8fd6e82ed18311ddfbe38 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:33 +02:00
winesync 75e77444c6 [WINESYNC] dbghelp: Read the Mach-O segment command corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0fc3c33637d4c8eff3f4373d374b3feb402bce4a by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:33 +02:00
winesync 0d3ccc92fb [WINESYNC] dbghelp: Pass an image_file_map to macho_enum_load_commands().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bf7681cb2f3a73239170b4f0ebc8f6b38bc027ec by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:33 +02:00
winesync 9985483679 [WINESYNC] dbghelp: Read the 32-bit Mach-O header.
It is identical to the 64-bit header, except for the "reserved" field.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f2e38e17956197180ad730fd00a267fc25d4f238 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:33 +02:00
winesync 887025f3a0 [WINESYNC] dbghelp: Determine the target Mach-O architecture from the process's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f0ee3471f369bc3d3911647c7efa63fc503e6ce2 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:33 +02:00
winesync c719e68907 [WINESYNC] dbghelp: Read the r_debug and link_map structs corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 99e818154a803c8cfd2478b9db3b455fc9adef30 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync 76ad5c4b68 [WINESYNC] dbghelp: Translate the 32-bit ELF symbol struct to the 64-bit one.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e4fd17d5b62e888fd6a3a452dc3ee22dfb74ccd by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync 4a24f9acfc [WINESYNC] dbghelp: Read the Elf_auxv_t struct corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 51ada19ac235df104e95476e9b3fa8204357bb9a by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync dd5baf8750 [WINESYNC] dbghelp: Read the Elf_Dyn struct corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bb53152faab705d972de3763ddd9bb3351e92460 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync 48c551a237 [WINESYNC] dbghelp: Read the ELF program header corresponding to the target's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bd620ffb443eaa2dba997dc5597cb37c44d757b7 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync 8428b1f8c3 [WINESYNC] dbghelp: Add a missing include to fix the build.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cf78601b3781e64ea2745cf8084848acb69300a8 by Huw Davies <huw@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync 23a2d2713d [WINESYNC] dbghelp: Translate the 32-bit ELF section header to the 64-bit one.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4005901773bf1842804c40d928a944623e11d238 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:32 +02:00
winesync 1983f47206 [WINESYNC] dbghelp: Translate the 32-bit ELF header to the 64-bit one.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 799e0bfa57c4c2a7922c43031bd0d95c6add6a1a by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:31 +02:00
winesync 7adbd03d5f [WINESYNC] dbghelp: Detect ELF architecture before reading the whole header.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a612f1f56fefd00ebe6d8f7bcf7c826f5aa85eab by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:31 +02:00
winesync de68f04b7c [WINESYNC] dbghelp: Don't enforce child architecture in elf_map_file().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c2c0e4fe510f75c757e5dbdc1b727a7c9f3d6f33 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:31 +02:00
winesync ee8dbf8e10 [WINESYNC] dbghelp: Correctly determine the wine loader base address.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 185d9ee7ebf56e0663f715e532f2ee2c27289f12 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:31 +02:00
winesync f69be6c561 [WINESYNC] dbghelp: Determine the wine loader name from the target process's architecture.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a981edf0bc7c828e6b55fdc73b51a2f457043c4a by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:31 +02:00
winesync 3346544802 [WINESYNC] dbghelp: Add a helper to check if a given module is the Wine loader.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9b973eee9e06a3dca7a6c5739741446bf46e27f5 by Zebediah Figura <zfigura@codeweavers.com>
2020-09-16 10:35:31 +02:00
Jérôme Gardou 7431b80ae6 [WINESYNC]: revert wine-staging patchset for dbghelp 2020-09-16 10:35:30 +02:00
Jérôme Gardou 6cce4bdeba [WINESYNC] Add dbghelp entry 2020-09-16 10:35:30 +02:00
Jérôme Gardou a84b0dbe6b [LIBWINE] make wine_get_dos_file_name available
And complain loudly when we get a *real* unix file name
2020-09-16 10:35:30 +02:00
Jérôme Gardou 9fc0c7a372 [CRT] Let's have llabs for every compiler out there 2020-09-16 10:35:29 +02:00
Joachim Henze a27f0debca [MMIXER] Fix NULL dereference CORE-17276
This lead to a crash of winmm:mixer
during "GCCLin_x86 on Test VBox".

The crash was exposed when new code paths
were activated by 0.4.15-dev-791-g
6d7ebc2048

I do intend to port this commit back into 0.4.14RC.
2020-09-15 20:54:50 +02:00
Serge Gautherie a04831677e
[PROGMAN][CRT][USER32] Do not use LoadLibraryEx() NT6+ flags (#3152)
CORE-12004
2020-09-13 23:42:09 +02:00
Hermès Bélusca-Maïto 14599b0a37
[SHELL32][SHLWAPI] Forward shell32.ShellMessageBoxW directly to shlwapi.ShellMessageBoxWrapW. (#3179)
This makes ShellMessageBoxW use the correct implementation where the
text buffer size is dynamic, instead of having a too small hardcoded
size.

Fixes CORE-17271.
See also PR #3172 by Kyle Katarn, supplemented with some ideas from
Mark Jansen.

However we cannot straightforwardly implement ShellMessageBoxA around
ShellMessageBoxW, by converting some parameters from ANSI to UNICODE,
because there may be some variadic ANSI strings, associated with '%s'
printf-like formatters inside the format string, that would also need
to be converted; however there is no way for us to find these and perform
the conversion ourselves.
Therefore, we re-implement ShellMessageBoxA by doing a copy-paste ANSI
adaptation of the shlwapi.ShellMessageBoxWrapW function.

Note that, on Vista+ onwards, shlwapi implements both ShellMessageBoxA/W,
and shell32 directly forwards these exports to shlwapi, thus avoiding
these workarounds.

[PSDK] Explicily use WINAPIV for the variadic ShellMessageBoxA/W functions.

[INCLUDE/REACTOS] Add ShellMessageBoxWrapW in shlwapi_undoc.h .
2020-09-13 22:44:58 +02:00
Timo Kreuzer 3c1f6631e6 [MSVCRT] Add vista exports 2020-09-13 15:37:29 +02:00
Timo Kreuzer dfaba507dc [MSVCRT] Fix some architecture specific exports 2020-09-13 15:37:29 +02:00
Timo Kreuzer 61192390cf
[KERNEL32_VISTA][NTDLL_VISTA][RTL_VISTA] Move Vista Rtl functions from kernel32_vista and ntdll_vista to rtl_vista (#3149)
* Move RtlRunOnce functions from kernel32_vista to rtl_vista and export them from ntdll_vista
* Move condvar.c and srw.c from ntdll_vista to rtl_vista
* Move ntdll_vista build script to a subfolder of ntdll

The RtlRunOnce functions are taken from wine, completely unmodified.
The code that was in kernel32_vista had change that used a global keyed_event handle, but was never initialized, so we were still passing NULL thus using the global ExpCritSecOutOfMemoryEvent.
2020-09-12 15:04:02 +02:00
Timo Kreuzer 2aca4b2795 [ASM] Fix boot with VS 16.7.3 / MSVC 19.27
See https://developercommunity.visualstudio.com/content/problem/1180800/ml-x86-assume-directive-causes-invalid-code-genera.html
2020-09-12 15:01:04 +02:00
Mark Jansen b5d2da6d35
[CABMAN] Replace linked lists with std::list
CORE-17231
2020-09-12 13:25:55 +02:00
Katayama Hirofumi MZ 183e1eb71b
[FONTEXT] Initial implementation of CFontExt::DoGetFontTitle (#3127)
This PR is a preparation of fonts folder implementation. CORE-12861
2020-09-12 09:40:48 +09:00
Oleg Dubinskiy 408b179220 [PSDK] Import dbgeng.h header from Wine Staging 4.18
Required by Wine's dbgeng.dll CORE-17153.
2020-09-10 18:19:28 +02:00
Mark Jansen 9bd9c9d5a4
[CABMAN] Ensure we are minimally building with c++11 2020-09-07 22:16:42 +02:00
Mark Jansen 63f3275d15
[CABMAN] Move CCFDATAStorage to a separate header 2020-09-07 22:16:42 +02:00
Mark Jansen 7394d12f7e
[CABMAN] Replace some dynamically allocated strings with std::string
CORE-17231
2020-09-07 22:16:28 +02:00
Mark Jansen 58092fb4da [ATL][ATL_APITEST] Add CString::Tokenize + testcase 2020-09-07 22:13:43 +02:00
Joachim Henze abbe656407 [SDK][NDK][PSTYPES] Fix regressions CORE-17247 & CORE-17248
By reverting the guilty rev 0.4.14-dev-1239-g
7481bda679

and placing a C_ASSERT() to protect us from doing the
same fault again in the future. (proposed by Mark Jansen)

This will allow again to use kernel32.dll from 2k3sp2 to
reach desktop and it will allow Google Earth to run again.

Unfortunately it will break CORE-16757 again,
but we did not ship that improvement yet
and we believe that revert to be correct.

When approaching CORE-16757 later, make sure to double-check
also CORE-17247 & CORE-17248 with your fix.

We did excessive testing here, see
https://jira.reactos.org/browse/CORE-17247?focusedCommentId=125166&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-125166
2020-09-07 20:32:00 +02:00
He Yang e44c9b6630
[RAPPS] application-view refactor (#3003)
* [RAPPS] separate application-view from gui.cpp
* [RAPPS] make the code looks more clear
* [RAPPS] fix &  improve tab-order handle
* [RAPPS] now double-click / right-click & install an item will install exactly this app
* [RAPPS] add handling for DWORD timestamp for InstallDate
* [RAPPS] make the code setting column style more clear
* [RAPPS] change the owner of popup-menu
* [RAPPS] now the popup menu (the one when right-click listview) now belongs to application-view
2020-09-06 17:09:21 +02:00
Joachim Henze a4fee60e46 [CMAKE] Fix regressions CORE-17243 & CORE-17246
By sledge-hammer-reverting of
0.4.15-dev-689-g
7ffb6a09c3

and 0.4.15-dev-688-g
1234223f41

Sorry, but the negative impact for other devs and the
whole project are just unbearable.
Stuff got committed meanwhile even so I had to act.
The improvements may be reapplied later when the
negative consequences are under control.
2020-09-06 04:35:33 +02:00
Jérôme Gardou 7ffb6a09c3 [CMAKE] Overhaul creation from CD
Get rid of global properties and use a target-level properties instead
Limit temporary files by using cmake-generator expressions instead
Avoid function calls at the end configuration, use file(GENERATE) idiom instead
2020-09-02 11:02:44 +02:00
Katayama Hirofumi MZ d2f25ebc6a [SDK][INCLUDE] Improve EXPLORER_CMDLINE_PARSE_RESULTS structure 2020-09-02 12:47:19 +09:00
Thomas Faber 1f0bbb3050
[CRT] Use builtin va_args macros for clang. CORE-17227 2020-08-30 09:09:04 +02:00
Victor Perevertkin 4ae8a77aad
[SDK] Add a driverdbg header for helper debug function to put into drivers 2020-08-30 03:58:37 +03:00
Hermès Bélusca-Maïto bd27b050fc
[SPEC2DEF] Improve the 'int128' arguments display. Addendum to commit a28fa3fd.
'int128' arguments are NOT almost always GUID, as was claimed, and the
usage of the wine_dbgstr_guid() function to display them would require
the presence of yet another wine-specific header.

Instead, define a "MyInt128" typedef, local to the stub file being
generated, as the structure of two __int64's (lower and upper), and
print this "MyInt128" as the couple of these two __int64's.

Besides, display the __int64 numbers prefixed with "0x" (together with
the PRIx64 formatter).

Finally, when generating the debug-print function calls, it is useless to
explicitly cast the 'aX' variables with their types, because their types
are already known from the prototype of the stub-function!!
Therefore we can use the same `fprintf(file, "a%d", i);` for all the
ARG_LONG, ARG_PTR, ARG_STR, ARG_WSTR, ARG_DBL, ARG_INT64 and ARG_FLOAT.
Only in the case of ARG_INT128 we output "a%d.lower, a%d.upper" .
2020-08-30 02:16:15 +02:00