Commit Graph

6039 Commits

Author SHA1 Message Date
Eric Pouech 36961eef16 winedump: Add support for dumping filestatic Codeview records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:58:04 +02:00
Eric Pouech d6aff64ccf winedump: Add support for dumping heap_alloc_site CodeView records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:57:53 +02:00
Eric Pouech 872c61ff97 winedump: Add support for dumping trampoline codeview records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:57:53 +02:00
Eric Pouech 45d4021ff5 winedump: Add support for buildinfo codeview record.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:57:52 +02:00
Eric Pouech f5800a7849 winedump: Add support for CALLERS/CALLEES/INLINEES codeview records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:57:52 +02:00
Eric Pouech 3935234265 winedump: Add support for dumping CodeView records about site information.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:57:47 +02:00
Eric Pouech de615a11e5 winedump: Print symbol id when dumping symbols.
In CV records, the cv_itemid is used to reference
other symbols, so we need to print out the symbol id.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:56:24 +02:00
Eric Pouech d1e1d80c0e winedump: Add support for S_DEFRANGE* family of CodeView records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:56:13 +02:00
Eric Pouech 5c9c342858 winedump: Add support for dumping S_LOCAL symbol record.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:56:09 +02:00
Eric Pouech 0003c64e5b winedump: Correctly support flags in public records (V1 and V2).
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 19:55:08 +02:00
Eric Pouech bf6ac26f75 winedump: Fix public and data/proc ref definitions of Codeview records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:05:14 +02:00
Eric Pouech 7499b98ec8 winedump: Update support for S_COMPILE* records.
Don't mix up S_COMPILE records with compiland information.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:04:36 +02:00
Eric Pouech 9adf73be7e dbghelp:: Add proper support for S_OBJNAME records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:03:27 +02:00
Eric Pouech fe9f0c7fcf winedump: Add some new bits in UDT's property field.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:02:17 +02:00
Eric Pouech a9c552fe7f winedump: Dump calling convention attributes for CodeView.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:01:59 +02:00
Eric Pouech 1d9c8846b9 winedump: Display function attributes in function/methods codeview records.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:01:15 +02:00
Eric Pouech b5b2031078 winedump: Add a bunch of new CPU definitions for PDB.
Update cvinfo.h accordingly.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:01:04 +02:00
Eric Pouech fca405402d winedump: Add more supported languages from .pdb COMPILE records.
Update cvconst.h accordingly.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:00:54 +02:00
Eric Pouech bde14eac32 winedump: Move string conversion of machine and language into dedicated helpers.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 12:00:48 +02:00
Huw Davies 691bfa2628 winewrapper: Add dlls/ntdll to the library path so macOS can find ntdll.so.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 11:54:18 +02:00
Huw Davies 9af226c826 winegcc: Add a @loader_path to help the macOS loader find ntdll.so.
On macOS unixlibs that link to ntdll.so currently fail to load.
It appears the macOS loader needs to be able to locate the file
even if the library is already loaded.

This patch changes the LC_ID_DYLIB name of ntdll.so to
"@loader_path/ntdll.so" so that when other unixlibs link against this
they will insert that name into their LC_LOAD_DYLIB entry for
ntdll.so.

