Ver Fonte

* use dwarf64 numbers for x86_64 stabs registers

git-svn-id: trunk@16157 -
pierre há 15 anos atrás
pai
commit
73b1fa667c
2 ficheiros alterados com 74 adições e 69 exclusões
  1. 6 1
      compiler/utils/mkx86reg.pp
  2. 68 68
      compiler/x86_64/r8664stab.inc

+ 6 - 1
compiler/utils/mkx86reg.pp

@@ -375,7 +375,12 @@ begin
         begin
         begin
           write(nasmfile,'''',nasmnames[i],'''');
           write(nasmfile,'''',nasmnames[i],'''');
         end;
         end;
-      write(stabfile,stabs[i]);
+      { stabs uses the same register numbering as dwarf
+        for x86_64 CPU }
+      if x86_64 then
+        write(stabfile,dwarf64[i])
+      else
+        write(stabfile,stabs[i]);
       if x86_64 then
       if x86_64 then
         write(dwrffile,dwarf64[i])
         write(dwrffile,dwarf64[i])
       else
       else

+ 68 - 68
compiler/x86_64/r8664stab.inc

@@ -5,21 +5,29 @@
 0,
 0,
 0,
 0,
 0,
 0,
-1,
-1,
-1,
-1,
-1,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
 2,
+1,
+1,
+1,
+1,
+1,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
 3,
+4,
+4,
+4,
+4,
+5,
+5,
+5,
+5,
 6,
 6,
 6,
 6,
 6,
 6,
@@ -28,48 +36,40 @@
 7,
 7,
 7,
 7,
 7,
 7,
-5,
-5,
-5,
-5,
-4,
-4,
-4,
-4,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
+8,
+8,
+8,
+8,
+9,
+9,
+9,
+9,
+10,
+10,
+10,
+10,
+11,
+11,
+11,
+11,
+12,
+12,
+12,
+12,
+13,
+13,
+13,
+13,
+14,
+14,
+14,
+14,
+15,
+15,
+15,
+15,
+16,
+16,
 -1,
 -1,
 -1,
 -1,
 -1,
 -1,
@@ -91,23 +91,27 @@
 -1,
 -1,
 -1,
 -1,
 -1,
 -1,
-12,
-13,
-14,
-15,
-16,
-17,
-18,
-19,
-12,
-29,
-30,
-31,
-32,
 33,
 33,
 34,
 34,
 35,
 35,
 36,
 36,
+37,
+38,
+39,
+40,
+33,
+41,
+42,
+43,
+44,
+45,
+46,
+47,
+48,
+17,
+18,
+19,
+20,
 21,
 21,
 22,
 22,
 23,
 23,
@@ -116,11 +120,7 @@
 26,
 26,
 27,
 27,
 28,
 28,
--1,
--1,
--1,
--1,
--1,
--1,
--1,
--1
+29,
+30,
+31,
+32