summaryrefslogtreecommitdiff
path: root/bfd/elfxx-x86.h
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-09-07 17:19:10 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-09-07 17:21:07 -0700
commit7a382c1c50fca0d4bc4c2e618ff6ac222c4e2137 (patch)
tree5fd76f03573b7ebbc4b986585323b5e7dbf419e3 /bfd/elfxx-x86.h
parentbd757a5bf293aaed6c6aa79776bbef13ca2da92b (diff)
downloadbinutils-gdb-7a382c1c50fca0d4bc4c2e618ff6ac222c4e2137.tar.gz
x86; Don't add elf64-x86-64.lo nor elf64.lo together with elfxx-x86.lo
Don't set r_info and r_sym fields in _bfd_x86_elf_link_hash_table_create. Instead, set them in _bfd_x86_elf_link_setup_gnu_properties. We can avoid adding elf64-x86-64.lo and elf64.lo together with elfxx-x86.lo to bfd_backends. * configure.ac (bfd_backends): Don't add elf64-x86-64.lo nor elf64.lo together with elfxx-x86.lo for 64-bit BFD. * configure: Regenerated. * elf32-i386.c (elf_i386_link_setup_gnu_properties): Set r_info and r_sym fields of plt_layout. * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Likewise. * elfxx-x86.c (elf_x86_64_is_reloc_section): Remove BFD64 check. (_bfd_x86_elf_link_hash_table_create): Likewise. Don't set r_info nor r_sym fields. (_bfd_x86_elf_link_setup_gnu_properties): Set r_info and r_sym fields of htab. * elfxx-x86.h (elf_x86_plt_layout_table): Add r_info and r_sym.
Diffstat (limited to 'bfd/elfxx-x86.h')
-rw-r--r--bfd/elfxx-x86.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/bfd/elfxx-x86.h b/bfd/elfxx-x86.h
index 5d0a28a3eb2..6e773561f4c 100644
--- a/bfd/elfxx-x86.h
+++ b/bfd/elfxx-x86.h
@@ -362,6 +362,9 @@ struct elf_x86_plt_layout_table
/* TRUE if this is a VxWorks x86 target. */
bfd_boolean is_vxworks;
+
+ bfd_vma (*r_info) (bfd_vma, bfd_vma);
+ bfd_vma (*r_sym) (bfd_vma);
};
struct elf_x86_obj_tdata