Commit graph

6683 commits

Author SHA1 Message Date
Rémi Bernon 2eb8950392 server: Move rawinput message conversion from win32u.
Appending the entire RAWMOUSE / RAWKEYBOARD / RAWHID + report structs
after the hardware message data, instead of using a custom intermediate
structure.
2024-02-09 11:14:07 +01:00
Alexandre Julliard 7c7544aba1 winebuild: Add .seh annotations on ARM. 2024-02-05 21:45:19 +01:00
Alexandre Julliard e25b1ab7e9 winebuild: Remove some no longer used code for ARM platforms. 2024-02-05 21:06:00 +01:00
Esme Povirk e891073c9e mscoree: Update Wine Mono to 9.0.0. 2024-02-05 12:39:02 +01:00
Brendan Shanks f5c00e3870 winebuild: As a last resort, search for tools un-prefixed using clang. 2024-02-01 21:47:17 +01:00
Brendan Shanks d292c7ec74 winebuild: Refactor find_tool(). 2024-02-01 21:47:17 +01:00
Alexandre Julliard b1ab51b508 winebuild: Default to plain "clang" in find_clang_tool(). 2024-02-01 21:47:17 +01:00
Alexandre Julliard a97b3f640c winedump: Handle ARM64 exception unwind info with flag==3. 2024-02-01 21:47:17 +01:00
Alexandre Julliard 3825af6041 winedump: Make the ARM exception information more compact. 2024-02-01 21:47:17 +01:00
Piotr Caban 268f3adce9 winedump: Sync demangling code with msvcrt. 2024-01-30 23:03:38 +01:00
Nikolay Sivov 73647adaef ntdll: Update RTL_HEAP_PARAMETERS definition. 2024-01-17 10:58:39 +01:00
Rémi Bernon 3d4ee138ec gitlab: Add key to the jobs ccache cache config.
To avoid jobs with different compilers overwriting each other.
2024-01-15 20:03:01 +01:00
Rémi Bernon 2d9f5bea79 gitlab: Use a common configure cache key prefix.
Partially reverts commit 67f2da2a8d which
broke ccache cache as the job configurations were overriding the default
cache configuration from .wine-build instead of extending it.
2024-01-15 20:02:59 +01:00
Rémi Bernon a6b58a2c1f gitlab: Force WINETEST_ARGS to always be a string array.
Fixes the test name passed to winetest.exe which is otherwise split
into a character array when there's a single line in the winetest.args
file, and then causes it to miss the test and always return success.
2024-01-15 20:02:54 +01:00
Jacek Caban 67f2da2a8d gitlab: Cache config.cache in Clang builds. 2024-01-09 23:59:59 +01:00
Alexandre Julliard 62cb2bcdc3 announce: Convert to Markdown. 2024-01-03 16:35:29 +01:00
Eric Pouech a2f98478c3 winedump: Better align fields in EXPORT table.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-01-02 22:17:54 +01:00
Eric Pouech 135b132dc2 winedump: Skip deleted vector in hash inside PDB header.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-11 23:11:20 +01:00
Eric Pouech 6d7839418e dbghelp: Allow an extra stream index entry in PDB files.
Latest MSVC version use this.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-12-11 23:11:20 +01:00
Piotr Caban 9a42affc34 winedump: Sync demangling code with msvcrt. 2023-12-07 20:47:03 +01:00
Alexandre Julliard ef07f6bb72 winedump: Also dump ARM64 exception information for ARM64EC binaries. 2023-12-05 21:24:36 +01:00
Alexandre Julliard c0f500ba00 winedump: Add a couple of ARM unwind codes. 2023-12-04 22:10:20 +01:00
Alexandre Julliard 17de5daa77 winedump: Add dumping of UWOP_EPILOG entries. 2023-12-04 22:10:20 +01:00
Jacek Caban 6efee4baf1 gitlab: Add clang build. 2023-11-30 23:12:54 +01:00
Fabian Maurer dbf303b00b widl: In type_has_full_pointer recurse for pointer types as well. 2023-11-29 20:44:44 +01:00
Fabian Maurer f59807c587 widl: Prevent infinite loop when structure contains array of itself.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55115
2023-11-29 20:44:42 +01:00
Piotr Caban 244b63566a winedump: Fix EMR_EXTTEXTOUTW record dumping when ETO_PDY flag is specified. 2023-11-29 20:40:31 +01:00
Matteo Bruni 5d19955007 tools: Print the correct option in error messages. 2023-11-27 22:39:52 +01:00
Rémi Bernon 1a3a026d24 gitlab: Only run the modifieds tests on Windows for an MR. 2023-11-27 22:39:51 +01:00
Rémi Bernon 61faaf7ec0 gitlab: Add windows tests to MR pipeline. 2023-11-27 22:39:51 +01:00
Jacek Caban 0c7a1be11b winegcc: Support --no-default-config argument. 2023-11-27 22:39:51 +01:00
Alexandre Julliard 2d338e22f2 winedump: Display PE section offsets using their virtual address. 2023-11-24 14:06:02 +01:00
Alexandre Julliard 6d046dd988 nls: Update locale data to CLDR version 44. 2023-11-23 22:51:07 +01:00
Alexandre Julliard a255dd1f3c winebuild: Stop generating syscall entry points. 2023-11-20 18:27:48 +01:00
Alexandre Julliard 48a5459827 ntdll: Generate syscall entry points from the C code with asm macros. 2023-11-20 18:08:27 +01:00
Alexandre Julliard 3aca599458 tools: Upgrade the config.guess/config.sub scripts. 2023-11-20 17:49:46 +01:00
Alexandre Julliard e9afc9bf8f winebuild: Stop generating the syscall argument array and related data. 2023-11-17 10:17:50 +01:00
Alexandre Julliard 401288a78d make_specfiles: Generate a list of syscalls from the corresponding spec files. 2023-11-16 14:07:26 +01:00
Alexandre Julliard 6eff423a8f makefiles: Use --defines instead of --header for compatibility with older bison.
Spotted by Rémi Bernon.
2023-11-15 10:42:40 +01:00
Alexandre Julliard 440771ed41 makefiles: Remove support for obsolete source variables. 2023-11-14 13:07:24 +01:00
Alexandre Julliard aea0d88ae5 makefiles: Avoid generating the .tab.c file twice with bison. 2023-11-14 13:04:36 +01:00
Rémi Bernon 677868a0c7 gitlab: Install libxkbcommon and libxkbregistry dependencies. 2023-11-14 11:36:56 +01:00
Alexandre Julliard b3895f5519 winebuild: Include x86-64 entry points in ARM64EC builds. 2023-11-13 11:36:34 +01:00
Alexandre Julliard 955664c80f winebuild: Add a helper to build an ARM64EC function name. 2023-11-13 11:36:34 +01:00
Jacek Caban 7b216b69c7 winebuild: Use COMDAT sections for ARM64EC functions. 2023-11-13 11:36:12 +01:00
Jacek Caban a0a2ef5a2b tools: Initial ARM64EC target support. 2023-11-13 11:36:12 +01:00
Jacek Caban 5004e6bce7 configure: Add arm64ec PE target support. 2023-11-13 11:26:19 +01:00
Alexandre Julliard a426b6b4a9 widl: Make the alignment option generic instead of win32/win64-specific.
Support both --align and --packing for compatibility with midl.
2023-11-10 11:06:38 +01:00
Alexandre Julliard f8dde10ffd makefiles: Support arch-specific IDL flags. 2023-11-10 11:06:26 +01:00
Alexandre Julliard c7a2aaf234 widl: Remove DECLSPEC_HIDDEN from generated files. 2023-11-08 10:11:17 +01:00
Zebediah Figura d7d782b112 gitlab: Enable d3d10core:d3d10core and d3d8:visual.
These pass on llvmpipe now.
2023-11-08 10:04:57 +01:00
Alexandre Julliard 2f0c0f4c38 winedump: Re-import the demangling code from msvcrt. 2023-11-02 12:09:07 +01:00
Alexandre Julliard acad49573a makefiles: Always use the global SOURCES variable for .c files. 2023-11-01 22:44:03 +01:00
Alexandre Julliard 7ccb5df0fc makefiles: Always use the global SOURCES variable for .rc files. 2023-11-01 22:43:56 +01:00
Alexandre Julliard c432eac726 makefiles: Always use the global SOURCES variable for .idl files. 2023-11-01 22:43:50 +01:00
Alexandre Julliard 4819a850a0 winegcc: Use a temp file for the implicitly created import library.
Otherwise clang creates a .lib file along with every dll.
2023-10-31 17:04:57 +01:00
Rémi Bernon d9ad68a1ef gitlab: Run tests with LP_NUM_THREADS=4 env var.
This forces mesa LLVMPIPE driver to use a fixed number of threads, and
greatly reduces its memory usage from the $(nproc) default. On Gitlab
this is 32 threads, which often exhaust VM space in 32bit tests.
2023-10-26 16:03:30 -05:00
Brendan Shanks c17d1adb6e makedep: Replace sprintf with snprintf to avoid a deprecation warning on macOS. 2023-10-24 06:30:23 -05:00
Esme Povirk 9c1ffb545f mscoree: Update Wine Mono to 8.1.0. 2023-10-24 06:30:23 -05:00
Alexandre Julliard 9a4e41c45d winebuild: Always use .balign for alignment.
It seems to be portable enough nowadays.
2023-10-20 11:59:26 +02:00
Alexandre Julliard ffeb530cc0 makefiles: Always use the global SOURCES variable for .y files. 2023-10-14 13:51:42 +02:00
Alexandre Julliard 94771cf07a makefiles: Always use the global SOURCES variable for .l files. 2023-10-14 13:50:44 +02:00
Alexandre Julliard 2205218b24 makefiles: Always use the global SOURCES variable for .svg files. 2023-10-14 13:47:59 +02:00
Alexandre Julliard 4e9f1a41b9 makefiles: Always use the global SOURCES variable for .man.in files. 2023-10-14 13:44:07 +02:00
Alexandre Julliard b6e502610a makefiles: Always use the global SOURCES variable for .in files. 2023-10-12 11:02:17 +02:00
Alexandre Julliard c047bb6ea3 makefiles: Always use the global SOURCES variable for .sfd files. 2023-10-12 10:59:29 +02:00
Alexandre Julliard 92fe7c9c9f makefiles: Always use the global SOURCES variable for .m files. 2023-10-12 10:56:03 +02:00
Alexandre Julliard bf8cb196b5 makefiles: Always use the global SOURCES variable for .po files. 2023-10-12 10:54:07 +02:00
Alexandre Julliard 64de93e300 makefiles: Always use the global SOURCES variable for .mc files. 2023-10-12 10:50:42 +02:00
Alexandre Julliard 945883438a winebuild: Add a helper to output an asm function header. 2023-10-10 23:15:05 +02:00
Nikolay Sivov 372c43868b winedump/emf: Add EMR_SETMITERLIMIT record dumping. 2023-10-09 11:38:13 +02:00
Alexandre Julliard 0d3ff192aa winegcc: Enable dynamic base by default. 2023-10-05 18:49:44 +02:00
Alexandre Julliard efd03f40e6 server: Assign a system-wide mapping address for dynamic base modules. 2023-10-05 18:49:44 +02:00
Alexandre Julliard c547659586 nls: Update character tables to Unicode 15.1.0. 2023-09-30 13:23:19 +02:00
Alexandre Julliard 518e394794 winebuild: Set ASLR-related dll flags by default. 2023-09-25 22:47:03 +02:00
Eric Pouech 81c8c73de2 winedump: Improve dumping DEBUG directory entries in PE images.
- always add a data dump for unknown structures
- add some bits about POGO and REPRO entries
- protect against too small structures

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-09-25 21:53:47 +02:00
Alexandre Julliard c7fafe7eb2 widl: Use the IMAGE_FIRST_SECTION helper macro. 2023-09-25 13:02:09 +02:00
Alexandre Julliard af25f29cd2 winedump: Don't zero out the PE optional header regardless of specified size. 2023-09-25 11:37:42 +02:00
Alexandre Julliard cfaf09940a winebuild: Make the syscall thunks position-independent on ARM64. 2023-09-19 16:59:45 +02:00
Alexandre Julliard 40c1c498a9 winebuild: Add a few more SEH annotations. 2023-09-19 16:59:45 +02:00
Alexandre Julliard e3aa775a63 winebuild: Remove unnecessary .cfi_startproc/endproc annotations. 2023-09-19 14:27:17 +02:00
Alexandre Julliard 6828fc8b3a winebuild: Add a separate helper for .seh annotations. 2023-09-19 14:27:17 +02:00
Stefan Dösinger c9f2f1c376 gitlab: Enable d3d8 and d3d9 device tests. 2023-09-12 20:39:49 +02:00
Alexandre Julliard 04a74bdb50 winebuild: Add SEH information to relay entry points on ARM64. 2023-09-07 17:12:55 +02:00
Alexandre Julliard 425bd55b02 winegcc: Don't disable unwind tables for PE targets. 2023-09-07 16:19:00 +02:00
Brendan Shanks 5206c71472 tools: Use posix_spawn() instead of fork()/execvp(). 2023-09-06 11:12:10 +02:00
Rémi Bernon dcb1602124 makedep: Fix a string format specifier typo. 2023-09-06 11:09:57 +02:00
Alexandre Julliard aa15f41d04 makedep: Make the spec file optional for native modules. 2023-09-05 15:20:38 +02:00
Alexandre Julliard f1ff3179aa makedep: Make the spec file optional for data-only dlls. 2023-09-05 13:20:34 +02:00
Alexandre Julliard cfcf5ca286 makedep: Make the spec file optional for testdll resources. 2023-09-05 12:45:15 +02:00
Rémi Bernon 19c1cc1c3e makedep: Support generating .exe TESTDLL resources. 2023-09-05 12:44:57 +02:00
Rémi Bernon 81da9ff0f8 makedep: Use #pragma makedep testdll for TESTDLL resources. 2023-09-05 12:44:34 +02:00
Alexandre Julliard afb8d94e2f winebuild: Ignore syscalls that point to an alias. 2023-08-28 21:56:12 +02:00
Alexandre Julliard 7ee9c19687 ntdll: Also store syscall id and names following the syscall dispatcher pointer. 2023-08-25 22:52:45 +02:00
Eric Pouech 82b0bb3c24 server: Separate console and new group flag (CreateProcess).
We were using bit 1 of RTL_USER_PROCESS_PARAMETERS for two different cases:
- rightfully, as a sign to block ctrl-c events from being processed by
  handlers (and by default, terminating the process)
