Commit graph

6560 commits

Author SHA1 Message Date
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
Piotr Caban 0d95b82182 wineps: Add BiDi support in EMR_EXTTEXTOUTW record. 2023-04-19 14:19:46 +02:00
Alexandre Julliard fe693a7047 winedump: Dump hybrid metadata also for i386 CHPE modules. 2023-04-18 17:49:51 +02:00
Alexandre Julliard 6e348640c5 include: Add some CHPE definitions. 2023-04-18 17:49:23 +02:00
Alexandre Julliard c8a79e7bc6 winedump: Apply all dynamic relocations before dumping alternate PE headers. 2023-04-14 18:56:23 +02:00
Mohamad Al-Jaf 3b31e75395 widl: Add support for WinRT HANDLE parameter type.
Needed by windows.ui.composition.interop.idl.
2023-04-13 10:25:19 +02:00
Jacek Caban 84f1f36686 mshtml: Wine Gecko 2.47.4 release. 2023-04-10 16:19:33 +02:00
Eric Pouech 020b6e094f winedump: Fix out of bounds access (spotted by GCC13).
Anyway, it's a pain that we have to maintain two MS symbols
demanglers (this one and the one in dlls/msvcrt).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-04-05 11:37:19 +02:00
Mohamad Al-Jaf 712f87ee8e widl: Add support for composable attribute.
Needed to build windows.ui.composition.idl.
2023-04-03 16:52:01 +02:00
Mohamad Al-Jaf a7e1c707f1 widl: Add support for protected attribute. 2023-04-03 16:52:01 +02:00
Mohamad Al-Jaf 781b8b0e99 widl: Add support for inherited runtime classes.
Needed to build windows.ui.composition.idl.
2023-04-03 16:52:01 +02:00
Francois Gouget 99f77667bb widl: Error_loc() messages must have a trailing linefeed. 2023-03-27 17:43:18 +02:00
Rémi Bernon 78c5e3ab03 widl: Define PARSER_LTYPE instead of api.location.type.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54729
2023-03-27 11:05:34 +02:00
Rémi Bernon bf9d15e3b1 widl: Use warning_at when reporting duplicate attributes. 2023-03-24 21:49:27 +01:00
Rémi Bernon 3d79c1f56d widl: Add source location information to attributes. 2023-03-24 21:49:27 +01:00
Rémi Bernon a10740f319 widl: Remove custom attribute creation helper. 2023-03-24 21:49:27 +01:00
Rémi Bernon 7771a9ae79 widl: Simplify attribute creation with either int or ptr value. 2023-03-24 21:49:27 +01:00
Rémi Bernon f36fbb3788 widl: Move attribute related functions to attribute.c. 2023-03-24 21:49:27 +01:00
Rémi Bernon f79ae4a95c widl: Use spaces to indent attribute rules more consistently. 2023-03-24 21:49:26 +01:00
Rémi Bernon 3149d27220 widl: Print the import stack and context in messages. 2023-03-23 16:44:34 +01:00
Rémi Bernon 472b2ecad4 widl: Improve accuracy of error messages location. 2023-03-23 16:44:34 +01:00
Rémi Bernon 071b0a5532 widl: Enable bison locations option. 2023-03-23 16:44:34 +01:00
Rémi Bernon 2edd194a00 widl: Move diagnostic and location functions to parser.l. 2023-03-23 16:44:34 +01:00
Rémi Bernon be1e308253 widl: Allow source location to span over multiple lines. 2023-03-23 16:44:34 +01:00