summaryrefslogtreecommitdiff
path: root/rtl/linux
diff options
context:
space:
mode:
authorflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-02-13 21:26:15 +0000
committerflorian <florian@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-02-13 21:26:15 +0000
commit7ef295282c08f9da319dd0907b0c87e3a2a72de0 (patch)
tree2ef237c65d45e53e9e364d487977f07246154990 /rtl/linux
parent9178c532bc9fe9c4c2bef2723dda0fa2baf06cf1 (diff)
downloadfpc-7ef295282c08f9da319dd0907b0c87e3a2a72de0.tar.gz
* arm-linux: sighnd.inc must check for CPUTHUMB and CPUTHUMB2
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@48670 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl/linux')
-rw-r--r--rtl/linux/arm/sighnd.inc12
1 files 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;