summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf64-x86-64.c13
2 files changed, 18 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 78ba6d6cb7..fc4e5a39a7 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,11 @@
2010-12-30 H.J. Lu <hongjiu.lu@intel.com>
+ * elf64-x86-64.c (elf_x86_64_relocs_compatible): New.
+ (elf_backend_relocs_compatible): Defined to
+ elf_x86_64_relocs_compatible.
+
+2010-12-30 H.J. Lu <hongjiu.lu@intel.com>
+
* archures.c (bfd_mach_x64_32): New.
(bfd_mach_x64_32_intel_syntax): Likewise.
* bfd-in2.h: Regenerated.
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index a50dccccd1..3dd16ba123 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -4496,6 +4496,17 @@ elf_x86_64_hash_symbol (struct elf_link_hash_entry *h)
return _bfd_elf_hash_symbol (h);
}
+/* Return TRUE iff relocations for INPUT are compatible with OUTPUT. */
+
+static bfd_boolean
+elf_x86_64_relocs_compatible (const bfd_target *input,
+ const bfd_target *output)
+{
+ return ((xvec_get_elf_backend_data (input)->s->elfclass
+ == xvec_get_elf_backend_data (output)->s->elfclass)
+ && _bfd_elf_relocs_compatible (input, output));
+}
+
static const struct bfd_elf_special_section
elf_x86_64_special_sections[]=
{
@@ -4536,7 +4547,7 @@ static const struct bfd_elf_special_section
elf_x86_64_reloc_name_lookup
#define elf_backend_adjust_dynamic_symbol elf_x86_64_adjust_dynamic_symbol
-#define elf_backend_relocs_compatible _bfd_elf_relocs_compatible
+#define elf_backend_relocs_compatible elf_x86_64_relocs_compatible
#define elf_backend_check_relocs elf_x86_64_check_relocs
#define elf_backend_copy_indirect_symbol elf_x86_64_copy_indirect_symbol
#define elf_backend_create_dynamic_sections elf_x86_64_create_dynamic_sections
OpenPOWER on IntegriCloud