mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 04:29:41 +02:00
* activated internal get_frame for ARM.
git-svn-id: trunk@5945 -
This commit is contained in:
parent
dfab1fbb7b
commit
d401c0a198
@ -694,14 +694,14 @@ implementation
|
||||
procedure Tcginlinenode.second_get_frame;
|
||||
|
||||
begin
|
||||
{$ifdef x86}
|
||||
{$if defined(x86) or defined(arm)}
|
||||
if current_procinfo.framepointer=NR_STACK_POINTER_REG then
|
||||
begin
|
||||
location_reset(location,LOC_CONSTANT,OS_ADDR);
|
||||
location.value:=0;
|
||||
end
|
||||
else
|
||||
{$endif x86}
|
||||
{$endif defined(x86) or defined(arm)}
|
||||
begin
|
||||
location_reset(location,LOC_CREGISTER,OS_ADDR);
|
||||
location.register:=current_procinfo.framepointer;
|
||||
|
@ -1924,7 +1924,7 @@ begin
|
||||
def_system_macro('FPC_HAS_VALGRINDBOOL');
|
||||
def_system_macro('FPC_HAS_STR_CURRENCY');
|
||||
def_system_macro('FPC_REAL2REAL_FIXED');
|
||||
{$ifdef x86}
|
||||
{$if defined(x86) or defined(arm)}
|
||||
def_system_macro('INTERNAL_BACKTRACE');
|
||||
{$endif}
|
||||
def_system_macro('STR_CONCAT_PROCS');
|
||||
|
@ -94,9 +94,9 @@ implementation
|
||||
systemunit.insert(tsyssym.create('Length',in_length_x));
|
||||
systemunit.insert(tsyssym.create('New',in_new_x));
|
||||
systemunit.insert(tsyssym.create('Dispose',in_dispose_x));
|
||||
{$ifdef x86}
|
||||
{$if defined(x86) or defined(arm)}
|
||||
systemunit.insert(tsyssym.create('Get_Frame',in_get_frame));
|
||||
{$endif x86}
|
||||
{$endif defined(x86) or defined(arm)}
|
||||
{$ifdef SUPPORT_UNALIGNED}
|
||||
systemunit.insert(tsyssym.create('Unaligned',in_unaligned_x));
|
||||
{$endif SUPPORT_UNALIGNED}
|
||||
|
@ -33,12 +33,13 @@ end;
|
||||
stack frame related stuff
|
||||
****************************************************************************}
|
||||
|
||||
{$IFNDEF INTERNAL_BACKTRACE}
|
||||
{$define FPC_SYSTEM_HAS_GET_FRAME}
|
||||
function get_frame:pointer;assembler;nostackframe;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
asm
|
||||
mov r0,r11
|
||||
end ['R0'];
|
||||
|
||||
{$ENDIF not INTERNAL_BACKTRACE}
|
||||
|
||||
{$define FPC_SYSTEM_HAS_GET_CALLER_ADDR}
|
||||
function get_caller_addr(framebp:pointer):pointer;assembler;{$ifdef SYSTEMINLINE}inline;{$endif}
|
||||
|
Loading…
Reference in New Issue
Block a user