Commit graph

569 commits

Author SHA1 Message Date
Maxim Karasev 062cf6e2f1 include: Add UNICODE_NULL. 2023-07-12 21:54:49 +02:00
Alex Henrie b87dcee5ea include: Add IsReparseTagNameSurrogate.
Based on a patch by Erich E. Hoover.
2023-07-06 21:04:45 +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
Xin Xu d291f40472 include: Fix spelling error in InterlockedDecrementSizeT(). 2023-06-28 18:56:28 +02:00
Alexandre Julliard 56cfbf6b86 include: Only enable the non-inline NtCurrentTeb() on the Unix side. 2023-05-31 12:32:11 +02:00
Martin Storsjö 0fac6bcfa4 include: Fix the use of __getReg for aarch64/msvc mode.
Clang requires the __getReg function to be declared in addition to
be declared as an intrinsic with the pragma.

This fixes the following error:

../wine/include/winnt.h:2412:27: error: call to undeclared library function '__getReg' with type 'unsigned long long (int)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
    return (struct _TEB *)__getReg(18);
                          ^
../wine/include/winnt.h:2412:27: note: include the header <intrin.h> or explicitly provide a declaration for '__getReg'
1 error generated.

Signed-off-by: Martin Storsjö <martin@martin.st>
2023-05-31 10:08:02 +02:00
Paul Gofman 4806b1c226 kernelbase/tests: Add tests for MEM_PRESERVE_PLACEHOLDER with UnmapViewOfFile2(). 2023-05-30 12:12:09 +02:00
Alexandre Julliard 7f088b0b13 ntdll: Use x18 for the TEB on ARM64. 2023-05-30 12:12:09 +02:00
André Zwing dfe94187c0 winedump: Recognize RISC-V PEs. 2023-05-24 18:39:47 +02:00
Brendan Shanks 820a9d0d6c include: Implement C_ASSERT() using the C11 _Static_assert() if available. 2023-05-09 14:52:06 +02:00
Alexandre Julliard 5b6e82f0f9 ntdll: Handle the extended memory attributes in NtAllocateVirtualMemoryEx(). 2023-05-09 14:28:04 +02:00
Alexandre Julliard b7f6620c01 include: Add the ARM64EC context structure. 2023-04-19 14:31:00 +02:00
Alexandre Julliard 6e348640c5 include: Add some CHPE definitions. 2023-04-18 17:49:23 +02:00
Stefan Dösinger 64eed89a53 include: X86 msvc has _InterlockedExchangePointer and _InterlockedCompareExchangePointer.
I fixed this issue in ad05f33d67, but a40973f20 regressed this again. I
was carrying a patch for quite a while, feeling dejavu.

According to boost they are available since MSVC 2015. I don't have old
versions of msvc hanging around, and we don't put much value in keeping
old versions working, so just use them unconditionally.
2023-04-11 12:36:53 +02:00
Alex Henrie 44e1e9438c include: Allow multiple definitions on GCC with DECLSPEC_SELECTANY.
Needed to compile Tera Term.

