X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Flibbfd-in.h;h=7c661e34797c0d0c1b877f2ba50137df6af87c3f;hb=55172d69d08941ecb3bb1abd640f22abca10de47;hp=c17e508289c24daac9a4dd126b9d7be0333f8cd5;hpb=caa4096e844a000ff63c4fa9180d70ca2093fd2a;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h index c17e508289..7c661e3479 100644 --- a/bfd/libbfd-in.h +++ b/bfd/libbfd-in.h @@ -1,7 +1,7 @@ /* libbfd.h -- Declarations used by bfd library *implementation*. (This include file is not for users of the library.) - Copyright (C) 1990-2014 Free Software Foundation, Inc. + Copyright (C) 1990-2015 Free Software Foundation, Inc. Written by Cygnus Support. @@ -24,6 +24,10 @@ #include "hashtab.h" +#ifdef __cplusplus +extern "C" { +#endif + /* Align an address upward to a boundary, expressed as a number of bytes. E.g. align to an 8-byte boundary with argument of 8. Take care never to wrap around if the address is within boundary-1 of the end of the @@ -392,6 +396,8 @@ extern bfd_boolean _bfd_vms_lib_ia64_mkarchive (bfd *abfd); ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void) #define _bfd_nosymbols_get_symbol_info \ ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void) +#define _bfd_nosymbols_get_symbol_version_string \ + ((const char *(*) (bfd *, asymbol *, bfd_boolean *)) bfd_nullvoidptr) #define _bfd_nosymbols_bfd_is_local_label_name \ ((bfd_boolean (*) (bfd *, const char *)) bfd_false) #define _bfd_nosymbols_bfd_is_target_special_symbol \ @@ -399,8 +405,13 @@ extern bfd_boolean _bfd_vms_lib_ia64_mkarchive (bfd *abfd); #define _bfd_nosymbols_get_lineno \ ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr) #define _bfd_nosymbols_find_nearest_line \ - ((bfd_boolean (*) (bfd *, asection *, asymbol **, bfd_vma, const char **, \ - const char **, unsigned int *)) \ + ((bfd_boolean (*) (bfd *, asymbol **, asection *, bfd_vma, \ + const char **, const char **, unsigned int *, \ + unsigned int *)) \ + bfd_false) +#define _bfd_nosymbols_find_line \ + ((bfd_boolean (*) (bfd *, asymbol **, asymbol *, \ + const char **, unsigned int *)) \ bfd_false) #define _bfd_nosymbols_find_inliner_info \ ((bfd_boolean (*) (bfd *, const char **, const char **, unsigned int *)) \ @@ -520,8 +531,8 @@ extern bfd_boolean _bfd_stab_section_find_nearest_line /* Find the nearest line using DWARF 1 debugging information. */ extern bfd_boolean _bfd_dwarf1_find_nearest_line - (bfd *, asection *, asymbol **, bfd_vma, const char **, - const char **, unsigned int *); + (bfd *, asymbol **, asection *, bfd_vma, + const char **, const char **, unsigned int *); struct dwarf_debug_section { @@ -536,21 +547,9 @@ extern const struct dwarf_debug_section dwarf_debug_sections[]; /* Find the nearest line using DWARF 2 debugging information. */ extern bfd_boolean _bfd_dwarf2_find_nearest_line - (bfd *, const struct dwarf_debug_section *, asection *, asymbol **, bfd_vma, - const char **, const char **, unsigned int *, unsigned int *, unsigned int, - void **); - -/* Find the line using DWARF 2 debugging information. */ -extern bfd_boolean _bfd_dwarf2_find_line - (bfd *, asymbol **, asymbol *, const char **, - unsigned int *, unsigned int *, unsigned int, void **); - -bfd_boolean _bfd_generic_find_line - (bfd *, asymbol **, asymbol *, const char **, unsigned int *); - -bfd_boolean _bfd_generic_find_nearest_line_discriminator - (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **, - unsigned int *, unsigned int *); + (bfd *, asymbol **, asymbol *, asection *, bfd_vma, + const char **, const char **, unsigned int *, unsigned int *, + const struct dwarf_debug_section *, unsigned int, void **); /* Find inliner info after calling bfd_find_nearest_line. */ extern bfd_boolean _bfd_dwarf2_find_inliner_info @@ -588,7 +587,7 @@ extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create /* Generic link hash table destruction routine. */ extern void _bfd_generic_link_hash_table_free - (struct bfd_link_hash_table *); + (bfd *); /* Generic add symbol routine. */ extern bfd_boolean _bfd_generic_link_add_symbols @@ -603,7 +602,9 @@ extern bfd_boolean _bfd_generic_link_add_symbols_collect /* Generic archive add symbol routine. */ extern bfd_boolean _bfd_generic_link_add_archive_symbols (bfd *, struct bfd_link_info *, - bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *)); + bfd_boolean (*) (bfd *, struct bfd_link_info *, + struct bfd_link_hash_entry *, const char *, + bfd_boolean *)); /* Forward declaration to avoid prototype errors. */ typedef struct bfd_link_hash_entry _bfd_link_hash_entry; @@ -842,3 +843,5 @@ extern void bfd_section_already_linked_table_traverse extern bfd_vma read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *); extern bfd_signed_vma read_signed_leb128 (bfd *, bfd_byte *, unsigned int *); +extern bfd_vma safe_read_leb128 (bfd *, bfd_byte *, unsigned int *, + bfd_boolean, const bfd_byte * const);