Fix compile time warning messages from gcc version 8 about cast between incompatible...
[binutils-gdb.git] / bfd / libbfd-in.h
index b7b7905dc0e20b808bbe8b0e576022854b43c2e2..2be89e89eeec3daa91178ba45db7aeddc6406f51 100644 (file)
@@ -121,21 +121,21 @@ extern void bfd_release
   (bfd *, void *);
 
 bfd * _bfd_create_empty_archive_element_shell
-  (bfd *obfd);
+  (bfd *);
 bfd * _bfd_look_for_bfd_in_cache
   (bfd *, file_ptr);
 bfd_boolean _bfd_add_bfd_to_archive_cache
   (bfd *, file_ptr, bfd *);
 bfd_boolean _bfd_generic_mkarchive
-  (bfd *abfd);
+  (bfd *);
 char *_bfd_append_relative_path
-  (bfd *arch, char *elt_name);
+  (bfd *, char *);
 const bfd_target *bfd_generic_archive_p
-  (bfd *abfd);
+  (bfd *);
 bfd_boolean bfd_slurp_armap
-  (bfd *abfd);
+  (bfd *);
 bfd_boolean bfd_slurp_bsd_armap_f2
-  (bfd *abfd);
+  (bfd *);
 #define bfd_slurp_bsd_armap bfd_slurp_armap
 #define bfd_slurp_coff_armap bfd_slurp_armap
 bfd_boolean _bfd_archive_64_bit_slurp_armap
@@ -162,15 +162,15 @@ bfd_boolean _bfd_archive_64_bit_write_armap
   bfd_true
 
 bfd_boolean _bfd_slurp_extended_name_table
-  (bfd *abfd);
+  (bfd *);
 extern bfd_boolean _bfd_construct_extended_name_table
   (bfd *, bfd_boolean, char **, bfd_size_type *);
 bfd_boolean _bfd_write_archive_contents
-  (bfd *abfd);
+  (bfd *);
 bfd_boolean _bfd_compute_and_write_armap
-  (bfd *, unsigned int elength);
+  (bfd *, unsigned int);
 bfd *_bfd_get_elt_at_filepos
-  (bfd *archive, file_ptr filepos);
+  (bfd *, file_ptr);
 extern bfd *_bfd_generic_get_elt_at_index
   (bfd *, symindex);
 bfd * _bfd_new_bfd
@@ -178,42 +178,56 @@ bfd * _bfd_new_bfd
 bfd_boolean _bfd_free_cached_info
   (bfd *);
 
-bfd_boolean bfd_false
-  (bfd *ignore);
-bfd_boolean bfd_true
-  (bfd *ignore);
-void *bfd_nullvoidptr
-  (bfd *ignore);
-int bfd_0
-  (bfd *ignore);
-unsigned int bfd_0u
-  (bfd *ignore);
-long bfd_0l
-  (bfd *ignore);
-long _bfd_n1
-  (bfd *ignore);
-void bfd_void
-  (bfd *ignore);
+extern bfd_boolean bfd_false
+  (bfd *);
+extern bfd_boolean bfd_false_any
+  (bfd *, ...);
+extern bfd_boolean bfd_true
+  (bfd *);
+extern bfd_boolean bfd_true_any
+  (bfd *, ...);
+extern void * bfd_nullvoidptr
+  (bfd *);
+extern void * bfd_nullvoidptr_any
+  (bfd *, ...);
+extern int bfd_0
+  (bfd *);
+extern int bfd_0_any
+  (bfd *, ...);
+extern unsigned int bfd_0u
+  (bfd *);
+extern unsigned int bfd_0u_any
+  (bfd *, ...);
+extern long bfd_0l
+  (bfd *);
+extern long bfd_0l_any
+  (bfd *, ...);
+extern long _bfd_n1
+  (bfd *);
+extern long _bfd_n1_any
+  (bfd *, ...);
+extern void bfd_void
+  (bfd *);
+extern void bfd_void_any
+  (bfd *, ...);
 
 bfd *_bfd_new_bfd_contained_in
   (bfd *);
 const bfd_target *_bfd_dummy_target
-  (bfd *abfd);
+  (bfd *);
 
 void bfd_dont_truncate_arname
-  (bfd *abfd, const char *filename, char *hdr);
+  (bfd *, const char *, char *);
 void bfd_bsd_truncate_arname
-  (bfd *abfd, const char *filename, char *hdr);
+  (bfd *, const char *, char *);
 void bfd_gnu_truncate_arname
-  (bfd *abfd, const char *filename, char *hdr);
+  (bfd *, const char *, char *);
 
 bfd_boolean _bfd_bsd_write_armap
