浏览代码

* arm-linux: sighnd.inc must check for CPUTHUMB and CPUTHUMB2

git-svn-id: trunk@48670 -
florian 4 年之前
父节点
当前提交
5e7a512777
共有 1 个文件被更改,包括 6 次插入6 次删除
  1. 6 6
      rtl/linux/arm/sighnd.inc

+ 6 - 6
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;