* fix compilation for CPUs without thumb

git-svn-id: trunk@48794 -
This commit is contained in:
florian 2021-02-23 20:39:25 +00:00
parent 1b6eab81ef
commit 5afa26ddd1

View File

@ -41,6 +41,7 @@ end;
{$endif not(defined(CPUTHUMB)) and not(defined(CPUTHUMB2))} {$endif not(defined(CPUTHUMB)) and not(defined(CPUTHUMB2))}
{$if FPC_FULLVERSION >= 30200} {$if FPC_FULLVERSION >= 30200}
{$if defined(CPU_HAS_THUMB))}
Procedure SignalToHandleErrorAddrFrame_Thumb(Errno : longint;addr : CodePointer; frame : Pointer); nostackframe; assembler; Procedure SignalToHandleErrorAddrFrame_Thumb(Errno : longint;addr : CodePointer; frame : Pointer); nostackframe; assembler;
asm asm
.thumb_func .thumb_func
@ -61,7 +62,8 @@ asm
.code 32 .code 32
{$endif not(defined(CPUTHUMB)) and not(defined(CPUTHUMB2))} {$endif not(defined(CPUTHUMB)) and not(defined(CPUTHUMB2))}
end; end;
{$endif} {$endif defined(CPU_HAS_THUMB))}
{$endif FPC_FULLVERSION >= 30200}
procedure SignalToRunerror(Sig: longint; { _a2,_a3,_a4 : dword; } SigContext: PSigInfo; uContext : PuContext); public name '_FPC_DEFAULTSIGHANDLER'; cdecl; procedure SignalToRunerror(Sig: longint; { _a2,_a3,_a4 : dword; } SigContext: PSigInfo; uContext : PuContext); public name '_FPC_DEFAULTSIGHANDLER'; cdecl;
var var
@ -110,7 +112,11 @@ begin
else else
{$endif not(defined(CPUTHUMB)) and not(defined(CPUTHUMB2))} {$endif not(defined(CPUTHUMB)) and not(defined(CPUTHUMB2))}
begin begin
{$if defined(CPU_HAS_THUMB))}
ucontext^.uc_mcontext.arm_pc:=ptruint(@SignalToHandleErrorAddrFrame_Thumb); ucontext^.uc_mcontext.arm_pc:=ptruint(@SignalToHandleErrorAddrFrame_Thumb);
{$else defined(CPU_HAS_THUMB))}
halt(217);
{$endif defined(CPU_HAS_THUMB))}
end; end;
{$else} {$else}
ucontext^.uc_mcontext.arm_pc:=ptruint(@SignalToHandleErrorAddrFrame_ARM); ucontext^.uc_mcontext.arm_pc:=ptruint(@SignalToHandleErrorAddrFrame_ARM);