diff options
Diffstat (limited to 'bfd/elfxx-x86.h')
-rw-r--r-- | bfd/elfxx-x86.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/bfd/elfxx-x86.h b/bfd/elfxx-x86.h index 21e16a2f10..45f2458cc2 100644 --- a/bfd/elfxx-x86.h +++ b/bfd/elfxx-x86.h @@ -315,6 +315,27 @@ struct elf_x86_obj_tdata bfd_vma *local_tlsdesc_gotent; }; +enum elf_x86_plt_type +{ + plt_non_lazy = 0, + plt_lazy = 1 << 0, + plt_pic = 1 << 1, + plt_second = 1 << 2, + plt_unknown = -1 +}; + +struct elf_x86_plt +{ + const char *name; + asection *sec; + bfd_byte *contents; + enum elf_x86_plt_type type; + unsigned int plt_got_offset; + unsigned int plt_entry_size; + unsigned int plt_got_insn_size; /* Only used for x86-64. */ + long count; +}; + #define elf_x86_tdata(abfd) \ ((struct elf_x86_obj_tdata *) (abfd)->tdata.any) @@ -372,6 +393,10 @@ extern bfd_boolean _bfd_x86_elf_fixup_symbol extern bfd_boolean _bfd_x86_elf_hash_symbol (struct elf_link_hash_entry *); +extern long _bfd_x86_elf_get_synthetic_symtab + (bfd *, long, long, bfd_vma, struct elf_x86_plt [], asymbol **, + asymbol **); + extern enum elf_property_kind _bfd_x86_elf_parse_gnu_properties (bfd *, unsigned int, bfd_byte *, unsigned int); |