From db621780d5f61635be2263b2cbbfd420ae662ff5 Mon Sep 17 00:00:00 2001 From: sergei Date: Tue, 1 Apr 2014 16:26:56 +0000 Subject: [PATCH] * x86_64-win64: fixed handling of RELOC_RELATIVE_1..RELOC_RELATIVE_5 COFF relocations, they were off by 4 bytes, causing failure in tests/test/tcalext.pp. git-svn-id: trunk@27430 - --- compiler/ogcoff.pas | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler/ogcoff.pas b/compiler/ogcoff.pas index 0ae1f794e2..028eefa457 100644 --- a/compiler/ogcoff.pas +++ b/compiler/ogcoff.pas @@ -917,27 +917,27 @@ const pemagic : array[0..3] of byte = ( RELOC_RELATIVE_1: begin address:=address-objsec.mempos+relocval; - dec(address,objreloc.dataoffset+1); + dec(address,objreloc.dataoffset+5); end; RELOC_RELATIVE_2: begin address:=address-objsec.mempos+relocval; - dec(address,objreloc.dataoffset+2); + dec(address,objreloc.dataoffset+6); end; RELOC_RELATIVE_3: begin address:=address-objsec.mempos+relocval; - dec(address,objreloc.dataoffset+3); + dec(address,objreloc.dataoffset+7); end; RELOC_RELATIVE_4: begin address:=address-objsec.mempos+relocval; - dec(address,objreloc.dataoffset+4); + dec(address,objreloc.dataoffset+8); end; RELOC_RELATIVE_5: begin address:=address-objsec.mempos+relocval; - dec(address,objreloc.dataoffset+5); + dec(address,objreloc.dataoffset+9); end; RELOC_ABSOLUTE32, {$endif x86_64}