-  (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
-   int stridx);
+  (bfd *, unsigned int, struct orl *, unsigned int, int);
 
 bfd_boolean _bfd_coff_write_armap
-  (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
-   int stridx);
+  (bfd *, unsigned int, struct orl *, unsigned int, int);
 
 extern void *_bfd_generic_read_ar_hdr
   (bfd *);
@@ -232,7 +246,7 @@ extern bfd_boolean _bfd_bsd44_write_ar_hdr
   (bfd *, bfd *);
 
 bfd * bfd_generic_openr_next_archived_file
-  (bfd *archive, bfd *last_file);
+  (bfd *, bfd *);
 
 int bfd_generic_stat_arch_elt
   (bfd *, struct stat *);
@@ -260,19 +274,19 @@ extern bfd_boolean _bfd_generic_get_section_contents_in_window
    BFD_JUMP_TABLE_COPY (_bfd_generic).  */
 
 #define _bfd_generic_bfd_copy_private_bfd_data \
-  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
+  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true_any)
 #define _bfd_generic_bfd_merge_private_bfd_data \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_true)
+  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_true_any)
 #define _bfd_generic_bfd_set_private_flags \
-  ((bfd_boolean (*) (bfd *, flagword)) bfd_true)
+  ((bfd_boolean (*) (bfd *, flagword)) bfd_true_any)
 #define _bfd_generic_bfd_copy_private_section_data \
-  ((bfd_boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true)
+  ((bfd_boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true_any)
 #define _bfd_generic_bfd_copy_private_symbol_data \
-  ((bfd_boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true)
+  ((bfd_boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true_any)
 #define _bfd_generic_bfd_copy_private_header_data \
-  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
+  ((bfd_boolean (*) (bfd *, bfd *)) bfd_true_any)
 #define _bfd_generic_bfd_print_private_bfd_data \
-  ((bfd_boolean (*) (bfd *, void *)) bfd_true)
+  ((bfd_boolean (*) (bfd *, void *)) bfd_true_any)
 
 extern bfd_boolean _bfd_generic_init_private_section_data
   (bfd *, asection *, bfd *, asection *, struct bfd_link_info *);
@@ -296,19 +310,19 @@ extern int _bfd_nocore_core_file_pid
 #define _bfd_noarchive_slurp_extended_name_table bfd_false
 #define _bfd_noarchive_construct_extended_name_table \
   ((bfd_boolean (*) (bfd *, char **, bfd_size_type *, const char **)) \
-   bfd_false)
+   bfd_false_any)
 #define _bfd_noarchive_truncate_arname \
-  ((void (*) (bfd *, const char *, char *)) bfd_void)
+  ((void (*) (bfd *, const char *, char *)) bfd_void_any)
 #define _bfd_noarchive_write_armap \
   ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) \
-   bfd_false)
+   bfd_false_any)
 #define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr
 #define _bfd_noarchive_write_ar_hdr \
-  ((bfd_boolean (*) (bfd *, bfd *)) bfd_false)
+  ((bfd_boolean (*) (bfd *, bfd *)) bfd_false_any)
 #define _bfd_noarchive_openr_next_archived_file \
-  ((bfd *(*) (bfd *, bfd *)) bfd_nullvoidptr)
+  ((bfd *(*) (bfd *, bfd *)) bfd_nullvoidptr_any)
 #define _bfd_noarchive_get_elt_at_index \
-  ((bfd *(*) (bfd *, symindex)) bfd_nullvoidptr)
+  ((bfd *(*) (bfd *, symindex)) bfd_nullvoidptr_any)
 #define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt
 #define _bfd_noarchive_update_armap_timestamp bfd_false
 
@@ -375,7 +389,7 @@ extern bfd_boolean _bfd_archive_bsd44_construct_extended_name_table
    archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_vms_lib).  Some of them
    are irrelevant.  */
 
-extern bfd_boolean _bfd_vms_lib_write_archive_contents (bfd *arch);
+extern bfd_boolean _bfd_vms_lib_write_archive_contents (bfd *);
 #define _bfd_vms_lib_slurp_armap _bfd_noarchive_slurp_armap
 #define _bfd_vms_lib_slurp_extended_name_table \
   _bfd_noarchive_slurp_extended_name_table
@@ -394,49 +408,49 @@ extern int _bfd_vms_lib_generic_stat_arch_elt (bfd *, struct stat *);
 
 extern symindex _bfd_vms_lib_find_symbol (bfd *, const char *);
 extern bfd *_bfd_vms_lib_get_imagelib_file (bfd *);
