I am using custom build of minimal FPC RTL and found possible bug. When unit 'system' (or some other?) compiled using -O2 (or higher) option in 'fpc.cfg', then application, compiled using this unit, increase memory usage every time BeginThread() function is called. This appears on FPC 3.2.0 and not happens in earlier versions. Tested on official FPC binary for Windows, target platform - 'win32'/'win64'.
Here is complete test environment - minimal RTL sources, FPC executables and test project: http://dl.free.fr/ckmK7KVPX Steps to reproduce: 1) Unpack archive 2) Execute script 'FPC\src\make_RTL_32A.bat' to build RTL. Current 'FPC\fpc.cfg' contains -O2 option enabled 3) Execute script 'compile.bat' to build test project. 4) Execute 'test.exe', then run Windows 'Task Manager' to view used memory. Test project repeatedly creates thread with 500ms sleep. Every time thread created, memory used by 'test.exe' is increased Repeat steps 2-4 after comment out '-O2' option in 'FPC\fpc.cfg' or replacing FPC binary with provided 'FPC\ppc386 3.0.4 - WORK.exe' (or your own) - memory will remains stable. If you have configured own RTL compilation - here is just test project without FPC binaries and RTL sources: http://dl.free.fr/nHDbSOzOQ Just change FPC path's in 'compile.bat'. Please anyone confirm this behaviour. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel