diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf64-x86-64.c | 13 |
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 |