* elf32-i386.c (elf_i386_plt_sym_val): Match PLT entry only for
ELFOSABI_GNU input.
* elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
(elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
+2014-07-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_plt_sym_val): Match PLT entry only for
+ ELFOSABI_GNU input.
+ * elf64-x86-64.c (elf_x86_64_plt_sym_val): Likewise.
+ (elf_x86_64_plt_sym_val_offset_plt_bnd): Likewise.
+
2014-07-16 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/17154
abfd = plt->owner;
bed = get_elf_i386_backend_data (abfd);
plt_offset = bed->plt->plt_entry_size;
+
+ if (elf_elfheader (abfd)->e_ident[EI_OSABI] != ELFOSABI_GNU)
+ return plt->vma + (i + 1) * plt_offset;
+
while (plt_offset < plt->size)
{
bfd_vma reloc_offset;
abfd = plt->owner;
bed = get_elf_x86_64_backend_data (abfd);
plt_offset = bed->plt_entry_size;
+
+ if (elf_elfheader (abfd)->e_ident[EI_OSABI] != ELFOSABI_GNU)
+ return plt->vma + (i + 1) * plt_offset;
+
while (plt_offset < plt->size)
{
bfd_vma reloc_index;
const struct elf_x86_64_backend_data *bed = &elf_x86_64_bnd_arch_bed;
bfd *abfd = plt->owner;
bfd_vma plt_offset = bed->plt_entry_size;
+
+ if (elf_elfheader (abfd)->e_ident[EI_OSABI] != ELFOSABI_GNU)
+ return i * sizeof (elf_x86_64_legacy_plt2_entry);
+
while (plt_offset < plt->size)
{
bfd_vma reloc_index;