Description: win32sys

This file as text.
(active) Revisions in this set:
2e259ee3cc5d72202d207b5d6775974f791bc4d8,8d95da3feafcffcd7b2bf539bfdf4b90a09c2963,187cc46b327903667c670cf6c50a4b524824d892
288c7e3c9eeea0b079dafe0f73c98c23426eb968,1a4fdc7313a85c25efdf0279a422dbe26fecd34d,c4dd3b661a6c7a91b75e4f6d834702092dad6a40
1a0ba60de6d14f019d6b3fec2126037047bf7211,7d5b0d23827e124da3eab2f39fe6cd52673ff4c4,706e0904577fc4742b24a1aaa52fbe4db41ecde2
32d55bb0ea8042ee202b34d4e29d27b08afa2a58,e50d90b7e90bc6489eff6601d221446ca8df375b,78374bf772a15c8903240d4be5b484c7c44ed095
b5dd1f9beb9361901e264f78a1f0049f1453d594,0bad315dafc027649333ae3ed76fbee3c1426734,e74d89ce62efab3983701b34278fe7aa61aeead1
14ab1cfb716c0b7635638283fb8633d4080db964,a2f2af87d2c5ce1e2d68b97abfaf58bdacfd9a3d,a774075f2f36bffd342e4ef4d96d297a8524ef5e
acb6c7f36b15dd81480ef3f53a7a1a7675679790,b3800d38cbe140917d15416daf7c6489d97df25b,3cfec5e6a4e5c711dbea7bf001a1336faff1956b
e133ab579077b6f4297a0de4eb7b42c41f999c6a,fed9c609e821b8d714d996f9bf76ab660f0a259b,6489b6fc3662533e8785e06a3c1b8e22c6f46249
00156573426312d417d654ef9426f169b62e1c8e,41ae52dde1f6a3b213c49316921a2d8824d46077,4383aab15a238d013bfc9a98d7a09693c686b8e2
d7352e7b663fb94b38ffba53adbb94db3e2799ba,571088ff80cc883c5a26840a9fc41445b25af0ae,78f7d0bd1e984457dc332ccc982561502c8531f4
4dbb84f6298e3328298d38f13c76481cabdbf5c7,6a7d42bb22ff18fd0617108517ba9ece4b7a3e14,d8d6732a1053f04ea76025c3dc9542a48077de34
81a55adffb5c4aea8a13c6632e5d1fb0087cb3fa,dd5c25c2bc5377e605b12bd0daf5739eaa371637

Clicking a revision will expand files
 


* the VMT of the exception class needs to be referenced indirectly
Commit consists out of
  • M compiler/i386/n386flw.pas
  • M compiler/x86_64/nx64flw.pas
  • M rtl/win/syswin.inc


* Windows: Reworked handling of command line arguments to properly support Unicode:
- Use the CommandLineToArgvW API function to parse the Unicode command line (we can use it since Win9x is not supported anymore).
- Implemented non-public functions ParamStrA and ParamStrU which are exposed in the objpas and uuchar units to provide correct AnsiString and UnicodeString versions of ParamStr().
- The cleanup code is moved from InternalExit to the finalization section of the System unit.
Commit consists out of
  • M rtl/inc/system.inc
  • M rtl/inc/uuchar.pp
  • M rtl/objpas/objpas.pp
  • M rtl/win/sysos.inc
  • M rtl/win/syswin.inc
  • M rtl/win/syswinh.inc
  • M rtl/win32/system.pp
  • M rtl/win64/system.pp


* Windows: Do not use CommandLineToArgvW for parsing command line parameters, because it treats \" as an escape sequence for the double quote.
- Implemented parsing of the command line which is backward compatible.
- Do not use GetCommandLineA.
Commit consists out of
  • M rtl/win/sysos.inc
  • M rtl/win/syswin.inc


