From f7dbe6d7a634949c19659290fc59732fdf999b87 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Fri, 24 Aug 2012 18:49:17 +0000 Subject: [PATCH] * 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 - --- compiler/i386/r386con.inc | 2 +- compiler/i386/r386num.inc | 2 +- compiler/i386/r386rni.inc | 4 ++-- compiler/x86/x86reg.dat | 4 ++-- compiler/x86_64/r8664con.inc | 4 ++-- compiler/x86_64/r8664num.inc | 4 ++-- compiler/x86_64/r8664rni.inc | 6 +++--- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/compiler/i386/r386con.inc b/compiler/i386/r386con.inc index b783f8c4d5..287b8cc195 100644 --- a/compiler/i386/r386con.inc +++ b/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); diff --git a/compiler/i386/r386num.inc b/compiler/i386/r386num.inc index 0491fa69f0..2aa77d37ab 100644 --- a/compiler/i386/r386num.inc +++ b/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), diff --git a/compiler/i386/r386rni.inc b/compiler/i386/r386rni.inc index 56e7e376d7..73ded27e8b 100644 --- a/compiler/i386/r386rni.inc +++ b/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 diff --git a/compiler/x86/x86reg.dat b/compiler/x86/x86reg.dat index 50e4082077..807eb4c215 100644 --- a/compiler/x86/x86reg.dat +++ b/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 diff --git a/compiler/x86_64/r8664con.inc b/compiler/x86_64/r8664con.inc index 142840bada..9a21e16f85 100644 --- a/compiler/x86_64/r8664con.inc +++ b/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); diff --git a/compiler/x86_64/r8664num.inc b/compiler/x86_64/r8664num.inc index 2474500893..e70b97dc41 100644 --- a/compiler/x86_64/r8664num.inc +++ b/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), diff --git a/compiler/x86_64/r8664rni.inc b/compiler/x86_64/r8664rni.inc index 70002463f7..62da4453df 100644 --- a/compiler/x86_64/r8664rni.inc +++ b/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