Fix compilation of mips-linux rtl using 3.2.X compiler

This commit is contained in:
Pierre Muller 2025-02-27 10:45:55 +00:00
parent 9ddf46bfdc
commit 22345e4a28

View File

@ -564,7 +564,7 @@ asm
end;
{$IFDEF VER3_2}
function InterLockedExchangeAdd (var Target: longint;Value : longint) : longint;
function InterLockedExchangeAdd (var Target: longint;Source : longint) : longint;
{$ELSE VER3_2}
{$DEFINE FPC_SYSTEM_HAS_ATOMIC_ADD_32}
function fpc_atomic_add_32 (var Target: longint;Value : longint) : longint;
@ -572,7 +572,11 @@ function fpc_atomic_add_32 (var Target: longint;Value : longint) : longint;
{$IFDEF CPUMIPS1}
begin
Result:=Target;
{$IFDEF VER3_2}
Target:= Target + Source;
{$ELSE VER3_2}
Target:= Target + Value;
{$ENDIF VER3_2}
{$ELSE}
assembler; nostackframe;
asm
@ -588,7 +592,7 @@ asm
end;
{$IFDEF VER3_2}
function InterlockedCompareExchange(var Target: longint; NewValue: longint; Comparand: longint): longint;
function InterlockedCompareExchange(var Target: longint; NewValue: longint; Comperand: longint): longint;
{$ELSE VER3_2}
{$DEFINE FPC_SYSTEM_HAS_ATOMIC_CMP_XCHG_32}
function fpc_atomic_cmp_xchg_32 (var Target: longint; NewValue: longint; Comparand: longint) : longint; [public,alias:'FPC_ATOMIC_CMP_XCHG_32'];
@ -596,7 +600,11 @@ function fpc_atomic_cmp_xchg_32 (var Target: longint; NewValue: longint; Compara
{$IFDEF CPUMIPS1}
begin
Result:= Target;
{$IFDEF VER3_2}
if Target = Comperand then
{$ELSE VER3_2}
if Target = Comparand then
{$ENDIF VER3_2}
Target:= NewValue;
{$ELSE}
assembler; nostackframe;