Mention that the GNU linker is aware of input-output format
restrictions when generating relocatable output. Make new
paragraph for final-link case.
(BFD target vector swap): Fix typo.
elf_backend_emit_relocs: New field: Function for emitting
relocs.
elf_backend_count_relocs: New field: Function for determining
the number of relocs to be emitted.
* elfxx-target.h: Provide default (NULL) values for
elf_backend_emit_relocs and elf_backend_count_relocs.
* elflink.h (elf_link_size_reloc_section): Make the hash table
big enough to hold the relocs counted by either reloc_count or
o->reloc_count.
(elf_bfd_final_link) emit_relocs: New boolean, set if relocs
should be emitted, either because of a command line option
stored in the info structure or because the target provides a
special reloc emitting function.
If the target provides a reloc counting function use it,
unless performing a relocatable link or emitting all relocs.
Also set the SEC_RELOC flag on any output section which will
contain relocs.
(elf_link_input_bfd): emit_relocs: New boolean, set if relocs
should be emitted, either because of a command line option
stored in the info structure or because the target provides a
special reloc emitting function.
If the target provides a reloc emitting function, use it,
unless performing a relocatable link or emitting all relocs.
Update for API change in bfd_elf${ELFSIZE}_size_dynamic_sections.
* mpw-elfmips.c (gldelf32ebmip_before_allocation): Ditto.
* ld.h (args_type): Remove member export_dynamic. All users
changed to use struct bfd_link_info member.
export_dynamic. All users changed to use info member.
NAME(bfd_elf,size_dynamic_sections)): Remove parameter
export_dynamic, instead use member in parameter info.
* bfd-in.h (bfd_elf32_size_dynamic_sections,
bfd_elf64_size_dynamic_sections): Update prototype.
* bfd-in2.h: Regenerate.
* elflink.h (elf_info_failed): Add a new field, verdefs.
(NAME(bfd_elf,size_dynamic_sections): Pass verdefs to
elf_export_symbol.
(elf_export_symbol): Check eif->verdefs to decide if a symbol
should be exported.
definitions. Generate an error when both pure multi-arch and
"tm.h".
* gdbarch.h, gdbarch.c: Regenerate.
* defs.h (GDB_MULTI_ARCH_TM): Rewrite definition.
* elf32-mips.c (mips_elf_link_hash_entry): Add a new field,
readonly_reloc, to record if a relocation in the .rel.dyn
section is against a read-only section.
(mips_elf_link_hash_newfunc): Initialize the readonly_reloc
field to false.
(_bfd_mips_elf_check_relocs): Record if there is a relocation
in the .rel.dyn section against a read-only section by setting
DF_TEXTREL or readonly_reloc.
(_bfd_mips_elf_copy_indirect_symbol): Copy readonly_reloc if
it is true.
(_bfd_mips_elf_adjust_dynamic_symbol): Record DF_TEXTREL if
there is a relocation in the .rel.dyn section against a
read-only section.
(_bfd_mips_elf_size_dynamic_sections): Set DT_TEXTREL if
DF_TEXTREL is set.
* infrun.c (context_switch): New function. Abstract the operation
of saving and restoring infrun's state when switching threads.
(handle_inferior_event): Normalize the handling of the 'thread hop'
event (when the wrong thread hits a thread-specific breakpoint,
and we need to solo-step that thread past the breakpoint).
Call keep_going, instead of target_resume. Handle the subsequent
singlestep-trap as a normal event instead of just resuming.