diff options
Diffstat (limited to 'bfd/coff-x86_64.c')
-rw-r--r-- | bfd/coff-x86_64.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/bfd/coff-x86_64.c b/bfd/coff-x86_64.c index 398bc48..d92e03d 100644 --- a/bfd/coff-x86_64.c +++ b/bfd/coff-x86_64.c @@ -614,7 +614,12 @@ coff_amd64_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED, #if defined(COFF_WITH_PE) if (howto->pc_relative) { - *addendp -= 4; +#ifndef DONT_EXTEND_AMD64 + if (rel->r_type == R_AMD64_PCRQUAD) + *addendp -= 8; + else +#endif + *addendp -= 4; /* If the symbol is defined, then the generic code is going to add back the symbol value in order to cancel out an |