Commit graph

6689 commits

Author SHA1 Message Date
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
Rémi Bernon edca5937fb widl: Rename (error|warning)_loc_info to (error|warning)_at. 2023-03-23 16:44:34 +01:00
Rémi Bernon f869c8e7a3 widl: Lex calling convention variations toghether. 2023-03-20 21:03:32 +01:00
Rémi Bernon 53ae787d02 widl: Simplify reserved keywords lexing. 2023-03-20 21:03:32 +01:00
Rémi Bernon 858ec42a31 widl: Simplify preprocessor directive lexing. 2023-03-20 21:03:32 +01:00
Rémi Bernon 83f9f2cd3c widl: Remove unused lexer aliases. 2023-03-20 21:03:32 +01:00
Rémi Bernon abbf6cefc5 widl: Simplify uuid literals lexing. 2023-03-20 21:03:32 +01:00
Alexandre Julliard 78dc4ce7a0 widl: Pass the correct parent name when opening an import file.
Fixed a regression from 9d537999e3.
2023-03-20 17:10:45 +01:00
Rémi Bernon d359837fcc widl: Avoid freeing input_name in pop_import.
The pointers are used in loc_info input_name without copy.
2023-03-17 16:45:29 +01:00
Rémi Bernon 194c002c6e widl: Simplify string literals lexing. 2023-03-17 16:45:11 +01:00
Rémi Bernon baa3680f2e widl: Introduce a new helper to produce num tokens. 2023-03-17 16:45:11 +01:00
Rémi Bernon a46facfd8c widl: Group <ATTR> tokens together. 2023-03-17 16:45:11 +01:00
Rémi Bernon 832d6985c8 widl: Group <INITIAL> tokens together. 2023-03-17 16:45:11 +01:00
Rémi Bernon 2b3a910184 widl: Group <INITIAL,ATTR> tokens together. 2023-03-17 16:45:11 +01:00
Huw Davies 9b77f86046 winedump: Fix printf format warning. 2023-03-17 14:11:42 +01:00
Rémi Bernon 7ebf75f92d widl: Use open_input_file to open the main input. 2023-03-16 14:09:25 +01:00
Rémi Bernon 1a0a617850 widl: Respect -N flag for imported files preprocessing. 2023-03-16 14:09:25 +01:00
Rémi Bernon 39da052012 widl: Introduce new (open|close)_input_file helpers. 2023-03-16 14:09:25 +01:00
Rémi Bernon a6ab03dcd5 widl: Handle preprocess-only case separately. 2023-03-16 14:09:25 +01:00
Rémi Bernon 9d537999e3 widl: Use a struct list for the import stack. 2023-03-16 14:09:25 +01:00
Rémi Bernon 5deda2de3f widl: Simplify handling of already parsed imports. 2023-03-16 14:09:25 +01:00
Rémi Bernon 9d1f1a3fb1 widl: Use a struct list to keep imported files. 2023-03-16 14:09:25 +01:00
Alexandros Frantzis 50c1b1974f winewayland.drv: Perform basic per-process Wayland initialization.
Try to connect to the Wayland compositor, and fail driver initialization
if we are unable to do so.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-03-16 12:52:37 +01:00
Zhiyi Zhang c7d748d2e5 gitlab: Make FVWM respect position hints.
FVWM doesn't respect PPosition hints by default and tries to tile a window according to its rules.
This might break tests that require a window at a specific position. For example, when setting the
caption bar height to anything other than 18, some user32 tests start to fail. They succeeded
previously just because the caption bar and border height on FVWM totals to 18, which is happens to
be the same value used by Wine by default.
2023-03-15 17:43:43 +01:00
Rémi Bernon b97cf7ab5f widl: Remove unused temp_name member. 2023-03-14 20:38:59 +01:00
Rémi Bernon 9a047736b3 widl: Use bison-bridge option. 2023-03-14 20:38:59 +01:00
Rémi Bernon 37f343b4a9 widl: Use noyywrap lexer option. 2023-03-14 20:38:59 +01:00
Rémi Bernon 1ec6ea528e widl: Add missing rule end semicolons. 2023-03-14 20:38:59 +01:00
Rémi Bernon 3384e7cb63 widl: Use explicit %empty token for empty rules. 2023-03-14 20:38:59 +01:00
Jacek Caban 67c6770331 winedump: Print static lib EC symbols. 2023-03-13 22:07:24 +01:00
Alexandre Julliard 7af84c79a1 gitlab: Add workaround for more strict git ownership check. 2023-03-10 09:33:13 +01:00
Alexandre Julliard ce8023ea13 make_makefiles: Die when the git command fails. 2023-03-10 09:25:46 +01:00
Rémi Bernon 2d39dcafc8 makedep: Support resource files for embedded TESTDLL. 2023-03-08 17:49:00 +01:00
Rémi Bernon d2e79b0905 makedep: Rename TESTDLL generated .res to avoid conflicts. 2023-03-08 17:49:00 +01:00
Alexandre Julliard fec95db075 makedep: Store the list of .ok files per-architecture. 2023-03-01 21:39:30 +01:00
Rémi Bernon a375ff9e65 widl: Use "g16" for GUID parameterized type signature. 2023-03-01 11:01:15 +01:00
Mohamad Al-Jaf ef43048c65 widl: Use "i2" / "u2" for INT16 parameterized type signature. 2023-03-01 11:01:15 +01:00
Mohamad Al-Jaf e427e893fc widl: Use "i4" / "u4" for LONG parameterized type signature. 2023-03-01 11:01:13 +01:00
Alexandre Julliard 921367fc57 winebuild: Only allow the stdcall calling convention for system calls. 2023-02-27 11:02:14 +01:00
Alexandre Julliard 4a0f3fbcb5 winegcc: Stop using the deprecated prelink tool. 2023-02-27 11:01:47 +01:00
Alexandre Julliard 5c98858a9b makedep: Remove support for building shared libraries. 2023-02-27 11:01:23 +01:00
Alexandre Julliard 5c831122c9 libwine: Remove obsolete library. 2023-02-24 22:23:12 +01:00
Alexandre Julliard 8670876db9 makedep: Don't add dependencies for tests of disabled dlls. 2023-02-22 21:14:20 +01:00
Alexandre Julliard 7141332431 winedump: Dump the metadata of hybrid PE dlls. 2023-02-16 16:48:31 +01:00
Alexandre Julliard 385ce62761 winedump: Dump the alternate version of some data directories for hybrid PE dlls. 2023-02-16 16:48:25 +01:00
Rémi Bernon 0b3f90ab14 winebuild: Use .incbin instead of printf for resource data. 2023-02-13 17:03:02 +01:00
Alexandre Julliard 42daeba8b8 gitlab: Force updating configure. 2023-02-08 17:32:30 +01:00
Alexandre Julliard cd7e86599e winedump: Initial support for dumping PE dynamic relocations. 2023-02-08 12:10:13 +01:00
Eric Pouech cb3388f76a winedump: Dump some more bits out of public stream.
Especially thunk related information.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-07 18:42:01 +01:00
Eric Pouech e53a49830d winedump: Enhance dumping of string tables.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-07 18:41:58 +01:00
Eric Pouech 888fd830a1 winedump: Load once and store global PDB string table.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-07 18:41:54 +01:00
Eric Pouech 8f8877b2c8 winedump: Dump some more MSF related information.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-07 18:41:53 +01:00
Eric Pouech 94867b1936 winedump: Make use of -j option in PDB dumping.
Allowing section names: DBI, TPI, IPI, hash.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-07 18:41:50 +01:00
Eric Pouech e2c87ebef4 winedump: Refactor PDB DBI per-module dump in a dedicated function.
Also better taking care of various PDB_SYMBOL_FILE formats.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-07 18:41:37 +01:00
Eric Pouech 7370e15c93 winedump: Introduce ability to pass several section names to -j option.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-07 18:41:36 +01:00
Alexandre Julliard 51adaa33e3 winedump: Print more information from the PE Load Config directory. 2023-02-07 18:37:00 +01:00
Fabian Maurer fe0bf08ac6 winedump: Prevent "format overflow" warning.
Happens on gcc 12.2.0

Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
2023-02-02 18:08:39 +01:00
Eric Pouech e8777691c8 winedump: Be stricter about sizes while walking module's list.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-02 10:58:28 +01:00
Eric Pouech cda616d8ca winedump: Properly dump segment map information from PDB/DBI stream.
Changing field names to match better their content.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-02 10:58:21 +01:00
Eric Pouech cf71edaa4e winedump: Dump correctly ranges part of DBI stream.
The ranges describe for a PE image all the contributions
of each compilation unit towards the various sections.

