[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tyndur-devel] [PATCH] Pascal-RTL: memcpy aus der libc benutzen



* Pascal-RTL: Move benutzt Assemblermagie und tut bei uns nicht
  (koennte daran liegen, dass es die FPU benutzt). Der einfachste
  Workaround ist es, auf memcpy auszuweichen.

Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
 src/modules/pas/lib/rtl/system.pas |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/modules/pas/lib/rtl/system.pas b/src/modules/pas/lib/rtl/system.pas
index 516570f..8fccd81 100644
--- a/src/modules/pas/lib/rtl/system.pas
+++ b/src/modules/pas/lib/rtl/system.pas
@@ -65,6 +65,16 @@ function GetCmdline: PChar; cdecl; external name 'get_cmdline';
 
 { include system independent routines }
 
+
+procedure c_memcpy(dest: Pointer; src: Pointer; count: TSize);
+    cdecl; external name 'memcpy';
+
+{$DEFINE FPC_SYSTEM_HAS_MOVE}
+procedure Move(const source;var dest;count:SizeInt);[public, alias: 'FPC_MOVE'];
+begin
+    c_memcpy(@dest, @source, count);
+end;
+
 {$I system.inc}
 
 
-- 
1.6.0.2