- But this was also used to request for the creation of a new process group.

This patch properly separates the two use cases, by using the
ProcessGroupId field in RTL_USER_PROCESS_PARAMETERS (checked that Win10
behaves as this patch in RtlCreateUserProcess wrt.
RTL_USER_PROCESS_PARAMETERS ProcessGroupId usage input/output).

Introduce process_group_id in startup_info_t and use it to pass it to
server. ProcessGroupId field in RTL_USER_PROCESS_PARAMETERS is now properly
set.

Note: this will change some external behavior.
- before this patch, a child process created with Ctrl-C disabled
  (ConsoleFlags set), couldn't turn it on as the process was detached
  from unix console.
- now, SIGINT handling is moved to kernelbase (and can be turned on/off at
  application will),
- when creating a new windows group id, the child will be detached from
  unix console, so will no longer receives the SIGINT from ctrl-c in unix
  console (if parent was attached to this unix console).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-23 17:38:51 +02:00
Rémi Bernon 3b7398b403 widl: Guard against re-import of the main input file. 2023-08-22 21:00:56 +02:00
Alexandre Julliard 20afe43832 Remove unused NONAMELESS defines. 2023-08-15 18:56:45 +02:00
Piotr Caban e2414b55b6 winedump: Support REG_QWORD values in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban 49c40d502c winedump: Support dumping UTF16 value names in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban 2908537f3f winedump: Don't dump volatile keys from regf file. 2023-08-04 18:07:42 +09:00
Piotr Caban 1a58a7032a winedump: Enlarge buffer in dump_want_n helper. 2023-08-04 18:07:42 +09:00
Piotr Caban bed6f9dfb3 winedump: Skip data blocks when dumping regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban b4fb0aef0d winedump: Support REG_MULTI_SZ values in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban 037677932b winedump: Support REG_BINARY values in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban 814d8d74f6 winedump: Support REG_NONE values in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban c6c844f172 winedump: Support REG_EXPAND_SZ values in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban 1727302892 winedump: Fix empty string handling in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban 654a83a583 winedump: Support dumping default values without VAL_COMP_NAME flag. 2023-08-04 18:07:42 +09:00
Piotr Caban 8242dbe5a0 winedump: Support REG_DWORD values in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban b17fed0255 winedump: Add support for decoding data stored in offset in regf files. 2023-08-04 18:07:42 +09:00
Piotr Caban 8885aea089 winedump: Fix non null terminated strings printing in regf files. 2023-08-04 18:07:42 +09:00
Mohamad Al-Jaf 0b3b28c245 widl: Add support for default_overload attribute.
Needed for IDeviceInformationStatics.
2023-08-04 09:51:24 +09:00
Piotr Caban b80ea4153b winedump: Add initial support for dumping Windows NT Registry Files (REGF). 2023-07-31 21:05:07 +09:00
Jinoh Kang 9de7c79153 winegcc: Enable SafeSEH only on i386.
SafeSEH is not applicable to architectures other than i386.