* Do_IsDevice treats pipes and sockets the same way as character devices
Commit consists out of
  • M rtl/aix/sysos.inc
  • M rtl/beos/sysos.inc
  • M rtl/bsd/sysos.inc
  • M rtl/emx/sysfile.inc
  • M rtl/gba/sysfile.inc
  • M rtl/haiku/sysos.inc
  • M rtl/linux/sysos.inc
  • M rtl/nds/sysfile.inc
  • M rtl/os2/sysfile.inc
  • M rtl/solaris/sysos.inc
  • M rtl/win/sysfile.inc
  • M rtl/win16/sysfile.inc


* fix for broken wince compilation after 0046863
Commit consists out of
  • M rtl/win/sysfile.inc


* rtl: implement TRandomGenerator for thread-safe random
Commit consists out of
  • M rtl/aix/system.pp
  • M rtl/amiga/system.pp
  • M rtl/aros/system.pp
  • M rtl/atari/system.pp
  • M rtl/beos/system.pp
  • M rtl/bsd/system.pp
  • M rtl/embedded/system.pp
  • M rtl/emx/system.pas
  • M rtl/freertos/system.pp
  • M rtl/gba/system.pp
  • M rtl/go32v2/system.pp
  • M rtl/haiku/system.pp
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc
  • M rtl/linux/system.pp
  • M rtl/macos/system.pp
  • M rtl/morphos/system.pp
  • M rtl/msdos/system.pp
  • M rtl/msxdos/system.pp
  • M rtl/nativent/system.pp
  • M rtl/nds/system.pp
  • M rtl/netware/system.pp
  • M rtl/netwlibc/system.pp
  • M rtl/os2/system.pas
  • M rtl/palmos/system.pp
  • M rtl/sinclairql/system.pp
  • M rtl/solaris/system.pp
  • M rtl/symbian/system.pp
  • M rtl/watcom/system.pp
  • M rtl/wii/system.pp
  • M rtl/win/syswin.inc
  • M rtl/win16/system.pp
  • M rtl/wince/system.pp
  • M rtl/zxspectrum/system.pp


* revert 0047598: implement TRandomGenerator
Commit consists out of
  • M rtl/aix/system.pp
  • M rtl/amiga/system.pp
  • M rtl/aros/system.pp
  • M rtl/atari/system.pp
  • M rtl/beos/system.pp
  • M rtl/bsd/system.pp
  • M rtl/embedded/system.pp
  • M rtl/emx/system.pas
  • M rtl/freertos/system.pp
  • M rtl/gba/system.pp
  • M rtl/go32v2/system.pp
  • M rtl/haiku/system.pp
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc
  • M rtl/linux/system.pp
  • M rtl/macos/system.pp
  • M rtl/morphos/system.pp
  • M rtl/msdos/system.pp
  • M rtl/msxdos/system.pp
  • M rtl/nativent/system.pp
  • M rtl/nds/system.pp
  • M rtl/netware/system.pp
  • M rtl/netwlibc/system.pp
  • M rtl/os2/system.pas
  • M rtl/palmos/system.pp
  • M rtl/sinclairql/system.pp
  • M rtl/solaris/system.pp
  • M rtl/symbian/system.pp
  • M rtl/watcom/system.pp
  • M rtl/wii/system.pp
  • M rtl/win/syswin.inc
  • M rtl/win16/system.pp
  • M rtl/wince/system.pp
  • M rtl/zxspectrum/system.pp


* handle rawbytestrings in Win32Ansi2UnicodeMove properly, resolves 0038299
Commit consists out of
  • M .gitattributes
  • M rtl/win/syswin.inc
  • A tests/webtbs/tw38299.pp