-extern const bfd_target *_bfd_vms_lib_alpha_archive_p (bfd *abfd);
-extern const bfd_target *_bfd_vms_lib_ia64_archive_p (bfd *abfd);
-extern bfd_boolean _bfd_vms_lib_alpha_mkarchive (bfd *abfd);
-extern bfd_boolean _bfd_vms_lib_ia64_mkarchive (bfd *abfd);
+extern const bfd_target *_bfd_vms_lib_alpha_archive_p (bfd *);
+extern const bfd_target *_bfd_vms_lib_ia64_archive_p (bfd *);
+extern bfd_boolean _bfd_vms_lib_alpha_mkarchive (bfd *);
+extern bfd_boolean _bfd_vms_lib_ia64_mkarchive (bfd *);
 
 /* Routines to use for BFD_JUMP_TABLE_SYMBOLS where there is no symbol
    support.  Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).  */
 
 #define _bfd_nosymbols_get_symtab_upper_bound _bfd_n1
 #define _bfd_nosymbols_canonicalize_symtab \
-  ((long (*) (bfd *, asymbol **)) _bfd_n1)
+  ((long (*) (bfd *, asymbol **)) _bfd_n1_any)
 #define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol
 #define _bfd_nosymbols_print_symbol \
-  ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void)
+  ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void_any)
 #define _bfd_nosymbols_get_symbol_info \
-  ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void)
+  ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void_any)
 #define _bfd_nosymbols_get_symbol_version_string \
-  ((const char *(*) (bfd *, asymbol *, bfd_boolean *)) bfd_nullvoidptr)
+  ((const char *(*) (bfd *, asymbol *, bfd_boolean *)) bfd_nullvoidptr_any)
 #define _bfd_nosymbols_bfd_is_local_label_name \
-  ((bfd_boolean (*) (bfd *, const char *)) bfd_false)
+  ((bfd_boolean (*) (bfd *, const char *)) bfd_false_any)
 #define _bfd_nosymbols_bfd_is_target_special_symbol \
-  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
+  ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false_any)
 #define _bfd_nosymbols_get_lineno \
-  ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr)
+  ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr_any)
 #define _bfd_nosymbols_find_nearest_line \
   ((bfd_boolean (*) (bfd *, asymbol **, asection *, bfd_vma,           \
                     const char **, const char **, unsigned int *,      \
                     unsigned int *))                                   \
-   bfd_false)
+   bfd_false_any)
 #define _bfd_nosymbols_find_line \
   ((bfd_boolean (*) (bfd *, asymbol **, asymbol *,     \
                     const char **, unsigned int *))    \
-   bfd_false)
+   bfd_false_any)
 #define _bfd_nosymbols_find_inliner_info \
   ((bfd_boolean (*) (bfd *, const char **, const char **, unsigned int *)) \
-   bfd_false)
+   bfd_false_any)
 #define _bfd_nosymbols_bfd_make_debug_symbol \
-  ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
+  ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr_any)
 #define _bfd_nosymbols_read_minisymbols \
-  ((long (*) (bfd *, bfd_boolean, void **, unsigned int *)) _bfd_n1)
+  ((long (*) (bfd *, bfd_boolean, void **, unsigned int *)) _bfd_n1_any)
 #define _bfd_nosymbols_minisymbol_to_symbol \
   ((asymbol *(*) (bfd *, bfd_boolean, const void *, asymbol *)) \
-   bfd_nullvoidptr)
+   bfd_nullvoidptr_any)
 
 /* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc
    support.  Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs).  */
@@ -447,19 +461,19 @@ extern long _bfd_norelocs_canonicalize_reloc (bfd *, asection *,
 extern void _bfd_norelocs_set_reloc (bfd *, asection *,
                                     arelent **, unsigned int);
 #define _bfd_norelocs_bfd_reloc_type_lookup \
-  ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
+  ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr_any)
 #define _bfd_norelocs_bfd_reloc_name_lookup \
-  ((reloc_howto_type *(*) (bfd *, const char *)) bfd_nullvoidptr)
+  ((reloc_howto_type *(*) (bfd *, const char *)) bfd_nullvoidptr_any)
 
 /* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not
    be written.  Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite).  */
 
 #define _bfd_nowrite_set_arch_mach \
   ((bfd_boolean (*) (bfd *, enum bfd_architecture, unsigned long)) \
-   bfd_false)
+   bfd_false_any)
 #define _bfd_nowrite_set_section_contents \
   ((bfd_boolean (*) (bfd *, asection *, const void *, file_ptr, bfd_size_type)) \
-   bfd_false)
+   bfd_false_any)
 
 /* Generic routines to use for BFD_JUMP_TABLE_WRITE.  Use
    BFD_JUMP_TABLE_WRITE (_bfd_generic).  */