This fixes compiling with the clang ARM assembler, which cannot parse
".def @feat.00" since "@" is parsed as the start of a line comment.
2023-07-17 11:11:48 +02:00
Alexandre Julliard ed4104d358 gitlab: Make sure that the tags are fetched before building. 2023-07-14 13:25:43 +02:00
Alexandre Julliard ac6a2f2c19 gitlab: Install the gstreamer packages from deb-multimedia.org.
The standard bookworm packages don't support multilib.
2023-07-12 19:01:13 +02:00
Alistair Leslie-Hughes f1b9150451 widl: Remove unnecessary null check (Coverity). 2023-07-11 18:34:17 +02:00
Alexandre Julliard 5799e89f15 gitlab: Upgrade the Debian image to bookworm. 2023-07-10 21:15:55 +02:00
Bernhard Kölbl 711cd500e7 widl: Add basic support for the [deprecated] attribute.
Signed-off-by: Bernhard Kölbl <bkoelbl@codeweavers.com>
2023-07-05 19:54:57 +02:00
Jacek Caban 6892434b22 winedump: Add support for dumping IMPORT_OBJECT_NAME_EXPORTAS symbols.
This is used by ARM64EC importlibs.
2023-07-03 22:15:43 +02:00
Jacek Caban b090866663 winegcc: Disable exporting all symbols on mingw targets.
Mingw targets export all symbols by default if there is no explicit
export. We generate export table in winebuild and don't use explicit
exports. This may make linker generate an unused export-all table.