As far as I can tell, GCC has always supported __attribute__((weak)).
2023-03-22 20:03:52 +01:00
Alexandre Julliard 5a1d431b4b ntdll: Implement NtWow64IsProcessorFeaturePresent(). 2023-03-15 11:48:57 +01:00
Brendan Shanks ac031bff9e kernel32: Implement GetFirmwareType(). 2023-03-06 11:09:03 +01:00
Alexandre Julliard d5468b9cac ntdll: Implement RtlAddProcessTrustLabelAce(). 2023-03-01 21:39:30 +01:00
Alexandre Julliard cd7e86599e winedump: Initial support for dumping PE dynamic relocations. 2023-02-08 12:10:13 +01:00
Alexandre Julliard 51adaa33e3 winedump: Print more information from the PE Load Config directory. 2023-02-07 18:37:00 +01:00
Hans Leidekker 1318f8aa0a ntdll: Fix a test failure on Windows 11. 2023-01-12 16:24:31 +01:00
Paul Gofman 7e8bb68f95 ntdll: Support HighestEndingAddress in NtAllocateVirtualMemoryEx(). 2022-11-10 22:00:35 +01:00
Alexandre Julliard 988d9ddbf5 ntdll: Don't inline NtCurrentTeb() in Unix libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-11-09 21:10:29 +01:00
Santino Mazza 8230742016 include: Define REG_APP_HIVE and REG_PROCESS_PRIVATE. 2022-09-22 17:58:12 +02:00
Jinoh Kang d5f5834735 include: Define atomic read/write helpers for 32-bit integers.
Based on the corresponding functions from Windows SDK header files.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
2022-09-15 13:47:45 +02:00
Jinoh Kang 67e4807ba5 include: Move WIN32_MEMORY_RANGE_ENTRY from winnt.h to winbase.h.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
2022-07-13 16:10:04 +02:00
Dmitry Timoshkov 82c30480c9 include: Fix a typo in _InterlockedXor64() intrinsic declaration.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-07 19:10:02 +02:00
Alexandre Julliard a40973f204 include: Add a number of 64-bit interlocked functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-06-23 10:55:06 +02:00
Jinoh Kang 253a2e2edb include: Define fast fail codes and the __fastfail() intrinsic.
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
2022-05-31 11:43:28 +02:00
Nikolay Sivov 30f1777e87 kernelbase/tests: Add some VirtualAlloc2() tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-20 11:37:24 +02:00
Brendan Shanks eb55f64d52 include: Add __WINE_DEALLOC attribute and use it for allocation functions.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-18 18:36:10 +02:00
Brendan Shanks fd1b9afc1d include: Add __WINE_MALLOC attribute and use it for allocation functions.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-18 18:36:10 +02:00
Brendan Shanks 1c4131ba78 include: Add WINE_ALLOC_SIZE attribute to heap_calloc().
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-04 22:10:55 +02:00
Martin Storsjö 55177136cc include: Add a declaration of _InterlockedExchangeAdd64 for MSVC mode for aarch64.
This matches the corresponding declaration for x86_64.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 11:37:56 +02:00
Rémi Bernon e37740c62c include: Add ACTIVATION_CONTEXT_SECTION_WINRT_ACTIVATABLE_CLASSES declaration.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-06 23:07:20 +02:00
Alexandre Julliard 09e233790e include: Update __MSABI_LONG definition for WINE_NO_LONG_TYPES support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-25 19:02:18 +01:00
Stefan Dösinger 2f7c665999 include: Remove an incorrect InterlockedCompareExchange128 function.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:37:33 +01:00
Stefan Dösinger 20c2e5ba28 include: InterlockedExchangeAdd64 msvc intrinsic does not exist in x86.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:37:33 +01:00
Alexandre Julliard f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Zebediah Figura c5bdd938d2 include: Define InterlockedExchangeAdd64() and InterlockedExchangeAddSizeT().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 11:08:14 +01:00
Alexandre Julliard 4c2b6af10f include: Define a few more intrinsic functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-24 21:44:06 +01:00
Mohamad Al-Jaf e214b99ae6 include: Add namespaceapi.h file.
Required by IE11.

Signed-off-by: Mohamad Al-Jaf <mohamadaljaf@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-07 16:19:48 +01:00
Paul Gofman bf8b185b91 kernelbase: Add stub for PrefetchVirtualMemory().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-24 15:37:24 +01:00
Stefan Dösinger ad05f33d67 include: _InterlockedExchangePointer is an intrinsic on x86 in newer MSVC versions.
msvc 2019 complains that _InterlockedCompareExchangePointer and
_InterlockedExchangePointer are intrinsics and cannot be defined
even when building for x86. If I read Microsoft's header right
that started with msvc 2016.

Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-08 20:40:09 +01:00
Alexandre Julliard 19d5734e20 include: Always add defines for the Interlocked* functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-14 15:28:56 +02:00
Alexandre Julliard d4259ac8e9 include: Import specstrings.h and related headers from Mingw.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-13 13:39:20 +02:00
Alexandre Julliard 5d18d4df84 include: Define DECLSPEC_HIDDEN in guiddef.h if necessary.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-13 13:05:24 +02:00
Jacek Caban a7ecf08040 include: Don't use DECLSPEC_HIDDEN for NTSYSAPI in Unix libs.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-05 20:09:20 +02:00
Alex Henrie 3ad4def46a include: Provide a definition of NOP_FUNCTION that works on GCC.
NOP_FUNCTION is a drop-in function replacement that ignores its
arguments but also suppresses compiler warnings about them being unused.
For example, on MSVC, 0(foo, bar, baz()); or __noop(foo, bar, baz());
would suppress warnings about foo and bar being unused and not call baz
at all. Neither of those syntaxes is supported on GCC, which provides no
similar way to suppress unused variable warnings, but we can at least
allow such code to compile by defining NOP_FUNCTION to be an empty
variadic macro.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-09 20:12:15 +02:00
Alexandre Julliard 7a25671c38 include: Define all the context structures on all platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-12 16:56:27 +02:00