Renaming offset_size into ranges_size which is closer to its actual content.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-02 10:58:07 +01:00
Eric Pouech a0d4a58a34 winedump: Explain a bit more errors on hash header.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-02 10:58:07 +01:00
Eric Pouech 4fc2c3319e winedump: Correctly dump PDB_STREAM_INDEX.segment.
This stream actually contains PE IMAGE_SECTION_HEADER.  So reflect the
content by renaming segment into section, and use some helpers
from the PE side.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-02 10:57:46 +01:00
Eric Pouech 97d2e9d902 winedump: Introduce a helper to print PE section's characteristics.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-02 10:57:46 +01:00
Eric Pouech 9a74d2b62f include: Use stream to denote MSF stream/file.
Try to apply consistent naming:
- file refers to (PDB) file
- stream refers to a stream/file inside the PDB stream at MSF level
(we were also using file for the later, which isn't very simple to
follow).

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-31 22:29:07 +01:00
Eric Pouech 26f89d84e2 include: Consistenly use _size to name the size of a sub-block.
We were using either _size or _len depending on which one.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-31 22:29:05 +01:00
Eric Pouech 27f3676cfc include: Update some fields in PDB headers.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-31 22:29:03 +01:00
Eric Pouech 71abef0906 include: Be consistent in naming regarding MSF's block.
No longer calling it sometimes 'page'.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-01-31 22:29:00 +01:00
Alexandre Julliard 8772b38494 tools: Make sure that config.h is included. 2023-01-30 09:31:32 +01:00
Gerald Pfeifer 004f367725 tools: Include limits.h for PATH_MAX.
PATH_MAX is used in FreeBSD-specific code in get_argv0_dir which
otherwise fails.
2023-01-30 09:29:20 +01:00
Rémi Bernon 4e5fab6214 gitlab: Run dinput 64-bit tests in a dedicated job. 2023-01-27 21:55:34 +01:00
Alexandre Julliard a3932d7deb makedep: Don't output rules for disabled modules. 2023-01-27 13:39:07 +01:00
Huw Davies 38a7145731 winebuild: Reorder the includes to avoid a build error on macOS.
"build.h" eventually includes <sys/queue.h> which contains a conflicting
definition of LIST_INIT.
2023-01-26 22:05:13 +01:00
Alexandre Julliard ae8797c8e3 tools: Add a common helper to setup signal handlers. 2023-01-25 11:47:51 +01:00
Alexandre Julliard 9f0ae8c992 tools: Move signal masking to the common make_temp_file() helper. 2023-01-25 11:47:51 +01:00
Alexandre Julliard ca398e2762 tools: Add a common helper to cleanup temp files. 2023-01-25 11:47:51 +01:00
Alexandre Julliard ecb651c01f tools: Add a common helper to get the argv0 directory. 2023-01-25 11:47:51 +01:00
Alexandre Julliard b73081edb8 gitlab: Don't force the date of the release. 2023-01-24 15:22:49 +01:00
Fan WenJie 7f62f7be87 winebuild: Only set thumb_mode on ARM targets.
Signed-off-by: Fan WenJie <fanwj@mail.ustc.edu.cn>
2023-01-20 15:59:09 +01:00
Alexandre Julliard 6f123e8424 tools: Always fall back to argv[0] to find the tools directory.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54319
2023-01-16 22:08:43 +01:00
Gerald Pfeifer f221465a3c wrc: Avoid undefined behavior in the FreeBSD case.
init_argv0_dir has a special case for FreeBSD where one branch led to
an unitialized variable and undefined behavior. Initialize properly.
2023-01-13 16:31:34 +01:00
Alexandre Julliard bdc40b4b60 tools: Create a temporary directory to store temp files. 2023-01-12 14:47:39 +01:00
Alexandre Julliard 1bc133a3d3 gitlab: Add a daily win10 test run. 2023-01-09 16:44:08 +01:00
Gerald Pfeifer 4bbdbc759a wmc: Avoid uninitialized variable in init_argv0_dir.
init_argv0_dir has conditional code for different operating systems. In
case of FreeBSD a variable remains uninitialized in the error case, yet
is then used. Fix that by handling the error case.
2022-12-20 22:37:02 +01:00
Alexandre Julliard 3c235e053c winegcc: Check for Mingw-style .dll.a import libraries.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53918
2022-12-16 17:08:10 +01:00
Alexandre Julliard cb86bb92d2 winebuild: Disable relay for non-standard fastcall parameters. 2022-12-16 17:08:10 +01:00
Alexandre Julliard df31d3c7fe winebuild: Use new ELF tag ids also on 64-bit.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53912
2022-12-16 10:42:01 +01:00
Alexandre Julliard 19f59ce839 winegcc: Add -ldl when linking .so files.
This is needed for dladdr1/dlinfo to run the constructors.
2022-12-12 23:12:42 +01:00
Alexandre Julliard 42b0a3b917 configure: Enable printf format warnings for 64-bit PE builds. 2022-12-09 17:52:25 +01:00
Alexandre Julliard bd0ca5103a makedep: Fix parsing of man page section. 2022-12-09 10:49:51 +01:00
Alexandre Julliard df50fca0f9 makedep: Add a helper function to skip spaces in strings. 2022-12-08 18:11:23 +01:00
Alexandre Julliard 9576fbeff1 makedep: Add the default Unix libraries also when building .dll.so files.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54096
2022-12-08 18:11:23 +01:00
Alexandre Julliard 1f5c288b4f winebuild: Put the delay import thunk in a separate section.
To work around a binutils bug, cf. https://sourceware.org/bugzilla/show_bug.cgi?id=14339
2022-12-07 10:05:49 +01:00
Alexandre Julliard 4b59142f34 winebuild: Avoid quoting section names.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54060
2022-12-07 10:05:07 +01:00
Alexandre Julliard a90df92a3c kernelbase: Update timezone data to version 2022g. 2022-12-06 17:04:50 +01:00
Alexandre Julliard bef0969722 ntdll: Move the .so module initialization to winecrt0.
Use new ELF tag ids to avoid breaking backwards compatibility.
2022-12-04 22:00:43 +01:00
Alexandre Julliard c20741b33a winebuild: Reinstate the __wine_spec_dll_entry() entrypoint for .so dlls. 2022-12-03 16:24:45 +01:00
Alexandre Julliard de3c286adf winebuild: Call __delayLoadHelper2 to resolve delay imports also on non-PE builds. 2022-11-29 19:11:19 +01:00
Alexandre Julliard 1181011c1e winebuild: Pass the delay import descriptor to the __wine_spec_delay_load function. 2022-11-29 19:11:19 +01:00
Alexandre Julliard a2d8e7a5d3 winebuild: Generate a separate helper for each delay-imported module. 2022-11-29 19:11:19 +01:00
Alexandre Julliard 0c39285077 winebuild: Use RVAs instead of absolute addresses in the delay import descriptors.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-11-29 19:11:19 +01:00
Alexandre Julliard 29060f3d78 winebuild: Add a helper function to output a thunk data pointer. 2022-11-29 19:11:19 +01:00
Eric Pouech 944edd5068 winedump: Don't crash when dumping .dbg files.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-11-28 21:01:55 +01:00
Jacek Caban cc91a2f933 winegcc: Use -nostdlib instead of -nostartfiles on Clang MSVC targets.
-nostartfiles is not enough if clang is configured with explicit default rtlib.
2022-11-28 21:01:55 +01:00
Alexandre Julliard 020e2b6bb4 makedep: Pass the actual name of the module in the delay load flags. 2022-11-23 17:59:46 +01:00
Alexandre Julliard 51087b9b65 makedep: Unify the search for static and import libs. 2022-11-23 17:59:46 +01:00
Alexandre Julliard a9183c7e3b makedep: Assume that all modules are built with msvcrt. 2022-11-22 18:27:30 +01:00
Alexandre Julliard c1a00d4b5a winegcc: Default to msvcrt mode for all PE builds. 2022-11-16 21:24:19 +01:00
Alexandre Julliard c44eb6d627 wmc: Add support for named locales. 2022-11-15 21:21:27 +01:00
Alexandre Julliard 4e89a25927 wrc: Add support for named locales. 2022-11-15 21:21:27 +01:00
Alexandre Julliard ac17191530 winebuild: Remove support for "hybrid" Unix libraries. 2022-11-11 12:07:41 +01:00
Alexandre Julliard f57c8d68bd winegcc: Remove support for "hybrid" Unix libraries. 2022-11-11 12:07:13 +01:00
Alexandre Julliard dbe93c8a5c makedep: Remove support for "hybrid" Unix libraries. 2022-11-11 12:05:04 +01:00
Rémi Bernon 2e5e5ade82 winebuild: Put the delay import descriptor in data section.
This fixes incorrect .text section flags for any module using delay
imports. The use of a custom .text$2 section as dlltool is doing causes
the section to be flagged as DATA, and ends up with the .text section
being writable, which triggers the anti tamper used in Forza Horizon.
2022-11-08 20:07:52 +01:00
Rémi Bernon cfe83e80fc winebuild: Fix import hint value for symbols imported by name.
This fixes incorrect hint values generated by dlltool: instead of the
index in the name table, it used the ordinal value, which almost always
ends up in a hint lookup failure and a fallback to binary search.
2022-11-08 20:07:52 +01:00
Rémi Bernon 6b9773529c winebuild: Implement delay import lib generation without dlltool. 2022-11-08 20:07:52 +01:00
Rémi Bernon 244e8fd357 winebuild: Enable unwind tables by default in PE files.
Making sure it also emits .cfi and .seh directives and generates unwind
tables for the delay import thunks.
2022-11-08 20:07:52 +01:00
Rémi Bernon 103eb83156 winebuild: Implement import lib generation without dlltool. 2022-11-08 20:07:52 +01:00
Rémi Bernon b9375920f9 winebuild: Introduce a new --without-dlltool winebuild flag.
Set it only when -Wl,--delay-load linker flag is not supported to keep using
dlltool in LLVM builds, for MSVC-like import libs.
2022-11-08 20:07:52 +01:00
Rémi Bernon 81cef17280 gitlab: Add a 2s wait between macOS build iterations.
To avoid cases where git rebase modifies some files very shortly after
the build has completed and ends up with the same mtime as the just
built files. This can lead to spurious link errors when functions are
moved around.
2022-11-08 20:07:52 +01:00
Alexandre Julliard 8f81273904 kernelbase: Update timezone data to version 2022f. 2022-11-08 20:07:51 +01:00
Alexandre Julliard 198de0dcb8 nls: Update locale data to CLDR version 42. 2022-11-08 20:07:51 +01:00
Rémi Bernon 9d1175a464 winebuild: Avoid calling asm_name twice in function arguments.
It returns a static buffer pointer and will free the first returned
pointer on the second call.
2022-11-04 21:53:54 +01:00
Rémi Bernon fd7cee3e31 winebuild: Split output_static_lib into output_(import|static)_lib. 2022-11-03 18:33:09 +01:00
Rémi Bernon f35fbc5be9 winebuild: Use asm_name to add underscore prefix in asm_globl. 2022-11-03 18:33:09 +01:00
Rémi Bernon 6932138f17 winebuild: Split get_link_name into a separate get_abi_name helper. 2022-11-03 18:33:09 +01:00
Alexandre Julliard 1e58882e77 makedep: Always generate a fake module for the native architecture.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53861
2022-11-02 11:57:59 +01:00
Martin Storsjö 6705a71045 winegcc: Prefer -Wl,--pdb=<file> over -Wl,-pdb,<file>.
The previously used syntax, -Wl,-pdb,<file>, was the originally
supported one in lld (since 2018). Later (in 2019) the second
syntax was added, allowing both -Wl,-pdb=<file> and -Wl,-pdb,<file>.
(This other parameter syntax allows easier distinguishing an empty
argument, for letting the linker implicitly pick the file name.)

