From 3afad329668bdc3bcbc02bc30307a3f7f70f0385 Mon Sep 17 00:00:00 2001 From: oro06 Date: Thu, 29 Jun 2006 07:39:54 +0000 Subject: [PATCH] *arm: TPECoffLinker is TInternalLinkerWin +arm : InterlockedCompareExchangePointer git-svn-id: trunk@3993 - --- compiler/systems/t_win.pas | 2 +- rtl/arm/arm.inc | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/compiler/systems/t_win.pas b/compiler/systems/t_win.pas index 7e10674b5c..d79c65de57 100644 --- a/compiler/systems/t_win.pas +++ b/compiler/systems/t_win.pas @@ -1792,7 +1792,7 @@ initialization {$endif x86_64} {$ifdef arm} RegisterExternalLinker(system_arm_wince_info,TExternalLinkerWin); - RegisterInternalLinker(system_arm_wince_info,TPECoffLinker); + RegisterInternalLinker(system_arm_wince_info,TInternalLinkerWin); RegisterImport(system_arm_wince,TImportLibWin); RegisterExport(system_arm_wince,TExportLibWin); RegisterRes(res_gnu_wince_windres_info); diff --git a/rtl/arm/arm.inc b/rtl/arm/arm.inc index 1f7c5199dc..2dd8cbb613 100644 --- a/rtl/arm/arm.inc +++ b/rtl/arm/arm.inc @@ -211,3 +211,10 @@ function InterLockedExchangeAdd (var Target: longint;Source : longint) : longint Result:=Target; inc(Target,Source); end; + +function InterlockedCompareExchange(var Target: longint; NewValue: longint; Comperand: longint): longint; + begin + Result:=Target; //return initial value + if (Target=Comperand) + then Target:=NewValue; + end;