Quellcode durchsuchen

* Fix and activate internal backtrace routines

git-svn-id: trunk@3524 -
daniel vor 19 Jahren
Ursprung
Commit
3048a98a6f
2 geänderte Dateien mit 4 neuen und 2 gelöschten Zeilen
  1. 3 1
      compiler/options.pas
  2. 1 1
      compiler/x86/cgx86.pas

+ 3 - 1
compiler/options.pas

@@ -1873,7 +1873,9 @@ begin
   def_system_macro('PARAOUTFILE');
   def_system_macro('RESSTRSECTIONS');
   def_system_macro('FPC_HASFIXED64BITVARIANT');
-{  def_system_macro('INTERNAL_BACKTRACE');}
+{$ifdef x86}
+  def_system_macro('INTERNAL_BACKTRACE');
+{$endif}
 
   if pocall_default = pocall_register then
     def_system_macro('REGCALL');

+ 1 - 1
compiler/x86/cgx86.pas

@@ -737,7 +737,7 @@ unit cgx86;
             instr:=taicpu.op_reg_reg(op,s,reg1,reg2);
             { Notify the register allocator that we have written a move instruction so
               it can try to eliminate it. }
-            if reg1<>NR_ESP then
+            if (reg1<>NR_ESP) and (reg1<>NR_EBP) then
               add_move_instruction(instr);
             list.concat(instr);
           end;