浏览代码

* 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 -

Jonas Maebe 13 年之前
父节点
当前提交
c29e6bbcb8
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      rtl/arm/arm.inc

+ 5 - 0
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