浏览代码

m68k: fix frame pointer register on atari, and a few other non-amiga systems

git-svn-id: trunk@35204 -
Károly Balogh 8 年之前
父节点
当前提交
35ddac66fc
共有 2 个文件被更改,包括 2 次插入7 次删除
  1. 1 2
      compiler/m68k/cpupi.pas
  2. 1 5
      rtl/m68k/m68k.inc

+ 1 - 2
compiler/m68k/cpupi.pas

@@ -46,8 +46,7 @@ unit cpupi;
 
     procedure tcpuprocinfo.init_framepointer;
       begin
-        { ToDo : what about system_m68k_embedded? }
-        if target_info.system in [system_m68k_linux,system_m68k_netbsd,system_m68k_openbsd] then
+        if not (target_info.system in [system_m68k_amiga]) then
           begin
             RS_FRAME_POINTER_REG:=RS_A6;
             NR_FRAME_POINTER_REG:=NR_A6;

+ 1 - 5
rtl/m68k/m68k.inc

@@ -87,11 +87,7 @@ procedure fpc_cpuinit;
 {$define FPC_SYSTEM_HAS_GET_FRAME}
 function get_frame : pointer; assembler;nostackframe;
   asm
-{$if defined(amiga)}
-    move.l a5,d0
-{$else}
-    move.l a6,d0
-{$endif}
+    move.l fp,d0
   end;