mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 06:19:19 +02:00
* backtrace support
This commit is contained in:
parent
9e8618afe6
commit
7880c919a8
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user