Description: wasi (active) Revisions in this set a0e88efa6a73f044718f233cff76cee983a96dc2,711efc3e3aa0e87dddf71663036337434065bdcd,93fea6de3a0252bee42d8fb20f38960907994184,87111246ca24629d15385f9ec00fc9ee57421ea5,45620b11c0cca007cb38c94fc201cd8eef7875da,390be44cce0d32775bf1e24756f0535a1e55d1c5,27ff471ff4f9c54bed5df5e04fbdf654a8bdb5dd,08520e032a7dfdb7cf01c355d5a2a451ae4f91fc,d0b3a599a300945a46abd020fae9878c97d75c4c,1e34f047291dcf6140f89250d85a7b5fa5f907fe,a7dfbf012441cd54a960c7c1c153ca1a4f77582e,2a688eb948ac869dbf4165d2315e563b9d790e17,47b664ba92ac1e129b9401d7c0b1a0265f68c4a0,cf857a22eec513f3d131912a7d53c4239fc8924b,d6fc3129b390702dc0ebf94a07ef44032402a343,3d56f75ba7ac99a0bb6527b860209dda548a287d,9bebe9bcb7cc581f700600cfd0f3b9b100154bd0,84b3036574bfcc4acb20b211afd2ae9df63f8f50,c69649782a27d9234c3c9d4f6f066fdb67a1e0e4,fa7444a0d81bea369311fbc3b353bd5ffcdd993a,de7ebe219c562ddc18e07c9f437d25cd42c3e1d6,e830ed6cbc39f0b8899447a1e9f732aaccd49eba,e00dca144860bb2c8d5e25d4d57f54853700ddde,14ec15be7b0f91cc2892928e38380f8f98b16308,7c09f0be9673f9b95326ed2a442e496f011b50a4,56aa1e1bbe51ecf1143700e03119cfcccfd834a1,0a384b09058aab280c58752a46916d8e53cd71e2,d3ce008cd3c8069b1b9cfae5f989c52c756a89ee,ba3383f7e350afb3ca07b3ed50941edbd4170604,bc08af99b04772a62fdae261eeb9ddfa8c147fed,144d7ed97896b31ce9c18cddbeb3ffb998aec35d,0af333bd0f04010aa86fca053d29b8c53bb01796,a7b3747b7beac97be48a3d868355c6dd564853f9,5ee902800cf318036eb74044e4e87ecc542b080f,5718b33dd868a8266c933a51547e168a301a7ca0,17fac45ddce93a1769433e72688eddea046cd597,539ea53babd8f10c5e1b2a2404bf2e2639a6ceeb,125dbdc21cd23fe9f4184d3c2444b1291439b154,ba1dcfc6a4136c6b8154ba16d05d977553b30160,953893267bb45dc8179f55da4c4c203468b2777c,25a9843ea4488a7fcd462ba7a20964c20933e96f,c48f27225e0ca6dccbcba86f3000f48f374df7a4,827f543289dd3f8ff80c09d36cad489b583c3410,720068360ea09dac6fcd35dd47e763baa5805c6b,a5309a5d0cdeb9791a4ac59f666aca5628ed6f0a,3fd6704582a29832f9aa518bd7a178cff083aef7,9efcd4e5548637e8c970dd693bd52b4c859ceeee,67c152092835268be95e6e35f1f31b50d6546bbd,90eb1351dcf77267e4a02a699b6f21ad2995ab2b,5ff2af5176ecef0e9f0deda6a007089f82d5840f,ca3f1d7b6d507c5f4f3e4d681b85cb9ad51b659d,4240279a848b8cc4dffb4dba278d3c1c1be60bb7,c275c3c7f2df5eaaaf1080d5685280062db1d246,afb9c2ae94e020a1061aaeaaf8d44bff2b95e797,433050a2c41069ba5dd519058e47166aba1adfc5,5eac35664fa0a3df98a3fa7b6bbe8c129e5fe7c0,0219b4018cc400bb18f8ea3a924a5a0775186408,f0543ad8d523e40068359ddc096ad120c55cb5db,be90ad1672cec33b15f8faa09715190f6279e75f,a01a6021409f83d80ec80d95e73a66912d7d1211,c0cec218d64e082c373a6f973d4cf2f5798f84fa,e19fcd2b8b826c69b9ca97ab19eb9d9b49a4cf16,b93998c17c7b2eb81e13fbb93bc987f0258a645c,fe903f2ae413631591528c2ea9b33fcc05eac4e3,e091d263c84890f64ca8353fa837c4fd7eb94c37,68cd1c39732449efc0e83adfc3d66dce80f1f9eb,163d2ab344b7ef739f501d79b7a0de9b2bda0666,497dd20a088a67a950c7c61f0a365f170c547f18,1b22a68fc6be4fb51c57a5f01b5193abacab4cf1,a8b789d183513c381c0dc60c0cd50700e8909dfe,585d0cf5746ab85b5dc5a202606f8426d4a282ab,f4964691b0ae2590ddd9a530f78ad9a378898098,f12752372f5e2544e5c4a9d60794c037b55df546,7cac9d2f02bfc1d207b28974340503afbe68d00c,4765d885dfacf93db8202c3b6217a806c09d0dcc,e5ac0b26891f1d5934e8023204f6574195a709cb,9e70f49745836204da6e132ae0822e832a521261,65d8c3d7ebef6ea5a893314b4a3267d3f1d6bcd6,e3139fea211474f8b31ac880c259ae68b8278c6f,d05bcd846ea9f296e9acb855de4810e2c24448a0,fa278564786c5ec7fee45d7bd3b3f4f2d253be6e,f2d5deb26d396c86b9ff636540464d065647a91c,1a714d688a6365ae970c5b63d8ef74d7a9bb9e8d,2fb300c5c0ef04ab2832d7f6e32a5cd57811838b,038ecaef929dda1588b181c3058bad1ed56bb537,5de7084d35492e6ec6d4e3c4cf0cfac3d881195d,c6794dd7d73cd099ad0688483d8f215ba05c4821,8413c2b0732714300db387b1faacd8f1d9149fcc,b9a6b01c97afca09b44ebdf5bac8f91dfe7ff35e,1a93cad4f3db9fb747d23d9b16a75642c4ecc0ad,04b9bc77024bdfb7da727fe7648b1a3534c34072,6d45fd09a23252a391f48f1775747e0816e76674,a21dfc0245ff29ae5f23bc0a334c05aa43e9c4d3,a179ca8cf8c9e1a62bdff1e9693e55b9a1453ba3,692bd6235922a3c84f329e0fc8117d7e9b656151,41ead20bfb32f03c1b36bd4e98bdcb569345dba1,6a1eb520e961845b4a0e277fa57df4c6f138ea9d,e61240156247fac15c854294ec2a0d7dad1d2868,c2fcb1a8336cb9b40a43667c6489ebca7081da14,694341aa789e1bc5d3653e5a816cf102179ab554,bb93b918a5bae47027d01ab5dcf79d01147835f0,31bb06ac876543a509dc04d7af53b55db145d84c,7681c192dbb6d74b6944061863445a55825506a1,aaf536ae109a4797c13d4c6a0655c3103596d5c8,801f902efed9527bcf5ee2cc44aa5d2262a9637d,6be3a42a2f18a349402d18241c83d68c492c7bd5,74a4550ff01a1cee4fff5c5a5a7361729608613c,a417b0db9b9c8f19141be552e6e01da1e4057893,3c027b0ba03df25a95ff94cb18f15aa1dbac2272,60bb6c19d9a3fafd600b3f8de50fd2e9fc7c9184,68f41911192f5e8b63fbaf02badfdb5f85952df2,da597114427645ef37f4d1ad10c9c19d5d4ce23e,9d771396ff829f3fde3dae0ffb6ed5cef1064ddb,9e0b2869a3ecbb35eb9244db4352fe33a1513166,f23cc9ec6d5a89bc61619e53c9eac8a57ef1dfbe,77d592221ac120ece3ab60730de6a00eb826761d,e03389c6a85ad2aa2ae11be193f3a95e1483cc31,fcfce9f2d582c9adb1435161d27a73a86381a6ad,a0e1dce1fded5e40a6a060a5e946503c3eb11a18,5d058258fc3fb182a42e750ad8ab09962bd2f4c5,af5c2d66c2337316c85d8541149ce3baab650cd3,37c32a9eb76ca90f6d984f52e0293cbd79cf6bfa,02867fe9184d95890305bf5450d9b68171afd55d,200fbf64a11ef6df7276c50b9e7b3daa2dad87de,edf7b26f52d05ca09fb69043148acfa4785f4414,db1d903a119e29849948ba8cff90c6569ffe373b,017b41de89da93c848470f2f2140b6df019ac1aa,df26a02d9d6d3b000c185496259896d10835a3bf,c8b9eb3c5c693ab31bcd408f1015dbc14dbffbb0,4abbd82135800a4c79414bf252e153b76940b988,6dfd2de1882096019b27c144ffc2db2636b5d466,492e38069c9ca4eb6132fac300532840e4880a02,7fe6438d4483f66d347dbbe4205123743bd36ea1,a0ac317aae017c1bf828084410210324448661c9,919f8f383d208f340520a34a8ef2ea958474d1ae commit a0e88efa6a73f044718f233cff76cee983a96dc2 Author: nickysn Date: Sat Apr 17 11:26:21 2021 +0000 + compile the sysconst unit for wasm32-wasi git-svn-id: trunk@49216 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit 711efc3e3aa0e87dddf71663036337434065bdcd Author: nickysn Date: Sat Apr 17 14:39:54 2021 +0000 + started working on the SysUtils unit for the WASI platform git-svn-id: trunk@49220 - M .gitattributes A rtl/wasi/sysutils.pp --- commit 93fea6de3a0252bee42d8fb20f38960907994184 Author: nickysn Date: Sun May 30 20:52:21 2021 +0000 + enabled compilation of unit SysUtils for the WASI target. Note that WASI snapshot building fails, when compiler is built with -CR, because of a use-after-free bug in the compiler, related to generics. A fix for this bug is currently being worked on. git-svn-id: trunk@49416 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit 87111246ca24629d15385f9ec00fc9ee57421ea5 Author: nickysn Date: Tue Jun 1 15:53:22 2021 +0000 + enabled compilation of unit sortbase for the WASI target git-svn-id: trunk@49429 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit 45620b11c0cca007cb38c94fc201cd8eef7875da Author: nickysn Date: Tue Jun 1 16:56:55 2021 +0000 + enabled compilation of unit math for the WASI target git-svn-id: trunk@49431 - M .gitattributes M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc A rtl/wasm32/mathu.inc --- commit 390be44cce0d32775bf1e24756f0535a1e55d1c5 Author: nickysn Date: Tue Jun 1 17:06:14 2021 +0000 + enable compilation of unit rtlconsts for the WASI target git-svn-id: trunk@49432 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit 27ff471ff4f9c54bed5df5e04fbdf654a8bdb5dd Author: nickysn Date: Tue Jun 1 17:14:24 2021 +0000 + enabled compilation of unit types for the WASI target git-svn-id: trunk@49433 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit 08520e032a7dfdb7cf01c355d5a2a451ae4f91fc Author: nickysn Date: Tue Jun 1 19:11:54 2021 +0000 + enabled compilation of unit typinfo for the WASI target git-svn-id: trunk@49436 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit d0b3a599a300945a46abd020fae9878c97d75c4c Author: nickysn Date: Tue Jun 1 19:15:41 2021 +0000 + enabled compilation of unit fgl for the WASI target git-svn-id: trunk@49437 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit 1e34f047291dcf6140f89250d85a7b5fa5f907fe Author: nickysn Date: Tue Jun 1 19:20:40 2021 +0000 + enabled compilation of unit macpas for the WASI target git-svn-id: trunk@49438 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit a7dfbf012441cd54a960c7c1c153ca1a4f77582e Author: nickysn Date: Tue Jun 1 19:25:42 2021 +0000 + enabled compilation of unit iso7185 for the WASI target git-svn-id: trunk@49439 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit 2a688eb948ac869dbf4165d2315e563b9d790e17 Author: nickysn Date: Tue Jun 1 19:30:23 2021 +0000 + enabled compilation of unit getopts for the WASI target git-svn-id: trunk@49440 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit 47b664ba92ac1e129b9401d7c0b1a0265f68c4a0 Author: nickysn Date: Tue Jun 1 19:34:31 2021 +0000 + enabled compilation of unit charset for the WASI target git-svn-id: trunk@49441 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit cf857a22eec513f3d131912a7d53c4239fc8924b Author: nickysn Date: Tue Jun 1 19:38:02 2021 +0000 + enabled compilation of unit cpall for the WASI target git-svn-id: trunk@49442 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit d6fc3129b390702dc0ebf94a07ef44032402a343 Author: nickysn Date: Tue Jun 1 20:02:36 2021 +0000 + enabled compilation of unit character for the WASI target git-svn-id: trunk@49443 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit 3d56f75ba7ac99a0bb6527b860209dda548a287d Author: nickysn Date: Tue Jun 1 20:14:58 2021 +0000 + enabled compilation of units unicodedata and unicodenumtable for the WASI target * fixed the dependencies of unit character git-svn-id: trunk@49444 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit 9bebe9bcb7cc581f700600cfd0f3b9b100154bd0 Author: nickysn Date: Tue Jun 1 20:19:16 2021 +0000 + enabled compilation of unit fpwidestring for the WASI target git-svn-id: trunk@49445 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit 84b3036574bfcc4acb20b211afd2ae9df63f8f50 Author: nickysn Date: Tue Jun 1 20:32:10 2021 +0000 + added classes unit for the WASI target (not yet enabled in the makefiles) git-svn-id: trunk@49446 - M .gitattributes A rtl/wasi/classes.pp --- commit c69649782a27d9234c3c9d4f6f066fdb67a1e0e4 Author: nickysn Date: Tue Jun 1 21:58:02 2021 +0000 + added tthread.inc rtl include file for WASI git-svn-id: trunk@49450 - M .gitattributes A rtl/wasi/tthread.inc --- commit fa7444a0d81bea369311fbc3b353bd5ffcdd993a Author: nickysn Date: Tue Jun 1 22:16:16 2021 +0000 + enabled compilation of unit classes for the WASI target git-svn-id: trunk@49452 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit de7ebe219c562ddc18e07c9f437d25cd42c3e1d6 Author: nickysn Date: Tue Jun 1 22:22:45 2021 +0000 + enabled compilation of unit uuchar for the WASI platform git-svn-id: trunk@49453 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit e830ed6cbc39f0b8899447a1e9f732aaccd49eba Author: nickysn Date: Tue Jun 1 22:38:54 2021 +0000 + compile the unit dos (OS-specific functions are dummies for now) for the WASI target git-svn-id: trunk@49454 - M .gitattributes M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc A rtl/wasi/dos.pp --- commit e00dca144860bb2c8d5e25d4d57f54853700ddde Author: nickysn Date: Tue Jun 1 22:43:01 2021 +0000 + enabled compilation of unit extpas for the WASI target git-svn-id: trunk@49455 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit 14ec15be7b0f91cc2892928e38380f8f98b16308 Author: nickysn Date: Tue Jun 1 23:11:54 2021 +0000 + enabled the fcl-xml package for the WASI target git-svn-id: trunk@49461 - M packages/fcl-xml/fpmake.pp --- commit 7c09f0be9673f9b95326ed2a442e496f011b50a4 Author: nickysn Date: Tue Jun 1 23:14:28 2021 +0000 + enabled the fcl-sound package for the WASI target git-svn-id: trunk@49462 - M packages/fcl-sound/fpmake.pp --- commit 56aa1e1bbe51ecf1143700e03119cfcccfd834a1 Author: nickysn Date: Tue Jun 1 23:17:33 2021 +0000 + enabled the regexpr package for the WASI target git-svn-id: trunk@49463 - M packages/regexpr/fpmake.pp --- commit 0a384b09058aab280c58752a46916d8e53cd71e2 Author: nickysn Date: Tue Jun 22 20:51:19 2021 +0000 * enumerate preopened dirs on startup and store them in a list, accessible via global vars in the system unit git-svn-id: trunk@49521 - M rtl/wasi/system.pp --- commit d3ce008cd3c8069b1b9cfae5f989c52c756a89ee Author: nickysn Date: Tue Jun 22 22:35:32 2021 +0000 + initial implementation of GetDir() for WASI git-svn-id: trunk@49522 - M rtl/wasi/sysdir.inc M rtl/wasi/system.pp --- commit ba3383f7e350afb3ca07b3ed50941edbd4170604 Author: nickysn Date: Tue Jun 22 22:44:20 2021 +0000 + keep also the fds for the current dirs git-svn-id: trunk@49523 - M rtl/wasi/system.pp --- commit bc08af99b04772a62fdae261eeb9ddfa8c147fed Author: nickysn Date: Tue Jun 22 23:14:33 2021 +0000 + initial implementation of resolving relative paths git-svn-id: trunk@49524 - M rtl/wasi/sysfile.inc M rtl/wasi/system.pp --- commit 144d7ed97896b31ce9c18cddbeb3ffb998aec35d Author: nickysn Date: Tue Jun 22 23:33:54 2021 +0000 + implemented MkDir for the WASI target git-svn-id: trunk@49525 - M rtl/wasi/sysdir.inc --- commit 0af333bd0f04010aa86fca053d29b8c53bb01796 Author: nickysn Date: Tue Jun 22 23:36:30 2021 +0000 + implemented RmDir for the WASI target git-svn-id: trunk@49526 - M rtl/wasi/sysdir.inc --- commit a7b3747b7beac97be48a3d868355c6dd564853f9 Author: nickysn Date: Tue Jun 22 23:52:22 2021 +0000 + implemented Erase() for the WASI target git-svn-id: trunk@49527 - M rtl/wasi/sysfile.inc --- commit 5ee902800cf318036eb74044e4e87ecc542b080f Author: nickysn Date: Tue Jun 22 23:57:39 2021 +0000 + implemented do_truncate for the WASI target git-svn-id: trunk@49528 - M rtl/wasi/sysfile.inc --- commit 5718b33dd868a8266c933a51547e168a301a7ca0 Author: nickysn Date: Wed Jun 23 00:03:44 2021 +0000 + implemented Do_FilePos for the WASI target git-svn-id: trunk@49529 - M rtl/wasi/sysfile.inc --- commit 17fac45ddce93a1769433e72688eddea046cd597 Author: nickysn Date: Wed Jun 23 00:12:22 2021 +0000 + implemented Do_FileSize for the WASI target git-svn-id: trunk@49530 - M rtl/wasi/sysfile.inc --- commit 539ea53babd8f10c5e1b2a2404bf2e2639a6ceeb Author: nickysn Date: Wed Jun 23 00:20:48 2021 +0000 + implemented Do_Seek and Do_Seekend for the WASI target git-svn-id: trunk@49531 - M rtl/wasi/sysfile.inc --- commit 125dbdc21cd23fe9f4184d3c2444b1291439b154 Author: nickysn Date: Wed Jun 23 00:30:47 2021 +0000 + implemented Do_Rename for the WASI target git-svn-id: trunk@49532 - M rtl/wasi/sysfile.inc --- commit ba1dcfc6a4136c6b8154ba16d05d977553b30160 Author: nickysn Date: Wed Jun 23 15:44:17 2021 +0000 + also resolve absolute paths in ConvertToFdRelativePath git-svn-id: trunk@49535 - M rtl/wasi/system.pp --- commit 953893267bb45dc8179f55da4c4c203468b2777c Author: nickysn Date: Wed Jun 23 20:04:03 2021 +0000 + initial WASI implementation of DOS.GetFTime. Not working yet, due to a compiler bug, related to the import of fd_filestat_get from the wasiapi unit. git-svn-id: trunk@49536 - M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc M rtl/wasi/dos.pp --- commit 25a9843ea4488a7fcd462ba7a20964c20933e96f Author: nickysn Date: Wed Jun 23 20:57:50 2021 +0000 * also set doserror to 5 for access denied in dos.getfattr git-svn-id: trunk@49538 - M rtl/wasi/dos.pp --- commit c48f27225e0ca6dccbcba86f3000f48f374df7a4 Author: nickysn Date: Wed Jun 23 20:58:10 2021 +0000 + request the FD_FILESTAT_GET capability when opening files git-svn-id: trunk@49539 - M rtl/wasi/sysfile.inc --- commit 827f543289dd3f8ff80c09d36cad489b583c3410 Author: nickysn Date: Wed Jun 23 21:01:30 2021 +0000 * fixed date calculation in WasiDateToDT git-svn-id: trunk@49540 - M rtl/wasi/dos.pp --- commit 720068360ea09dac6fcd35dd47e763baa5805c6b Author: nickysn Date: Wed Jun 23 21:22:15 2021 +0000 + workaround for newer wasmtime versions that don't report the fd type of stdin/stdout/stderr. Always assume handles 0..2 are a device, so that standard input and output are flushed. git-svn-id: trunk@49541 - M rtl/wasi/sysos.inc --- commit a5309a5d0cdeb9791a4ac59f666aca5628ed6f0a Author: nickysn Date: Wed Jun 23 21:31:55 2021 +0000 + request fd_seek and fd_tell rights when opening a file git-svn-id: trunk@49542 - M rtl/wasi/sysfile.inc --- commit 3fd6704582a29832f9aa518bd7a178cff083aef7 Author: nickysn Date: Wed Jun 23 21:36:22 2021 +0000 + request the rights to set size (truncate) and set times, when a file is opened for writing git-svn-id: trunk@49543 - M rtl/wasi/sysfile.inc --- commit 9efcd4e5548637e8c970dd693bd52b4c859ceeee Author: nickysn Date: Wed Jun 23 21:39:10 2021 +0000 + request fd_allocate rights when opening a file for writing git-svn-id: trunk@49544 - M rtl/wasi/sysfile.inc --- commit 67c152092835268be95e6e35f1f31b50d6546bbd Author: nickysn Date: Wed Jun 23 21:41:12 2021 +0000 * changed the formatting of the setting of fs_rights_base in Do_Open. No functional changes. git-svn-id: trunk@49545 - M rtl/wasi/sysfile.inc --- commit 90eb1351dcf77267e4a02a699b6f21ad2995ab2b Author: nickysn Date: Wed Jun 23 21:42:49 2021 +0000 + request FD_DATASYNC and FD_SYNC rights when a file is opened for writing git-svn-id: trunk@49546 - M rtl/wasi/sysfile.inc --- commit 5ff2af5176ecef0e9f0deda6a007089f82d5840f Author: nickysn Date: Wed Jun 23 21:44:19 2021 +0000 + always request FD_FDSTAT_SET_FLAGS rights git-svn-id: trunk@49547 - M rtl/wasi/sysfile.inc --- commit ca3f1d7b6d507c5f4f3e4d681b85cb9ad51b659d Author: nickysn Date: Wed Jun 23 21:45:52 2021 +0000 + always request FD_ADVISE rights, when opening a file git-svn-id: trunk@49548 - M rtl/wasi/sysfile.inc --- commit 4240279a848b8cc4dffb4dba278d3c1c1be60bb7 Author: nickysn Date: Wed Jun 23 21:48:10 2021 +0000 + always request pollfd_readwrite rights, when opening a file git-svn-id: trunk@49549 - M rtl/wasi/sysfile.inc --- commit c275c3c7f2df5eaaaf1080d5685280062db1d246 Author: nickysn Date: Wed Jun 23 22:11:11 2021 +0000 + implemented Randomize git-svn-id: trunk@49550 - M rtl/wasi/system.pp --- commit afb9c2ae94e020a1061aaeaaf8d44bff2b95e797 Author: nickysn Date: Wed Jun 23 23:15:15 2021 +0000 + implemented environment variables support in the DOS unit for the WASI target git-svn-id: trunk@49551 - M rtl/wasi/dos.pp M rtl/wasi/system.pp --- commit 433050a2c41069ba5dd519058e47166aba1adfc5 Author: nickysn Date: Thu Jun 24 00:16:00 2021 +0000 * set EXEEXT to .wasm for the WASI target in fpcmake git-svn-id: trunk@49552 - M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-mustache/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/qlunits/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/tplylib/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile 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/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/wasi/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcm/fpcmake.inc M utils/fpcm/fpcmake.ini M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile M utils/wasmbin/Makefile --- commit 5eac35664fa0a3df98a3fa7b6bbe8c129e5fe7c0 Author: nickysn Date: Thu Jun 24 01:35:24 2021 +0000 + started working on DOS.FindFirst git-svn-id: trunk@49555 - M rtl/wasi/dos.pp --- commit 0219b4018cc400bb18f8ea3a924a5a0775186408 Author: nickysn Date: Thu Jul 1 01:34:07 2021 +0000 + initial working implementation of FindFirst/FindNext git-svn-id: trunk@49573 - M rtl/wasi/dos.pp --- commit f0543ad8d523e40068359ddc096ad120c55cb5db Author: nickysn Date: Thu Jul 1 01:48:25 2021 +0000 * use -1 instead of 0 for indicating empty DirFD git-svn-id: trunk@49574 - M rtl/wasi/dos.pp --- commit be90ad1672cec33b15f8faa09715190f6279e75f Author: Nikolay Nikolov Date: Sun Oct 3 03:29:54 2021 +0300 + enabled compilation of unit heaptrc for the WASI target M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit a01a6021409f83d80ec80d95e73a66912d7d1211 Author: Nikolay Nikolov Date: Tue Oct 5 03:48:47 2021 +0300 - removed commented out code from the WASI startup code M rtl/wasi/si_prc.pp --- commit c0cec218d64e082c373a6f973d4cf2f5798f84fa Author: Nikolay Nikolov Date: Tue Oct 5 04:06:56 2021 +0300 + added unhandled exception handling code for the branchful exceptions mode M rtl/wasi/si_prc.pp M rtl/wasm32/except_branchful.inc --- commit e19fcd2b8b826c69b9ca97ab19eb9d9b49a4cf16 Author: Nikolay Nikolov Date: Tue Oct 5 20:49:32 2021 +0300 + implemented GetMsCount in the DOS unit for WASI M rtl/wasi/dos.pp --- commit b93998c17c7b2eb81e13fbb93bc987f0258a645c Author: Pierre Muller Date: Fri Oct 8 08:41:14 2021 +0000 Disable utils for wasi target, because paszlib cannot be compiled due to use of goto labels M utils/fpmake.pp --- commit fe903f2ae413631591528c2ea9b33fcc05eac4e3 Author: Nikolay Nikolov Date: Tue Oct 12 01:42:20 2021 +0300 * fixed range check error in HasDriveLetter when path is 1 character long M rtl/wasi/system.pp --- commit e091d263c84890f64ca8353fa837c4fd7eb94c37 Author: Michaël Van Canneyt Date: Thu Dec 30 16:33:14 2021 +0100 * Wasmtime support M packages/fpmake_add.inc M packages/fpmake_proc.inc A packages/wasmtime/Makefile A packages/wasmtime/Makefile.fpc A packages/wasmtime/examples/gcd.lpi A packages/wasmtime/examples/gcd.pp A packages/wasmtime/examples/gcd.wat A packages/wasmtime/examples/hello.wat A packages/wasmtime/examples/helloworld.lpi A packages/wasmtime/examples/helloworld.pp A packages/wasmtime/examples/helloworld.wasm A packages/wasmtime/examples/memory.lpi A packages/wasmtime/examples/memory.pp A packages/wasmtime/examples/memory.wat A packages/wasmtime/examples/wasi.lpi A packages/wasmtime/examples/wasi.pp A packages/wasmtime/fpmake.pp A packages/wasmtime/src/wasmtime.pp --- commit 68cd1c39732449efc0e83adfc3d66dce80f1f9eb Author: Nikolay Nikolov Date: Wed Jan 26 16:39:29 2022 +0200 + define USE_NOTHREADMANAGER in the WASI system unit M rtl/wasi/system.pp --- commit 163d2ab344b7ef739f501d79b7a0de9b2bda0666 Author: inoussa Date: Thu Mar 24 18:03:26 2022 +0000 Unicode' unicodenumtable.pas removed : update Makefile.fpc. M rtl/aix/Makefile M rtl/aix/Makefile.fpc M rtl/amiga/Makefile M rtl/amiga/Makefile.fpc M rtl/android/Makefile M rtl/android/Makefile.fpc M rtl/aros/Makefile M rtl/aros/Makefile.fpc M rtl/atari/Makefile M rtl/atari/Makefile.fpc M rtl/beos/Makefile M rtl/beos/Makefile.fpc M rtl/darwin/Makefile M rtl/darwin/Makefile.fpc M rtl/dragonfly/Makefile M rtl/dragonfly/Makefile.fpc M rtl/emx/Makefile M rtl/emx/Makefile.fpc M rtl/freebsd/Makefile M rtl/freebsd/Makefile.fpc M rtl/gba/Makefile M rtl/gba/Makefile.fpc M rtl/go32v2/Makefile M rtl/go32v2/Makefile.fpc M rtl/haiku/Makefile M rtl/haiku/Makefile.fpc M rtl/linux/Makefile M rtl/linux/Makefile.fpc M rtl/morphos/Makefile M rtl/morphos/Makefile.fpc M rtl/msdos/Makefile M rtl/msdos/Makefile.fpc M rtl/msxdos/Makefile M rtl/msxdos/Makefile.fpc M rtl/nds/Makefile M rtl/nds/Makefile.fpc M rtl/netbsd/Makefile M rtl/netbsd/Makefile.fpc M rtl/netware/Makefile M rtl/netware/Makefile.fpc M rtl/openbsd/Makefile M rtl/openbsd/Makefile.fpc M rtl/os2/Makefile M rtl/os2/Makefile.fpc M rtl/sinclairql/Makefile M rtl/sinclairql/Makefile.fpc M rtl/solaris/Makefile M rtl/solaris/Makefile.fpc M rtl/symbian/Makefile M rtl/symbian/Makefile.fpc M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc M rtl/watcom/Makefile M rtl/watcom/Makefile.fpc M rtl/wii/Makefile M rtl/wii/Makefile.fpc M rtl/win16/Makefile M rtl/win16/Makefile.fpc M rtl/win64/Makefile M rtl/win64/Makefile.fpc M rtl/wince/Makefile M rtl/wince/Makefile.fpc --- commit 497dd20a088a67a950c7c61f0a365f170c547f18 Author: Pierre Muller Date: Sun Mar 27 08:23:22 2022 +0000 Regenerate Makefile's with trunk fpcmake M packages/fcl-css/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/linux/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/wasi/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile --- commit 1b22a68fc6be4fb51c57a5f01b5193abacab4cf1 Author: Michaël Van Canneyt Date: Wed May 18 14:48:11 2022 +0200 * Export wasiAlloc and wasiFree M rtl/wasi/system.pp --- commit a8b789d183513c381c0dc60c0cd50700e8909dfe Author: Nikolay Nikolov Date: Tue May 24 10:15:44 2022 +0300 * patch from Pierre for working around the exitcode <= 125 limitation in wasmtime M rtl/wasi/system.pp M tests/utils/dotest.pp --- commit 585d0cf5746ab85b5dc5a202606f8426d4a282ab Author: Nikolay Nikolov Date: Tue May 24 14:50:42 2022 +0300 + added unit WebAssembly for WebAssembly-specific stuff. Currently contains the AtomicFence intrinsic, which emits the atomic.fence instruction. M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc A rtl/wasm32/webassembly.pp --- commit f4964691b0ae2590ddd9a530f78ad9a378898098 Author: Pierre Muller Date: Wed May 25 17:32:39 2022 +0200 Add implicit units to wasi rtl M rtl/wasi/Makefile.fpc --- commit f12752372f5e2544e5c4a9d60794c037b55df546 Author: Pierre Muller Date: Wed May 25 17:33:44 2022 +0200 Regenerate Makefile after: Add implicit units to wasi rtl M rtl/wasi/Makefile --- commit 7cac9d2f02bfc1d207b28974340503afbe68d00c Author: Nikolay Nikolov Date: Wed May 25 19:30:59 2022 +0300 + added AtomicStore() to the WebAssembly unit M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc M rtl/wasm32/webassembly.pp --- commit 4765d885dfacf93db8202c3b6217a806c09d0dcc Author: Michaël Van Canneyt Date: Fri May 27 19:16:52 2022 +0200 * Export wasiAlloc, wasiFree M rtl/wasi/system.pp --- commit e5ac0b26891f1d5934e8023204f6574195a709cb Author: marcoonthegit Date: Wed Jun 1 13:54:06 2022 +0200 * anonymous method overloads for synchronize/queue. M rtl/amicommon/classes.pp M rtl/atari/classes.pp M rtl/beos/classes.pp M rtl/embedded/classes.pp M rtl/freertos/classes.pp M rtl/gba/classes.pp M rtl/go32v2/classes.pp M rtl/haiku/classes.pp M rtl/macos/classes.pp M rtl/msdos/classes.pp M rtl/nativent/classes.pp M rtl/nds/classes.pp M rtl/netware/classes.pp M rtl/netwlibc/classes.pp M rtl/objpas/classes/classes.inc M rtl/objpas/classes/classesh.inc M rtl/os2/classes.pp M rtl/sinclairql/classes.pp M rtl/symbian/classes.pp M rtl/unix/classes.pp M rtl/wasi/classes.pp M rtl/wii/classes.pp M rtl/win16/classes.pp M rtl/win32/classes.pp M rtl/win64/classes.pp M rtl/wince/classes.pp --- commit 9e70f49745836204da6e132ae0822e832a521261 Author: marcoonthegit Date: Wed Jun 1 16:56:02 2022 +0200 * fix missing ifdef for the non win32/64/unix targets. * also do watcom. M rtl/amicommon/classes.pp M rtl/atari/classes.pp M rtl/beos/classes.pp M rtl/embedded/classes.pp M rtl/freertos/classes.pp M rtl/gba/classes.pp M rtl/go32v2/classes.pp M rtl/haiku/classes.pp M rtl/macos/classes.pp M rtl/msdos/classes.pp M rtl/nativent/classes.pp M rtl/netware/classes.pp M rtl/netwlibc/classes.pp M rtl/os2/classes.pp M rtl/sinclairql/classes.pp M rtl/symbian/classes.pp M rtl/wasi/classes.pp M rtl/watcom/classes.pp M rtl/wii/classes.pp M rtl/win16/classes.pp M rtl/wince/classes.pp --- commit 65d8c3d7ebef6ea5a893314b4a3267d3f1d6bcd6 Author: Nikolay Nikolov Date: Sat Jun 25 00:15:31 2022 +0300 * refactored duplicated code for epoch to datetime and vice versa conversion between the dos and sysutils units for the WASI platform M rtl/wasi/dos.pp M rtl/wasi/sysutils.pp M rtl/wasi/wasiutil.pp --- commit e3139fea211474f8b31ac880c259ae68b8278c6f Author: Nikolay Nikolov Date: Thu Jul 14 05:14:20 2022 +0300 + setup a thread manager (functions are still not yet implemented), when the WASI RTL is compiled with multithreading support M rtl/wasi/system.pp A rtl/wasi/systhrd.inc M rtl/wasm32/wasm32.inc --- commit d05bcd846ea9f296e9acb855de4810e2c24448a0 Author: Michaël Van Canneyt Date: Mon Mar 6 14:58:04 2023 +0100 * Dotted filenames for package winunits-jedi A packages/winunits-jedi/namespaced/WinApi.Jedi.Accctrl.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Aclapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Aclui.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Activeds.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Activex.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Adsdb.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Adserr.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Adshlp.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Adsnms.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Adsprop.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Adssts.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Adstlb.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Adtgen.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Af_irda.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Atalkwsh.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Authif.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Authz.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Batclass.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Bits.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Bits1_5.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Bitscfg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Bitsmsg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Blberr.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Bluetoothapis.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Bthdef.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Bthsdpdef.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Bugcodes.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Buildjwa.pp A packages/winunits-jedi/namespaced/WinApi.Jedi.Carderr.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Cderr.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Cmnquery.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Colordlg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Cpl.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Cplext.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Cryptuiapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Dbt.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Dde.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Dhcpcsdk.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Dhcpsapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Dhcpssdk.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Dlgs.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Dsadmin.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Dsclient.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Dsgetdc.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Dskquota.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Dsquery.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Dsrole.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Dssec.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Errorrep.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Excpt.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Faxdev.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Faxext.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Faxmmc.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Faxroute.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Gpedit.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Hherror.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Htmlguid.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Htmlhelp.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Iaccess.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Iadmext.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Icmpapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Iiscnfg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Imagehlp.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Imapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Imapierror.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ime.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ioevent.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ipexport.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Iphlpapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ipifcons.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ipinfoid.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Iprtrmib.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Iptypes.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Isguids.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Issper16.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmaccess.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmalert.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmapibuf.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmat.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmaudit.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmconfig.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmcons.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmdfs.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmerr.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmerrlog.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmjoin.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmmsg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmremutl.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmrepl.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmserver.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmshare.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmsname.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmstats.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmsvc.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmuse.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmuseflg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lmwksta.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Loadperf.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Lpmapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Mciavi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.ModuleLoader.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Mprerror.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Msi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Msidefs.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Msiquery.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Mstask.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Mstcpip.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Mswsock.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Native.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Nb30.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Netsh.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Nspapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ntddpar.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ntdsapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ntdsbcli.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ntdsbmsg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ntldap.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ntquery.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ntsecapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ntstatus.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Objsel.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Patchapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Patchwiz.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Pbt.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Pdh.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Pdhmsg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Powrprof.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Profinfo.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Protocol.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Prsht.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Psapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Qos.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Qosname.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Qospol.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Qossp.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Reason.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Regstr.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Rpc.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Rpcasync.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Rpcdce.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Rpcnsi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Rpcnterr.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Rpcssl.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Scesvc.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Schedule.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Schemadef.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Sddl.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Secext.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Security.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Sens.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Sensapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Sensevts.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Sfc.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Shlguid.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Sisbkup.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Snmp.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Sporder.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Srrestoreptapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Sspi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Subauth.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Svcguid.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Tlhelp32.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Tmschema.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Traffic.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Userenv.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Uxtheme.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Vista.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wbemcli.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winable.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winbase.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winber.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wincon.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wincpl.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wincred.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wincrypt.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Windllnames.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Windns.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Windows.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winefs.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winerror.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winfax.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wingdi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winioctl.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winldap.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winnetwk.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winnls.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winnt.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winperf.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winreg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winresrc.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winsafer.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winsock.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winsock2.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winsta.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winsvc.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winternl.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wintype.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winuser.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winver.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Winwlx.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wmistr.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wownt16.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wownt32.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wpapi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wpapimsg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wpcrsmsg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wpftpmsg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wppstmsg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wpspihlp.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wptypes.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wpwizmsg.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ws2atm.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ws2bth.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ws2dnet.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ws2spi.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Ws2tcpip.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wshisotp.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wsipx.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wsnetbs.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wsnwlink.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wsrm.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wsvns.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Wtsapi32.pas A packages/winunits-jedi/namespaced/WinApi.Jedi.Zmouse.pas A packages/winunits-jedi/namespaces.lst M packages/winunits-jedi/src/ModuleLoader.pas M packages/winunits-jedi/src/buildjwa.pp M packages/winunits-jedi/src/jwaaccctrl.pas M packages/winunits-jedi/src/jwaaclapi.pas M packages/winunits-jedi/src/jwaaclui.pas M packages/winunits-jedi/src/jwaactiveds.pas M packages/winunits-jedi/src/jwaactivex.pas M packages/winunits-jedi/src/jwaadsdb.pas M packages/winunits-jedi/src/jwaadserr.pas M packages/winunits-jedi/src/jwaadshlp.pas M packages/winunits-jedi/src/jwaadsnms.pas M packages/winunits-jedi/src/jwaadsprop.pas M packages/winunits-jedi/src/jwaadssts.pas M packages/winunits-jedi/src/jwaadstlb.pas M packages/winunits-jedi/src/jwaadtgen.pas M packages/winunits-jedi/src/jwaaf_irda.pas M packages/winunits-jedi/src/jwaatalkwsh.pas M packages/winunits-jedi/src/jwaauthif.pas M packages/winunits-jedi/src/jwaauthz.pas M packages/winunits-jedi/src/jwabatclass.pas M packages/winunits-jedi/src/jwabits.pas M packages/winunits-jedi/src/jwabits1_5.pas M packages/winunits-jedi/src/jwabitscfg.pas M packages/winunits-jedi/src/jwabitsmsg.pas M packages/winunits-jedi/src/jwablberr.pas M packages/winunits-jedi/src/jwabluetoothapis.pas M packages/winunits-jedi/src/jwabthdef.pas M packages/winunits-jedi/src/jwabthsdpdef.pas M packages/winunits-jedi/src/jwabugcodes.pas M packages/winunits-jedi/src/jwacarderr.pas M packages/winunits-jedi/src/jwacderr.pas M packages/winunits-jedi/src/jwacmnquery.pas M packages/winunits-jedi/src/jwacolordlg.pas M packages/winunits-jedi/src/jwacpl.pas M packages/winunits-jedi/src/jwacplext.pas M packages/winunits-jedi/src/jwacryptuiapi.pas M packages/winunits-jedi/src/jwadbt.pas M packages/winunits-jedi/src/jwadde.pas M packages/winunits-jedi/src/jwadhcpcsdk.pas M packages/winunits-jedi/src/jwadhcpsapi.pas M packages/winunits-jedi/src/jwadhcpssdk.pas M packages/winunits-jedi/src/jwadlgs.pas M packages/winunits-jedi/src/jwadsadmin.pas M packages/winunits-jedi/src/jwadsclient.pas M packages/winunits-jedi/src/jwadsgetdc.pas M packages/winunits-jedi/src/jwadskquota.pas M packages/winunits-jedi/src/jwadsquery.pas M packages/winunits-jedi/src/jwadsrole.pas M packages/winunits-jedi/src/jwadssec.pas M packages/winunits-jedi/src/jwaerrorrep.pas M packages/winunits-jedi/src/jwaexcpt.pas M packages/winunits-jedi/src/jwafaxdev.pas M packages/winunits-jedi/src/jwafaxext.pas M packages/winunits-jedi/src/jwafaxmmc.pas M packages/winunits-jedi/src/jwafaxroute.pas M packages/winunits-jedi/src/jwagpedit.pas M packages/winunits-jedi/src/jwahherror.pas M packages/winunits-jedi/src/jwahtmlguid.pas M packages/winunits-jedi/src/jwahtmlhelp.pas M packages/winunits-jedi/src/jwaiaccess.pas M packages/winunits-jedi/src/jwaiadmext.pas M packages/winunits-jedi/src/jwaicmpapi.pas M packages/winunits-jedi/src/jwaiiscnfg.pas M packages/winunits-jedi/src/jwaimagehlp.pas M packages/winunits-jedi/src/jwaimapi.pas M packages/winunits-jedi/src/jwaimapierror.pas M packages/winunits-jedi/src/jwaime.pas M packages/winunits-jedi/src/jwaioevent.pas M packages/winunits-jedi/src/jwaipexport.pas M packages/winunits-jedi/src/jwaiphlpapi.pas M packages/winunits-jedi/src/jwaipifcons.pas M packages/winunits-jedi/src/jwaipinfoid.pas M packages/winunits-jedi/src/jwaiprtrmib.pas M packages/winunits-jedi/src/jwaiptypes.pas M packages/winunits-jedi/src/jwaisguids.pas M packages/winunits-jedi/src/jwaissper16.pas M packages/winunits-jedi/src/jwalmaccess.pas M packages/winunits-jedi/src/jwalmalert.pas M packages/winunits-jedi/src/jwalmapibuf.pas M packages/winunits-jedi/src/jwalmat.pas M packages/winunits-jedi/src/jwalmaudit.pas M packages/winunits-jedi/src/jwalmconfig.pas M packages/winunits-jedi/src/jwalmcons.pas M packages/winunits-jedi/src/jwalmdfs.pas M packages/winunits-jedi/src/jwalmerr.pas M packages/winunits-jedi/src/jwalmerrlog.pas M packages/winunits-jedi/src/jwalmjoin.pas M packages/winunits-jedi/src/jwalmmsg.pas M packages/winunits-jedi/src/jwalmremutl.pas M packages/winunits-jedi/src/jwalmrepl.pas M packages/winunits-jedi/src/jwalmserver.pas M packages/winunits-jedi/src/jwalmshare.pas M packages/winunits-jedi/src/jwalmsname.pas M packages/winunits-jedi/src/jwalmstats.pas M packages/winunits-jedi/src/jwalmsvc.pas M packages/winunits-jedi/src/jwalmuse.pas M packages/winunits-jedi/src/jwalmuseflg.pas M packages/winunits-jedi/src/jwalmwksta.pas M packages/winunits-jedi/src/jwaloadperf.pas M packages/winunits-jedi/src/jwalpmapi.pas M packages/winunits-jedi/src/jwamciavi.pas M packages/winunits-jedi/src/jwamprerror.pas M packages/winunits-jedi/src/jwamsi.pas M packages/winunits-jedi/src/jwamsidefs.pas M packages/winunits-jedi/src/jwamsiquery.pas M packages/winunits-jedi/src/jwamstask.pas M packages/winunits-jedi/src/jwamstcpip.pas M packages/winunits-jedi/src/jwamswsock.pas M packages/winunits-jedi/src/jwanative.pas M packages/winunits-jedi/src/jwanb30.pas M packages/winunits-jedi/src/jwanetsh.pas M packages/winunits-jedi/src/jwanspapi.pas M packages/winunits-jedi/src/jwantddpar.pas M packages/winunits-jedi/src/jwantdsapi.pas M packages/winunits-jedi/src/jwantdsbcli.pas M packages/winunits-jedi/src/jwantdsbmsg.pas M packages/winunits-jedi/src/jwantldap.pas M packages/winunits-jedi/src/jwantquery.pas M packages/winunits-jedi/src/jwantsecapi.pas M packages/winunits-jedi/src/jwantstatus.pas M packages/winunits-jedi/src/jwaobjsel.pas M packages/winunits-jedi/src/jwapatchapi.pas M packages/winunits-jedi/src/jwapatchwiz.pas M packages/winunits-jedi/src/jwapbt.pas M packages/winunits-jedi/src/jwapdh.pas M packages/winunits-jedi/src/jwapdhmsg.pas M packages/winunits-jedi/src/jwapowrprof.pas M packages/winunits-jedi/src/jwaprofinfo.pas M packages/winunits-jedi/src/jwaprotocol.pas M packages/winunits-jedi/src/jwaprsht.pas M packages/winunits-jedi/src/jwapsapi.pas M packages/winunits-jedi/src/jwaqos.pas M packages/winunits-jedi/src/jwaqosname.pas M packages/winunits-jedi/src/jwaqospol.pas M packages/winunits-jedi/src/jwaqossp.pas M packages/winunits-jedi/src/jwareason.pas M packages/winunits-jedi/src/jwaregstr.pas M packages/winunits-jedi/src/jwarpc.pas M packages/winunits-jedi/src/jwarpcasync.pas M packages/winunits-jedi/src/jwarpcdce.pas M packages/winunits-jedi/src/jwarpcnsi.pas M packages/winunits-jedi/src/jwarpcnterr.pas M packages/winunits-jedi/src/jwarpcssl.pas M packages/winunits-jedi/src/jwascesvc.pas M packages/winunits-jedi/src/jwaschedule.pas M packages/winunits-jedi/src/jwaschemadef.pas M packages/winunits-jedi/src/jwasddl.pas M packages/winunits-jedi/src/jwasecext.pas M packages/winunits-jedi/src/jwasecurity.pas M packages/winunits-jedi/src/jwasens.pas M packages/winunits-jedi/src/jwasensapi.pas M packages/winunits-jedi/src/jwasensevts.pas M packages/winunits-jedi/src/jwasfc.pas M packages/winunits-jedi/src/jwashlguid.pas M packages/winunits-jedi/src/jwasisbkup.pas M packages/winunits-jedi/src/jwasnmp.pas M packages/winunits-jedi/src/jwasporder.pas M packages/winunits-jedi/src/jwasrrestoreptapi.pas M packages/winunits-jedi/src/jwasspi.pas M packages/winunits-jedi/src/jwasubauth.pas M packages/winunits-jedi/src/jwasvcguid.pas M packages/winunits-jedi/src/jwatlhelp32.pas M packages/winunits-jedi/src/jwatmschema.pas M packages/winunits-jedi/src/jwatraffic.pas M packages/winunits-jedi/src/jwauserenv.pas M packages/winunits-jedi/src/jwauxtheme.pas M packages/winunits-jedi/src/jwavista.pas M packages/winunits-jedi/src/jwawbemcli.pas M packages/winunits-jedi/src/jwawinable.pas M packages/winunits-jedi/src/jwawinbase.pas M packages/winunits-jedi/src/jwawinber.pas M packages/winunits-jedi/src/jwawincon.pas M packages/winunits-jedi/src/jwawincpl.pas M packages/winunits-jedi/src/jwawincred.pas M packages/winunits-jedi/src/jwawincrypt.pas M packages/winunits-jedi/src/jwawindllnames.pas M packages/winunits-jedi/src/jwawindns.pas M packages/winunits-jedi/src/jwawindows.pas M packages/winunits-jedi/src/jwawinefs.pas M packages/winunits-jedi/src/jwawinerror.pas M packages/winunits-jedi/src/jwawinfax.pas M packages/winunits-jedi/src/jwawingdi.pas M packages/winunits-jedi/src/jwawinioctl.pas M packages/winunits-jedi/src/jwawinldap.pas M packages/winunits-jedi/src/jwawinnetwk.pas M packages/winunits-jedi/src/jwawinnls.pas M packages/winunits-jedi/src/jwawinnt.pas M packages/winunits-jedi/src/jwawinperf.pas M packages/winunits-jedi/src/jwawinreg.pas M packages/winunits-jedi/src/jwawinresrc.pas M packages/winunits-jedi/src/jwawinsafer.pas M packages/winunits-jedi/src/jwawinsock.pas M packages/winunits-jedi/src/jwawinsock2.pas M packages/winunits-jedi/src/jwawinsta.pas M packages/winunits-jedi/src/jwawinsvc.pas M packages/winunits-jedi/src/jwawinternl.pas M packages/winunits-jedi/src/jwawintype.pas M packages/winunits-jedi/src/jwawinuser.pas M packages/winunits-jedi/src/jwawinver.pas M packages/winunits-jedi/src/jwawinwlx.pas M packages/winunits-jedi/src/jwawmistr.pas M packages/winunits-jedi/src/jwawownt16.pas M packages/winunits-jedi/src/jwawownt32.pas M packages/winunits-jedi/src/jwawpapi.pas M packages/winunits-jedi/src/jwawpapimsg.pas M packages/winunits-jedi/src/jwawpcrsmsg.pas M packages/winunits-jedi/src/jwawpftpmsg.pas M packages/winunits-jedi/src/jwawppstmsg.pas M packages/winunits-jedi/src/jwawpspihlp.pas M packages/winunits-jedi/src/jwawptypes.pas M packages/winunits-jedi/src/jwawpwizmsg.pas M packages/winunits-jedi/src/jwaws2atm.pas M packages/winunits-jedi/src/jwaws2bth.pas M packages/winunits-jedi/src/jwaws2dnet.pas M packages/winunits-jedi/src/jwaws2spi.pas M packages/winunits-jedi/src/jwaws2tcpip.pas M packages/winunits-jedi/src/jwawshisotp.pas M packages/winunits-jedi/src/jwawsipx.pas M packages/winunits-jedi/src/jwawsnetbs.pas M packages/winunits-jedi/src/jwawsnwlink.pas M packages/winunits-jedi/src/jwawsrm.pas M packages/winunits-jedi/src/jwawsvns.pas M packages/winunits-jedi/src/jwawtsapi32.pas M packages/winunits-jedi/src/jwazmouse.pas --- commit fa278564786c5ec7fee45d7bd3b3f4f2d253be6e Author: Nikolay Nikolov Date: Sat Jun 17 14:34:09 2023 +0300 + added promising _start and _initialize exports M rtl/wasi/si_dll.pp M rtl/wasi/si_prc.pp --- commit f2d5deb26d396c86b9ff636540464d065647a91c Author: Michaël Van Canneyt Date: Mon Oct 30 09:16:03 2023 +0100 * Adjust wasmtime interface to latest version M packages/wasmtime/examples/helloworld.pp M packages/wasmtime/examples/wasi.pp M packages/wasmtime/src/wasmtime.pp --- commit 1a714d688a6365ae970c5b63d8ef74d7a9bb9e8d Author: Nikolay Nikolov Date: Tue Jul 30 15:12:24 2024 +0300 * fixed WasiRTLCreateEvent to actually return the result M rtl/wasi/systhrd.inc --- commit 2fb300c5c0ef04ab2832d7f6e32a5cd57811838b Author: Nikolay Nikolov Date: Tue Jul 30 16:38:15 2024 +0300 * fixes to WebAssembly RTLEventWaitFor: * correct conversion from milliseconds to nanoseconds (multiply by 1000000, instead of 1000) * use a negative timeout value, instead of 0, to indicate infinite wait timeout. Using 0 with the 'wait' instruction indicates no wait at all. M rtl/wasi/systhrd.inc --- commit 038ecaef929dda1588b181c3058bad1ed56bb537 Author: Nikolay Nikolov Date: Tue Jul 30 17:14:13 2024 +0300 * fixed WasiRTLEventWaitFor_WaitAllowed: second parameter is expected value to wait on (0), not wait to wait for (1) M rtl/wasi/systhrd.inc --- commit 5de7084d35492e6ec6d4e3c4cf0cfac3d881195d Author: Nikolay Nikolov Date: Tue Jul 30 17:15:42 2024 +0300 * WasiRTLEventWaitFor_WaitNotAllowed: treat timeout of 0 as zero wait time, instead of infinite time, for consistency with WasiRTLEventWaitFor_WaitAllowed (and other platforms, such as Windows) M rtl/wasi/systhrd.inc --- commit c6794dd7d73cd099ad0688483d8f215ba05c4821 Author: Nikolay Nikolov Date: Tue Jul 30 17:32:56 2024 +0300 * fixed WebAssembly InitMutex() and DoneMutex() - pass the parameter by reference M rtl/wasi/wasmmutex.inc --- commit 8413c2b0732714300db387b1faacd8f1d9149fcc Author: Nikolay Nikolov Date: Tue Jul 30 17:34:13 2024 +0300 * optimization in WebAssembly's MutexKind() function - mark the first parameter as const, to avoid making a copy on the stack M rtl/wasi/wasmmutex.inc --- commit b9a6b01c97afca09b44ebdf5bac8f91dfe7ff35e Author: Nikolay Nikolov Date: Tue Jul 30 20:37:49 2024 +0300 * WebAssembly threads: set M.Locked to 0 on UnLockMutex M rtl/wasi/wasmmutex.inc --- commit 1a93cad4f3db9fb747d23d9b16a75642c4ecc0ad Author: Nikolay Nikolov Date: Tue Jul 30 20:47:38 2024 +0300 * fixed conversion between milliseconds and nanoseconds in LockMutexTimeoutNoWait and LockMutexTimeoutWait M rtl/wasi/wasmmutex.inc --- commit 04b9bc77024bdfb7da727fe7648b1a3534c34072 Author: Nikolay Nikolov Date: Wed Jul 31 15:02:33 2024 +0300 * fix typo in comment M rtl/wasi/wasmmutex.inc --- commit 6d45fd09a23252a391f48f1775747e0816e76674 Author: Nikolay Nikolov Date: Fri Aug 2 22:59:31 2024 +0300 * WebAssembly mutex: treat all negative values of aTimeoutMS as infinite, instead of just -1 M rtl/wasi/wasmmutex.inc --- commit a21dfc0245ff29ae5f23bc0a334c05aa43e9c4d3 Author: Nikolay Nikolov Date: Fri Aug 2 23:02:28 2024 +0300 * WebAssembly mutex: changed the aTimeoutMS parameters of LockMutexTimeoutNoWait and LockMutexTimeoutWait to int64, instead of longint, since they're called from LockMutexTimeout, which takes an int64 parameter M rtl/wasi/wasmmutex.inc --- commit a179ca8cf8c9e1a62bdff1e9693e55b9a1453ba3 Author: Nikolay Nikolov Date: Fri Aug 2 23:09:56 2024 +0300 * WebAssembly mutex: changed the timeout parameter to be in nanoseconds (these functions are only used internally, so this doesn't break compatibility) M rtl/wasi/systhrd.inc M rtl/wasi/wasmmutex.inc --- commit 692bd6235922a3c84f329e0fc8117d7e9b656151 Author: Nikolay Nikolov Date: Sat Aug 3 01:29:04 2024 +0300 * WebAssembly threads: bug fixes in LockMutexTimeoutWait M rtl/wasi/wasmmutex.inc --- commit 41ead20bfb32f03c1b36bd4e98bdcb569345dba1 Author: Nikolay Nikolov Date: Sat Aug 3 02:34:00 2024 +0300 * WebAssembly threads: fixed race condition LockMutex in the check where Locked is 1, but Owner still holds the current thread id, even though another thread has just acquired a lock, but still haven't updated the owner thread ID. We avoid this problem by setting Owner to nil before unlocking the mutex. And in InitMutex/DoneMutex, we store the creator thread ID in a different field - Creator, instead of Owner. M rtl/wasi/sysosh.inc M rtl/wasi/wasmmutex.inc --- commit 6a1eb520e961845b4a0e277fa57df4c6f138ea9d Author: Nikolay Nikolov Date: Sat Aug 3 02:51:27 2024 +0300 * WebAssembly threads: use atomic loads and stores for accessing TRTLCriticalSection.Locked M rtl/wasi/wasmmutex.inc --- commit e61240156247fac15c854294ec2a0d7dad1d2868 Author: Nikolay Nikolov Date: Sat Aug 3 02:58:32 2024 +0300 * WebAssembly threads: also access TRTLCriticalSection.Owner using atomic loads and stores M rtl/wasi/wasmmutex.inc --- commit c2fcb1a8336cb9b40a43667c6489ebca7081da14 Author: Nikolay Nikolov Date: Sun Aug 4 00:33:39 2024 +0300 * WebAssembly threads: reformat code in LockMutexTimeoutNoWait for better readability by removing begin..end blocks and replacing it with an 'else if' chain. No functional changes. M rtl/wasi/wasmmutex.inc --- commit 694341aa789e1bc5d3653e5a816cf102179ab554 Author: Nikolay Nikolov Date: Sun Aug 4 00:35:17 2024 +0300 * WebAssembly threads: fixed bug in LockMutexTimeoutNoWait, caused by the use of Result instead of Res. This stupid bug broke WebAssembly critical sections, causing random spurious hangs and it took me quite a lot of time to find it! M rtl/wasi/wasmmutex.inc --- commit bb93b918a5bae47027d01ab5dcf79d01147835f0 Author: Nikolay Nikolov Date: Sun Aug 4 01:55:42 2024 +0300 * WebAssembly threads: don't check for GetThreadState(MyThread)<>tsRunning in LockMutexTimeoutWait and LockMutexTimeoutNoWait M rtl/wasi/wasmmutex.inc --- commit 31bb06ac876543a509dc04d7af53b55db145d84c Author: Nikolay Nikolov Date: Sun Aug 4 02:24:20 2024 +0300 + WebAssembly threads: initial implementation of the WASI threads proposal: https://github.com/WebAssembly/wasi-threads Note that the WASI folk have already declared this proposal 'obsolete' and only intended to be used for engines that support WASI v0.1. On the other hand, the WASI v0.2 threads proposal is an early draft and not implemented anywhere, so we have no choice, but to stay with v0.1 at this time, or give up on multithreading for who knows how long it would take for the v0.2 spec to be completed. Regarding the WASI v0.1 engines that implement WASI threads correctly and can be used with Free Pascal, I've discovered only one that works: https://github.com/bytecodealliance/wasm-micro-runtime/tree/main Wasmtime claims to support multithreading since version 15, however it doesn't seem to work. I tested all versions until the 23.0.1, and none of them works. Caveat: using the internal linker is not yet supported with WebAssembly and multithreading. Please use the external linker (the -Xe option), if you want to give this new feature a try. M rtl/wasi/systhrd.inc --- commit 7681c192dbb6d74b6944061863445a55825506a1 Author: Nikolay Nikolov Date: Sun Aug 4 03:15:31 2024 +0300 * WebAssembly threads: protect SysOSAlloc against race conditions via a critical section M rtl/wasi/sysheap.inc M rtl/wasi/systhrd.inc --- commit aaf536ae109a4797c13d4c6a0655c3103596d5c8 Author: Nikolay Nikolov Date: Sun Aug 4 04:11:06 2024 +0300 * WebAssembly: allow specifying the initial and max memory size via the $M directive M compiler/systems/t_wasi.pas --- commit 801f902efed9527bcf5ee2cc44aa5d2262a9637d Author: Nikolay Nikolov Date: Sun Aug 4 05:50:06 2024 +0300 * WebAssembly threads: fix threadvars with the new WASI-threads implementation M rtl/wasi/systhrd.inc --- commit 6be3a42a2f18a349402d18241c83d68c492c7bd5 Author: Nikolay Nikolov Date: Sun Aug 4 18:04:05 2024 +0300 * WebAssembly: optimized SysOSAlloc to use memory area left at the end of the page (64kb). This reduces memory use, when SysOSAlloc is called with sizes, smaller than 64kb. M rtl/wasi/sysheap.inc --- commit 74a4550ff01a1cee4fff5c5a5a7361729608613c Author: Nikolay Nikolov Date: Sun Aug 4 21:09:18 2024 +0300 * WebAssembly threads: fix TThread.WaitFor (use -1 instead of 0 to signal infinite timeout) M rtl/wasi/tthread.inc --- commit a417b0db9b9c8f19141be552e6e01da1e4057893 Author: Nikolay Nikolov Date: Mon Aug 5 00:27:14 2024 +0300 * WebAssembly threads: simplified (optimized) the implementation of TWasmRTLEvent, so it doesn't use a Mutex. Use atomic operations instead. M rtl/wasi/systhrd.inc --- commit 3c027b0ba03df25a95ff94cb18f15aa1dbac2272 Author: Nikolay Nikolov Date: Mon Aug 5 01:59:06 2024 +0300 * WebAssembly threads: use the stack size, specified for the main thread (via the $M directive, or the '-Cs' compiler option) as the default stack size for other spawned threads M compiler/systems/i_wasi.pas M rtl/wasi/system.pp M rtl/wasi/systhrd.inc --- commit 60bb6c19d9a3fafd600b3f8de50fd2e9fc7c9184 Author: Nikolay Nikolov Date: Tue Aug 6 03:55:52 2024 +0300 + WASI: set StackLength on startup M rtl/wasi/system.pp --- commit 68f41911192f5e8b63fbaf02badfdb5f85952df2 Author: Nikolay Nikolov Date: Tue Aug 6 04:02:03 2024 +0300 + WASI: set StackBottom on startup M rtl/wasi/system.pp --- commit da597114427645ef37f4d1ad10c9c19d5d4ce23e Author: Nikolay Nikolov Date: Tue Aug 6 06:39:26 2024 +0300 * WebAssembly threads: pass the stack size to InitThread when starting a new thread M rtl/wasi/systhrd.inc --- commit 9d771396ff829f3fde3dae0ffb6ed5cef1064ddb Author: Nikolay Nikolov Date: Tue Aug 6 07:01:20 2024 +0300 + WebAssembly threads: init StackBottom (used for stack checking) more precisely when starting a new thread. Precision is not that important for the stack checking itself, because it uses a stack margin of 16kb, so the previous value, set by InitThread is good enough, however it's easy to do it precisely, since we allocate the stack and pass a pointer to it in TWasmThread, so why not? M rtl/wasi/systhrd.inc --- commit 9e0b2869a3ecbb35eb9244db4352fe33a1513166 Author: Nikolay Nikolov Date: Tue Aug 6 07:07:41 2024 +0300 * WebAssembly threads: disable stack checking for the FPCWasmThreadStartPascal procedure M rtl/wasi/systhrd.inc --- commit f23cc9ec6d5a89bc61619e53c9eac8a57ef1dfbe Author: Nikolay Nikolov Date: Wed Aug 7 16:44:44 2024 +0300 * WebAssembly threads: free the stack block and TLS block in case wasi_thread_spawn fails M rtl/wasi/systhrd.inc --- commit 77d592221ac120ece3ab60730de6a00eb826761d Author: Nikolay Nikolov Date: Wed Aug 7 16:46:13 2024 +0300 * WebAssembly threads: use New and Dispose instead of GetMem/FreeMem for allocating/freeing TWasmThread M rtl/wasi/systhrd.inc --- commit e03389c6a85ad2aa2ae11be193f3a95e1483cc31 Author: Nikolay Nikolov Date: Wed Aug 7 17:06:03 2024 +0300 * WebAssembly threads: destroy the event and mutex in WasiBeginThread in case wasi_thread_spawn fails M rtl/wasi/systhrd.inc --- commit fcfce9f2d582c9adb1435161d27a73a86381a6ad Author: Nikolay Nikolov Date: Wed Aug 7 17:58:03 2024 +0300 * WebAssembly threads: implement WasiEndThread using exceptions. There's no other way to end a thread in WebAssembly, except by ending the thread procedure. Therefore, the only way to implement WasiEndThread is to have it raise an exception and handle it at the outermost level. This, of course, requires one of the WebAssembly exception modes to be turned on, in order for this to work. M rtl/wasi/systhrd.inc --- commit a0e1dce1fded5e40a6a060a5e946503c3eb11a18 Author: Nikolay Nikolov Date: Wed Aug 7 18:17:31 2024 +0300 * WebAssembly threads: call fpc_wasm32_init_tls from inline asm code to avoid race condition in branchful exceptions mode M rtl/wasi/systhrd.inc --- commit 5d058258fc3fb182a42e750ad8ab09962bd2f4c5 Author: Nikolay Nikolov Date: Wed Aug 7 18:19:35 2024 +0300 + added some more comments in wasi_thread_start M rtl/wasi/systhrd.inc --- commit af5c2d66c2337316c85d8541149ce3baab650cd3 Author: Nikolay Nikolov Date: Wed Aug 7 18:26:19 2024 +0300 * removed TODO comment from WasiThreadSwitch M rtl/wasi/systhrd.inc --- commit 37c32a9eb76ca90f6d984f52e0293cbd79cf6bfa Author: Michaël Van Canneyt Date: Thu Aug 8 09:58:37 2024 +0200 * Explicitly specify path to include files M rtl/wasi/wasiapi.pp --- commit 02867fe9184d95890305bf5450d9b68171afd55d Author: Nikolay Nikolov Date: Sun Aug 18 11:41:04 2024 +0300 + WebAssembly threads: initialize the ThreadId threadvar for the main thread M rtl/wasi/systhrd.inc --- commit 200fbf64a11ef6df7276c50b9e7b3daa2dad87de Author: Nikolay Nikolov Date: Mon Aug 19 08:36:45 2024 +0300 + WebAssembly threads: set IsMultiThread to true in WasiBeginThread M rtl/wasi/systhrd.inc --- commit edf7b26f52d05ca09fb69043148acfa4785f4414 Author: Nikolay Nikolov Date: Mon Aug 19 12:31:01 2024 +0300 + WebAssembly threads: implemented basic events (both manual and auto reset) M rtl/wasi/systhrd.inc --- commit db1d903a119e29849948ba8cff90c6569ffe373b Author: Nikolay Nikolov Date: Mon Aug 19 13:25:44 2024 +0300 * WebAssembly threads: use high(uint32) as MaxThreadSignal M rtl/wasi/systhrd.inc --- commit 017b41de89da93c848470f2f2140b6df019ac1aa Author: Nikolay Nikolov Date: Wed Aug 21 18:02:56 2024 +0300 * WebAssembly threads: RTLEvents rewritten to implement an auto reset event. Previous implementation did a manual reset event. However, at least on Windows and Linux, an auto reset event is used. M rtl/wasi/systhrd.inc --- commit df26a02d9d6d3b000c185496259896d10835a3bf Author: Nikolay Nikolov Date: Thu Aug 22 19:33:24 2024 +0300 + WebAssembly threads: set FThreadReaped to true in TThread.WaitFor, to avoid hang in TThread.SysDestroy after .WaitFor M rtl/wasi/tthread.inc --- commit c8b9eb3c5c693ab31bcd408f1015dbc14dbffbb0 Author: Nikolay Nikolov Date: Fri Aug 23 11:23:57 2024 +0300 * WebAssembly threads: moved the thread stack and TLS block free code to a new procedure: FreeStackAndTlsBlock. No functional changes. M rtl/wasi/systhrd.inc --- commit 4abbd82135800a4c79414bf252e153b76940b988 Author: Nikolay Nikolov Date: Fri Aug 23 11:29:17 2024 +0300 * WebAssembly threads: made FreeStackAndTlsBlock set the StackBlock and TlsPointers to nil M rtl/wasi/systhrd.inc --- commit 6dfd2de1882096019b27c144ffc2db2636b5d466 Author: Nikolay Nikolov Date: Fri Aug 23 11:34:08 2024 +0300 + WebAssembly threads: call FreeStackAndTlsBlock in WasiWaitForThreadTerminate M rtl/wasi/systhrd.inc --- commit 492e38069c9ca4eb6132fac300532840e4880a02 Author: Nikolay Nikolov Date: Fri Aug 23 12:07:21 2024 +0300 + WebAssembly threads: introduced TWasmThread.ThreadHasFinished boolean M rtl/wasi/systhrd.inc --- commit 7fe6438d4483f66d347dbbe4205123743bd36ea1 Author: Nikolay Nikolov Date: Fri Aug 23 12:09:12 2024 +0300 + WebAssembly threads: initialize TWasmThread.ThreadHasFinished to false in WasiBeginThread M rtl/wasi/systhrd.inc --- commit a0ac317aae017c1bf828084410210324448661c9 Author: Nikolay Nikolov Date: Fri Aug 23 12:12:11 2024 +0300 + WebAssembly threads: spinwait until ThreadHasFinished becomes true in WasiWaitForThreadTerminate, before freeing the thread TLS and stack block, to avoid race condition with a thread that is finishing (i.e. the main threadproc is done), but still executing internal Pascal code inside FPCWasmThreadStartPascal. M rtl/wasi/systhrd.inc --- commit 919f8f383d208f340520a34a8ef2ea958474d1ae Author: Nikolay Nikolov Date: Fri Aug 23 13:33:25 2024 +0300 * fixed compilation error, introduced in a0ac317aae017c1bf828084410210324448661c9 M rtl/wasi/systhrd.inc