Browse Source

* fix edsp instructions detection

git-svn-id: trunk@10458 -
florian 17 years ago
parent
commit
c544d97de9
2 changed files with 3 additions and 2 deletions
  1. 1 1
      rtl/arm/arm.inc
  2. 2 1
      rtl/linux/arm/sighnd.inc

+ 1 - 1
rtl/arm/arm.inc

@@ -589,7 +589,7 @@ begin
   cpu_has_edsp:=true;
   in_edsp_test:=true;
   asm
-    pld [r0]
+    ldrd r0,[sp]
   end;
   in_edsp_test:=false;
   if cpu_has_edsp then

+ 2 - 1
rtl/linux/arm/sighnd.inc

@@ -33,6 +33,7 @@ begin
           begin
             res:=0;
             cpu_has_edsp:=false;
+            inc(uContext^.uc_mcontext.arm_pc,4);
           end
         else
           res:=216;
@@ -44,7 +45,7 @@ begin
   reenable_signal(sig);
   { give runtime error at the position where the signal was raised }
   if res<>0 then
-    HandleErrorAddrFrame(res,pointer(uContext^.uc_mcontext.arm_ip),pointer(uContext^.uc_mcontext.arm_fp));
+    HandleErrorAddrFrame(res,pointer(uContext^.uc_mcontext.arm_pc),pointer(uContext^.uc_mcontext.arm_fp));
 end;