Move over to using the more modern syntax - reducing the usage of
the old form of the option. This potentially allows deprecating
the original syntax and maybe allows using --pdb as a boolean
flag for implying an automatically named PDB file (which currently
requires using the awkward syntax "--pdb=").

Also prefer the long two dashes form, i.e. --pdb instead of -pdb;
the single dash form is only allowed by getopt when there
are no conflicts with single-letter options, while the form with
two dashes is unambiguous.
2022-11-01 20:46:22 +01:00
Alexandre Julliard b1f59bc679 makefiles: Add support for multiple PE architectures. 2022-11-01 10:29:49 +01:00
Jacek Caban 4920d08e5f makedep: Always use -mno-cygwin for extra test modules. 2022-10-31 21:22:38 +01:00
Alexandre Julliard abee72f32d makedep: Remove arch directories on distclean. 2022-10-31 20:41:45 +01:00
Alexandre Julliard 37910bebfd configure: Remove no longer needed check for dlltool. 2022-10-31 20:41:44 +01:00
Alexandre Julliard 6a91264918 makefiles: Store PE objects in subdirectories in the build tree.
This will make it possible to build multiple PE architectures.
2022-10-26 15:03:05 +02:00
Alexandre Julliard 8d43170b9f makedep: Make the disabled flag architecture-generic. 2022-10-26 11:03:51 +02:00
Alexandre Julliard 6cfdd7e97c makedep: Add a helper function to build an arch-specific module name. 2022-10-26 11:03:42 +02:00
Alexandre Julliard 5574c22d54 makedep: Add a helper function to get a cross-compilation make variable. 2022-10-26 11:03:33 +02:00
Alexandre Julliard 7d4ce928ef makedep: Add a helper function to build a source file for one architecture. 2022-10-26 11:03:20 +02:00
Esme Povirk 4493b10d17 mscoree: Update Wine Mono to 7.4.0. 2022-10-25 18:40:49 +02:00
Alexandre Julliard 6c65fb9cb3 makedep: Make the resource files architecture-generic. 2022-10-25 11:09:57 +02:00
Alexandre Julliard 6fb5e4d99a makedep: Add support for architecture-specific IDL objects. 2022-10-25 11:08:56 +02:00
Alexandre Julliard 2094dd96e6 makedep: Add support for architecture-specific sources. 2022-10-25 11:08:26 +02:00
Alexandre Julliard 718c57cab4 makedep: Make the makefile targets architecture-generic. 2022-10-25 11:08:06 +02:00
Alexandre Julliard 7bffe6d68b makedep: Make the import library files architecture-generic. 2022-10-25 11:07:45 +02:00
Alexandre Julliard cb5268c729 makedep: Make the object files architecture-generic. 2022-10-25 11:04:30 +02:00
Alexandre Julliard 9795a01918 makedep: Make the installation directories architecture-generic. 2022-10-25 11:03:54 +02:00
Michael Stefaniuc 43eccadceb makedep: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:59:05 +02:00
Michael Stefaniuc 191bc277a1 wrc: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:59:05 +02:00
Michael Stefaniuc 534a3082ef wmc: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:59:05 +02:00
Michael Stefaniuc b46eef7e2a winegcc: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:59:05 +02:00
Michael Stefaniuc 7029bba31a widl: Use ARRAY_SIZE instead of open coding it. 2022-10-25 10:59:05 +02:00
Alexandre Julliard 25735da0de makedep: Make the extra C flags architecture-generic. 2022-10-24 16:19:47 +02:00
Alexandre Julliard 815e766d9d makedep: Make the delay load flags architecture-generic. 2022-10-24 16:19:47 +02:00
Alexandre Julliard 55e2335f64 makedep: Make the debug flags architecture-generic. 2022-10-24 16:19:47 +02:00
Alexandre Julliard afc286fb51 makedep: Make the target flags architecture-generic. 2022-10-24 16:19:47 +02:00
Alexandre Julliard 24d791e2e9 makedep: Pass a generic architecture value instead of the is_cross flag to various helpers. 2022-10-24 16:19:47 +02:00
Piotr Caban 9e74a249df winedump: Handle NULL in get_unicode_str. 2022-10-19 21:16:29 +02:00
Alexandre Julliard 4172c04826 nls: Allow specifying a locale's native digits.
Inspired by a patch from Nikolay Sivov.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53770
2022-10-19 18:48:30 +02:00
Alexandre Julliard b591b3167c nls: Update locales that have been added in recent Windows versions. 2022-10-17 12:56:47 +02:00
Piotr Caban 0e49547c7a winedump: Add support for EMRI_METAFILE_EXT records. 2022-10-17 11:26:51 +02:00
Piotr Caban 893ac00873 winedump: Add prefix when dumping EMF files. 2022-10-17 11:26:51 +02:00
Piotr Caban 4d649c6232 winedump: Dump metafiles in EMF spool files. 2022-10-17 11:26:51 +02:00
Piotr Caban d745c8d4a0 winedump: Don't use static offset in dump_emfrecord. 2022-10-17 11:26:51 +02:00
Piotr Caban cf78df3612 winedump: Fix buffer overflow in debugstr_wn helper. 2022-10-17 11:26:51 +02:00
Piotr Caban cfbe32d557 winedump: Add initial EMF spool files support. 2022-10-17 11:26:50 +02:00
Rémi Bernon c90e03e3cb makedep: Link with imported libs before delay imported libs.
In order to favor direct imports over delayed imports, for instance when
the delay imported module forwards symbols from the imported module.
2022-09-30 18:34:14 +02:00
Rémi Bernon 214223edc3 makedep: Link default imports separately from direct imports. 2022-09-30 18:34:14 +02:00
Rémi Bernon c1a0b74d98 makedep: Add an import type parameter to add_import_libs. 2022-09-30 18:34:14 +02:00
Zebediah Figura e654b631f2 widl: Generate "static inline" instead of "static FORCEINLINE" for COM inline wrappers.
mingw-w64 defines __forceinline (and therefore FORCEINLINE) as
"extern __inline__ __attribute__((__always_inline__,__gnu_inline__)). This means
that COM inline wrappers specify multiple storage classes and hence cannot be
compiled.

