pointer to a boolean variable set to true if something fails.
Cast to PTR rather than void *.
(sym_is_global): Rewrite for clarity.
(map_program_segments): If the program header size is too small,
call _bfd_error_handler and return failure rather than aborting.
(NAME(bfd_elf,write_object_contents)): Pass boolean variable when
calling write_relocs.
(elf_symbol_from_bfd_symbol): Use BFD_ASSERT rather than abort.
(struct elf_info_failed): Define.
(NAME(bfd_elf,size_dynamic_sections)): Declare variables in inner
blocks. Pass elf_info_failed structure when calling
elf_export_symbol and elf_adjust_dynamic_symbol.
(elf_export_symbol): Treat data argument as elf_info_failed rather
than bfd_link_info. Set failed field on error.
(elf_adjust_dynamic_symbol): Likewise.
(struct elf_finfo_failed): Define.
(elf_bfd_final_link): Pass elf_finfo_failed structure when calling
elf_link_output_extsym. Use BFD_ASSERT rather than abort.
(elf_link_output_extsym): Treat data argument as elf_finfo_failed
rather than elf_final_link_info. Set failed field on error.
(elf_link_input_bfd): Use BFD_ASSERT rather than abort.
(elf_reloc_link_order): Likewise.
the reloc count does not fit, print an error and return 0.
* coffcode.h (coff_write_object_contents): Check return value of
coff_swap_scnhdr_out.
* ecoff.c (_bfd_ecoff_write_object_contents): Check return value
of bfd_coff_swap_scnhdr_out.
ANSI_PROTOTYPES.
(bfd_error_handler_type): New global type.
(_bfd_error_program_name): New static variable.
(_bfd_default_error_handler): New static function.
(_bfd_error_handler): New BFD private global variable.
(bfd_set_error_handler): New globally visible function.
(bfd_set_error_program_name): New globally visible function.
* libbfd-in.h (_bfd_error_handler): Declare.
* bfd-in2.h, libbfd.h: Rebuild.
and use it instead of bfd_get_symcount. Check r_index after
setting r_extern based on whether this is a base relative reloc.
(NAME(aout,swap_std_reloc_IN)): Add symcount parameter, and use it
instead of bfd_get_symcount.
(NAME(aout,slurp_reloc_table)): Pass bfd_get_symcount to reloc
swap routines.
* libaout.h (NAME(aout,swap_ext_reloc_in)): Add symcount parameter
to declaration.
(NAME(aout,swap_std_reloc_in)): Likewise.
* sunos.c (sunos_canonicalize_dynamic_reloc): Pass
info->dynsym_count to reloc swap routines.
* aout-ns32k.c (MY_swap_std_reloc_in): Add symcount parameter.
* hp300hpux.c (MY(swap_std_reloc_in)): Likewise.
(MY(slurp_reloc_table)): Pass bfd_get_symcount to reloc swap
routine.
* i386lynx.c (NAME(lynx,swap_ext_reloc_in)): Add symcount
parameter.
(NAME(lynx,swap_std_reloc_in)): Likewise.
(NAME(lynx,slurp_reloc_table)): Pass bfd_get_symcount to reloc
swap routines.
_bfd_coff_adjust_symndx.
(bfd_coff_adjust_symndx): Define.
(coff_adjust_symndx): Define as NULL if not already defined.
(bfd_coff_std_swap_table): Initialize new field to
coff_adjust_symndx.
* cofflink.c (coff_link_input_bfd): Call coff_adjust_symndx if it
is defined.
* coff-a29k.c (coff_a29k_adjust_symndx): New static function.
(coff_adjust_symndx): Define before including coffcode.h.
* libcoff.h: Rebuild.
machine types.
(bfd_hppa_arch): Link in both PA1.0 and PA1.1 architecture info
structures.
* libhppa.h (enum pa_arch): New enumeration to describe the
different variants of the PA architecture.
* som.c (som_object_setup): Use new enumeration to set machine
type.
(som_finish_writing): If the machine type is PA1.1, then use the
PA1.1 machine identifier in the output file.
* binary.c: Add support for reading binary files. Loads the raw
contents of the file into a data section and wraps some symbols
around it. The symbols `_binary_<filename>_start' and
`_binary_<filename>_end' indicate the start and end of the data,
while `_binary_<filename>_size' is an absolute symbol whose value
is the size of the data. <filename> is the name of the binary
input file, with all non-alphanumeric characters converted to
underscores.
* archures.c (bfd_arch_get_compatible): Assume users knows what
they're doing if one of the architectures is bfd_arch_unknown.
(mips_elf_find_nearest_line): New static function.
(bfd_elf32_find_nearest_line): Define.
* libelf.h (struct elf_obj_tdata): Add find_line_info field.
* ecoff.c (_bfd_ecoff_swap_tir_in): Move to ecofflink.c.
(_bfd_ecoff_swap_tir_out): Likewise.
(_bfd_ecoff_swap_rndx_in): Likewise.
(_bfd_ecoff_swap_rndx_out): Likewise.
(cmp_fdrtab_entry): Likewise.
(mk_fdrtab): Likewise.
(lookup): Likewise.
(_bfd_ecoff_find_nearest_line): Just call _bfd_ecoff_locate_line
to do most of the work. Allocate find_line_info if necessary.
* ecofflink.c: Include "aout/stab_gnu.h".
(_bfd_ecoff_swap_tir_in): Move in from ecoff.c.
(_bfd_ecoff_swap_tir_out): Likewise.
(_bfd_ecoff_swap_rndx_in): Likewise.
(_bfd_ecoff_swap_rndx_out): Likewise.
(cmp_fdrtab_entry): Likewise. Use PTR instead of void *.
(mk_fdrtab): Move in from ecoff.c. Add debug_info, debug_swap,
and line_info arguments, and use them instead of ecoff_data.
(fdrtab_lookup): Move in from lookup in ecoff.c. Remove abfd
argument, add line_info argument. Use it instead of ecoff_data.
(_bfd_ecoff_locate_line): New function, mostly from the old
_bfd_ecoff_find_nearest_line in ecoff.c.
* libecoff.h (ecoff_data_type): Remove find_buffer, fdrtab_len and
fdrtab fields, replacing them find_line_info field.
(_bfd_ecoff_swap_tir_in): Declare.
(_bfd_ecoff_swap_tir_out): Declare.
(_bfd_ecoff_swap_rndx_in): Declare.
(_bfd_ecoff_swap_rndx_out): Declare.
* libbfd-in.h (_bfd_ecoff_locate_line): Declare.
* libbfd.h: Rebuild.
* configure.in: Don't use ecoff.o for bfd_elf32_bigmips_vec or
bfd_elf32_littlemips_vec.
* Makefile.in: Rebuild dependencies.
accept M_SPARC if bfd_arch_sparc is not in the list of supported
architectures, and don't accept a 680x0 machine type if
bfd_arch_m68k is not in the list of supported architectures.
* aout0.c (MACHTYPE_OK): Define.
(bfd_mach_arc_host, bfd_mach_arc_graphics, bfd_mach_arc_audio): Ditto.
* cpu-arc.c (arch_info_struct): Define entries for each cpu variant.
(bfd_arc_arch): Link each one in.
(arc_get_mach): New function.
* elf32-arc.c (arc_info_to_howto_rel): Renamed from arc_info_to_howto.
(elf_info_to_howto_rel): Update.
(arc_elf_object_p, arc_elf_final_write_processing): New functions.
(elf_backend_object_p): Define.
(elf_backend_final_write_processing): Define.
(USE_REL): Define.