While changing only ntdll.so is necessary, for simplicity this patch
changes all unixlibs.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51632
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-23 11:54:16 +02:00
Alexandre Julliard 94f63ea23f ntdll: Add support for user callbacks.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-17 18:16:43 +02:00
Alexandre Julliard 9999273178 makefiles: Don't depend on import libraries for native Unix libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-12 11:33:57 +02:00
Alexandre Julliard 7d60d0d7bb winegcc: Use custom subsystem 'unixlib' instead of 'native' for Unix libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-12 11:33:57 +02:00
Alexandre Julliard ada8bf034a winegcc: Build Unix libraries as dynamic libs on macOS.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-12 11:25:12 +02:00
Alexandre Julliard 6688367046 winegcc: Don't build the .spec.o file for native Unix libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 22:59:21 +02:00
Alexandre Julliard c697ee728b winegcc: Add a helper function to build the .spec.o file.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 22:59:21 +02:00
Martin Storsjö 5de4766475 winebuild: Fix building for arm with older versions of binutils.
Use an explicit "movw" instead of a plain "mov", as the immediates
might not fit in a narrow thumb mov instruction. Newer versions
of binutils deduces this implicitly.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Martin Storsjo 9d619b1fb0 winebuild: Spell out "x30" instead of "lr" for arm64.
This fixes building with older binutils versions.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:31:48 +02:00
Alexandre Julliard de4c91e0a1 Revert "winegcc: Support -Wl,foo=... style linker options."
This reverts commit fcda0afdd4.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51413
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 11:33:43 +02:00
Esdras Tarsis 3515da1b82 api-ms-win-core-kernel32-legacy-l1-1-5: Add stub dll.
Signed-off-by: Esdras Tarsis <esdrastarsis@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:35:25 +02:00
Esdras Tarsis 9422d0a0a2 api-ms-win-core-console-l3-2-0: Add stub dll.
Needed for Pickup Basketball VR.

Signed-off-by: Esdras Tarsis <esdrastarsis@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:35:06 +02:00
Alex Henrie 78dd8404c4 api-ms-win-core-featurestaging-l1-1-0: Add DLL.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51329
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 16:09:09 +02:00
Alexandre Julliard 216d241178 winebuild: Save/restore the %fs register in the syscall dispatcher on Linux.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 15:50:26 +02:00
Alexandre Julliard 5e12256ec4 winebuild: Add a specific platform id for Linux.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 15:50:26 +02:00
Connor Abbott fcda0afdd4 winegcc: Support -Wl,foo=... style linker options.
In particular meson uses -Wl,--out-implib=...

Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 16:53:51 +02:00
Connor Abbott b1fb07e188 winegcc: Support -Wl,--start-group and -Wl,--end-group.
These arguments need to be in the correct position so they need to go in
the files array.

Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 16:53:51 +02:00
Connor Abbott d209d9feb6 winegcc: Pass through -pthread.
While you could get 90% of the way with "-lpthread", supporting -pthread
should be more reliable and is required for build systems like meson
that have special handling for the threads dependency.

Since this is both a compiler (really preprocessor) and linker option,
we can't just add it to is_linker_arg().

Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 16:53:51 +02:00
Connor Abbott f1ab3c8d76 winegcc: Recognize .obj files as objects.
For more compatibility with mingw-gcc. Since meson always names object
files with a .obj extension when using mingw, this improves
compatibility with meson.

