tinycc/win32/include/winapi
Benjamin Oldenburg 5f641e2a25 winnt.h: fix ARM64 CONTEXT struct layout mismatch
The fallback CONTEXT struct for ARM64 had multiple structural issues:
- ContextFlags was DWORD64 (8 bytes) instead of ULONG (4 bytes)
- Missing Cpsr field entirely
- Missing DECLSPEC_ALIGN(16) attribute
- X registers as simple array X[29] instead of union with named struct X[31]

These mismatches caused incorrect struct size and field offsets, leading to
register corruption when used with Windows APIs like GetThreadContext or
RtlRestoreContext.

The fallback struct now matches the official ARM64_NT_CONTEXT layout exactly,
ensuring binary compatibility with Windows ARM64 system calls.
2026-04-04 20:02:32 +07:00
..
basetsd.h win64: use new headers from mingw 2009-07-18 22:06:37 +02:00
basetyps.h win64: use new headers from mingw 2009-07-18 22:06:37 +02:00
guiddef.h win32: UUID typedef added 2015-09-25 03:42:44 +03:00
poppack.h win64: use new headers from mingw 2009-07-18 22:06:37 +02:00
pshpack1.h win64: use new headers from mingw 2009-07-18 22:06:37 +02:00
pshpack2.h win64: use new headers from mingw 2009-07-18 22:06:37 +02:00
pshpack4.h win64: use new headers from mingw 2009-07-18 22:06:37 +02:00
pshpack8.h win64: use new headers from mingw 2009-07-18 22:06:37 +02:00
qos.h Add minimal includes and .def files to support, by default, BSD socket programming on Windows. 2019-04-16 07:26:04 +02:00
shellapi.h win32: add minimal mingw header shellapi.h 2024-11-30 16:29:15 +02:00
winbase.h tcc.c:main() free all & etc... 2025-08-18 20:43:52 +02:00
wincon.h win32: mingw headers: mainly add LOAD_LIBRARY* values 2024-11-18 15:44:14 +02:00
windef.h win32: include/winapi: remove more files 2017-02-08 19:53:02 +01:00
windows.h Add winnls.h to allow SQLite compile ROOTB on Windows 2019-01-01 08:58:09 +01:00
winerror.h add version number to manpage 2013-02-17 00:48:51 +01:00
wingdi.h win64: use new headers from mingw 2009-07-18 22:06:37 +02:00
winnls.h Remove trailing whitespaces from source files 2026-04-04 20:02:32 +07:00
winnt.h winnt.h: fix ARM64 CONTEXT struct layout mismatch 2026-04-04 20:02:32 +07:00
winreg.h win32: include/winapi: remove more files 2017-02-08 19:53:02 +01:00
winsock2.h Add Windows WSAPool declaration, associated struct and constants. It allows 100% poll compatible POSIX API on Windows. 2019-07-09 18:02:59 +02:00
winuser.h Remove trailing whitespaces from source files 2026-04-04 20:02:32 +07:00
winver.h win64: use new headers from mingw 2009-07-18 22:06:37 +02:00
ws2ipdef.h Add minimal includes and .def files to support, by default, BSD socket programming on Windows. 2019-04-16 07:26:04 +02:00
ws2tcpip.h Add missing ws2tcpip.h which lets Microsoft Winsock Server sample compile ROOTB on Windows platform. 2020-07-06 09:47:09 +02:00