@@ -472,52 +486,52 @@ extern bfd_boolean _bfd_generic_set_section_contents
    support linking.  Use BFD_JUMP_TABLE_LINK (_bfd_nolink).  */
 
 #define _bfd_nolink_sizeof_headers \
-  ((int (*) (bfd *, struct bfd_link_info *)) bfd_0)
+  ((int (*) (bfd *, struct bfd_link_info *)) bfd_0_any)
 #define _bfd_nolink_bfd_get_relocated_section_contents \
   ((bfd_byte *(*) (bfd *, struct bfd_link_info *, struct bfd_link_order *, \
                   bfd_byte *, bfd_boolean, asymbol **)) \
-   bfd_nullvoidptr)
+   bfd_nullvoidptr_any)
 #define _bfd_nolink_bfd_relax_section \
   ((bfd_boolean (*) \
     (bfd *, asection *, struct bfd_link_info *, bfd_boolean *)) \
-   bfd_false)
+   bfd_false_any)
 #define _bfd_nolink_bfd_gc_sections \
   ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
-   bfd_false)
+   bfd_false_any)
 #define _bfd_nolink_bfd_lookup_section_flags \
   ((bfd_boolean (*) (struct bfd_link_info *, struct flag_info *, asection *)) \
-   bfd_0)
+   bfd_0_any)
 #define _bfd_nolink_bfd_merge_sections \
   ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
-   bfd_false)
+   bfd_false_any)
 #define _bfd_nolink_bfd_is_group_section \
   ((bfd_boolean (*) (bfd *, const struct bfd_section *)) \
-   bfd_false)
+   bfd_false_any)
 #define _bfd_nolink_bfd_discard_group \
   ((bfd_boolean (*) (bfd *, struct bfd_section *)) \
-   bfd_false)
+   bfd_false_any)
 #define _bfd_nolink_bfd_link_hash_table_create \
-  ((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr)
+  ((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr_any)
 #define _bfd_nolink_bfd_link_add_symbols \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
+  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false_any)
 #define _bfd_nolink_bfd_link_just_syms \
-  ((void (*) (asection *, struct bfd_link_info *)) bfd_void)
+  ((void (*) (asection *, struct bfd_link_info *)) bfd_void_any)
 #define _bfd_nolink_bfd_copy_link_hash_symbol_type \
   ((void (*) (bfd *, struct bfd_link_hash_entry *, \
-             struct bfd_link_hash_entry *)) bfd_void)
+             struct bfd_link_hash_entry *)) bfd_void_any)
 #define _bfd_nolink_bfd_final_link \
-  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
+  ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false_any)
 #define _bfd_nolink_bfd_link_split_section \
-  ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false)
+  ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false_any)
 #define _bfd_nolink_section_already_linked \
   ((bfd_boolean (*) (bfd *, asection *, \
-                    struct bfd_link_info *)) bfd_false)
+                    struct bfd_link_info *)) bfd_false_any)
 #define _bfd_nolink_bfd_define_common_symbol \
   ((bfd_boolean (*) (bfd *, struct bfd_link_info *, \
-                    struct bfd_link_hash_entry *)) bfd_false)
+                    struct bfd_link_hash_entry *)) bfd_false_any)
 #define _bfd_nolink_bfd_define_start_stop \
   ((struct bfd_link_hash_entry * (*) (struct bfd_link_info *, \
-                                     const char *, asection *)) bfd_nullvoidptr)
+                                     const char *, asection *)) bfd_nullvoidptr_any)
 #define _bfd_nolink_bfd_link_check_relocs \
   _bfd_generic_link_check_relocs
 
@@ -527,12 +541,12 @@ extern bfd_boolean _bfd_generic_set_section_contents
 
 #define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1
 #define _bfd_nodynamic_canonicalize_dynamic_symtab \
-  ((long (*) (bfd *, asymbol **)) _bfd_n1)
+  ((long (*) (bfd *, asymbol **)) _bfd_n1_any)
 #define _bfd_nodynamic_get_synthetic_symtab \
-  ((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1)
+  ((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1_any)
 #define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1
 #define _bfd_nodynamic_canonicalize_dynamic_reloc \
-  ((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1)
+  ((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1_any)
 \f
 /* Generic routine to determine of the given symbol is a local
    label.  */
@@ -557,8 +571,8 @@ extern bfd_boolean _bfd_dwarf1_find_nearest_line
 
 struct dwarf_debug_section
 {
-  const char *uncompressed_name;
-  const char *compressed_name;
+  const char * uncompressed_name;
+  const char * compressed_name;
 };
 
 /* Map of uncompressed DWARF debug section name to compressed one.  It