Skip to content
  • Alan Modra's avatar
    Remove bfd stub function casts. · d00dd7dc
    Alan Modra authored
    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.
    d00dd7dc