Browse Source

* use a different register constant for EIP and RIP (fixes external
assembler writers on x86-64 after r22181, the shift in positions
caused every occurrence of RIP to become EIP in the assembler code)

git-svn-id: trunk@22234 -

Jonas Maebe 13 years ago
parent
commit
f7dbe6d7a6

+ 1 - 1
compiler/i386/r386con.inc

@@ -24,7 +24,7 @@ NR_BP = tregister($01030006);
 NR_EBP = tregister($01040006);
 NR_SP = tregister($01030007);
 NR_ESP = tregister($01040007);
-NR_EIP = tregister($05000000);
+NR_EIP = tregister($05040000);
 NR_CS = tregister($05000001);
 NR_DS = tregister($05000002);
 NR_ES = tregister($05000003);

+ 1 - 1
compiler/i386/r386num.inc

@@ -24,7 +24,7 @@ tregister($01030006),
 tregister($01040006),
 tregister($01030007),
 tregister($01040007),
-tregister($05000000),
+tregister($05040000),
 tregister($05000001),
 tregister($05000002),
 tregister($05000003),

+ 2 - 2
compiler/i386/r386rni.inc

@@ -49,7 +49,6 @@
 70,
 71,
 72,
-25,
 26,
 27,
 28,
@@ -71,4 +70,5 @@
 44,
 45,
 46,
-47
+47,
+25

+ 2 - 2
compiler/x86/x86reg.dat

@@ -77,8 +77,8 @@ NR_R15W,$0103000f,r15w,%r15w,r15w,r15w,-1,-1,15,OT_REG16,7,64
 NR_R15D,$0104000f,r15d,%r15d,r15d,r15d,-1,-1,15,OT_REG32,7,64
 
 ; EIP is needed for DWARF call frame info return address (RA)
-NR_RIP,$05000000,rip,%rip,rip,rip,-1,8,16,OT_NONE,0,64
-NR_EIP,$05000000,eip,%eip,eip,eip,-1,8,16,OT_NONE,0
+NR_RIP,$05050000,rip,%rip,rip,rip,-1,8,16,OT_NONE,0,64
+NR_EIP,$05040000,eip,%eip,eip,eip,-1,8,16,OT_NONE,0
 NR_CS,$05000001,cs,%cs,cs,cs,-1,-1,-1,OT_REG_CS,1
 NR_DS,$05000002,ds,%ds,ds,ds,-1,-1,-1,OT_REG_DESS,3
 NR_ES,$05000003,es,%es,es,es,-1,-1,-1,OT_REG_DESS,0

+ 2 - 2
compiler/x86_64/r8664con.inc

@@ -68,8 +68,8 @@ NR_R15 = tregister($0105000f);
 NR_R15L = tregister($0101000f);
 NR_R15W = tregister($0103000f);
 NR_R15D = tregister($0104000f);
-NR_RIP = tregister($05000000);
-NR_EIP = tregister($05000000);
+NR_RIP = tregister($05050000);
+NR_EIP = tregister($05040000);
 NR_CS = tregister($05000001);
 NR_DS = tregister($05000002);
 NR_ES = tregister($05000003);

+ 2 - 2
compiler/x86_64/r8664num.inc

@@ -68,8 +68,8 @@ tregister($0105000f),
 tregister($0101000f),
 tregister($0103000f),
 tregister($0104000f),
-tregister($05000000),
-tregister($05000000),
+tregister($05050000),
+tregister($05040000),
 tregister($05000001),
 tregister($05000002),
 tregister($05000003),

+ 3 - 3
compiler/x86_64/r8664rni.inc

@@ -101,8 +101,6 @@
 123,
 124,
 125,
-70,
-69,
 71,
 72,
 73,
@@ -124,4 +122,6 @@
 89,
 90,
 91,
-92
+92,
+70,
+69