Wine defines FORCEINLINE simply as "inline" (and uses "static" everywhere), so
this is a non-issue for Wine. However, since Wine and mingw-w64 share the source
code of widl and of most IDL headers, this patch changes the definition for both
projects.

There's no reason to force inlining here, especially since the wrappers need to
be manually enabled, and we don't need to match PSDK semantics where these
wrappers don't even exist.

In practice, use "__inline__" instead of "inline" for GNU C targets, to preserve
compatibility with C89 in mingw-w64 headers.
2022-09-28 15:27:51 +02:00
Eric Pouech a014f19bdd winedump: Dump PDB public symbols' stream.
Add relevant structures to include/mscvpdb.h.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-09-27 18:29:34 +02:00
Eric Pouech 805ffc8adb winedump: Dump global hash table out of PDB symbols' stream.
Introduce relevant structures in include/wine/msvcpdb.h.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-09-27 18:29:27 +02:00
Alexandre Julliard 9c5b2bd62c gitlab: Run the full test suite on merge requests. 2022-09-27 18:14:33 +02:00
Julian Klemann c8c7ff640a widl: Use "cinterface(IInspectable)" for IInspectable signature.
Fixes the UUID of ITypedEventHandler<DeviceWatcher*, IInspectable*> to
match MIDL.
2022-09-14 22:38:34 +02:00
Alexandre Julliard 7ab46c4f21 unicode: Update to Unicode 15.0.0. 2022-09-14 22:38:34 +02:00