* Char -> AnsiChar
Commit consists out of
  • M rtl/win/dos.pp
  • M rtl/win/sysdl.inc
  • M rtl/win/sysos.inc
  • M rtl/win/systhrd.inc
  • M rtl/win/sysutils.pp
  • M rtl/win/syswin.inc
  • M rtl/win/syswinh.inc
  • M rtl/win/wininc/ascdef.inc
  • M rtl/win/wininc/ascfun.inc
  • M rtl/win/wininc/base.inc
  • M rtl/win/wininc/func.inc
  • M rtl/win/wininc/messages.inc
  • M rtl/win/wininc/redef.inc
  • M rtl/win/wininc/struct.inc
  • M rtl/win/winres.inc


* String -> AnsiString
Commit consists out of
  • M rtl/win/sysdl.inc


* string -> shortstring
Commit consists out of
  • M rtl/win/syswin.inc
  • M rtl/win16/system.pp
  • M rtl/wince/system.pp


* Synchronize API for AnsiString/Unicode string, keep string where possible.
Commit consists out of
  • M rtl/amicommon/sysutils.pp
  • M rtl/atari/sysutils.pp
  • M rtl/embedded/sysutils.pp
  • M rtl/emx/sysutils.pp
  • M rtl/freertos/sysutils.pp
  • M rtl/gba/sysutils.pp
  • M rtl/go32v2/sysutils.pp
  • M rtl/macos/sysutils.pp
  • M rtl/msdos/sysutils.pp
  • M rtl/nativent/sysutils.pp
  • M rtl/nds/sysutils.pp
  • M rtl/netware/sysutils.pp
  • M rtl/netwlibc/sysutils.pp
  • M rtl/objpas/sysutils/dati.inc
  • M rtl/objpas/sysutils/datih.inc
  • M rtl/objpas/sysutils/fmtflt.inc
  • M rtl/objpas/sysutils/osutilsh.inc
  • M rtl/objpas/sysutils/sysencoding.inc
  • M rtl/objpas/sysutils/sysencodingh.inc
  • M rtl/objpas/sysutils/sysinth.inc
  • M rtl/objpas/sysutils/syssb.inc
  • M rtl/objpas/sysutils/syssbh.inc
  • M rtl/objpas/sysutils/sysstr.inc
  • M rtl/objpas/sysutils/sysstrh.inc
  • M rtl/objpas/sysutils/sysuintf.inc
  • M rtl/objpas/sysutils/sysuni.inc
  • M rtl/objpas/sysutils/sysunih.inc
  • M rtl/objpas/sysutils/sysutilh.inc
  • M rtl/objpas/sysutils/sysutils.inc
  • M rtl/os2/sysutils.pp
  • M rtl/sinclairql/sysutils.pp
  • M rtl/symbian/sysutils.pp
  • M rtl/unix/sysutils.pp
  • M rtl/wasi/sysutils.pp
  • M rtl/watcom/sysutils.pp
  • M rtl/wii/sysutils.pp
  • M rtl/win/sysutils.pp
  • M rtl/win16/sysutils.pp
  • M rtl/wince/sysutils.pp


* Fix windows compilation
Commit consists out of
  • M rtl/inc/exeinfo.pp
  • M rtl/win/sysutils.pp


* Fix TDateTimeInfoRec
Commit consists out of
  • M rtl/objpas/sysutils/filutilh.inc
  • M rtl/win/sysutils.pp


* patch by Dean Mustakinov to improve commandline quote handling on Windows, resolves gitlab 0040189
Commit consists out of
  • M rtl/win/syswin.inc
  • D tests/utils/dosbox/exitcode.exe


* set stack margin on windows, so there is stack space left for exception handling in case of a stack overflow, resolves gitlab 0040589
Commit consists out of
  • M rtl/win/sysos.inc
  • M rtl/win/systhrd.inc
  • M rtl/win32/system.pp
  • M rtl/win64/system.pp
  • A tests/webtbs/tw40589.pp


* Windows CE does not support SetThreadStackGuarantee
Commit consists out of
  • M rtl/win/systhrd.inc