Spotted by Gabriel Ivăncescu.
2023-06-27 22:14:15 +02:00
Jacek Caban a5f62b3ef7 make_unicode: Don't use DECLSPEC_HIDDEN. 2023-06-26 20:19:13 +02:00
Fabian Maurer 0ce5584acc widl: Don't crash on nameless structs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49772
2023-06-26 15:00:58 +02:00
Eric Pouech 16f538a1c9 winedump: Tidy up print out in minidumps.
- adjust hex/decimal print out
- use internal helpers

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-06-23 22:48:18 +02:00
Alexandre Julliard 56fe04085d makefiles: Don't build native import libraries for PE-only build. 2023-06-15 12:03:34 +02:00
Alexandre Julliard fa732145b8 makefiles: Make the dll extension a per-architecture variable. 2023-06-15 10:27:06 +02:00
Alexandre Julliard 80fc252f18 makefiles: Pass the dll extension from configure. 2023-06-15 10:21:16 +02:00
Alexandre Julliard 11cd51139d ntdll: Support the lower memory limit in MEM_ADDRESS_REQUIREMENTS. 2023-06-13 22:10:56 +02:00
Alexandre Julliard 2705e6c319 server: Also enforce the size of varargs data structures. 2023-06-13 22:10:56 +02:00
Alexandre Julliard 834f7b2366 winegcc: Fix an uninitialized variable warning in the PE build. 2023-06-12 21:21:42 +02:00
Alexandre Julliard 912fd620db makefiles: Define WINE_UNIX_LIB for all files that are built for Unix. 2023-06-12 21:21:41 +02:00
Alexandre Julliard f76d8ba6c6 winedump: Dump manifest resources in a more structured way. 2023-06-09 23:37:14 +02:00
Alexandre Julliard 79f3fa732a winedump: Dump version resources in a more structured way. 2023-06-09 23:37:14 +02:00
Alexandre Julliard bc2e4ea7e2 winebuild: Update target-dependent characteristics after option parsing. 2023-06-09 23:37:14 +02:00
Alexandre Julliard 320acdad05 winebuild: Set a 64-bit base address for generated 64-bit dlls. 2023-06-09 23:37:14 +02:00
Piotr Caban 8b442c29a3 make_unicode: Don't use Türkiye as it can't be encoded in some locales. 2023-06-06 21:51:43 +02:00
Alexandre Julliard 6b5561b601 server: Send the APC call data as vararg in the select request. 2023-06-06 21:51:43 +02:00
Alexandre Julliard 50c5eb31cb nls: Update locale data to CLDR version 43. 2023-06-05 12:07:34 +02:00
Alexandre Julliard 58bc99dce6 kernelbase: Update timezone data to version 2023c. 2023-06-04 18:25:55 +02:00
Zebediah Figura 6bcfab4ca6 winebuild: Use the lretw mnemonic in wine_call_to_16().
We already use it in the __wine_spec_callfrom16_* functions.
2023-06-02 09:32:23 +02:00
Zebediah Figura 63a6f01a70 winebuild: Use segment prefixes in 16-bit stack switching code instead of writing out byte values.
Presumably at one point there were assemblers that choked on
these. However, currently we use segment prefixes elsewhere in
wine (namely, in the syscall dispatcher), and it seems fair to assume
that a sane compiler should support them.
2023-06-02 09:32:23 +02:00
André Zwing dfe94187c0 winedump: Recognize RISC-V PEs. 2023-05-24 18:39:47 +02:00
Esme Povirk 0a3fe99d2b mscoree: Update Wine Mono to 8.0.0. 2023-05-18 05:30:36 -05:00
Alexandre Julliard fddd7aab7c winebuild: Disallow floating point arguments in syscall functions. 2023-05-12 11:39:10 +02:00
Eric Pouech 5900418781 winedump: Fix copy & paste error.
(Thanks to Andrey for point it out).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-05-09 14:50:52 +02:00
Alexandre Julliard 7bdcfbbf6e winedump: Fix printing of code ranges in hybrid modules. 2023-04-28 18:33:23 +02:00
Alistair Leslie-Hughes 1aa6a900e8 widl: Suppress a coverity warning.
Knowning that frame->code will be set when the exception handler
is called.  Suppress this coverity issue.
2023-04-24 10:33:33 +02:00
Alexandre Julliard 90cc094260 winedump: Print entry point names in code range lists. 2023-04-21 16:34:29 +02:00
Alexandre Julliard 7e8ac46a5c makedep: Avoid generating empty dependencies. 2023-04-21 09:59:37 +02:00
Alexandros Frantzis 8570016783 tools: Support building Wayland protocol source files.
Wayland protocol descriptions are distributed as source XML files that
need to be transformed to C source and header files with a version of
the wayland-scanner tool compatible with the used libwayland library.

This commit enhances the makedep build tool to support building such
Wayland protocol XML files.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-04-21 09:59:37 +02:00