aboutsummaryrefslogtreecommitdiff
path: root/bfd/coff-x86_64.c
diff options
context:
space:
mode:
authorKai Tietz <kai.tietz@onevision.com>2010-03-31 16:32:02 +0000
committerKai Tietz <kai.tietz@onevision.com>2010-03-31 16:32:02 +0000
commitb706dc83c1a3d333c25aaaeb088960322845b8fd (patch)
tree03b19ad900fdc43b5fabc2847e1071ceb3c5d3b7 /bfd/coff-x86_64.c
parent2ae2a0b7f1515ed92ed1dbd071af7856a6061242 (diff)
downloadbinutils-b706dc83c1a3d333c25aaaeb088960322845b8fd.zip
binutils-b706dc83c1a3d333c25aaaeb088960322845b8fd.tar.gz
binutils-b706dc83c1a3d333c25aaaeb088960322845b8fd.tar.bz2
2010-03-31 Kai Tietz <kai.tietz@onevision.com>
* coff-i386.c (in_reloc_p): Check also for R_SECREL32. * coff-x86_64.c (in_reloc_p): Check also for R_AMD64_SECREL.
Diffstat (limited to 'bfd/coff-x86_64.c')
-rw-r--r--bfd/coff-x86_64.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/bfd/coff-x86_64.c b/bfd/coff-x86_64.c
index 4d500fe..8083d97 100644
--- a/bfd/coff-x86_64.c
+++ b/bfd/coff-x86_64.c
@@ -192,7 +192,8 @@ coff_amd64_reloc (bfd *abfd,
static bfd_boolean
in_reloc_p (bfd *abfd ATTRIBUTE_UNUSED, reloc_howto_type *howto)
{
- return ! howto->pc_relative && howto->type != R_AMD64_IMAGEBASE;
+ return ! howto->pc_relative && howto->type != R_AMD64_IMAGEBASE
+ && howto->type != R_AMD64_SECREL;
}
#endif /* COFF_WITH_PE */
@@ -555,10 +556,10 @@ coff_amd64_rtype_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
#if defined(COFF_WITH_PE)
/* Cancel out code in _bfd_coff_generic_relocate_section. */
*addendp = 0;
- if (rel->r_type >= R_AMD64_PCRLONG_1 && rel->r_type <= R_AMD64_PCRLONG_5)
- {
- *addendp -= (bfd_vma)(rel->r_type - R_AMD64_PCRLONG);
- rel->r_type = R_AMD64_PCRLONG;
+ if (rel->r_type >= R_AMD64_PCRLONG_1 && rel->r_type <= R_AMD64_PCRLONG_5)
+ {
+ *addendp -= (bfd_vma)(rel->r_type - R_AMD64_PCRLONG);
+ rel->r_type = R_AMD64_PCRLONG;
}
#endif