From c29e6bbcb8a4ae8e511dbea4823672e8cb60787c Mon Sep 17 00:00:00 2001
From: Jonas Maebe <jonas@freepascal.org>
Date: Sun, 19 Aug 2012 09:37:07 +0000
Subject: [PATCH]   * disabled assembler implementations of
 fpc_ansistr_decr_ref/     fpc_ansistr_incr_ref for Darwin/ARM: they don't
 follow the Darwin/ARM     ABI for function calls, the code already contains
 enough ifdefs and     I don't want to spend time on maintaining OS-specific
 assembler     implementations

git-svn-id: trunk@22121 -
---
 rtl/arm/arm.inc | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/rtl/arm/arm.inc b/rtl/arm/arm.inc
index 8150094022..a07a8baee1 100644
--- a/rtl/arm/arm.inc
+++ b/rtl/arm/arm.inc
@@ -505,6 +505,7 @@ end;
 {$endif}
 
 
+{$ifndef darwin}
 {$define FPC_SYSTEM_HAS_ANSISTR_DECR_REF}
 function fpc_freemem_x(p:pointer):ptrint; [external name 'FPC_FREEMEM_X'];
 
@@ -548,6 +549,7 @@ asm
   // Jump without a link, so freemem directly returns to our caller
   b       FPC_FREEMEM_X
 end;
+{$endif not darwin}
 
 var
   fpc_system_lock: longint; export name 'fpc_system_lock';
@@ -613,6 +615,8 @@ asm
 {$endif}
 end;
 
+
+{$ifndef darwin}
 {$define FPC_SYSTEM_HAS_ANSISTR_INCR_REF}
 
 Procedure fpc_ansistr_incr_ref (S : Pointer); [Public,Alias:'FPC_ANSISTR_INCR_REF'];assembler;nostackframe; compilerproc;
@@ -635,6 +639,7 @@ asm
   bge     InterLockedIncrement
   // Freepascal will generate a proper return here, save some cachespace
 end;
+{$endif not darwin}
 
 function InterLockedIncrement (var Target: longint) : longint; assembler; nostackframe;
 asm