Support Windows XP where SetThreadStackGuarantee is absent.
Commit consists out of
  • M rtl/win/sysos.inc
  • M rtl/win/systhrd.inc
  • M rtl/win32/system.pp
  • M rtl/win64/system.pp


* win64 has always SetThreadStackGuarantee
Commit consists out of
  • M rtl/win/sysos.inc
  • M rtl/win/systhrd.inc
  • M rtl/win64/system.pp


* Handle potential double defintion of INFINITE
Commit consists out of
  • M rtl/inc/objpash.inc
  • M rtl/win/sysos.inc


Allocate argvs at once.
Commit consists out of
  • M rtl/win/syswin.inc


Fix + QoL + eye candy for Windows error boxes.
Commit consists out of
  • M rtl/inc/systemh.inc
  • M rtl/java/jsystemh_types.inc
  • M rtl/win/syswin.inc


Calculate the amount of ansichars in argv with one call to WideCharToMultiByte.
Commit consists out of
  • M rtl/win/syswin.inc


Shorten win/systhrd.inc; fix SetThreadStackGuarantee signature.
Commit consists out of
  • M rtl/win/sysheap.inc
  • M rtl/win/sysos.inc
  • M rtl/win/systhrd.inc
  • M rtl/win32/system.pp
  • M rtl/win64/system.pp


Simplify GetFileVersion.
Commit consists out of
  • M rtl/win/sysutils.pp


Import Heap* functions on WinCE.
Commit consists out of
  • M rtl/win/sysos.inc


Fix off-by-one error in syswin.inc:setup_arguments.
Commit consists out of
  • M rtl/win/syswin.inc


Remove most of the VER3_0 conditionals.
Commit consists out of
  • M rtl/i386/cpuh.inc
  • M rtl/i386/i386.inc
  • M rtl/i386/int64p.inc
  • M rtl/i386/ports.inc
  • M rtl/i386/portsh.inc
  • M rtl/inc/astrings.inc
  • M rtl/inc/compproc.inc
  • M rtl/inc/dynarr.inc
  • M rtl/inc/dynarrh.inc
  • M rtl/inc/generic.inc
  • M rtl/inc/int64.inc
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc
  • M rtl/inc/rtti.inc
  • M rtl/inc/rttidecl.inc
  • M rtl/inc/sstrings.inc
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc
  • M rtl/inc/threadvr.inc
  • M rtl/inc/ustringh.inc
  • M rtl/inc/ustrings.inc
  • M rtl/inc/wstringh.inc
  • M rtl/inc/wstrings.inc
  • M rtl/objpas/classes/reader.inc
  • M rtl/objpas/fgl.pp
  • M rtl/objpas/objpas.pp
  • M rtl/objpas/types.pp
  • M rtl/objpas/typinfo.pp
  • M rtl/win/syswin.inc
  • M rtl/win32/system.pp
  • M rtl/win64/system.pp
  • M rtl/win64/x86_64/cpuwin.inc
  • M rtl/x86_64/cpuh.inc
  • M rtl/x86_64/ports.inc


Pass huge chunks directly to SysOSAlloc/Realloc/Free.
Commit consists out of
  • M rtl/inc/heap.inc
  • M rtl/win/sysheap.inc
  • M rtl/win/sysos.inc


Initialize the heap lock in DLL_PROCESS_ATTACH and finalize in DLL_PROCESS_DETACH.
Commit consists out of
  • M rtl/inc/heap.inc
  • M rtl/inc/heaph.inc
  • M rtl/inc/oldheap.inc
  • M rtl/win/systlsdir.inc
  • M rtl/win/syswin.inc


* remove packed from TTlsDirectory, packed makes no sense for API structures on Windows
and it might cause them to get wrongly aligned, found by Alfred Glänzer and reported in gitlab 0041428
Commit consists out of
  • M rtl/win/sysos.inc
  • M rtl/win/systlsdir.inc


