Nikolay Nikolov
0977f0ac0d
* WASI system.pp: check that WebAssembly threads are always turned off for the wasip1 target, and always turned on for the wasip1threads target
2025-02-28 15:12:21 +02:00
Nikolay Nikolov
7703ff9b34
* moved the common WASI RTL source files and includes to a 'wasicommon' dir
2025-02-28 15:12:21 +02:00
Nikolay Nikolov
1d85913234
+ added wasip1threads rtl
2025-02-28 15:12:20 +02:00
Nikolay Nikolov
bf0c724d80
* regen makefiles
2025-02-28 15:12:20 +02:00
Nikolay Nikolov
12c494cc0f
* update makefiles
2025-02-28 15:12:19 +02:00
Michaël Van Canneyt
3b8a4137a5
* IInterfaceListEx
2025-02-27 17:36:43 +01:00
Pierre Muller
610972b26c
Fix compilation of rtl for mipsel-ps1 target
2025-02-26 08:16:15 +00:00
Michaël Van Canneyt
1ae6f4ab97
* Fix compilation : implement correct GetLocalTimeOffset overload
2025-02-25 14:16:25 +01:00
Nikolay Nikolov
6286ff38cc
* WASI: avoid using inner preopened dirs, that escape to the parent with '..',
...
in case there's an outer preopened dir
2025-02-25 12:53:41 +02:00
Nikolay Nikolov
7e89495a09
* WASI: workaround for FindFirst/FindNext opening the current directory, by using its full name
2025-02-25 12:21:45 +02:00
Michaël Van Canneyt
35a21de57c
* Allow TFormatSettings.Create with string (using callback)
2025-02-19 20:36:54 +01:00
Michaël Van Canneyt
545db4a070
* Extend GetLocalTimeOffset to return Dst or not
2025-02-19 17:31:01 +01:00
Rika Ichinose
900b1fc4ec
Check for refcount = 1 first.
2025-02-16 15:17:48 +03:00
florian
27e17e3186
+ RiscV64: make use of rev8 instruction
2025-02-13 22:44:44 +01:00
Rika Ichinose
840df7e243
Disable MemPos on JVM.
2025-02-10 19:22:41 +00:00
Rika Ichinose
c3f80014b4
Remove FDestroyCount.
2025-02-10 18:53:26 +00:00
Rika Ichinose
1e041077cc
Interface unref should zero the pointer first.
2025-02-09 15:25:33 +00:00
Rika Ichinose
98a5072fbe
Remove NewAnsiString & NewUnicodeString.
2025-02-09 14:27:09 +00:00
Rika Ichinose
f7f8c9a615
Publish System.MemPos.
2025-02-09 03:40:40 +03:00
Rika Ichinose
66d7408b3d
Faster Pos(ansistring).
2025-02-08 11:04:22 +00:00
Rika Ichinose
6631f83ccf
Change CompareChar uses inside compiler/RTL to CompareByte.
2025-02-07 20:51:50 +03:00
Michaël Van Canneyt
0b3d059458
* Allow host environmentto get main and self thread IDs. Needed for inter-thread messaging in browser
2025-02-07 16:42:44 +01:00
Rika Ichinose
6ccad3dc4e
Shortcut declocked on refcount = 1.
2025-01-31 22:03:25 +00:00
florian
212b0fb7a8
* cleanup
2025-01-30 22:49:29 +01:00
florian
cd76562339
+ atomic operations for RV32
2025-01-26 14:17:39 +01:00
florian
f8c09568d8
* RiscV: unify stack related functions
2025-01-25 23:20:11 +01:00
florian
c6a68abfb6
* RiscV: unify memory barrier functions
2025-01-25 15:00:40 +01:00
florian
ca53c5e7d4
* unify SysInitFPU and SysResetFPU on RiscV
2025-01-25 14:43:10 +01:00
Nikolay Nikolov
5e813e62f2
+ added function fpc_wasm_invoke_helper to the WebAssembly RTL
2025-01-25 08:21:56 +02:00
florian
28a9a44894
* call SysResetFPU and SysInitFPU in InitThread for the time being
2025-01-24 22:56:46 +01:00
Michaël Van Canneyt
28fc3da2bd
* Patch from Eric Grange to fix TRectF.FitInto
2025-01-24 11:53:09 +01:00
Pierre Muller
d2f5bbac50
Riscv64 linux also needs _STAT_VER_LINUX to be zero for correct libc rtl behavior
2025-01-23 22:38:07 +00:00
florian
9cac8e6183
+ add an SysInitFPU implementation
2025-01-23 23:00:30 +01:00
Pierre Muller
d959e47c83
Fix _FPC_xtensa_exit first parameter passing
2025-01-23 15:52:11 +00:00
Michaël Van Canneyt
925091d0d1
* Fix compilation when using threading
2025-01-23 14:48:57 +01:00
florian
02b31542f6
* make rounding mode and exception mask thread variables as well
2025-01-21 22:53:28 +01:00
Pierre Muller
7e5d9680c2
Fix compilation of riscvXX-linux targets with -dFPC_USE_LIBC
2025-01-20 22:48:39 +01:00
florian
b1c2023af1
+ support for RiscV hwprobe syscall
...
+ test
2025-01-19 18:42:04 +01:00
florian
a4ca9f5357
* upated syscalls
...
+ RiscV specific syscalls added
2025-01-18 23:04:07 +01:00
Pierre Muller
b1a47a5d7d
Use '__global_pointer$' special linker symbol to set gp,
...
because its value can be different from __BSS_END__ - 0x800.
Details from binutils-2.40/ld/emulparams/elf32lriscv-defs.sh
// We must cover as much of sdata as possible if it exists. If sdata+bss is
// smaller than 0x1000 then we should start from bss end to cover as much of
// the program as possible. But we can't allow gp to cover any of rodata, as
// the address of variables in rodata may change during relaxation, so we start
// from data in that case.
OTHER_END_SYMBOLS="${CREATE_SHLIB-__BSS_END__ = .;
__global_pointer$ = MIN(__SDATA_BEGIN__ + 0x800,
MAX(__DATA_BEGIN__ + 0x800, __BSS_END__ - 0x800));}"
2025-01-16 17:20:14 +00:00
Sven/Sarah Barth
9fccadc1f0
* leave GetFileContents() early if the file size is 0 to avoid a range error if the RTL is compiled with range checks
2025-01-13 23:30:02 +01:00
Sven/Sarah Barth
5af16b3da3
* apply patch by Michael Ring to fix compilation for ARM THUMB
2025-01-09 07:39:18 +01:00
Sven/Sarah Barth
f29fe358ad
- remove unnecessary defines
2025-01-08 23:06:29 +01:00
Sven/Sarah Barth
40725146cc
+ add intrinsic for 8-bit atomic cmpxchg for wasm32 (this way the fallback for cmxchg is no longer used for wasm32)
2025-01-08 23:06:29 +01:00
Michaël Van Canneyt
8488c87b20
* New fix for fpc_atomic_cmp_xchg_alu, as suggested by Sven
2025-01-08 14:56:16 +01:00
Michaël Van Canneyt
5d100fd2c6
cpuNbitalu is not the correct type for fpc_atomic_cmp_xchg_alu on webassembly
2025-01-08 12:06:52 +01:00
Michaël Van Canneyt
3f0593b554
* Better fix for atomic operations on wasm
2025-01-07 14:42:21 +01:00
Michaël Van Canneyt
ec7e917b1a
Use correct defines for ALUSInt, fixes problems encountered in webassembly
2025-01-06 14:10:27 +01:00
Rika Ichinose
9dfbc38a50
Don’t use explicit Move in Extract<T> and Swap<T>.
2024-12-23 21:06:22 +00:00
Rika Ichinose
f1050aeb73
Simplify dynarr.inc.
2024-12-22 21:41:31 +00:00