* backtrace support

This commit is contained in:
peter 2004-05-27 23:34:37 +00:00
parent 9e8618afe6
commit 7880c919a8

View File

@ -2,40 +2,49 @@ procedure fpc_cpuinit;
begin begin
end; end;
{$define FPC_SYSTEM_HAS_GET_FRAME} {$define FPC_SYSTEM_HAS_GET_FRAME}
function get_frame:pointer;{assembler;} function get_frame:pointer;assembler;nostackframe;
begin{asm} asm
{$warning FIX ME!} mov %sp,%o0
// !!!!!!! depends on ABI !!!!!!!!
end; end;
{$define FPC_SYSTEM_HAS_GET_CALLER_ADDR} {$define FPC_SYSTEM_HAS_GET_CALLER_ADDR}
function get_caller_addr(framebp:pointer):pointer;{assembler;} function get_caller_addr(framebp:pointer):pointer;assembler;nostackframe;
begin{asm} asm
{$warning FIX ME!} { framebp = %o0 }
// !!!!!!! depends on ABI !!!!!!!! { 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} {$define FPC_SYSTEM_HAS_GET_CALLER_FRAME}
function get_caller_frame(framebp:pointer):pointer;{assembler;} function get_caller_frame(framebp:pointer):pointer;assembler;nostackframe;
begin{asm} asm
{$warning FIX ME!} { flush register windows, so they are stored in the stack }
// !!!!!!! depends on ABI !!!!!!!! ta 3
{ framebp = %o0 }
ld [%o0+56],%o0
end; end;
{$define FPC_SYSTEM_HAS_SPTR} {$define FPC_SYSTEM_HAS_SPTR}
function Sptr:Pointer;{assembler;} function Sptr:Pointer;assembler;nostackframe;
begin{asm} asm
{$warning FIX ME!} mov %sp,%o0
end;
{$define FPC_SYSTEM_HAS_FPC_HELP_FAIL_CLASS}
function fpc_help_fail_class(_vmt:pointer;_self:pointer):pointer;{assembler;}[public,alias:'FPC_HELP_FAIL_CLASS']; {$ifdef hascompilerproc} compilerproc; {$endif}
{ a non zero class must allways be disposed
VMT is allways at pos 0 }
begin{asm}
{$warning FIX ME!}
// !!!!!!!!!!!
end; end;
{ {
$Log$ $Log$
Revision 1.5 2004-01-02 17:22:14 jonas Revision 1.6 2004-05-27 23:34:37 peter
* backtrace support
Revision 1.5 2004/01/02 17:22:14 jonas
+ fpc_cpuinit procedure to allow cpu/fpu initialisation before any unit + fpc_cpuinit procedure to allow cpu/fpu initialisation before any unit
initialises initialises
+ fpu exceptions for invalid operations and division by zero enabled for + fpu exceptions for invalid operations and division by zero enabled for