Fix leaks on DLL unloading.
Commit consists out of
  • M rtl/inc/heap.inc
  • M rtl/inc/heaph.inc
  • M rtl/win/systhrd.inc
  • M rtl/win/syswin.inc
  • M rtl/win32/system.pp
  • M rtl/win64/system.pp


Use OS zeroing in AllocMem.
Commit consists out of
  • M rtl/inc/heap.inc
  • M rtl/win/sysheap.inc


* Typecast correct filename in FileGetDateTimeInfo. Fixes issue gitlab 0041534
Commit consists out of
  • M rtl/win/sysutils.pp


Update FreeBSD/PowerPC64 context mappings.
Commit consists out of
  • M compiler/arm/cpuinfo.pas
  • M compiler/loongarch64/cgcpu.pas
  • M packages/fcl-base/src/fpexprpars.pp
  • M packages/fcl-base/src/syncobjs.pp
  • M rtl/aix/Makefile
  • M rtl/amiga/Makefile
  • M rtl/android/Makefile
  • M rtl/android/Makefile.fpc
  • M rtl/aros/Makefile
  • M rtl/aros/Makefile.fpc
  • M rtl/atari/Makefile
  • M rtl/beos/Makefile
  • D rtl/bsd/powerpc64/.gitkeep
  • M rtl/darwin/Makefile
  • M rtl/dragonfly/Makefile
  • M rtl/embedded/Makefile
  • M rtl/embedded/Makefile.fpc
  • M rtl/emx/Makefile
  • M rtl/freebsd/Makefile
  • M rtl/freebsd/Makefile.fpc
  • M rtl/freebsd/powerpc64/sighnd.inc
  • A rtl/freebsd/powerpc64/sighndh.inc
  • M rtl/freebsd/signal.inc
  • M rtl/freebsd/ucontexth.inc
  • M rtl/freertos/Makefile
  • M rtl/freertos/Makefile.fpc
  • M rtl/gba/Makefile
  • M rtl/gba/Makefile.fpc
  • M rtl/go32v2/Makefile
  • M rtl/haiku/Makefile
  • M rtl/human68k/Makefile
  • M rtl/inc/Makefile.rtl
  • M rtl/inc/generic.inc
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc
  • M rtl/java/Makefile
  • M rtl/linux/Makefile
  • M rtl/macos/Makefile
  • M rtl/morphos/Makefile
  • M rtl/msdos/Makefile
  • M rtl/msxdos/Makefile
  • M rtl/nativent/Makefile
  • M rtl/nds/Makefile
  • M rtl/nds/Makefile.fpc
  • M rtl/netbsd/Makefile
  • M rtl/netbsd/Makefile.fpc
  • M rtl/netware/Makefile
  • M rtl/netwlibc/Makefile
  • M rtl/objpas/classes/compon.inc
  • M rtl/openbsd/Makefile
  • M rtl/os2/Makefile
  • M rtl/palmos/Makefile
  • M rtl/palmos/Makefile.fpc
  • M rtl/powerpc64/math.inc
  • M rtl/ps1/Makefile
  • M rtl/sinclairql/Makefile
  • M rtl/solaris/Makefile
  • M rtl/symbian/Makefile
  • M rtl/symbian/Makefile.fpc
  • M rtl/unix/classes.pp
  • M rtl/wasip1/Makefile
  • M rtl/wasip1threads/Makefile
  • M rtl/wasip2/Makefile
  • M rtl/watcom/Makefile
  • M rtl/wii/Makefile
  • M rtl/win/sysutils.pp
  • M rtl/win16/Makefile
  • M rtl/win32/Makefile
  • M rtl/win32/classes.pp
  • M rtl/win64/Makefile
  • M rtl/win64/Makefile.fpc
  • M rtl/win64/classes.pp
  • M rtl/wince/Makefile
  • M rtl/wince/Makefile.fpc
  • M rtl/wince/classes.pp
  • M rtl/zxspectrum/Makefile
  • A tests/tppu/changeinlinebody/changed/testcib_bird.pas
  • A tests/tppu/changeinlinebody/lib/.gitignore
  • A tests/tppu/changeinlinebody/original/testcib_bird.pas
  • A tests/tppu/changeinlinebody/pkg/lib/readme.txt
  • A tests/tppu/changeinlinebody/pkg/testcib_ant.pas
  • A tests/tppu/changeinlinebody/testcib_elk.pas
  • A tests/tppu/changeinlinebody/testcib_prog.pas
  • M tests/tppu/tcrecompile.pas
  • A utils/fpdoc/newcss.inc

