X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Felf-bfd.h;h=7c758910f42e460962ada4572f45093411755403;hb=0bf60745767d2465c81ee57ae7705a62d6d8fafe;hp=606e13cd294777650d2fe22176dc4e22d4fb0d06;hpb=26c61ae50be6d702a8d40bf3c968048a1801057a;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 606e13cd29..7c758910f4 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ #ifndef _LIBELF_H_ #define _LIBELF_H_ 1 @@ -349,13 +349,15 @@ struct elf_link_hash_table /* The value to use when initialising got.refcount/offset and plt.refcount/offset in an elf_link_hash_entry. Set to zero when - the values are refcounts. Set to init_offset in - size_dynamic_sections when the values may be offsets. */ - union gotplt_union init_refcount; + the values are refcounts. Set to init_got_offset/init_plt_offset + in size_dynamic_sections when the values may be offsets. */ + union gotplt_union init_got_refcount; + union gotplt_union init_plt_refcount; /* The value to use for got.refcount/offset and plt.refcount/offset when the values may be offsets. Normally (bfd_vma) -1. */ - union gotplt_union init_offset; + union gotplt_union init_got_offset; + union gotplt_union init_plt_offset; /* The number of symbols found in the link which must be put into the .dynsym section. */ @@ -873,7 +875,8 @@ struct elf_backend_data /* Emit relocations. Overrides default routine for emitting relocs, except during a relocatable link, or if all relocs are being emitted. */ bfd_boolean (*elf_backend_emit_relocs) - (bfd *, asection *, Elf_Internal_Shdr *, Elf_Internal_Rela *); + (bfd *, asection *, Elf_Internal_Shdr *, Elf_Internal_Rela *, + struct elf_link_hash_entry **); /* Count relocations. Not called for relocatable links or if all relocs are being preserved in the output. */ @@ -973,12 +976,9 @@ struct elf_backend_data const struct elf_size_info *s; - /* An array of target specific special section map. */ - const struct bfd_elf_special_section *special_sections; - - /* offset of the _GLOBAL_OFFSET_TABLE_ symbol from the start of the - .got section */ - bfd_vma got_symbol_offset; + /* An array of 27 target specific special section map arrays, + covering 'a' to 'z', plus other. */ + const struct bfd_elf_special_section **special_sections; /* The size in bytes of the header for the GOT. This includes the so-called reserved entries on some systems. */ @@ -1488,6 +1488,11 @@ extern bfd_boolean _bfd_elf_set_arch_mach extern bfd_boolean _bfd_elf_find_nearest_line (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **, unsigned int *); +extern bfd_boolean _bfd_elf_find_line + (bfd *, asymbol **, asymbol *, const char **, unsigned int *); +#define _bfd_generic_find_line _bfd_elf_find_line +extern bfd_boolean _bfd_elf_find_inliner_info + (bfd *, const char **, const char **, unsigned int *); #define _bfd_elf_read_minisymbols _bfd_generic_read_minisymbols #define _bfd_elf_minisymbol_to_symbol _bfd_generic_minisymbol_to_symbol extern int _bfd_elf_sizeof_headers @@ -1606,7 +1611,8 @@ extern bfd_boolean _bfd_elf_link_size_reloc_section (bfd *, Elf_Internal_Shdr *, asection *); extern bfd_boolean _bfd_elf_link_output_relocs - (bfd *, asection *, Elf_Internal_Shdr *, Elf_Internal_Rela *); + (bfd *, asection *, Elf_Internal_Shdr *, Elf_Internal_Rela *, + struct elf_link_hash_entry **); extern bfd_boolean _bfd_elf_fix_symbol_flags (struct elf_link_hash_entry *, struct elf_info_failed *); @@ -1728,6 +1734,10 @@ extern int bfd_elf_link_record_local_dynamic_symbol extern bfd_boolean _bfd_elf_close_and_cleanup (bfd *); + +extern void _bfd_dwarf2_cleanup_debug_info + (bfd *); + extern bfd_reloc_status_type _bfd_elf_rel_vtable_reloc_fn (bfd *, arelent *, struct bfd_symbol *, void *, asection *, bfd *, char **);