Signed-off-by: Connor Abbott <cwabbott0@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 16:53:51 +02:00
Alexandre Julliard db26df5934 ntdll: Go through the syscall return path for syscall faults.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 18:35:20 +02:00
Alexandre Julliard 0702d6b886 ntdll: Don't allow single-stepping through syscalls.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51273
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-16 15:05:24 +02:00
Alexandre Julliard 7954b86f6b ntdll: Switch to the kernel stack for syscalls on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard 08c4419a49 ntdll: Switch to the kernel stack for syscalls on ARM64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard 25b093f384 ntdll: Switch to the kernel stack for syscalls on x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard 308a5e7c4d ntdll: Switch to the kernel stack for syscalls on i386.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 15:49:29 +02:00
Francois Gouget a1bae9f288 make_unicode: Add support for the 720 codepage (Arabic, Farsi and Urdu).
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-08 22:28:44 +02:00
Alexandre Julliard 050378d4d7 ntdll: Only restore the modified parts of the syscall frame on i386.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 17:16:21 +02:00
Alexandre Julliard 32f1bfd0f0 ntdll: Only restore the modified parts of the syscall frame on x86-64.
Based on a patch by Jacek Caban.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 17:16:21 +02:00
Zebediah Figura bbe2eaecc9 winebuild: Fix a typo in a comment.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-03 21:50:58 +02:00
Esme Povirk 0807b09cfa slc: Move shared exports to sppc.
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-02 22:13:37 +02:00
Alexandre Julliard 42e42e9085 ntdll: Use a single syscall dispatcher controlled by global flags on i386.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-02 20:16:07 +02:00
Alexandre Julliard 3d9cb5e4f8 ntdll: Use a single syscall dispatcher controlled by global flags on x86-64.
Based on a patch by Jacek Caban.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-02 20:16:07 +02:00
Jacek Caban 32afe1d982 makedep: Make unix libs depend on ntdll.so.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 18:00:38 +02:00
Jacek Caban 69ef7374b4 winegcc: Link unix libs directly to native libraries.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 17:59:46 +02:00
Jacek Caban 388c91042c winegcc: Use -soname for unix libs.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 17:59:44 +02:00
Rémi Bernon fc64aa7e7c server: Send HID report data with the WM_INPUT messages.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-31 12:31:21 +02:00
Alexandre Julliard e79fa1866c winebuild: Add support for multiple syscall descriptor tables.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-28 21:53:07 +02:00
Alexandre Julliard 543e49397f winebuild: Store all parameters on the stack for syscall thunks on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 21:13:18 +02:00
Henri Verbeet 4ae9f39911 winedump: Make print_longlong() work on 64-bit.
In particular, when long is a 64-bit type, the upper 32 bits would previously
be printed twice.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-20 21:48:57 +02:00
Zhiyi Zhang e7de839513 winedump: Dump the distance array for EMR_EXTTEXTOUTW records.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 18:49:09 +02:00
Martin Storsjo 57433856b4 widl: Pick up the target arch from a prefix on argv[0].
If the executable is named <target>-widl, try to pick up the target
arch implicitly from there.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 17:42:15 +02:00
Martin Storsjo 4766a01818 widl: Allow switching between 32 and 64 bit ARM with the -m32/64 option.
Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 17:42:14 +02:00
Jacek Caban 87e1e43506 winegcc: Use msvcrt by default for PE targets.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-14 20:56:54 +02:00
Jacek Caban ea239f6b12 winebuild: Use clang -print-prog-name to find LLVM tools.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-10 18:14:07 +02:00
Piotr Caban 24aba09015 api-ms-win-core-console-l1-2-0: Add dll.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Paul Gofman 8c0ced87bc gamingtcui: Add dll.
Based on a patch by Myah Caron.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-04 09:49:56 +02:00
Alexandre Julliard 0aa335b106 winegcc: Look for libraries in the architecture-specific directory.
Based on patches by Jacek Caban.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-28 16:25:48 +02:00
Alexandre Julliard a5aaa41069 makefiles: Install libwine into the architecture-specific directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-28 11:41:27 +02:00
Alexandre Julliard 2801d6341c makefiles: Install Unix binaries into an architecture-specific directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-28 11:40:39 +02:00
Zebediah Figura 9603fba894 include: Define _WINSOCKAPI_ in winsock2.h.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 18:55:24 +02:00
Alexandre Julliard 339ed57643 server: Get rid of the CPU type and functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 10:42:04 +02:00
Alexandre Julliard 893febda14 makefiles: Install PE fake dlls in the architecture-specific directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-26 21:34:02 +02:00
Alexandre Julliard ee81814f2b makefiles: Install PE import libraries in the architecture-specific directory.
Based on a patch by Jacek Caban.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-26 21:34:02 +02:00
Alexandre Julliard c59126d403 makefiles: Install PE files in an architecture-specific directory.
Based on a patch by Jacek Caban.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-26 21:34:02 +02:00
Jacek Caban 5a1d836def winegcc: Use -idirafter for system include paths.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50996
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-22 21:12:57 +02:00
Andrey Gusev 9b3d5b8e5e make_specfiles: Add api-ms-win-core-winrt-error-l1-1-* to combase group.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-21 21:00:33 +02:00
Zhiyi Zhang 788fd4ee44 winedump: Support dumping Windows Metafiles.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 22:57:11 +02:00
Andrey Gusev 99a5ef720c make_specfiles: Add a few api-ms-win-core-* to kernel32 group.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-16 22:39:46 +02:00
Zhiyi Zhang 1c35d29ed5 winedump: Dump EMR_STRETCHBLT record.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-14 17:04:35 +02:00
Zhiyi Zhang 2c47d0b58b winedump: Dump EMR_ALPHABLEND record.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-14 17:04:35 +02:00
Alexandre Julliard 4f04994ef4 makefiles: Only allow includes and defines in pkg-config flags.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50811
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-08 12:18:02 +02:00
Joshua Ashton 11344e2ecb api-ms-win-shcore-scaling-l1-1-0: Add stub dll.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-08 12:14:31 +02:00
Joshua Ashton 0ae16ed785 api-ms-win-shcore-scaling-l1-1-1: Move to shcore dllgroup.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-08 12:14:31 +02:00
Jacek Caban 4f78781299 winegcc: Add Wine include directories before standard directories on search list.
This is especially important for msvcrt headers, which need to be used
instead of system ones.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-06 22:46:12 +02:00
Jacek Caban c7a210bc2f winegcc: Use paths for found libraries on PE targets when using msvcrt.
We use -nodefaultlibs now, so we don't need to worry about GCC additions.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-06 22:46:12 +02:00
Nikolay Sivov 7f7fdd6c86 shcore: Added another api-ms-* forwarding dll.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-31 22:16:25 +02:00
Zhiyi Zhang 603cb1c173 winedump: Dump more fields for EMR_EXTTEXTOUTW records.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:46:23 +01:00
Zhiyi Zhang 99f69b4e8b winedump: Dump EMR_HEADER record.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:46:23 +01:00
Rémi Bernon 2a7940c97d widl: Generate typedefs for namespaced struct / enum types.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-23 20:58:45 +01:00
Mark Harmstone e5c289f29d mscvpdb.h: Use official names for CodeView constants.
Signed-off-by: Mark Harmstone <mark@harmstone.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 18:52:57 +01:00
Rémi Bernon aa119a1e06 widl: Always check the runtimeclass interfaces presence.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-19 19:55:34 +01:00
Rémi Bernon 7f9143143f widl: Only register activatable WinRT runtimeclass.
Or with a static factory, as Windows.Input.Gamepad for instance.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-17 15:36:48 +01:00
Rémi Bernon b18a48eb70 include: Include x86intrin.h in msvcrt/intrin.h.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-16 20:36:43 +01:00
Rémi Bernon a6f214d75a tools: Relax the dot in module names rules.
This should allow modules with dot in their names, while still making
the .dll extension optional. The MODULE variable still determines the
actual output file extension.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 13:13:35 +01:00
Alexandre Julliard 6f68543692 make_unicode: Use codepage 949 to add default mappings to codepage 20949.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 13:13:35 +01:00
Sanghoon Park fd3a640206 make_unicode: Add support for codepage 20949 (Korean Wansung).
Signed-off-by: Sanghoon Park <esifea1908@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-11 13:13:35 +01:00
Rémi Bernon e137becb13 widl: Allow runtimeclass to not have a default interface.
Or any interfaces, as long as they have a static factory, as MIDL
requires.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 18:43:15 +01:00
Myah Caron 462f5759d1 api-ms-win-core-kernel32-legacy-l1-1-2: Add new dll.
Signed-off-by: Myah Caron <qsniyg@protonmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 11:18:28 +01:00
Rémi Bernon 31af1aeb78 widl: Add support for WinRT regscript generation.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:53:53 +01:00
Jacek Caban e979ee96b6 ntdll: Use xsave compaction in syscall dispatcher.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-03 21:54:45 +01:00
Francois Gouget 5d80ee4b60 winegcc: Add a trailing linefeed to an error() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-02 20:42:33 +01:00
Francois Gouget 55ba6262d2 wrc: Remove the trailing linefeed from a parser_error() message.
Unlike most other trace and error reporting functions, parser_error()
appends a linefeed to the error message.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-02 20:42:16 +01:00
Jacek Caban af74bd3122 ntdll: Use syscall dispatcher to restore context in NtSetContextThread.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-02 20:41:39 +01:00
Jacek Caban 5d228d6fc9 ntdll: Store x86 YMM context insyscall dispatcher.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-02 20:40:49 +01:00
Rémi Bernon 4b24b6be06 widl: Fix missing delegate declaration namespace.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-02 20:39:48 +01:00
Jacek Caban ce5f17c892 ntdll: Store FPU and XMM contexts in x86 syscall frame.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:13:00 +01:00
Jacek Caban e341d1f695 ntdll: Restore all non-volatile i386 registers in syscall dispatcher.
Based on set_full_cpu_context.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:13:00 +01:00
Nikolay Sivov 4b2930d3f1 widl: Remove unnecessary assignment (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 10:12:54 +01:00
Rémi Bernon dc65f88654 widl: Generate helper macros for WinRT implementation.
This generates additional macros to help keeping implementation simple,
guarded with WIDL_using ifdefs, like this:

    #ifdef WIDL_using_Windows_Foo
    #define IFooVtbl __x_ABI_CWindows_CFoo_CIFooVtbl
    #define IFoo __x_ABI_CWindows_CFoo_CIFoo
    #define IFoo_DoFoo __x_ABI_CWindows_CFoo_CIFoo_DoFoo
    #endif /* WIDL_using_Windows_Foo */

Implementation files can define the desired WIDL_using preprocessor
macros before including the header, and then implement or use the
interface methods with the simple non-prefixed names instead.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-26 16:25:57 +01:00
Rémi Bernon 5f6fdb1838 widl: Strip last separator in append_namespaces if suffix is NULL.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-26 16:25:55 +01:00
Rémi Bernon 31cbca5f07 widl: Make WinRT nested templates C++98 compatible.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-26 16:25:51 +01:00
Rémi Bernon 6966d7ea08 widl: Fix C++ RuntimeClass string constants declaration.
MinGW g++ requires initialized selectany to have extern linkage.

Also, because of the various ways WCHAR may be defined, using an array
initializer is the simplest way to support all cases.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-26 16:25:41 +01:00
Jacek Caban b04f2689a2 ntdll: Store all non-volatile i386 registers in syscall dispatcher.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-25 22:44:18 +01:00
Jacek Caban c6d303ca23 ntdll: Reserve space for full i386 context in syscall frame.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-25 22:43:19 +01:00
Rémi Bernon 41a3087394 widl: Use C++ template implementation for parameterized types.
Based on a patch from Steve Lhomme.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-25 22:39:21 +01:00
Rémi Bernon 3556ecd5d7 widl: Write C++ template implementations for parameterized types.
Based on a patch from Steve Lhomme.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-25 22:39:21 +01:00
Rémi Bernon ea9d98082a widl: Write C++ template declarations for parameterized types.
Based on a patch from Steve Lhomme.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-25 22:39:21 +01:00
Alexandre Julliard abf4747ba7 winebuild: Simplify constant loading on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-24 22:01:42 +01:00
Alexandre Julliard b1fe783ade winebuild: Fix relay entry points for Thumb mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-24 22:01:42 +01:00
Alexandre Julliard 4ef8e946f1 winebuild: Set Thumb bit in CPSR register on syscall entry.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-24 22:01:42 +01:00
Jacek Caban a8856381ed ntdll: Use xsavec in x86_64 syscall dispatcher.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 20:19:17 +01:00
Jacek Caban 437bef6ac1 ntdll: Use syscall dispatcher for restoring context in x86_64 NtSetContextThread implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 20:19:15 +01:00
Jacek Caban 11e3d43c26 ntdll: Store x86_64 YMM context in syscall frame.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Jacek Caban a06d60bd5f winebuild: Factor out output_syscall_dispatcher.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Steve Lhomme 49a1cc10d2 widl: Use C name when writing UUID declarations.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Steve Lhomme 18f04f569b widl: Define the C type name as an alias for the C++ qualified name.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Steve Lhomme fc533ddf32 widl: Precompute qualified type names, and use them for C++ interfaces.
This is what MIDL does and avoid mismatching and even fixes some compiling issues.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Steve Lhomme a78053743d widl: Never use the namespace ABI prefix for global types.
Otherwise we end up with types like ABI::IInspectable.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Rémi Bernon b1e9326f5a widl: Compute uuids for parameterized types.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 22:39:33 +01:00
Rémi Bernon c5413e1258 widl: Compute signatures for parameterized types.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban<jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 22:39:33 +01:00
Rémi Bernon fecfd245a1 widl: Support WinRT parameterized delegate type.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban<jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 22:39:33 +01:00
Rémi Bernon 2326d7226d widl: Support WinRT delegate type.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban<jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 22:39:33 +01:00
Alexandre Julliard e27c7e0648 winedump: Print the "prefer native" Wine flag.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 11:11:33 +01:00
Alexandre Julliard ad43872669 winebuild: Add a --prefer-native option to set a Wine-specific flag in the PE header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 11:06:06 +01:00
Jacek Caban d281c90c4b winegcc: Properly set debug info type on msvc targets.
Fixes a typo from 9faa5eeddd.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 22:21:13 +01:00
Rémi Bernon d3c7aa2915 widl: Support WinRT parameterized interface type.
This allows parameterized interfaces to be instanciated in declare
blocks, in the same way MIDL does, generating a new interface to the
header from the parameterized type template, replacing its parameters
with the given types.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 22:21:06 +01:00
Rémi Bernon d5bf8f4e8a widl: Support partially specialized parameterized type.
This allows parameterized types to reference each other with a different
set of parameters. This is required for instance for IIterable<T>, that
needs to reference IIterator<T>.

The partial specialization is recorded by adding a new parameterized
type, referencing the original one as its template. The parameterized
type chain will be resolved all at once when the type is declared.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Rémi Bernon 94b5af4b34 widl: Replace type_list_t with typeref_list_t.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Rémi Bernon 84966c9b59 widl: Rename ifref_list_t to typeref_list_t.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Rémi Bernon 7987c6f9ba widl: Rename ifref_t to typeref_t.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Rémi Bernon db580fe9db widl: Rename ifref_t iface member to type.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 21:42:18 +01:00
Jacek Caban be8729c9f5 winebuild: Restore x86_64 FPU context and nonvolatile registers in syscall dispatcher.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:47:28 +01:00
Jacek Caban 9b6f715b28 winebuild: Restore all x86_64 control registers in syscall dispatcher.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:46:37 +01:00
Jacek Caban f72940de8e ntdll: Store segment registers in x86_64 syscall frame.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:45:51 +01:00
Jacek Caban 4e5b61bb06 ntdll: Store stack pointer in x86_64 syscall frame.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:45:34 +01:00
Jacek Caban accf7a0908 ntdll: Store instruction pointer register in x86_64 syscall frame.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:45:29 +01:00
Jacek Caban 9bdd02de0c ntdll: Store eflags in x86_64 syscall frame.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:45:14 +01:00
Jacek Caban 6d2f08cfcb ntdll: Reserve space for all registers in x86_64 syscall frame.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 15:45:11 +01:00
Jacek Caban 877f06d123 winebuild: Remove no longer needed stack alignment in x86_64 syscall dispatcher.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 12:00:04 +01:00
Jacek Caban 8f50dde9cd ntdll: Store entire XMM context in x86_64 syscall frame.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 11:59:40 +01:00