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;