* ecoff.c (struct extsym_info): Define.
(_bfd_ecoff_bfd_final_link): Pass a pointer to struct extsym_info
to ecoff_link_write_external.
(ecoff_link_write_external): Accept a struct extsym_info pointer.
Strip symbols when appropriate.
* syms.c (BSF_OBJECT): Define.
(bfd_print_symbol_vandf): Print 'O' for BSF_OBJECT.
* bfd-in2.h: Rebuild.
* elfcode.h (elf_slurp_symbol_table): Set BSF_OBJECT for an
STT_OBJECT symbol.
* elf.c (swap_out_syms): Only set type to STT_OBJECT if BSF_OBJECT
is set.
copying relocs into a shared object, treat a defined global symbol
as a local symbol.
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
* elf32-mips.c (mips_elf_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
entry_section fields. Add sntoc and snentry fields.
* libcoff.h: Rebuild.
* coffcode.h (coff_mkobject_hook): Initialize sntoc and snentry,
not toc_section and entry_section (the COFF file does not have any
sections at this point).
(coff_write_object_contents): Set o_snentry and o_sntoc from
snentry and sntoc rather than entry_section and toc_section.
* coff-rs6000.c (xcoff_copy_private_bfd_data): Copy sntoc and
snentry, not toc_section and entry_section.
* xcofflink.c (bfd_xcoff_size_dynamic_sections): Don't set
entry_section from hentry.
(xcoff_link_input_bfd): If a defined symbol has XCOFF_ENTRY set,
set snentyr.
(xcoff_link_input_bfd): Set sntoc, not toc_section.
(xcoff_write_global_symbol): Get toc_section from sntoc, rather
than using toc_section directly.
of flags, only flags used are controlled by mach number. Bump up
output file mach number to highest of input file mach numbers.
(elf32_sparc_object_p): Watch for EF_SPARC_SUN_US1.
(elf32_sparc_final_write_processing): Set EF_SPARC_SUN_US1 if v8plusa.
Also, delete v8plus sanitization.
.lib section to work even if the entire section contents are
written at once. From Gvran Uddeborg <gvran@uddeborg.pp.se> and
Robert Lipe <robertl@arnet.com>.
dynamic section, if there is one.
* elf-bfd.h (struct elf_size_info): Add swap_dyn_in field.
(bfd_elf32_swap_dyn_in): Change type of second parameter to PTR.
(bfd_elf64_swap_dyn_in): Likewise.
* elfcode.h (elf_swap_dyn_in): Change type of second parameter to
PTR.
(NAME(_bfd_elf,size_info)): Initialize swap_dyn_in field.
support, from Kazumoto Kojima <kkojima@info.kanagawa-u.ac.jp>.
* elf-bfd.h (struct elf_backend_data): Add type_change_ok field.
(struct elf_backend_data): Remove
elf_backend_create_program_headers field. Add
elf_backend_additional_program_headers and
elf_backend_modify_segment_map fields.
* elfxx-target.h (elf_backend_type_change_ok): Define if not
defined.
(elf_backend_additional_program_headers): Likewise.
(elf_backend_modify_segment_map): Likewise.
(elf_backend_create_program_headers): Don't define.
(elfNN_bed): Change to account for field changes.
* elf.c (assign_file_positions_for_segments): Call new
modify_segment_map backend function. Don't call old
create_program_headers backend function.
(get_program_header_size): Call additional_program_headers rather
than create_program_headers.
* elflink.h (elf_link_add_object_symbols): Initialize
type_change_ok from new backend field.
(elf_link_output_extsym): Don't warn if _rld_new_interface is
defined.
(elf_reloc_link_order): Treat a reloc against a defined symbol as
a reloc against the appropriate section.
(struct elf_obj_tdata): Rename ppc_flags_init field to flags_init.
(elf_flags_init): Rename from elf_ppc_flags_init.
* elf32-ppc.c (ppc_elf_set_private_flags): Use elf_flags_init, not
elf_ppc_flags_init.
(ppc_elf_copy_private_bfd_data): Likewise.
(ppc_elf_merge_private_bfd_data): Likewise.