summaryrefslogtreecommitdiff
path: root/rtl/powerpc
diff options
context:
space:
mode:
authorpierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2>2012-06-24 21:22:09 +0000
committerpierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2>2012-06-24 21:22:09 +0000
commit89091c491785aa316e2552825b7ad21b0ac21769 (patch)
treeab82b87d994fb5ffe92e052ea80546ea972546be /rtl/powerpc
parentebfe52359ead813f0a22f5ca074e81fd56b73d7e (diff)
downloadfpc-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.inc4
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