From c9bf25c7ebcd940f8bee122211d2e06aa60301eb Mon Sep 17 00:00:00 2001 From: florian Date: Sun, 30 May 2004 20:03:05 +0000 Subject: [PATCH] * ? --- rtl/sparc/int64p.inc | 7 ++++--- rtl/sparc/sparc.inc | 47 +++++++++++++++++++++++++++++++++----------- 2 files changed, 40 insertions(+), 14 deletions(-) diff --git a/rtl/sparc/int64p.inc b/rtl/sparc/int64p.inc index 3473efad9e..71b54b0680 100644 --- a/rtl/sparc/int64p.inc +++ b/rtl/sparc/int64p.inc @@ -16,8 +16,9 @@ { $Log$ - Revision 1.1 2003-09-14 11:34:13 peter - * moved int64 asm code to int64p.inc - * save ebx,esi + Revision 1.2 2004-05-30 20:03:05 florian + * ? + Revision 1.1 2003/09/14 11:34:13 peter + * moved int64 asm code to int64p.inc } diff --git a/rtl/sparc/sparc.inc b/rtl/sparc/sparc.inc index 8ae97be1fe..21727c251f 100644 --- a/rtl/sparc/sparc.inc +++ b/rtl/sparc/sparc.inc @@ -1,47 +1,72 @@ +{ + $Id$ + + This file is part of the Free Pascal run time library. + Copyright (c) 2002-2004 by the Free Pascal development team. + + Processor dependent implementation for the system unit for + Sparc + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + + +{**************************************************************************** + PowerPC specific stuff +****************************************************************************} procedure fpc_cpuinit; -begin -end; + begin + end; {$define FPC_SYSTEM_HAS_GET_FRAME} function get_frame:pointer;assembler;nostackframe; -asm + asm mov %sp,%o0 -end; + end; {$define FPC_SYSTEM_HAS_GET_CALLER_ADDR} function get_caller_addr(framebp:pointer):pointer;assembler;nostackframe; -asm + asm { framebp = %o0 } { flush register windows, so they are stored in the stack } ta 3 ld [%o0+60],%o0 { add 8 to skip jmpl and delay slot } add %o0,8,%o0 -end; + end; {$define FPC_SYSTEM_HAS_GET_CALLER_FRAME} function get_caller_frame(framebp:pointer):pointer;assembler;nostackframe; -asm + asm { flush register windows, so they are stored in the stack } ta 3 { framebp = %o0 } ld [%o0+56],%o0 -end; + end; {$define FPC_SYSTEM_HAS_SPTR} function Sptr:Pointer;assembler;nostackframe; -asm + asm mov %sp,%o0 -end; + end; { $Log$ - Revision 1.6 2004-05-27 23:34:37 peter + Revision 1.7 2004-05-30 20:03:05 florian + * ? + + Revision 1.6 2004/05/27 23:34:37 peter * backtrace support Revision 1.5 2004/01/02 17:22:14 jonas