(inactive) Revisions in this set 5a20531d9be85ad43f38fbd240bc65f27c57c801,a06c034189304457633b01adbc978231674b7498,943b88e3daca1bd2f4c25fd9ceb725274d6ff0d0,48815baef63e4eff8191d1867a56615c7719295b,f510e6f59bbb20618d6011f175076257e63d18c7,38ca4f915768e2b984e1809dc3ff9d9dfd6be1e7,75b5e8e63d0d3a358b8630ab1166b7f55a766117,244d3df869c4dcc379f4c56cc34de14b1c4ae340,8d12774d3b94b44fe1f7d87e5abd7c8f737a5dc2,c68788e03e2de71ea957e74374005d35c8abd8e4,b1f0c504cc58d9441af5dd81229d54c84e74b162,025ad39ef0fc0c1e7624a10fd4299f73f7f65750,30a086685df6bb1652cacbd0e89eebc0aad836a3,2004855dbda926051470dcf51fafd91e12a9e192


* rework the basic event on Windows so that peventstate directly represents the Event handle
Commit consists out of
  • M rtl/win/systhrd.inc


* cleanup of outdated defines
Commit consists out of
  • M rtl/inc/systemh.inc
  • M rtl/linux/system.pp
  • M rtl/solaris/system.pp
  • M rtl/win/syswin.inc


Delay-load CoWaitForMultipleHandles to not force the dependency on ole32.dll.
Commit consists out of
  • M rtl/win/systhrd.inc
  • M rtl/win32/system.pp
  • M rtl/win64/system.pp


Load oleaut32.dll for widestrings on demand.

Most of the applications don’t and shouldn’t use widestrings, as unicodestrings are superior.
Commit consists out of
  • M rtl/win/sysos.inc
  • M rtl/win32/system.pp
  • M rtl/win64/system.pp


Use GetProcAddress to set GetFinalPathNameByHandle function pointer
Commit consists out of
  • M rtl/win/sysutils.pp


* remove semicolon to make Lazarus happy
Commit consists out of
  • M rtl/win/systhrd.inc


* fix 0040603:
- initialize thrdinfo record using Default() so that padding bytes are zeroed as well
- correctly pass the count of ULONG_PTRs
Commit consists out of
  • M rtl/win/systhrd.inc


* make Lazarus' CodeTools happy
Commit consists out of
  • M rtl/win/sysos.inc


Don’t cache process ID.
Commit consists out of
  • M rtl/win/syswin.inc
  • M rtl/win32/system.pp
  • M rtl/win64/system.pp


Low-level optimistic implementations of SysRelocateThreadvar that directly read TEB.
Commit consists out of
  • M rtl/win/systhrd.inc


Fix wince compilation using FPC_HAS_SYSRELOCATETHREADVAR_ASM macro.
Replaces merge request !705
Commit consists out of
  • M rtl/win/systhrd.inc


* Do not raise exception
Commit consists out of
  • M rtl/win/sysutils.pp


Always align threadvars on Windows.
Commit consists out of
  • M rtl/win/systhrd.inc


* Fix issue about Trailing backslash for
This is a symbolic link generated using:
mklink utility with /D option.
Patch suggested by Bart@flyingsheep on gitlab
in Issue 34483.
Commit consists out of
  • M rtl/win/sysutils.pp