aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2010-12-31 00:34:59 +0000
committerH.J. Lu <hjl.tools@gmail.com>2010-12-31 00:34:59 +0000
commitc543bf9aabd5182baa9ba2c005fba2252e826404 (patch)
tree9f2d3421a93b996ad6b833c82a9093524aa8bcca
parent351f65ca2667cb7e58578e792d0c80cee3dcca04 (diff)
downloadgdb-c543bf9aabd5182baa9ba2c005fba2252e826404.zip
gdb-c543bf9aabd5182baa9ba2c005fba2252e826404.tar.gz
gdb-c543bf9aabd5182baa9ba2c005fba2252e826404.tar.bz2
Add elf_x86_64_relocs_compatible.
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.
-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 78ba6d6..fc4e5a3 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 a50dccc..3dd16ba 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