diff options
author | pierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-06-24 21:22:09 +0000 |
---|---|---|
committer | pierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2012-06-24 21:22:09 +0000 |
commit | 89091c491785aa316e2552825b7ad21b0ac21769 (patch) | |
tree | ab82b87d994fb5ffe92e052ea80546ea972546be /rtl/powerpc | |
parent | ebfe52359ead813f0a22f5ca074e81fd56b73d7e (diff) | |
download | fpc-89091c491785aa316e2552825b7ad21b0ac21769.tar.gz |
+ Added additional addr pointer parameter to
get_caller_frame, get_caller_addr and dump_stack
with default NIL value to systemh.inc.
+ Added new get_addr function.
system.inc: Use get_addr and get_frame to call
HandleErrorAddrFrame instead of HandleErrorFrame
in several error functions.
Modify dump_stack to use frame and addr parameters.
Provide a dummy get_addr function returning nil.
i386/i386.inc, x86_64./x86_64.inc: Provide real
implementation of get_addr function.
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@21697 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl/powerpc')
-rw-r--r-- | rtl/powerpc/powerpc.inc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/rtl/powerpc/powerpc.inc b/rtl/powerpc/powerpc.inc index 7a8645e007..278d53df68 100644 --- a/rtl/powerpc/powerpc.inc +++ b/rtl/powerpc/powerpc.inc @@ -1024,7 +1024,7 @@ indicated by the first bit set to 1. This is checked below.} {Both routines below assumes that framebp is a valid framepointer or nil.} {$define FPC_SYSTEM_HAS_GET_CALLER_ADDR} -function get_caller_addr(framebp:pointer):pointer;assembler;{$ifdef SYSTEMINLINE}inline;{$endif} nostackframe; +function get_caller_addr(framebp:pointer;addr:pointer=nil):pointer;assembler;{$ifdef SYSTEMINLINE}inline;{$endif} nostackframe; asm cmplwi r3,0 beq .Lcaller_addr_invalid @@ -1048,7 +1048,7 @@ end; {$define FPC_SYSTEM_HAS_GET_CALLER_FRAME} -function get_caller_frame(framebp:pointer):pointer;assembler;{$ifdef SYSTEMINLINE}inline;{$endif} nostackframe; +function get_caller_frame(framebp:pointer;addr:pointer=nil):pointer;assembler;{$ifdef SYSTEMINLINE}inline;{$endif} nostackframe; asm cmplwi r3,0 beq .Lcaller_frame_invalid |