diff options
author | Alan Modra <amodra@gmail.com> | 2018-02-15 10:58:06 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2018-02-16 19:09:23 +1030 |
commit | d00dd7dc5e415503de88614bf2ea4aafa2bca819 (patch) | |
tree | 3222981795fcacbdba9e81c14437f6e0fd36d09a /bfd/libbfd-in.h | |
parent | 3281b315c89caf1d539a316e41cc095e46482f75 (diff) | |
download | gdb-d00dd7dc5e415503de88614bf2ea4aafa2bca819.zip gdb-d00dd7dc5e415503de88614bf2ea4aafa2bca819.tar.gz gdb-d00dd7dc5e415503de88614bf2ea4aafa2bca819.tar.bz2 |
Remove bfd stub function casts.
This patch defines a bunch of new functions to use in the BFD target
structs rather than casting bfd_false or bfd_true and similar stub
functions. I've also renamed the stub functions to reflect their
parameters and put "error" in the name if they set bfd_error. The
latter change is important since there were quite a few uses of
bfd_false where setting bfd_error was inappropriate, for example in
elf_backend_allow_non_load_phdr and is_target_special_symbol.
* libbfd.c (_bfd_bool_bfd_false_error): Rename from bfd_false.
(_bfd_bool_bfd_true): Rename from bfd_true.
(_bfd_ptr_bfd_null_error): Rename from bfd_nullvoidptr.
(_bfd_int_bfd_0): Rename from bfd_0.
(_bfd_uint_bfd_0): Rename from bfd_0u.
(_bfd_long_bfd_0): Rename from bfd_0l.
(_bfd_long_bfd_n1_error): Rename from _bfd_n1.
(_bfd_void_bfd): Rename from bfd_void.
(_bfd_bool_bfd_false, _bfd_bool_bfd_asymbol_false),
(_bfd_bool_bfd_link_false_error),
(_bfd_bool_bfd_link_true, _bfd_bool_bfd_bfd_true),
(_bfd_bool_bfd_uint_true, _bfd_bool_bfd_ptr_true),
(_bfd_bool_bfd_asection_bfd_asection_true),
(_bfd_bool_bfd_asymbol_bfd_asymbol_true),
(_bfd_void_bfd_link, _bfd_void_bfd_asection): New functions.
* archive.c (_bfd_noarchive_get_elt_at_index),
(_bfd_noarchive_openr_next_archived_file),
(_bfd_noarchive_construct_extended_name_table),
(_bfd_noarchive_write_ar_hdr, _bfd_noarchive_truncate_arname),
(_bfd_noarchive_write_armap): New functions.
* archures.c (_bfd_nowrite_set_arch_mach): New function.
* coff-alpha.c (alpha_ecoff_swap_coff_aux_in),
(alpha_ecoff_swap_coff_sym_in, alpha_ecoff_swap_coff_lineno_in),
(alpha_ecoff_swap_coff_aux_out, alpha_ecoff_swap_coff_sym_out),
(alpha_ecoff_swap_coff_lineno_out),
(alpha_ecoff_swap_coff_reloc_out): New functions.
* coff-mips.c (mips_ecoff_swap_coff_aux_in),
(mips_ecoff_swap_coff_sym_in, mips_ecoff_swap_coff_lineno_in),
(mips_ecoff_swap_coff_aux_out, mips_ecoff_swap_coff_sym_out),
(mips_ecoff_swap_coff_lineno_out),
(mips_ecoff_swap_coff_reloc_out): New functions.
* coffcode.h (coff_set_alignment_hook): Replace define with
new function.
(symname_in_debug_hook): Likewise.
* ecoff.c (_bfd_ecoff_set_alignment_hook): New function.
* elfxx-target.h (elf_backend_allow_non_load_phdr): Default to 0.
* elf.c (assign_file_positions_except_relocs): Test
elf_backend_allow_non_load_phdr for NULL.
* elflink.c (_bfd_elf_omit_section_dynsym_default): Rename from
_bfd_elf_link_omit_section_dynsym. Update uses.
(_bfd_elf_omit_section_dynsym_all): New function.
* elf-bfd.h (_bfd_elf_link_omit_section_dynsym): Delete.
(_bfd_elf_omit_section_dynsym_default): Declare.
(_bfd_elf_omit_section_dynsym_all): Declare.
* linker.c (_bfd_nolink_sizeof_headers, _bfd_nolink_bfd_relax_section),
(_bfd_nolink_bfd_get_relocated_section_contents),
(_bfd_nolink_bfd_lookup_section_flags),
(_bfd_nolink_bfd_is_group_section, _bfd_nolink_bfd_discard_group),
(_bfd_nolink_bfd_link_hash_table_create),
(_bfd_nolink_bfd_link_just_syms),
(_bfd_nolink_bfd_copy_link_hash_symbol_type),
(_bfd_nolink_bfd_link_split_section),
(_bfd_nolink_section_already_linked),
(_bfd_nolink_bfd_define_common_symbol),
(_bfd_nolink_bfd_define_start_stop): New functions.
* reloc.c (_bfd_norelocs_bfd_reloc_type_lookup),
(_bfd_norelocs_bfd_reloc_name_lookup),
(_bfd_nodynamic_canonicalize_dynamic_reloc): New functions.
* section.c (_bfd_nowrite_set_section_contents): New function.
* syms.c (_bfd_nosymbols_canonicalize_symtab),
(_bfd_nosymbols_print_symbol, _bfd_nosymbols_get_symbol_info),
(_bfd_nosymbols_get_symbol_version_string),
(_bfd_nosymbols_bfd_is_local_label_name),
(_bfd_nosymbols_get_lineno, _bfd_nosymbols_find_nearest_line),
(_bfd_nosymbols_find_line, _bfd_nosymbols_find_inliner_info),
(_bfd_nosymbols_bfd_make_debug_symbol),
( _bfd_nosymbols_read_minisymbols),
( _bfd_nosymbols_minisymbol_to_symbol),
(_bfd_nodynamic_get_synthetic_symtab): New functions.
* libbfd-in.h: Declare new functions. Update existing defines,
removing casts.
* aix386-core.c: Update to use new hooks. Formatting.
* aout-adobe.c: Likewise.
* aout-arm.c: Likewise.
* aout-target.h: Likewise.
* aout-tic30.c: Likewise.
* aoutf1.h: Likewise.
* binary.c: Likewise.
* bout.c: Likewise.
* cisco-core.c: Likewise.
* coff-alpha.c: Likewise.
* coff-i386.c: Likewise.
* coff-i860.c: Likewise.
* coff-i960.c: Likewise.
* coff-ia64.c: Likewise.
* coff-mips.c: Likewise.
* coff-ppc.c: Likewise.
* coff-rs6000.c: Likewise.
* coff-sh.c: Likewise.
* coff-tic30.c: Likewise.
* coff-tic54x.c: Likewise.
* coff-x86_64.c: Likewise.
* coff64-rs6000.c: Likewise.
* coffcode.h: Likewise.
* elf-m10300.c: Likewise.
* elf32-cr16.c: Likewise.
* elf32-lm32.c: Likewise.
* elf32-m32r.c: Likewise.
* elf32-metag.c: Likewise.
* elf32-score.c: Likewise.
* elf32-score7.c: Likewise.
* elf32-tilepro.c: Likewise.
* elf32-xstormy16.c: Likewise.
* elf32-xtensa.c: Likewise.
* elf64-alpha.c: Likewise.
* elf64-hppa.c: Likewise.
* elf64-ia64-vms.c: Likewise.
* elf64-mmix.c: Likewise.
* elf64-sh64.c: Likewise.
* elfnn-ia64.c: Likewise.
* elfxx-sparc.c: Likewise.
* elfxx-target.h: Likewise.
* elfxx-tilegx.c: Likewise.
* elfxx-x86.h: Likewise.
* hp300hpux.c: Likewise.
* hppabsd-core.c: Likewise.
* hpux-core.c: Likewise.
* i386msdos.c: Likewise.
* i386os9k.c: Likewise.
* ieee.c: Likewise.
* ihex.c: Likewise.
* irix-core.c: Likewise.
* libaout.h: Likewise.
* libecoff.h: Likewise.
* mach-o-target.c: Likewise.
* mach-o.c: Likewise.
* mipsbsd.c: Likewise.
* mmo.c: Likewise.
* netbsd-core.c: Likewise.
* nlm-target.h: Likewise.
* oasys.c: Likewise.
* osf-core.c: Likewise.
* pdp11.c: Likewise.
* pe-mips.c: Likewise.
* pe-x86_64.c: Likewise.
* pef.c: Likewise.
* plugin.c: Likewise.
* ppcboot.c: Likewise.
* ptrace-core.c: Likewise.
* sco5-core.c: Likewise.
* som.c: Likewise.
* sparclynx.c: Likewise.
* srec.c: Likewise.
* tekhex.c: Likewise.
* trad-core.c: Likewise.
* verilog.c: Likewise.
* versados.c: Likewise.
* vms-alpha.c: Likewise.
* vms-lib.c: Likewise.
* wasm-module.c: Likewise.
* xsym.c: Likewise.
* libbfd.h: Regenerate.
Diffstat (limited to 'bfd/libbfd-in.h')
-rw-r--r-- | bfd/libbfd-in.h | 284 |
1 files changed, 131 insertions, 153 deletions
diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h index 7ac0841..b4477fc 100644 --- a/bfd/libbfd-in.h +++ b/bfd/libbfd-in.h @@ -158,8 +158,7 @@ bfd_boolean _bfd_archive_64_bit_write_armap _bfd_generic_get_elt_at_index #define _bfd_archive_64_bit_generic_stat_arch_elt \ bfd_generic_stat_arch_elt -#define _bfd_archive_64_bit_update_armap_timestamp \ - bfd_true +#define _bfd_archive_64_bit_update_armap_timestamp _bfd_bool_bfd_true bfd_boolean _bfd_slurp_extended_name_table (bfd *); @@ -178,22 +177,44 @@ bfd * _bfd_new_bfd bfd_boolean _bfd_free_cached_info (bfd *); -extern bfd_boolean bfd_false +extern bfd_boolean _bfd_bool_bfd_false (bfd *); -extern bfd_boolean bfd_true +extern bfd_boolean _bfd_bool_bfd_asymbol_false + (bfd *, asymbol *); +extern bfd_boolean _bfd_bool_bfd_false_error (bfd *); -extern void * bfd_nullvoidptr +extern bfd_boolean _bfd_bool_bfd_link_false_error + (bfd *, struct bfd_link_info *); +extern bfd_boolean _bfd_bool_bfd_true (bfd *); -extern int bfd_0 +extern bfd_boolean _bfd_bool_bfd_link_true + (bfd *, struct bfd_link_info *); +extern bfd_boolean _bfd_bool_bfd_bfd_true + (bfd *, bfd *); +extern bfd_boolean _bfd_bool_bfd_uint_true + (bfd *, unsigned int); +extern bfd_boolean _bfd_bool_bfd_asection_bfd_asection_true + (bfd *, asection *, bfd *, asection *); +extern bfd_boolean _bfd_bool_bfd_asymbol_bfd_asymbol_true + (bfd *, asymbol *, bfd *, asymbol *); +extern bfd_boolean _bfd_bool_bfd_ptr_true + (bfd *, void *); +extern void *_bfd_ptr_bfd_null_error + (bfd *); +extern int _bfd_int_bfd_0 (bfd *); -extern unsigned int bfd_0u +extern unsigned int _bfd_uint_bfd_0 (bfd *); -extern long bfd_0l +extern long _bfd_long_bfd_0 (bfd *); -extern long _bfd_n1 +extern long _bfd_long_bfd_n1_error (bfd *); -extern void bfd_void +extern void _bfd_void_bfd (bfd *); +extern void _bfd_void_bfd_link + (bfd *, struct bfd_link_info *); +extern void _bfd_void_bfd_asection + (bfd *, asection *); bfd *_bfd_new_bfd_contained_in (bfd *); @@ -246,7 +267,7 @@ int bfd_generic_stat_arch_elt #define _bfd_generic_close_and_cleanup _bfd_archive_close_and_cleanup extern bfd_boolean _bfd_archive_close_and_cleanup (bfd *); -#define _bfd_generic_bfd_free_cached_info bfd_true +#define _bfd_generic_bfd_free_cached_info _bfd_bool_bfd_true extern bfd_boolean _bfd_generic_new_section_hook (bfd *, asection *); extern bfd_boolean _bfd_generic_get_section_contents @@ -257,20 +278,16 @@ extern bfd_boolean _bfd_generic_get_section_contents_in_window /* Generic routines to use for BFD_JUMP_TABLE_COPY. Use BFD_JUMP_TABLE_COPY (_bfd_generic). */ -#define _bfd_generic_bfd_copy_private_bfd_data \ - ((bfd_boolean (*) (bfd *, bfd *)) (bfd_boolean (*)) bfd_true) +#define _bfd_generic_bfd_copy_private_bfd_data _bfd_bool_bfd_bfd_true #define _bfd_generic_bfd_merge_private_bfd_data \ - ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) (bfd_boolean (*)) bfd_true) -#define _bfd_generic_bfd_set_private_flags \ - ((bfd_boolean (*) (bfd *, flagword)) (bfd_boolean (*)) bfd_true) + _bfd_bool_bfd_link_true +#define _bfd_generic_bfd_set_private_flags _bfd_bool_bfd_uint_true #define _bfd_generic_bfd_copy_private_section_data \ - ((bfd_boolean (*) (bfd *, asection *, bfd *, asection *)) (bfd_boolean (*)) bfd_true) + _bfd_bool_bfd_asection_bfd_asection_true #define _bfd_generic_bfd_copy_private_symbol_data \ - ((bfd_boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) (bfd_boolean (*)) bfd_true) -#define _bfd_generic_bfd_copy_private_header_data \ - ((bfd_boolean (*) (bfd *, bfd *)) (bfd_boolean (*)) bfd_true) -#define _bfd_generic_bfd_print_private_bfd_data \ - ((bfd_boolean (*) (bfd *, void *)) (bfd_boolean (*)) bfd_true) + _bfd_bool_bfd_asymbol_bfd_asymbol_true +#define _bfd_generic_bfd_copy_private_header_data _bfd_bool_bfd_bfd_true +#define _bfd_generic_bfd_print_private_bfd_data _bfd_bool_bfd_ptr_true extern bfd_boolean _bfd_generic_init_private_section_data (bfd *, asection *, bfd *, asection *, struct bfd_link_info *); @@ -290,25 +307,24 @@ extern int _bfd_nocore_core_file_pid /* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive file support. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive). */ -#define _bfd_noarchive_slurp_armap bfd_false -#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_boolean (*)) bfd_false) -#define _bfd_noarchive_truncate_arname \ - ((void (*) (bfd *, const char *, char *)) (void (*)) bfd_void) -#define _bfd_noarchive_write_armap \ - ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr -#define _bfd_noarchive_write_ar_hdr \ - ((bfd_boolean (*) (bfd *, bfd *)) (bfd_boolean (*)) bfd_false) -#define _bfd_noarchive_openr_next_archived_file \ - ((bfd * (*) (bfd *, bfd *)) (bfd * (*)) bfd_nullvoidptr) -#define _bfd_noarchive_get_elt_at_index \ - ((bfd * (*) (bfd *, symindex)) (bfd * (*)) bfd_nullvoidptr) +#define _bfd_noarchive_slurp_armap _bfd_bool_bfd_false_error +#define _bfd_noarchive_slurp_extended_name_table _bfd_bool_bfd_false_error +extern bfd_boolean _bfd_noarchive_construct_extended_name_table + (bfd *, char **, bfd_size_type *, const char **); +extern void _bfd_noarchive_truncate_arname + (bfd *, const char *, char *); +extern bfd_boolean _bfd_noarchive_write_armap + (bfd *, unsigned int, struct orl *, unsigned int, int); +#define _bfd_noarchive_read_ar_hdr _bfd_ptr_bfd_null_error +extern bfd_boolean _bfd_noarchive_write_ar_hdr + (bfd *, bfd *); +extern bfd * +_bfd_noarchive_openr_next_archived_file + (bfd *, bfd *); +extern bfd * _bfd_noarchive_get_elt_at_index + (bfd *, symindex); #define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt -#define _bfd_noarchive_update_armap_timestamp bfd_false +#define _bfd_noarchive_update_armap_timestamp _bfd_bool_bfd_false_error /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD style archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd). */ @@ -347,7 +363,7 @@ extern bfd_boolean _bfd_archive_coff_construct_extended_name_table #define _bfd_archive_coff_get_elt_at_index _bfd_generic_get_elt_at_index #define _bfd_archive_coff_generic_stat_arch_elt \ bfd_generic_stat_arch_elt -#define _bfd_archive_coff_update_armap_timestamp bfd_true +#define _bfd_archive_coff_update_armap_timestamp _bfd_bool_bfd_true /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get BSD4.4 style archives. Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_bsd44). */ @@ -386,7 +402,7 @@ extern bfd_boolean _bfd_vms_lib_write_archive_contents (bfd *); extern bfd *_bfd_vms_lib_openr_next_archived_file (bfd *, bfd *); extern bfd *_bfd_vms_lib_get_elt_at_index (bfd *, symindex); extern int _bfd_vms_lib_generic_stat_arch_elt (bfd *, struct stat *); -#define _bfd_vms_lib_update_armap_timestamp bfd_true +#define _bfd_vms_lib_update_armap_timestamp _bfd_bool_bfd_true /* Extra routines for VMS style archives. */ @@ -400,43 +416,34 @@ 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 **)) (long (*)) _bfd_n1) +#define _bfd_nosymbols_get_symtab_upper_bound _bfd_long_bfd_n1_error +extern long _bfd_nosymbols_canonicalize_symtab + (bfd *, asymbol **); #define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol -#define _bfd_nosymbols_print_symbol \ - ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) (void (*)) bfd_void) -#define _bfd_nosymbols_get_symbol_info \ - ((void (*) (bfd *, asymbol *, symbol_info *)) (void (*)) bfd_void) -#define _bfd_nosymbols_get_symbol_version_string \ - ((const char *(*) (bfd *, asymbol *, bfd_boolean *)) (const char * (*)) bfd_nullvoidptr) -#define _bfd_nosymbols_bfd_is_local_label_name \ - ((bfd_boolean (*) (bfd *, const char *)) (bfd_boolean (*)) bfd_false) -#define _bfd_nosymbols_bfd_is_target_special_symbol \ - ((bfd_boolean (*) (bfd *, asymbol *)) (bfd_boolean (*)) bfd_false) -#define _bfd_nosymbols_get_lineno \ - ((alent *(*) (bfd *, asymbol *)) (alent * (*)) bfd_nullvoidptr) -#define _bfd_nosymbols_find_nearest_line \ - ((bfd_boolean (*) (bfd *, asymbol **, asection *, bfd_vma, \ - const char **, const char **, unsigned int *, \ - unsigned int *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nosymbols_find_line \ - ((bfd_boolean (*) (bfd *, asymbol **, asymbol *, \ - const char **, unsigned int *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nosymbols_find_inliner_info \ - ((bfd_boolean (*) (bfd *, const char **, const char **, unsigned int *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nosymbols_bfd_make_debug_symbol \ - ((asymbol * (*) (bfd *, void *, unsigned long)) \ - (asymbol * (*)) bfd_nullvoidptr) -#define _bfd_nosymbols_read_minisymbols \ - ((long (*) (bfd *, bfd_boolean, void **, unsigned int *)) \ - (long (*)) _bfd_n1) -#define _bfd_nosymbols_minisymbol_to_symbol \ - ((asymbol * (*) (bfd *, bfd_boolean, const void *, asymbol *)) \ - (asymbol * (*)) bfd_nullvoidptr) +extern void _bfd_nosymbols_print_symbol + (bfd *, void *, asymbol *, bfd_print_symbol_type); +extern void _bfd_nosymbols_get_symbol_info + (bfd *, asymbol *, symbol_info *); +extern const char * _bfd_nosymbols_get_symbol_version_string + (bfd *, asymbol *, bfd_boolean *); +extern bfd_boolean _bfd_nosymbols_bfd_is_local_label_name + (bfd *, const char *); +#define _bfd_nosymbols_bfd_is_target_special_symbol _bfd_bool_bfd_asymbol_false +extern alent *_bfd_nosymbols_get_lineno + (bfd *, asymbol *); +extern bfd_boolean _bfd_nosymbols_find_nearest_line + (bfd *, asymbol **, asection *, bfd_vma, + const char **, const char **, unsigned int *, unsigned int *); +extern bfd_boolean _bfd_nosymbols_find_line + (bfd *, asymbol **, asymbol *, const char **, unsigned int *); +extern bfd_boolean _bfd_nosymbols_find_inliner_info + (bfd *, const char **, const char **, unsigned int *); +extern asymbol *_bfd_nosymbols_bfd_make_debug_symbol + (bfd *, void *, unsigned long); +extern long _bfd_nosymbols_read_minisymbols + (bfd *, bfd_boolean, void **, unsigned int *); +extern asymbol *_bfd_nosymbols_minisymbol_to_symbol + (bfd *, bfd_boolean, const void *, asymbol *); /* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc support. Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs). */ @@ -446,22 +453,18 @@ extern long _bfd_norelocs_canonicalize_reloc (bfd *, asection *, arelent **, asymbol **); 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)) \ - (reloc_howto_type * (*)) bfd_nullvoidptr) -#define _bfd_norelocs_bfd_reloc_name_lookup \ - ((reloc_howto_type * (*) (bfd *, const char *)) \ - (reloc_howto_type * (*)) bfd_nullvoidptr) +extern reloc_howto_type *_bfd_norelocs_bfd_reloc_type_lookup + (bfd *, bfd_reloc_code_real_type); +extern reloc_howto_type *_bfd_norelocs_bfd_reloc_name_lookup + (bfd *, const char *); /* 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_boolean (*)) bfd_false) -#define _bfd_nowrite_set_section_contents \ - ((bfd_boolean (*) (bfd *, asection *, const void *, file_ptr, bfd_size_type)) \ - (bfd_boolean (*)) bfd_false) +extern bfd_boolean _bfd_nowrite_set_arch_mach + (bfd *, enum bfd_architecture, unsigned long); +extern bfd_boolean _bfd_nowrite_set_section_contents + (bfd *, asection *, const void *, file_ptr, bfd_size_type); /* Generic routines to use for BFD_JUMP_TABLE_WRITE. Use BFD_JUMP_TABLE_WRITE (_bfd_generic). */ @@ -473,61 +476,37 @@ extern bfd_boolean _bfd_generic_set_section_contents /* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not support linking. Use BFD_JUMP_TABLE_LINK (_bfd_nolink). */ -#define _bfd_nolink_sizeof_headers \ - ((int (*) (bfd *, struct bfd_link_info *)) (int (*)) bfd_0) -#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_byte * (*)) bfd_nullvoidptr) -#define _bfd_nolink_bfd_relax_section \ - ((bfd_boolean (*) \ - (bfd *, asection *, struct bfd_link_info *, bfd_boolean *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nolink_bfd_gc_sections \ - ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nolink_bfd_lookup_section_flags \ - ((bfd_boolean (*) (struct bfd_link_info *, struct flag_info *, asection *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nolink_bfd_merge_sections \ - ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nolink_bfd_is_group_section \ - ((bfd_boolean (*) (bfd *, const struct bfd_section *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nolink_bfd_discard_group \ - ((bfd_boolean (*) (bfd *, struct bfd_section *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nolink_bfd_link_hash_table_create \ - ((struct bfd_link_hash_table * (*) (bfd *)) \ - (struct bfd_link_hash_table * (*)) bfd_nullvoidptr) -#define _bfd_nolink_bfd_link_add_symbols \ - ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nolink_bfd_link_just_syms \ - ((void (*) (asection *, struct bfd_link_info *)) \ - (void (*)) bfd_void) -#define _bfd_nolink_bfd_copy_link_hash_symbol_type \ - ((void (*) (bfd *, struct bfd_link_hash_entry *, \ - struct bfd_link_hash_entry *)) \ - (void (*)) bfd_void) -#define _bfd_nolink_bfd_final_link \ - ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nolink_bfd_link_split_section \ - ((bfd_boolean (*) (bfd *, struct bfd_section *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nolink_section_already_linked \ - ((bfd_boolean (*) (bfd *, asection *, struct bfd_link_info *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nolink_bfd_define_common_symbol \ - ((bfd_boolean (*) (bfd *, struct bfd_link_info *, \ - struct bfd_link_hash_entry *)) \ - (bfd_boolean (*)) bfd_false) -#define _bfd_nolink_bfd_define_start_stop \ - ((struct bfd_link_hash_entry * (*) (struct bfd_link_info *, \ - const char *, asection *)) \ - (struct bfd_link_hash_entry * (*)) bfd_nullvoidptr) +extern int _bfd_nolink_sizeof_headers + (bfd *, struct bfd_link_info *); +extern bfd_byte *_bfd_nolink_bfd_get_relocated_section_contents + (bfd *, struct bfd_link_info *, struct bfd_link_order *, + bfd_byte *, bfd_boolean, asymbol **); +extern bfd_boolean _bfd_nolink_bfd_relax_section + (bfd *, asection *, struct bfd_link_info *, bfd_boolean *); +#define _bfd_nolink_bfd_gc_sections _bfd_bool_bfd_link_false_error +extern bfd_boolean _bfd_nolink_bfd_lookup_section_flags + (struct bfd_link_info *, struct flag_info *, asection *); +#define _bfd_nolink_bfd_merge_sections _bfd_bool_bfd_link_false_error +extern bfd_boolean _bfd_nolink_bfd_is_group_section + (bfd *, const asection *); +extern bfd_boolean _bfd_nolink_bfd_discard_group + (bfd *, asection *); +extern struct bfd_link_hash_table *_bfd_nolink_bfd_link_hash_table_create + (bfd *); +#define _bfd_nolink_bfd_link_add_symbols _bfd_bool_bfd_link_false_error +extern void _bfd_nolink_bfd_link_just_syms + (asection *, struct bfd_link_info *); +extern void _bfd_nolink_bfd_copy_link_hash_symbol_type + (bfd *, struct bfd_link_hash_entry *, struct bfd_link_hash_entry *); +#define _bfd_nolink_bfd_final_link _bfd_bool_bfd_link_false_error +extern bfd_boolean _bfd_nolink_bfd_link_split_section + (bfd *, struct bfd_section *); +extern bfd_boolean _bfd_nolink_section_already_linked + (bfd *, asection *, struct bfd_link_info *); +extern bfd_boolean _bfd_nolink_bfd_define_common_symbol + (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *); +extern struct bfd_link_hash_entry *_bfd_nolink_bfd_define_start_stop + (struct bfd_link_info *, const char *, asection *); #define _bfd_nolink_bfd_link_check_relocs \ _bfd_generic_link_check_relocs @@ -535,15 +514,14 @@ extern bfd_boolean _bfd_generic_set_section_contents have dynamic symbols or relocs. Use BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic). */ -#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1 +#define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_long_bfd_n1_error #define _bfd_nodynamic_canonicalize_dynamic_symtab \ - ((long (*) (bfd *, asymbol **)) (long (*)) _bfd_n1) -#define _bfd_nodynamic_get_synthetic_symtab \ - ((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) \ - (long (*)) _bfd_n1) -#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1 -#define _bfd_nodynamic_canonicalize_dynamic_reloc \ - ((long (*) (bfd *, arelent **, asymbol **)) (long (*)) _bfd_n1) + _bfd_nosymbols_canonicalize_symtab +extern long _bfd_nodynamic_get_synthetic_symtab + (bfd *, long, asymbol **, long, asymbol **, asymbol **); +#define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_long_bfd_n1_error +extern long _bfd_nodynamic_canonicalize_dynamic_reloc + (bfd *, arelent **, asymbol **); /* Generic routine to determine of the given symbol is a local label. */ |