From 5e7a512777b6c1ca9aa544fedcf5c28c7f42b87c Mon Sep 17 00:00:00 2001 From: florian <florian@freepascal.org> Date: Sat, 13 Feb 2021 21:26:15 +0000 Subject: [PATCH] * arm-linux: sighnd.inc must check for CPUTHUMB and CPUTHUMB2 git-svn-id: trunk@48670 - --- rtl/linux/arm/sighnd.inc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rtl/linux/arm/sighnd.inc b/rtl/linux/arm/sighnd.inc index 5a5fd3fd15..08fc516dc6 100644 --- a/rtl/linux/arm/sighnd.inc +++ b/rtl/linux/arm/sighnd.inc @@ -20,7 +20,7 @@ begin result:=@HandleErrorAddrFrame; end; -{$ifndef CPUTHUMB} +{$if not(defined(CPUTHUMB)) and not(defined(CPUTHUMB2))} Procedure SignalToHandleErrorAddrFrame_ARM(Errno : longint;addr : CodePointer; frame : Pointer); nostackframe; assembler; asm {$if FPC_FULLVERSION >= 30200} @@ -38,7 +38,7 @@ asm pop {r0,r1,r2,pc} .text end; -{$endif not CPUTHUMB} +{$endif not(defined(CPUTHUMB)) and not(defined(CPUTHUMB2))} {$if FPC_FULLVERSION >= 30200} Procedure SignalToHandleErrorAddrFrame_Thumb(Errno : longint;addr : CodePointer; frame : Pointer); nostackframe; assembler; @@ -57,9 +57,9 @@ asm mov lr, r0 pop {r0,r1,r2,pc} .text -{$ifndef CPUTHUMB} +{$if not(defined(CPUTHUMB)) and not(defined(CPUTHUMB2))} .code 32 -{$endif CPUTHUMB} +{$endif not(defined(CPUTHUMB)) and not(defined(CPUTHUMB2))} end; {$endif} @@ -102,13 +102,13 @@ begin ucontext^.uc_mcontext.arm_r1:=uContext^.uc_mcontext.arm_pc; ucontext^.uc_mcontext.arm_r2:=uContext^.uc_mcontext.arm_fp; {$if FPC_FULLVERSION >= 30200} -{$ifndef CPUTHUMB} +{$if not(defined(CPUTHUMB)) and not(defined(CPUTHUMB2))} if (ucontext^.uc_mcontext.arm_cpsr and (1 shl 5))=0 then begin ucontext^.uc_mcontext.arm_pc:=ptruint(@SignalToHandleErrorAddrFrame_ARM); end else -{$endif not CPUTHUMB} +{$endif not(defined(CPUTHUMB)) and not(defined(CPUTHUMB2))} begin ucontext^.uc_mcontext.arm_pc:=ptruint(@SignalToHandleErrorAddrFrame_Thumb); end;