2005-02-04  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove special handling for
	*ABS*/*UND* sections.
	(elf32_frv_relocate_section): Move zero-addend-required error...
	(_frv_emit_got_relocs_plt_entries): ... here.  Report error for
	missing needed TLS section.

2004-12-10  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (elf32_frv_relocate_section): Force local binding
	for TLSMOFF.

	* reloc.c: Add R_FRV_TLSMOFF.
	* elf32-frv.c (elf32_frv_howto_table): Likewise.
	(frv_reloc_map, frv_reloc_type_lookup): Map it.
	(elf32_frv_relocate_section): Handle it.
	(elf32_frv_check_relocs): Likewise.

	* libbfd.h, bfd-in2.h: Rebuilt.

2004-11-26  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (_frvfdpic_emit_got_relocs_plt_entries): Don't crash
	when given an undefweak TLS symbol.  Fix constant TLS PLT entries
	such that they return the constant in gr9.
	(_frvfdpic_relax_tls_entries): Don't crash for undefweak TLS
	symbols.
	(_frvfdpic_size_got_plt): Set _cooked_size of dynamic sections.
	too, such that they shrink on relaxation.
	(elf32_frvfdpic_finish_dynamic_sections): Check __ROFIXUP_END__ as
	marking the position right past the _GLOBAL_OFFSET_TABLE_ value.
	(_frvfdpic_assign_plt_entries): Shrink constant TLS PLT entries
	if we can guarantee the use of 16-bit constants.

2004-11-10  Alexandre Oliva  <aoliva@redhat.com>

	Introduce TLS support for FR-V FDPIC.
	* reloc.c: Add TLS relocations.
	* elf32-frv.c (elf32_frv_howto_table): Add TLS relocations.
	(elf32_frv_rel_tlsdesc_value_howto): New.
	(elf32_frv_rel_tlsoff_howto): New.
	(frv_reloc_map): Add new mappings.
	(struct frvfdpic_elf_link_hash_table): Add pointer to summary
	reloc information.
	(frvfdpic_dynamic_got_plt_info): New.
	(frvfdpic_plt_tls_ret_offset): New.
	(ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE): Move earlier.
	(struct _frvfdpic_dynamic_got_info): Likewise.  Add TLS members.
	(struct _frvfdpic_dynamic_got_plt_info): Likewise.
	(FRVFDPIC_SYM_LOCAL): Regard symbols defined in the absolute
	section as local.
	(struct frvfdpic_relocs_info): Add TLS fields.
	(frvfdpic_relocs_info_hash): Warning clean up.
	(frvfdpic_relocs_info_find): Initialize tlsplt_entry.
	(frvfdpic_pic_merge_early_relocs_info): Merge TLS fields.
	(FRVFDPIC_TLS_BIAS): Define.
	(tls_biased_base): New.
	(_frvfdpic_emit_got_relocs_plt_entries): Deal with TLS
	relocations.
	(frv_reloc_type_lookup): Likewise.
	(frvfdpic_info_to_howto_rel): Likewise.
	(elf32_frv_relocate_section): Likewise.
	(_frv_create_got_section): Create the PLT section here.
	(elf32_frvfdpic_create_dynamic_sections): Not here.
	(_frvfdpic_count_nontls_entries): Move out of...
	(_frvfdpic_count_got_plt_entries): ... here.
	(_frvfdpic_count_tls_entries): Likewise.  Add TLS support.
	(_frvfdpic_count_relocs_fixups): Likewise.  Add relaxation
	support.
	(_frvfdpic_relax_tls_entries): New.
	(_frvfdpic_compute_got_alloc_data): Add TLS support.
	(_frvfdpic_get_tlsdesc_entry): New.
	(_frvfdpic_assign_got_entries): Add TLS support.
	(_frvfdpic_assign_plt_entries): Likewise.
	(_frvfdpic_reset_got_plt_entries): New.
	(_frvfdpic_size_got_plt): Move out of...
	(elf32_frvfdpic_size_dynamic_sections): ... here.
	(_frvfdpic_relax_got_plt_entries): New.
	(elf32_frvfdpic_relax_section): New.
	(elf32_frvfdpic_finish_dynamic_sections): Add TLS sanity check.
	(elf32_frv_check_relocs): Add TLS support.
	(bfd_elf32_bfd_relax_section): Define for FDPIC.
	* libbfd.h, bfd-in2.h: Rebuilt.

2004-09-02  Alexandre Oliva  <aoliva@redhat.com>

	* config.bfd: Match frv*-*-*linux*.
	(targ_archs): Map frv* to bfd_frv_arch.

2004-03-01  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (struct frv_pic_relocs_info): Added fixups and
	dynrelocs.
	(_frv_count_got_plt_entries): Initialize them.
	(frv_pic_relocs_info_find): Add insert argument.  Adjust all
	callers.
	(frv_pic_relocs_info_for_global): Likewise.
	(frv_pic_relocs_info_for_local): Likewise.
	(frv_pic_merge_early_relocs_info): New.
	(_frv_resolve_final_relocs_info): Use it in case one entry maps to
	another.
	(_frv_add_dyn_reloc): Add entry argument.  Adjust all callers.
	Check that we don't exceed the allocated count for entry.
	(_frv_add_rofixup): Likewise.
	(_frv_emit_got_relocs_plt_entries): Adjust for coding standards.
	(elf32_frv_finish_dynamic_sections): Improve error message in case
	we emit too few rofixup entries.

2004-02-16  Richard Sandiford  <rsandifo@redhat.com>

	* archures.c (bfd_mach_fr450): New.
	* bfd-in2.h: Regenerate.
	* cpu-frv.c (arch_info_450): New bfd_arch_info_type.
	(arch_info_500): Link to it.
	* elf32-frv.c (elf32_frv_machine): Map EF_FRV_CPU_FR450
	to bfd_mach_fr450.

2004-02-14  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local.
	(_frv_emit_got_relocs_plt_entries): Decay relocation to protected
	function's descriptor to symbol+offset, and map local undefweak
	symbol to NULL function descriptor.
	(elf32_frv_relocate_section): Likewise.

2004-02-10  Alexandre Oliva  <aoliva@redhat.com>

	* elf-bfd.h (elf_backend_data::elf_backend_adjust_eh_frame_hdr):
	Removed.
	(elf_backend_data::elf_backend_encode_eh_address): New.
	(_bfd_elf_encode_eh_address): New.
	(_bfd_elf_can_make_relative): New.
	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Simplify.
	(_bfd_elf_write_section_eh_frame_hdr): Adjust.
	(_bfd_elf_can_make_relative): New.
	(_bfd_elf_encode_eh_address): New.
	* elf32-frv.c (frv_elf_adjust_eh_frame_hdr): Renamed to...
	(frv_elf_encode_eh_address): Adjust.
	(elf_backend_adjust_eh_frame_hdr): Remove.
	(elf_backend_encode_eh_address): Define.
	* elfxx-target.h (elf_backend_can_make_relative_eh_frame): Define
	to _bfd_elf_can_make_relative.
	(elf_backend_can_make_lsda_relative_eh_frame): Likewise.
	(elf_backend_adjust_eh_frame_hdr): Deleted.
	(elf_backend_encode_eh_address): Define to
	_bfd_elf_encode_eh_address.
	(elfNN_bfd): Replace elf_backend_adjust_eh_frame_hdr with
	elf_backend_encode_eh_address.

2004-01-30  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer
	to bfd_link_hash_entry passed by reference to
	_bfd_generic_link_add_one_symbol.

2004-01-26  Richard Sandiford  <rsandifo@redhat.com>

	* elf32-frv.c (elf32_frv_machine): Handle fr405 and fr450 header flags.
	(frv_elf_print_private_bfd_data): Likewise.
	(frv_elf_merge_private_bfd_data): Likewise.  Allow code for different
	fr400 submodels to be linked together.  Use the highest-numbered
	submodel for the output file.

2003-12-18  Alexandre Oliva  <aoliva@redhat.com>

	* elf-bfd.h (struct elf_backend_data): Added
	elf_backend_can_make_relative_eh_frame,
	elf_backend_can_make_lsda_relative_eh_frame and
	elf_backend_adjust_eh_frame_hdr.
	* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new
	hooks to decide whether to attempt to make_relative and
	make_lsda_relative.
	(_bfd_elf_write_section_eh_frame_hdr): Call adjust_eh_frame_hdr.
	* elf32-frv.c (frv_elf_use_relative_eh_frame): New.
	(frv_elf_adjust_eh_frame_hdr): New.
	(elf_backend_can_make_relative_eh_frame): Define.
	(elf_backend_can_make_lsda_relative_eh_frame): Define.
	(elf_backend_adjust_eh_frame_hdr): Define.
	* elfxx-target.h
	(elf_backend_can_make_relative_eh_frame): Define.
	(elf_backend_can_make_lsda_relative_eh_frame): Define.
	(elf_backend_adjust_eh_frame_hdr): Define.
	(elfNN_bed): Add them.

2003-12-17  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (_frv_osec_readonly_p): New.
	(_frv_emit_got_relocs_plt_entries): Don't emit rofixup for
	undefweak symbol.
	(_frv_count_got_plt_entries): Adjust expected count accordingly.
	(elf32_frv_relocate_section): Likewise.  Error out if attempting
	to emit rofixups or dynamic relocs in read-only segments.  Use
	_bfd_elf_section_offset to adjust r_offsets in rofixups and
	dynamic relocations.

2003-12-12  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (elf32_frv_relocate_section): Compute dynamic
	relocations or fixups involving merged sections correctly.  Avoid
	crash when undefined symbol is referenced by R_FRV_32 or
	R_FRV_FUNCDESC_VALUE.

2003-12-02  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (elf32_frv_relocate_section): Add output_offset of
	input section holding local symbol to addend of R_FRV_32 or
	R_FRV_FUNCDESC_VALUE dynamic relocation.

2003-11-27  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg.
	(elf32_frv_always_size_sections): Don't store pointer to
	__stacksize symbol in sec_info.
	(elf32_frv_modify_segment_map): Look it up here.

2003-11-26  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address
	of the lazy PLT entry, not only its offset, as the low word of a
	function descriptor.

2003-11-10  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize
	if a hash table entry already exists but is not a definition.

2003-11-05  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc.
	(_frv_add_rofixup): Don't inline.
	(_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address
	for undefweak symbols.
	(elf32_frv_relocate_section): Avoid crash while computing
	relocation when linking with shared library.  Only emit rofixups
	and dynamic relocations for alloc&load sections.  Mark binaries
	with inter-segment relocations for relocation as a unit.
	(_frv_create_got_section): Rename .rofixup.got to .rofixup.
	(DEFAULT_STACK_SIZE): New.
	(_frv_count_got_plt_entries): Fix thinko in deciding whether to
	emit rofixups or dynamic relocs when linking dynamic non-PIE
	executables.
	(elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and
	shared libs too.  Reserve the last entry for the GOT pointer.
	(elf32_frv_finish_dynamic_sections): Emit it.
	(elf32_frv_always_size_sections): New.
	(elf32_frv_modify_segment_map): New.
	(elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC
	sections.
	(frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set.
	(frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC.
	(elf_backend_always_size_sections): New.
	(elf_backend_modify_segment_map): New.

2003-10-31  Alexandre Oliva  <aoliva@redhat.com>

	* config.bfd: Added frv-*-*linux*.

	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for
	ABS section, instead of crashing.
	(elf32_frv_relocate_section): Don't crash before warning about
	different segments in non-PIC relocation.

2003-10-17  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24
	relocs to undefweak symbols.
	(elf32_frv_relocate_section): Ditto for undefined symbols.

2003-10-06  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure
	gotfixup section was created.

2003-09-30  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (elf32_frv_howto_table): Change GOT12,
	FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to
	complain_overflow_signed.

	* elf32-frv.c (_frv_add_rofixup): Do not error out if contents
	have not been allocated.
	(_frv_emit_got_relocs_plt_entries): Return non-void.  Assert
	privfd only if dynamic sections were created.
	(elf32_frv_relocate_section): Compute gprel_segment, and use it
	for GPREL relocs.  When linking relocatable FDPIC executables,
	emit warnings for relocations that would be illegal on PIE or
	shared libraries.  Emit rofixup for R_FRV_32 only if input object
	is not FDPIC.
	(_frv_create_got_section): Define _gp symbol in the rofixup
	section.
	(elf32_frv_finish_dynamic_sections): If rofixups needed but
	dynamic sections missing, error out requesting -melf32frvfd.

2003-09-19  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange
	computation of addends from section and global or local symbol
	value.  Change return type to bfd_boolean, and return a failure if
	a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a
	nonzero addend is required.
	(elf32_frv_relocate_section): Likewise.  Print error for
	unsupported nonzero addends.

2003-09-18  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections,
	force everything local.
	(_frv_emit_got_relocs_plt_entries): Cope with NULL sec.

	* elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup.
	(frv_gotfixup_section): New.
	(FRV_SYM_LOCAL): Accept undefweak and local common symbols.
	(struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd
	and relocsfdv.
	(_frv_add_rofixup): New.
	(_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE
	fdpic executables.  Use FRV_SYM_LOCAL more widely to simplify and
	improve some ugly conditions.
	(elf32_frv_relocate_section): Likewise.  Reject inter-segment
	relocations in fdpic.
	(_frv_create_got_section): Create .rofixup.got section.
	(struct _frv_dynamic_got_info): Added fixups.
	(_frv_count_got_plt_entries): Account in-GOT relocations into
	relocs32, relocsfd and relocsfdv.  Account them into relocs or
	fixups, as appropriate.
	(elf32_frv_size_dynamic_sections): Size rofixup section.  Simplify
	sizing of gotrel.
	(elf32_frv_finish_dynamic_sections): Verify that the right number
	of relocations and fixups was generated.
	(elf32_frv_check_relocs): Compute relocs32, relocsfd and
	relocsfdv.

	* elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of
	SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL.
	(FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function
	descriptor of a (formerly-)global symbol is local.
	(struct frv_pic_relocs_info): Adjust comments.
	(_frv_emit_got_relocs_plt_entries): Adjust.
	(elf32_frv_relocate_section): Likewise.
	(_frv_count_got_plt_entries): Likewise.

	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global
	symbol's value to addend in the common preamble.  Decay dynamic
	symbols to section+offset if they bind or call locally, for GOT
	and FUNCDESC_VALUE, respectively.
	(elf32_frv_relocate_section): Likewise.
	(elf32_frv_check_relocs): Don't register as dynamic symbols of
	internal or hidden visibility.

2003-09-17  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as
	argument, so as to not call _bfd_elf_rel_local_sym to compute it.
	(elf32_frv_relocate_section): Pass relocation addend in.  Use
	original relocation addend to look up the got relocs/plt entries
	table.  Do not call _bfd_elf_rel_local_sym.  Don't error out when
	processing relocations that reference .scommon symbols.

2003-09-15  Alexandre Oliva  <aoliva@redhat.com>

	Introduce support for dynamic linking.
	* elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits.
	(elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto,
	elf32_frv_rel_funcdesc_value_howto): New REL descriptors.
	(frv_reloc_type_lookup): Return REL howtos for executables and
	dynamic libraries.
	(frv_info_to_howto_rel): New.
	(struct frv_elf_link_hash_table): New.
	(frv_hash_table, frv_got_section, frv_gotrel_section,
	frv_plt_section, frv_pltrel_section, frv_relocs_info,
	frv_got_initial_offset, frv_plt_initial_offset): New macros.
	(frv_elf_link_hash_table_create): New.
	(struct frv_pic_relocs_info): New.
	(frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New.
	(frv_pic_relocs_info_find): New.
	(frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local):
	New.
	(FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New.
	(_frv_add_dyn_reloc, _frv_osec_to_segment): New.
	(_frv_emit_got_relocs_plt_entries): New.
	(elf32_frv_relocate_section): Add support for dynamic linking.
	Handle new relocations.
	(_frv_create_got_section): New.
	(elf32_frv_create_dynamic_sections): New.
	(ELF_DYNAMIC_INTERPRETER): New.
	(struct _frv_dynamic_got_info): New.
	(_frv_count_got_plt_entries): New.
	(struct _frv_dynamic_got_plt_info): New.
	(_frv_compute_got_alloc_data): New.
	(_frv_get_got_entry, _frv_get_fd_entry): New.
	(_frv_assign_got_entries, _frv_assign_plt_entries): New.
	(_frv_resolve_final_relocs_info): New.
	(elf32_frv_size_dynamic_sections): New.
	(elf32_frv_finish_dynamic_sections): New.
	(elf32_frv_adjust_dynamic_symbol): New.
	(elf32_frv_finish_dynamic_symbol): New.
	(elf32_frv_check_relocs): Handle new relocs.  Explain how the
	whole thing works.
	(elf_info_to_howto_rel): Define.
	(bfd_elf32_bfd_link_hash_table_create): Define.
	(elf_backend_create_dynamic_sections): Define.
	(elf_backend_adjust_dynamic_symbol): Define.
	(elf_backend_size_dynamic_sections): Define.
	(elf_backend_finish_dynamic_symbol): Define.
	(elf_backend_finish_dynamic_sections): Define.
	(elf_backend_want_got_sym): Define.
	(elf_backend_got_header_size): Define.
	(elf_backend_want_got_plt): Define.
	(elf_backend_plt_readonly): Define.
	(elf_backend_want_plt_sym): Define.
	(elf_backend_plt_header_size): Define.
	(elf_backend_may_use_rel_p): Define.
	(elf_backend_may_use_rela_p): Define.
	(elf_backend_default_use_rela_p): Define.

2003-08-22  Michael Snyder  <msnyder@redhat.com>

	* archures.c: Add FRV fr550 machine.
	* cpu-frv.c: Ditto.
	* elf32-frv.c: Ditto.
	* bfd-in2.h: Regenerate.

2003-08-08  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
	R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12,
	R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New.
	(frv_reloc_map): Map the corresponding BFD relocs to them.
	(frv_reloc_type_lookup): ... and back to BFD relocs.
	* reloc.c: New relocs.
	* bfd-in2.h, libbfd.h: Rebuilt.

2003-08-04  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
	R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
	R_FRV_FUNCDESC_GOTLO): New.
	(frv_reloc_map): Map the corresponding BFD relocs to them.
	(frv_reloc_type_lookup): ... and back to BFD relocs.
	* reloc.c: New relocs.
	* bfd-in2.h, libbfd.h: Rebuilt.

2003-06-04  Richard Sandiford  <rsandifo@redhat.com>

	* archures.c (bfd_mach_h8300sxn): New architecture.
	* cpu-h8300.c (h8300_scan): Check for 'sxn'.
	(compatible): Allow h8300sn and h8300sxn code to be linked together,
	treating the result as h8300sxn code.
	(h8300sxn_info_struct): New.
	(h8300sx_info_struct): Link to it.
	* elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
	(elf32_h8_final_write_processing): Likewise.

2003-03-18  Andrew Cagney  <cagney@redhat.com>

	* bfd-in.h (_bfd): Define as bfd.
	* bfd-in2.h: Regenerate.

2003-02-27  Bernd Schmidt  <bernds@redhat.com>

	* cpu-h8300.c (h8300_scan)): Add support for h8sx.
	(h8300sx_info_struct): New.
	(h8300s_info_struct): Link to it.
	* elf32-h8300.c (elf32_h8_mach): Add support for h8sx.
	(elf32_h8_final_write_processing): Likewise.
	(elf32_h8_relax_section): Likewise.

2003-02-20  Bernd Schmidt  <bernds@redhat.com>

	* archures.c (bfd_mach_h8sx): New.
	* bfd-in2.h: Regenerate.

2002-12-12  Alexandre Oliva  <aoliva@redhat.com>

	* elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
	pcrel_relocs_copied.

2002-09-30  Richard Sandiford  <rsandifo@redhat.com>

	* archures.c (bfd_mach_mips4181): Remove.
	* cpu-mips.c (I_mips4181): Remove.
	(arch_info_struct): Remove corresponding entry here.

2002-09-30  Richard Sandiford  <rsandifo@redhat.com>

	* elfxx-mips.c (_bfd_elf_mips_mach): Remove E_MIPS_MACH_5000
	and E_MIPS_MACH_4181 handling.
	(_bfd_mips_elf_final_write_processing): Don't set E_MIPS_MACH_5000.
	(_bfd_mips_elf_merge_private_bfd_data): Don't check for it.

2002-09-26  Richard Sandiford  <rsandifo@redhat.com>

	* archures.c (bfd_mach_mips4121): Rename to bfd_mach_mips4120.
	* cpu-mips.c (I_mips4121): Rename to I_mips4120.
	(arch_info_struct): Update accordingly.  Rename mips:4121 to mips:4120.
	* elfxx-mips.c (_bfd_elf_mips_mach): More 4121 to 4120 renumbering.
	(_bfd_mips_elf_final_write_processing): Likewise.
	(_bfd_mips_elf_merge_private_bfd_data): Likewise.
	* bfd-in2.h: Regenerate.

2002-07-24  Nick Clifton  <nickc@redhat.com>

	* elf32-v850.c (v850_elf_merge_private_bfd_data): Allow v850e1
	binaries to be linked with v850e binaries.  Mark the output as
	v850e.

2002-07-16  Nick Clifton  <nickc@cambridge.redhat.com>

	* archures.c (bfd_mach_v850e1): Define.
	* bfd-in2.h: Regenreate.
	* cpu-v850.h (scan): Accept bfd_mach_v850e1.
	(arch_info_struct): Include an entry for bfd_mach_v850e1.
	* elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag.
	(v850_elf_final_write_processing): Accept bfd_mach_v850e1.
	(v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag.
	
2002-05-06  Nick Clifton  <nickc@cambridge.redhat.com>

	* coff-arm.c (coff_arm_final_link_postscript): Skip warning about
	being unable to find .note section - it will not exist if the
	output abfd is not going to be written out.
	* elf32-arm.h (elf32_arm_final_write_processing): As above.

2002-05-03  Nick Clifton  <nickc@cambridge.redhat.com>

	* coffcode.h (styp_to_sec_flags): Treat .note sections as
	linkonce.

2002-05-02  Nick Clifton  <nickc@cambridge.redhat.com>

	* coff-arm.c (coff_arm_final_link_postscript): Update contents
	of .note section.
        * coffcode.h (coff_set_arch_mach_hook): Check return value of
	bfd_get_section_contents.
	* elf32-arm.h (elf32_arm_merge_private_bfd_data): When merging
	XScale and iWMMXt binaries the iWMMXt machine number takes
	precedence.
        (elf32_arm_object_p): Check return value of
	bfd_get_section_contents.
        (elf32_arm_final_write_processing): Update contents of
	.note.arm.ident section.
        (elf_backend_final_write_processing): Define.

2002-04-19  Nick Clifton  <nickc@cambridge.redhat.com>

	* coff-arm.c (coff_arm_merge_private_bfd_data): Allow XScale and
	iWMMXt binaries to be merged.

	* coffcode.h (styp_to_sec_flags): Treat .note sections as debug
	sections not loadable sections.

2002-02-22  Stan Cox  <scox@redhat.com>	

	* coff-arm.c (coff_arm_merge_private_bfd_data): Reject objects
	if the mach does not match.
	* coffcode.h (coff_set_arch_mach_hook): Set mach from .note section.
	* coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
	after sections are initialized.

2002-02-22  Stan Cox  <scox@redhat.com>	

	* archures.c (bfd_mach_arm_iWMMXt): New.
	* cpu-arm.c: Likewise
	* elf32-arm.h (elf32_arm_object_p, elf32_arm_section_flags): New.
	Sets machine from note.arm.ident.
	* reloc.c (BFD_RELOC_ARM_CP_OFF_IMM_S2): New.
	* bfd-in2.h: Regenerated.
	* libbfd.h: Regenerated.

2002-02-06  Ben Elliston  <bje@redhat.com>

	* configure: Regenerate with latest gettext.m4.

2002-01-23  Alexandre Oliva  <aoliva@redhat.com>

	* reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
	R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
	R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
	R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
	R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
	R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
	R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
	R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
	R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
	New relocs.
	* libbfd.h, bfd-in2.h: Rebuilt.
	* elf32-sh.c (sh_elf_howto_table): Define new relocs.
	(sh_reloc_map): Map them.
	(PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
	elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
	elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
	elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
	elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
	elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
	movi_shori_putval) [INCLUDE_SHMEDIA]: New.
	(elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
	datalabel_got_offset.
	(sh_elf_link_hash_newfunc): Initialize it.
	(sh_elf_relocate_section): Augment the scope of
	seen_stt_datalabel.  Introduce GOTPLT support.  Extend GOTPC, PLT,
	GOT and GOTOFF handling to new SHmedia relocation types.  Support
	GOT_BIAS.
	(sh_elf_check_relocs): Likewise.
	(sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
	PLT entries using movi_shori_putval.  Support GOT_BIAS.
	(sh_elf_finish_dynamic_sections): Likewise.
	* elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
	relocation, it's now done by the caller.
	(GOT_BIAS): New.
	* elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
	elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
	elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
	elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
	elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
	elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
	sh64_elf64_hash_table): New.
	(sh_elf64_howto_table): Introduce new relocs.
	(sh_elf64_info_to_howto): Accept new PIC relocs.
	(sh_elf64_relocate_section): Augment the scope of
	seen_stt_datalabel.  Support new PIC relocs.
	(sh_elf64_check_relocs): Support new PIC relocs.
	(elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
	elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
	elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
	elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
	sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
	movi_shori_putval, movi_3shori_putval,
	sh64_elf64_create_dynamic_sections,
	sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
	sh64_elf64_size_dynamic_sections,
	sh64_elf64_finish_dynamic_symbol,
	sh64_elf64_finish_dynamic_sections): New.
	(elf_backend_create_dynamic-sections,
	bfd_elf64_bfd_link_hash_table_create,
	elf_backend_adjust_dynamic_symbol,
	elf_backend_size_dynamic_sections,
	elf_backend_finish_dynamic_symbol,
	elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
	elf_backend_plt_readonly, elf_backend_want_plt_sym,
	elf_backend_got_header_size, elf_backend_plt_header_size):
	Define.

2001-12-13  Alexandre Oliva  <aoliva@redhat.com>

	* elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
	ld-linux.so.2 to ld.so.1.

2001-10-15  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-frv.c (elf32_frv_relocate_gprel12): Check bounds assuming
	the operand is signed.

2001-10-10  Alexandre Oliva  <aoliva@redhat.com>

	* elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
	(_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
	(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.

	* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
	.rela.* section contents with bfd_zalloc.

2001-10-02  Nick Clifton  <nickc@cambridge.redhat.com>

	* elf32-frv.c: Add missing prototypes.

2001-09-28  Corinna Vinschen  <vinschen@redhat.com>

	* elf32-xstormy16.c (xstormy16_elf_relax_section): Replace call to
	bfd_read() by call to bfd_bread().

2001-09-27  Nick Clifton  <nickc@cambridge.redhat.com>

	* elf32-mcore.c: Fix compile time warning messages.

2001-09-25  Andrew Cagney  <ac131313@redhat.com>

	* bfd-in.h (bfd_bread): Define.  Map onto bfd_read.
	* bfd-in2.h: Update.

2001-09-25  Alexandre Oliva  <aoliva@redhat.com>

	* elf-m10300.c: Added declarations for functions missing them.
	Merge some shared-library changes from the i386 back-end.  Use
	R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
	R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
	(struct elf32_mn10300_link_hash_entry): Remove duplicates of
	members of elf_link_hash_entry.  Adjusted references.
	(mn10300_elf_final_link_relocate): dynobj was already loaded
	into a local variable, use it.

2001-09-21  Nick Clifton  <nickc@cambridge.redhat.com>

	* elf-m10300.c: Add missing function prototypes.
	* elf32-h8300.c: Add missing function prototypes.

2001-09-13  Eric Christopher  <echristo@redhat.com>

	* elf32-mips.c (elf_mips_mach): Remove references to
	E_MIPS_MACH_MIPS32_4K.
	(_bfd_mips_elf_final_write_processing): Remove references
	to bfd_mach_mips32_4k.

2001-09-12  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
	(ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.

2001-08-24  Alexandre Oliva  <aoliva@redhat.com>

	* elf-m10300.c (mn10300_elf_relocate_section): Don't compute
	relocation for dynamic relocations.

2001-08-20  Dave Brolley  <brolley@redhat.com>

	* elf32-frv.c (frv_elf_merge_private_bfd_data): Turn off the mnopack
	flag if any module does not have it set.  Turn it on later if the cpu
	is 'simple'.

2001-08-16  Richard Henderson  <rth@redhat.com>

	* elf32-xstormy16.c (xstormy16_elf_relax_section): Skip local realloc
	if no local plts.

2001-08-14  Richard Henderson  <rth@redhat.com>

	* elf32-xstormy16.c (xstormy16_relax_plt_check): New.
	(xstormy16_relax_plt_realloc): New.
	(xstormy16_elf_relax_section): New.
	(xstormy16_elf_relocate_section): Validate allocation of plt entries.
	(xstormy16_elf_finish_dynamic_sections): Likewise.

2001-08-12  Richard Henderson  <rth@redhat.com>

	* elf32-xstormy16.c (xstormy16_elf_howto_table): Add fptr16.
	(xstormy16_elf_howto_table2): Move vtable relocs here.
	(xstormy16_info_to_howto_rela): Update to match.
	(xstormy16_elf_check_relocs): Look for fptr16; collect plt entries.
	(xstormy16_elf_always_size_sections): New.
	(xstormy16_elf_relocate_section): Handle fptr16.
	(xstormy16_elf_finish_dynamic_sections): New.
	* reloc.c (BFD_RELOC_XSTORMY16_FPTR16): New.
	* bfd-in2.h, libbfd.h: Rebuild.

2001-08-01  Aldy Hernandez  <aldyh@redhat.com>

	* elf32-mips.c (elf_mips_mach): Add E_MIPS_MACH_5500 case.
	(_bfd_mips_elf_final_write_processing): Add bfd_mach_mips5500 case.
	(_bfd_mips_elf_merge_private_bfd_data): Allow interchanging of
	5500, 5400, and 5000.

	* cpu-mips.c (enum): Add I_mips5500.
	(arch_info_struct): Add 5500 entry.

	* archures.c: Define bfd_mach_vr5500.

2001-08-01  Eric Christopher  <echristo@redhat.com>

        * archures.c:  Add bfd_mach_mips5500.
	* bfd-in2.h: Regenerate.

2001-07-23  David Howells  <dhowells@redhat.com>

	* Makefile: use the cross-compiler to generate dependencies, not
	the system compiler

2001-07-22  Geoffrey Keating  <geoffk@redhat.com>

	* elf32-xstormy16.c (xstormy16_elf_howto_table): Update
	entry for R_XSTORMY16_24 for correct endianness.
	(xstormy16_elf_24_reloc): Update for correct endianness.
	(xstormy16_elf_relocate_section): Update R_XSTORMY16_24
	computation for correct endianness.

2001-07-03  Geoffrey Keating  <geoffk@redhat.com>

	* elf32-xstormy16.c: Use TARGET_LITTLE_SYM and TARGET_LITTLE_NAME
	because the chip is little-endian.

2001-06-21  Geoffrey Keating  <geoffk@redhat.com>

	* elf32-xstormy16.c (stromy16_elf_24_reloc): New function.
	(xstormy16_elf_howto): Improve overflow detection.  Set src_mask
	to 0 always.  Make R_XSTORMY16_REL_12 and R_XSTORMY16_24 work.
	(xstormy16_elf_relocate_section): Perform R_XSTORMY16_24 relocs
	directly rather than going through _bfd_final_link_relocate.
	(ELF_MAXPAGESIZE): Set much smaller.
	(elf_symbol_leading_char): Don't.

2001-06-20  Geoffrey Keating  <geoffk@redhat.com>

	* elf32-xstormy16.c (xstormy16_elf_howto): Have the less-than-wordsize
	relocs apply to whole words.  Replace R_XSTORMY16_REL_24 with
	a non-pcrel reloc.
	(xstormy16_reloc_map): Replace R_XSTORMY16_REL_24 with a non-pcrel reloc.
	* reloc.c: Change name of R_XSTORMY16_REL_24.
	* libbfd.h: Regenerate.
	* bfd-in2.h: Regenerate.

2001-06-02  Nick Clifton  <nickc@cambridge.redhat.com>

	* elf32-am33lin.c: Rename global functions.

2001-06-01  Geoffrey Keating  <geoffk@redhat.com>

	* Makefile.am: Add xstormy16 target.
	* Makefile.in: Regenerate.
	* archures.c (bfd_arch_xstormy16): Declare.
	(bfd_xstormy16_arch): Declare.
	(bfd_arch_info_type): Use it.
	* bfd-in2.h: Regenerate.
	* config.bfd: Add xstormy16 ELF target.
	* configure: Regenerate.
	* configure.in: Add xstormy16 target.
	* cpu-xstormy16.c: New file.
	* elf.c (prep_headers): Add case for bfd_arch_xstormy16.
	* elf32-xstormy16.c: New file.
	* libbfd.h: Regenerate.
	* reloc.c: Add initial basic relocs for xstormy16.
	* targets.c (bfd_elf32_xstormy16_vec): New variable.
	(_bfd_target_vector): Add bfd_elf32_xstormy16_vec.

2001-05-23  Dave Brolley  <brolley@redhat.com>

	* reloc.c: Add BFD_RELOC_FRV_GPRELU12.
	* elf32-frv.c (elf32_frv_relocate_gprelu12): New function.
	(elf32_frv_howto_table): Add entry for R_FRV_GPRELU12.
	(frv_reloc_map): Ditto.
	(frv_reloc_type_lookup): Handle BFD_RELOC_GPRELU12.
	(elf32_frv_relocate_section): Handle R_FRV_GPRELU12.
	* bfd-in2.h: Regenerated.
	* libbfd.h: Regenerated.

2001-05-16  Alexandre Oliva  <aoliva@redhat.com>

	* reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
	* elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
	PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
	(_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
	(_bfd_mn10300_elf_create_got_section): ... here, so that its
	adress is already known at the time we compute relaxations.
	(mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
	and PLT32 to narrower relocations.
	* libbfd.h, bfd-in2.h: Rebuilt.

2001-05-16  Alexandre Oliva  <aoliva@redhat.com>

	* elf32-sh.c: Renumbered and renamed some SH5 relocations to
	match official numbers and names; moved unmaching ones to the
	range 0xf2-0xff.
	* elf32-sh64.c, elf64-sh64.c: Likewise.

2001-05-09  Alexandre Oliva  <aoliva@redhat.com>

	* config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
	* configure.in (bfd_elf32_am33lin_vec): Added.
	* Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
	(elf32-am33lin.lo): List dependencies.
	* aclocal.m4, configure, Makefile.in: Rebuilt.
	* elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
	ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
	ELF_ARCH was not defined before.
	(elf_symbol_leading_char): Define if not defined.
	* elf32-am33lin.c: Override the definitions above.
	* targets.c (bfd_elf32_am33lin_vec): New.

2001-05-06  Alexandre Oliva  <aoliva@redhat.com>

	* elf-m10300.c (compute_function_info): Account for AM33
	registers in `movm' when computing stack space for `call' when
	linking for AM33/2.0 link.

2001-05-03  Nick Clifton  <nickc@cambridge.redhat.com>

	* configure: Regenerate.
	* config.in: Regenerate.
	* aclocal.m4: Restore.

2001-04-12  Alexandre Oliva  <aoliva@redhat.com>

	* reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
	BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
	BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
	BFD_RELOC_MN10300_RELATIVE): New relocs.
	* libbfd.h, bfd-in2.h: Rebuilt.
	* elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
	(struct elf32_mn10300_link_hash_entry): Added DSO-related
	fields.
	(elf_mn10300_howto): Defined new relocation types.
	(mn10300_reloc_map): Map them.
	(_bfd_mn10300_elf_create_got_section): New fn.
	(mn10300_elf_check_relocs): Handle PIC relocs.
	(mn10300_elf_final_link_relocate): Likewise.
	(mn10300_elf_relocate_section): Handle DSOs.
	(PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
	(elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
	elf_mn10300_pic_plt_entry): New.
	(elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
	elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
	elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
	elf_mn10300_plt_reloc_offset: New macros.
	(ELF_DYNAMIC_INTERPRETER): Likewise.
	(_bfd_mn10300_elf_create_dynamic_sections): New function.
	(_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
	(_bfd_mn10300_elf_discard_copies): Likewise.
	(_bfd_mn10300_elf_size_dynamic_sections): Likewise.
	(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
	(_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
	(elf_backend_can_gc_sections,
	elf_backend_create_dynamic_sections,
	elf_backend_adjust_dynamic_sections,
	elf_backend_size_dynamic_sections,
	elf_backend_finish_dynamic_symbol,
	elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
	elf_backend_plt_readonly, elf_backend_want_plt_sym,
	elf_backend_got_header_size, elf_backend_plt_header_size): New
	macros.

2001-04-05  Dave Brolley  <brolley@redhat.com>

	* elf32-frv.c (elf32_frv_machine): Handle bfd_mach_fr400.
	(frv_elf_merge_private_bfd_data): Ditto.
	(frv_elf_print_private_bfd_data): Ditto.
	* cpu-frv.c (arch_info_400): Define it and link it into chain.
	* archures.c (bfd_mach_fr400): Define it.
	* bfd-in2.h: Regenerated.

2001-03-12  DJ Delorie  <dj@redhat.com>

	* elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
	sections.

2001-03-12  DJ Delorie  <dj@redhat.com>

	* elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
	be aligned.
	* elf64-sh64.c (sh_elf64_relocate_section): Ditto.

2001-01-29  Chandrakala Chavva  <cchavva@redhat.com>

	* elf32-mips.c (_bfd_mips_elf_final_write_processing): Changed
        bfd_mach_mips4181 to mips2 from mips3.
        * cpu-mips.c (bfd_arch_info_type) : Changed bits_per_address to 32
        for 4181.

2001-01-14  Hans-Peter Nilsson  <hpn@cygnus.com>

	* elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
	(sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
	.cranges section with SEC_SORT_ENTRIES set.
	(sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
	incoming sorted .cranges section.
	(sh64_bfd_elf_copy_private_section_data): New.
	(sh64_elf_final_write_processing): Only sort .cranges and modify
	start address if called by linker.

2001-01-08  Ben Elliston  <bje@redhat.com>

	* elf32-sh64.c (sh64_elf_final_write_processing): Activate
	Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
	* elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.

2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>

	* elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
	line.  Add comments before all entries.
	<R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
	comment.
	(sh_elf64_reloc): Correct head comment.
	(sh_elf64_relocate_section): Correct spacing.
	<relocating for a local symbol>: Do not honour STO_SH5_ISA32;
	instead call reloc_dangerous callback.
	<case R_SH_SHMEDIA_CODE>: New case.
	(sh_elf64_gc_mark_hook): Correct spacing.
	(sh_elf64_check_relocs): Ditto.
	* elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
	New case.
	* elf32-sh.c: Correct #endif comments for #ifndef-wrapped
	functions.
 	(sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
	clarify describing comment.  Add comments before all entries.
	(sh_elf_relocate_section) <relocating for a local symbol>: Do not
	honour STO_SH5_ISA32; instead call reloc_dangerous callback.

2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>

	Sort .cranges section in final link.  Prepare to set bit 0 on
	entry address.
	* elf32-sh64.c (struct sh64_find_section_vma_data): New.
	(sh64_elf_link_output_symbol_hook): Fix typo in prototype.
	(sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
	.cranges section.
	(sh64_backend_section_from_shdr): New, to recognize
	SHT_SH5_CR_SORTED on incoming .cranges section.
	(elf_backend_section_from_shdr): Define.
	(sh64_elf_final_write_processing): Sort outgoing .cranges
	section.  (New, temporarily disabled:) Set bit 0 on entry address
	according to ISA type.
	(sh64_find_section_for_address): New.
	(crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
	crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
	(sh64_address_in_cranges): Move here from opcodes/sh64-dis.c.  Use
	bfd_malloc, not xmalloc.
	(sh64_get_contents_type): Move here from opcodes/sh64-dis.c.  Make
	global.
	* elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
	temporarily disabled) setting bit 0 on entry address.
	(elf_backend_final_write_processing): Define.

2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>

	* elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
	be a proper relocation for PTA and PTB rather than a marker.
	<R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
	R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
	R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
	R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
	R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
 	Zero src_mask.
	* elf64-sh64.c: Ditto.
	(sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
	* elf32-sh64.c: Include opcodes/sh64-opc.h
	(shmedia_prepare_reloc): Take a bfd_link_info pointer as first
	argument.  Drop const qualifiers from "bfd *" and "bfd_byte *"
	parameters.  No unused parameters.  Caller changed.
  	<case R_SH_PT_16>: New case.
	* Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
	* Makefile.in: Regenerate.

2000-12-30  Hans-Peter Nilsson  <hpn@cygnus.com>

	* elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
	all code sections.
	(sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
	(sh64_elf_merge_private_data): Ditto.

	* elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
	to access stored section flags.
	(sh64_elf_final_write_processing): Return immediately unless
	called by linker.  Use sh64_elf_section_data (cranges) to get size
	of linker-generated cranges entries.
	(sh64_elf_copy_private_data): Add missing "return true".
	(sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
	(sh_elf64_merge_private_data): Ditto.

2000-12-29  Hans-Peter Nilsson  <hpn@cygnus.com>

	* elfcode.h (elf_object_p): Also restore the bfd mach field on
	error, by calling bfd_default_set_arch_mach with incoming
	values.

2000-12-20  Chandrakala Chavva  <cchavva@redhat.com>

	* archures.c : Add bfd_mach_mips4181.
	* bfd-in2.h: New bfd_mach_mips4181.
	* cpu-mips.c: Added bfd_mach_mips4181 to arch_info_struct.
	* elf32-mips.c (_bfd_mips_elf_final_write_processing) : New case
	 bfd_mach_mips4181.
	(elf_mips_mach): New case E_MIPS_MACH_4181.

2000-12-19  Hans-Peter Nilsson  <hpn@cygnus.com>

	* elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
	elf64-sh64.c:sh64_elf_fake_sections.
	(elf_backend_fake_sections): Define as sh64_elf64_fake_sections.

2000-12-18  Hans-Peter Nilsson  <hpn@cygnus.com>

	* elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
	(sh64_elf_final_write_processing): New.
	(elf_backend_final_write_processing): Define.
	(sh64_elf_fake_sections): Get header flags from tdata field.
	(sh64_elf_copy_private_data): Do not call
	sh64_elf_copy_private_data_internal, just copy e_flags field.
	(sh64_elf_merge_private_data): Do not call
	sh64_elf_copy_private_data_internal.

2000-12-12  Hans-Peter Nilsson  <hpn@cygnus.com>

	Remove EF_SH64_ABI64, let ELF size make difference.
  	Remove SH64-specific BFD section flag.
	* elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
	containing SHmedia through elf_section_data (asect)->tdata
	non-zero, not using a BFD section flag.
	(sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
	(sh64_elf_merge_private_data): Similar.
	(elf_backend_section_flags): Don't define.
	(sh64_elf_backend_section_flags): Delete.
	* elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
	not EF_SH64_ABI64.
	(sh_elf64_merge_private_data): Similar.
	* section.c (Section flags definitions): Don't define
	SEC_SH_ISA_SHMEDIA.
	(bfd-in2.h): Regenerate.

2000-12-09  Hans-Peter Nilsson  <hpn@cygnus.com>

	Make DataLabel references work with partial linking.
	* elf32-sh64.c: Fix formatting.
	(sh64_elf_link_output_symbol_hook): New.
	(elf_backend_link_output_symbol_hook): Define to
	sh64_elf_link_output_symbol_hook.
	(sh64_elf_add_symbol_hook): Make DataLabel symbol just global
	undefined if partial linking.  Adjust sanity check.
	* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
	(elf_backend_link_output_symbol_hook): Define to
	sh64_elf64_link_output_symbol_hook.
	(sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
	undefined if partial linking.  Adjust sanity check.

2000-12-07  Hans-Peter Nilsson  <hpn@cygnus.com>

	Implement semantics for inter-file DataLabel references.
	* elf64-sh64.c (DATALABEL_SUFFIX): Define.
	(sh64_elf64_add_symbol_hook): New.
	(sh_elf64_relocate_section): If passing an indirect symbol with
	st_type STT_DATALABEL on the way to a symbol with st_other
	STO_SH5_ISA32, do not bitor 1 to the relocation.
	(elf_backend_add_symbol_hook): Define to
	sh64_elf64_add_symbol_hook.
	* elf64-sh32.c: Tweak comments.
 	(DATALABEL_SUFFIX): Define.
	(sh64_elf_add_symbol_hook): New.
	(elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
	* elf32-sh.c (sh_elf_relocate_section): If passing an indirect
	symbol with st_type STT_DATALABEL on the way to a symbol with
	st_other STO_SH5_ISA32, do not bitor 1 to the relocation.

2000-12-05  Hans-Peter Nilsson  <hpn@cygnus.com>

	Pass through STT_DATALABEL.
	* elf32-sh64.c (sh64_elf_get_symbol_type): New.
	(elf_backend_get_symbol_type): Define.
	* elf64-sh64.c (sh64_elf64_get_symbol_type): New.
	(elf_backend_get_symbol_type): Define.

2000-11-30  Hans-Peter Nilsson  <hpn@cygnus.com>

	* elf32-sh64.c: Tweak comments.
	(sh64_elf_copy_private_data_internal): Add prototype.
	(bfd_elf32_bfd_set_private_flags): Define.
	(sh64_elf_copy_private_data_internal): Compare machine name, not
	textual BFD target name, to check whether to copy section flag
	SHF_SH5_ISA32.
	(sh64_elf_merge_private_data): Validize bfd_get_arch_size.
	Tweak section-contents-type-mismatch message.
	(shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
	Validize reloc-types.

	* elf64-sh64.c: New file.
	* targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
	* Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
	(BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
	Regenerate dependencies.
	* Makefile.in: Regenerate.
	* config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and bfd_elf64_sh64l_vec.
	* configure.in: Handle bfd_elf64_sh64_vec and bfd_elf64_sh64l_vec.
	* configure: Regenerate.
	* po/POTFILES.in: Regenerate.
	* po/bfd.pot: Regenerate.

2000-11-29  Hans-Peter Nilsson  <hpn@cygnus.com>

	* elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
	anything else but EF_SH64 and EF_SH64_ABI64.
	(sh64_elf_merge_private_data): Emit error for anything else but
	EF_SH64 and EF_SH64_ABI64.

	* config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
	from targ_selvecs.
	* configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
	bfd_elf32_sh64l_vec as a temporary measure.
	* configure: Regenerate.

2000-11-27  Nick Clifton  <nickc@redhat.com>

	* archures.c: Remove xscale sanitization.
	* bfd-in2.h: Regenerate.
	* coff-arm.c: Remove xscale sanitization.
	* coffcode.h: Remove xscale sanitization.
	* config.bfd: Remove xscale sanitization.
	* cpu-arm.c: Remove xscale sanitization.
	* elf32-arm.h: Remove xscale sanitization.

2000-11-27  Hans-Peter Nilsson  <hpn@cygnus.com>

	* cpu-sh.c (arch_info_struct): Include sh5 item
	unconditionalized.

	* config.bfd (sh64-*-elf*): Do not set targ_cflags.
	Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
	bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.

	* elf32-sh64.c: Tweak comments.
 	(sh64_elf_set_mach_from_flags): Recognize all machine flags that
	are proper subsets of SH64 as bfd_mach_sh5.  Add EF_SH64_ABI64.
	(sh64_elf_copy_private_data_internal): Wrap long line.
	(sh64_elf_merge_private_data): Rewrite to allow objects from
	SH64 subsets to be linked together.
	(INCLUDE_SHMEDIA): Define.

	* elf32-sh.c (sh_elf_relocate_section) <local symbol>:
	Parenthesize plus-expression inside or-expression.
	<global symbol>: Ditto.
	(sh_elf_set_mach_from_flags): Remove code refusing
	deleted EF_SH64_32BIT_ABI flag.

2000-11-26  Hans-Peter Nilsson  <hpn@cygnus.com>

	* elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
	R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
	R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
	(sh_elf_relocate_section) <local symbol>: Or 1 in
	calculation of relocation if sym->st_other & STO_SH5_ISA32.
	<global symbol>: Ditto if h->other & STO_SH5_ISA32.

	* elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to relocation.

2000-11-24  Hans-Peter Nilsson  <hpn@cygnus.com>

	* Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
	(BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
	Regenerate dependencies.
	* Makefile.in: Regenerate.
	* archures.c: Add bfd_mach_sh5.
	* config.bfd: Map targ_cpu sh* to bfd_sh_arch.
	Handle sh64-*-elf*.  Set targ_cflags to -DINCLUDE_SHMEDIA.
	* configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
	* configure: Regenerate.
	* reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
	BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
	BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
	BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
	BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
	BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
	BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
	BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
	BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
	* cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
	in item for SH5.
	* elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
	for SHmedia relocs.
	[INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
	[INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
	shmedia_prepare_reloc, goto final_link_relocate if it returns
	non-zero, else fail as before.
	(sh_elf_set_mach_from_flags): Provide function only if not defined
	as macro.  Do not recognize objects with EF_SH64_32BIT_ABI set.
	(sh_elf_set_private_flags): Provide function only if not defined
	as a macro.
	(sh_elf_copy_private_data): Similar.
	(sh_elf_merge_private_data): Similar.
	* section.c (SEC_SH_ISA_SHMEDIA): New.
	* targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
	* elf32-sh64.c: New file.
	* libbfd.h: Regenerate.
	* bfd-in2.h: Regenerate.
	* po/POTFILES.in: Regenerate.
	* po/bfd.pot: Regenerate.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

2000-11-14  Nick Clifton  <nickc@redhat.com>

	* archures.c: Add bfd_mach_arm_XScale.
	* bfd-in2.h: Regenerate.
	* cpu-arm.c: Add XScale architecture.
	* coffcode.h: Add support for XScale architecture.

2000-11-01  Andrew Haley  <aph@redhat.com>

        * elf32-frv.c (elf32_frv_add_symbol_hook): Put small common data
        items in .scommon.

2000-10-11  Timothy Wall  <twall@cygnus.com>

	* elf64-ia64.c (elf64_ia64_finish_dynamic_sections): Store
	absolute function pointers rather than function descriptors for
	DT_INIT and DT_FINI on monterey.

2000-08-22  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>, Alexandre Oliva  <aoliva@redhat.com>

	* elf32-sh.c (sh_elf_check_relocs, sh_elf_link_hash_newfunc,
	sh_elf_link_hash_table_create, sh_elf_adjust_dynamic_symbol,
	sh_elf_size_dynamic_sections, sh_elf_finish_dynamic_symbol,
	sh_elf_finishe_dynamic_sections, sh_elf_discard_copies): New
	functions.
	(ELF_DYNAMIC_INTERPRETER, PLT_ENTRY_SIZE): Define.
	(elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
	elf_sh_plt_entry_be, elf_sh_plt_entry_le,
	elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
	New array constants.
	(elf_sh_plt0_entry, elf_sh_plt_entry, elf_sh_pic_plt_entry):
	New variables.
	(elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
	elf_sh_plt0_linker_offset, elf_sh_plt0_gotid_offset,
	elf_sh_plt_temp_offset, elf_sh_plt_symbol_offset,
	elf_sh_plt_reloc_offset): Define.
	(elf_sh_pcrel_relocs_copied, elf_sh_link_hash_entry,
	elf_sh_link_hash_table): New structs.
	(sh_elf_link_hash_traverse, sh_elf_hash_table): New macros.
	(sh_elf_relocate_section, sh_elf_check_relocs): Handle new
	relocation types.
	(elf_backend_create_dynamic_sections,
	bfd_elf32_bfd_link_hash_table_create,
	elf_backend_adjust_dynamic_symbol,
	elf_backend_size_dynamic_sections,
	elf_backend_finish_dynamic_symbol,
	elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
	elf_backend_plt_readonly, elf_backend_want_plt_sym,
	elf_backend_got_header_size, elf_backend_plt_header_size):
	Define.

2000-08-18  Timothy Wall  <twall@redhat.com>

	* config.bfd: Rename monterey to aix.
	* configure.host: Ditto.
	* configure.in: Ditto.
	* configure: Regenerated.
	* elf64-ia64.c: Rename.
	* targets.c: Rename.

2000-08-17  Michael Meissner  <meissner@redhat.com>

	* elf32-frv.c (elf_symbol_leading_char): Delete, no leading
	underscores are default.

2000-08-15  Alexandre Oliva  <aoliva@redhat.com>

	* config.bfd (sh-*-linux*): Added.
	* configure.in (bfd_elf32_shlin_vec, bfd_elf32_shblin_vec): New.
	* targets.c: Declare them.
	* elf32-sh-lin.c: New file.
	* Makefile.am: Compile it.
	* elf32-sh.c: Don't override defines from elf32-sh-lin.c.
	* configure, Makefile.in: Rebuilt.

2000-08-11  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>, Alexandre Oliva  <aoliva@redhat.com>

	* elf32-sh.c (R_SH_GOT32, R_SH_PLT32, R_SH_COPY, R_SH_GLOB_DAT,
	R_SH_JMP_SLOT, R_SH_RELATIVE, R_SH_GOTOFF, R_SH_GOTPC): New.
	(sh_reloc_map): Add new relocs.
	* reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
	BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE, BFD_RELOC_SH_GOTPC):
	New relocs.
	* bfd-in2.h, libbfd.h: Rebuilt.

2000-08-03  Nick Clifton  <nickc@cygnus.com>

	* elf32-arm.h (elf32_arm_final_link_relocate): If the destination
	of a BLX instruction is aligned on a half word boundary, set the H
	bit.

2000-07-16  Timothy Wall  <twall@cygnus.com>

	* config.bfd: Add AIX 5.0 configuration.
	* configure.host: Add AIX 5.0 configuration.
	* configure.in: Add AIX 5.0 configuration.
	* configure: Regenerate.
	* elfxx-ia64.c: Follow elfxx_aix_vec to generate code as
	required by AIX5.0.  Add special AIX symbol for GP when creating
	got.  Make sure dynamic sections are created for AIX.
	* targets.c: Add AIX vectors.

2000-06-14  Dave Brolley  <brolley@redhat.com>

	* elf32-frv.c (elf32_frv_relocate_label24): Fix calculation of label6.

2000-05-24  Nick Clifton  <nickc@cygnus.com>

	* Makefile.am (BFD32_BACKENDS): Add efi-app-ia32.lo.
	(BFD32_BACKEND_CFILES): Add efi-app-ia32.c.
	(BFD64_BACKENDS): Add efi-app-ia64.lo.
	(BFD64_BACKEND_CFILES): Add efi-app-ia64.c.

	* Makefile.in: Regenerate.

2000-05-18  Dave Brolley  <brolley@redhat.com>

	* elf32-frv.c (frv_elf_merge_private_bfd_data): Not all changes to flags
	were accumulated in old_flags.

2000-05-09  Michael Meissner  <meissner@redhat.com>

	* cpu-frv.c (arch_info_tomcat): New machine type.
	(bfd_frv_arch): Link it in.

	* elf32-frv.c (frv_reloc_type_lookup): Add ATTRIBUTE_UNUSED,
	delete unused variables, and add default to switch statements as
	needed.
	(elf32_frv_relocate_section): Ditto.
	(elf32_frv_gc_mark_hook): Ditto.
	(elf32_frv_gc_sweep_hook): Ditto.
	(elf32_frv_add_symbol_hook): Ditto.
	(frv_final_link_relocate): Delete empty switch statement.
	(elf32_frv_machine): Add tomcat support.
	(elf32_frv_merge_private_bfd_data): Add tomcat support.  Add
	support for -fPIC, -G0, and -mlibrary-pic bits in e_flags.  Make
	all updates to old_flags and store in structure at end.  Enable
	code that complains if pic code linked with non-pic, allowing
	-mlibrary-pic to be linked with either.
	(frv_elf_print_private_bfd_data): Print -fpic, -fPIC, non-pic
	relocations, -G0, and -mlibrary-pic bits.  Add -mcpu=tomcat
	support.

	* archures.c (bfd_mach_frv_tomcat): Add tomcat machine support.
	* bfd-in2.h: Regenerate.

2000-05-05  Frank Ch. Eigler  <fche@redhat.com>

	* doc/Makefile.in: Regenerated.

Mon Apr 17 17:20:41 2000  Jim Wilson  <wilson@cygnus.com>

	* section.c (_bfd_strip_section_from_output): Add info parameter.
	If it passed as non-NULL, use it to check whether any input BFD
	has an input section which uses this output section.  Change all
	callers.
	* bfd-in2.h: Rebuild.

2000-04-08  Nick Clifton  <nickc@cygnus.com>

	* elf32-arm.h (elf32_thumb_to_arm_stub): Fix typo introduced in
	previous nios.

2000-04-05  Kazu Hirata  <kazu@hxi.com>

	* coff-h8300.c (h8300_reloc16_extra_cases): Fix the sanity
	check for R_MOVL2.
	Add bsr:16 -> bsr:8 to the R_PCRWORD_B case.

Mon Mar 27 15:28:00 2000  Donald Lindsay  <dlindsay@cygnus.com>

	* elf32-m32r.c (m32r_elf_generic_reloc): new function. All
	HOWTO references to bfd_elf_generic_reloc, that have
	partial_inplace == true, now use the new function. The function
	is based on the recently rewritten m32r_elf_lo16_reloc(), and
	extends its fixes to the R_M32R_{16,24,32} relocs.

2000-02-28  Nick Clifton  <nickc@cygnus.com>

	* coffcode.h (coff_write_object_contents): Replace constant 0x010b
	with macro {MIPS|SH}_PE_MAGIC.

2000-02-25  Nick Clifton  <nickc@cygnus.com>

	* peicode.h (IMAGE_REL_BASED_HIGHADJ): Define.

2000-01-04  Clinton Popetz  <cpopetz@cygnus.com>

	* elf32-mips.c (mips_elf_calculate_relocation): Only set
	require_jalxp for R_MIPS16_26 and R_MIPS_26 relocations, and
	set gp for R_MIPS16_GPREL.

1999-09-28  Fred Fish  <fnf@cygnus.com>

	* config.bfd: Add Cisco core file support to selected embedded
	target configurations.

2000-04-21  Michael Meissner  <meissner@redhat.com>

	* elf64-alpha.c (elf64_alpha_copy_private_bfd_data): Abort if a
	non-ELF file is used.
	(elf64_alpha_merge_private_bfd_data): Ditto.
	(bfd_elf64_bfd_copy_private_bfd_data): Define to use alpha
	function.
	(bfd_elf64_bfd_merge_private_bfd_data): Ditto.

Mon Apr 17 17:58:33 2000  David Mosberger  <davidm@hpl.hp.com>

	* config.bfd (ia64*-*-linux-gnu*): Mention bfd_efi_app_ia64_vec.
	* elf64-ia64.c (elf64_ia64_fake_sections): Do not mistake section
	named ".reloc" as an ELF64 relocation section.

Mon Apr 17 17:19:48 2000  Jim Wilson  <wilson@cygnus.com>

	* elf64-ia64.c (elf64_ia64_relocate_section, case R_IA64_SEGREL64LSB):
	Use sym_sec->output_section to find segment.  Use bfd_is_abs_section
	to check for discarded input sections.

	* elf64-ia64.c (elf64_ia64_size_dynamic_sections): Also pass
	"info" to _bfd_strip_section_from_output ().

Mon Apr 17 17:19:48 2000  Jim Wilson  <wilson@cygnus.com>

	* elf32-mcore.c (elf32_mcore_size_dynamic_sections): Pass info to
	_bfd_strip_section_from_output.

2000-04-06  Nick Clifton  <nickc@cygnus.com>

	* Makefile.am: Suppress 32bit HPPA support - it is currently
          broken.
	* config.bfd: Ditto.
	* targets.s: Ditto.
	* Makefile.in: Regenerate.

2000-04-01  Alexandre Oliva  <aoliva@cygnus.com>

	* archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
	* bfd-in2.h: Rebuilt.
	* cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
	* elf-m10300.c: Updated.

2000-03-31  Alexandre Oliva  <aoliva@cygnus.com>

	* archures.c (bfd_mach_am332): Defined.
	* bfd-in2.h: Rebuilt.
	* cpu-m10300.c (bfd_am332_arch): Defined.
	(bfd_am33_arch): Chained with am33-2.
	* elf-m10300.c (elf_mn10300_mach): Handle am332.
	(_bfd_mn10300_elf_final_write_processing): Likewise.

Fri Mar 24 16:31:03 2000  Jim Wilson  <wilson@cygnus.com>

	* cpu-ia64-opc.c (elf64_ia64_operands): Add MSR support.

2000-03-07  Andreas Schwab  <schwab@suse.de>

	* elf64-ia64.c (elf64_ia64_relocate_section): Fix computation of
	dynindx for LTOFF_FPTR relocations.

2000-02-23  Nick Clifton  <nickc@cygnus.com>

	* peicode.h (SIZEOF_ILF_STRINGS): Allow 9 bytes per section name.
	(struct pe_ILF_vars): Add new field: 'end_string_ptr'.
	(pe_ILF_make_a_symbol): Add assertion against end_string_ptr.

Mon Feb 14 16:45:56 2000  David Mosberger  <davidm@hpl.hp.com>

	* cpu-ia64-opc.c (ins_imms_scaled): Correct the code to detect
	signed constant overflows.
	(ins_immsu4): Cast >32 bit constant to BFD_HOST_U_64_BIT to avoid
	integer truncation.
	(ins_immsm1u4): Ditto.

2000-02-14  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (elf64_ia64_check_relocs): Create dynrel entries
	for fptrs whenever a dynindx exists.

2000-02-13  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (struct elf64_ia64_dyn_sym_info): Renamed from
	elf64_ia64_dyn_hash_entry; update all users.  Add addend, next,
	want_ltoff_fptr members.
	(struct elf64_ia64_dyn_hash_table): Remove.
	(struct elf64_ia64_local_hash_entry): New.
	(struct elf64_ia64_local_hash_table): New.
	(struct elf64_ia64_link_hash_entry): New.
	(struct elf64_ia64_link_hash_table): Replace dyn_hash_table
	with loc_hash_table.
	(elf64_ia64_local_hash_table_init, elf64_ia64_new_loc_hash_entry):
	Replace dyn_hash counterparts.
	(elf64_ia64_new_elf_hash_entry): New.
	(elf64_ia64_hash_copy_indirect): New.
	(elf64_ia64_hash_hide_symbol): New.
	(elf64_ia64_hash_table_create): Use them.
	(elf64_ia64_local_hash_lookup): New.
	(elf64_ia64_global_dyn_sym_thunk): New.
	(elf64_ia64_local_dyn_sym_thunk): New.
	(elf64_ia64_dyn_hash_traverse): Remove.
	(elf64_ia64_dyn_sym_traverse): New.
	(get_dyn_name): Delete.
	(get_dyn_sym_info): New.
	(elf64_ia64_check_relocs): Track NEED_LTOFF_FPTR.
	(allocate_dynrel_entries): Reserve reloc space for dynamic ltoff_fptr.
	(set_got_entry): Install it.
	(elf64_ia64_relocate_section) [LTOFF_FPTR]: Force value to zero
	for dynamic fptr.

2000-02-02  Catherine Moore  <clm@cygnus.com>

	* elf32-frv.c (frv_info_to_howto_rela):  Handle non-contiguous
	howto entries.

2000-01-21  Nick Clifton  <nickc@redhat.com>

	* peicode.h: Add code to handle Microsoft's Import Library
	Format.
	(pe_ILF_VARS): A new structure to hold the variables needed by
	the ILF code.
	(pe_ILF_make_a_reloc): New function:  Create a reloc.
	(pe_ILF_save_relocs): New function: Store the relocs created
	by pe_ILF_make_a_reloc into a section.
	(pe_ILF_make_a_symbol): New function: Create a symbol.
	(pe_ILF_make_a_section): New function: Create an entire
	section.
	(jtab): New array: Hold target specific data for creating
	relocs.
	(pe_ILF_build_a_bfd): New function: Create a BFD describing an
	ILF object.
	(pe_ILF_object_p): New function: Process an ILF format object
	file.

2000-01-03  Timothy Wall (twall@cygnus.com)

        * coffcode.h (sec_to_styp_flags): don't output STYP_INFO,
          since that space is already taken by TI COFF alignment
          encoding.  Use STYP_DSECT instead.
        * coff-tic54x.c: handle BFD_RELOC_32 for stabs support
        * syms.c (_bfd_stab_section_find_nearest_line): temporary hack
          to get stabs to work on linked files

2000-01-03  Timothy Wall  <twall@cygnus.com>

	* cpu-ia64-opc.c: add handlers for new operands types (IMMU62 and
	TGT64).

1999-12-30  Nick Clifton  <nickc@cygnus.com>

	* coff-arm.c: Add arm-wince-pe specific reloc handling.  Reloc
	numbers match those generated by ARM's SDK.  Code dependent
	upon the definition of ARM_WINCE.

	* config.bfd: Add arm-wince-pe target.

1999-12-17  Nick Clifton  <nickc@cygnus.com>

	* pe-arm.c (TARGET_UNDERSCORE): Define to zero for WinCE.

1999-12-15  Michael Meissner  <meissner@cygnus.com>

	* elf32-frv.c (elf32_frv_howto_table): Don't set partial_inplace
	for R_FRV_LO16.

1999-12-14  Michael Meissner  <meissner@cygnus.com>

	* elf32-frv.c (elf_symbol_leading_char): Set to '_'.

1999-12-14  Nick Clifton  <nickc@cygnus.com>

	* coffcode.h (coff_set_flags): Use ARMPEMAGIC instead of ARMPEMAGIC2.
	(coff_set_arch_mach_hook): Rename ARMPEMAGIC2 to THUMBPEMAGIC.

1999-12-13  Nick Clifton  <nickc@cygnus.com>

	* coff-arm.c (armcoff_object_p): New function.  Detect PE format
	object files and parse appropriately.

	* coffcode.h: Recognise ARMPE magic values.

	* peicode.h (pe_print_idata): Do not attempt to seek past end of
	section.

1999-12-08  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (set_pltoff_entry): Set pltoff_done.
	(elf64_ia64_final_link): Invoke set_pltoff_entry for DT_INIT/FINI.

1999-12-07  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (global_sym_index): Fix typo in assert.

1999-12-03  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (elf64_ia64_finish_dynamic_sections):  Fill in
	plt0 and DT_IA_64_PLT_RESERVE from correct section.

1999-12-03  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (elf64_ia64_check_relocs): Fix typo.
	(elf64_ia64_size_dynamic_sections): Create pltoff entries for
	DT_INIT and DT_FINI.
	(elf64_ia64_finish_dynamic_sections): Fill them in.

1999-11-29  Michael Meissner  <meissner@cygnus.com>

	* archures.c (bfd_mach_frvsimple): New machine subtype.
	* bfd-in2.h: Regenerate.

	* elf32-frv.c (elf32_frv_machine): Add support for -mcpu=simple.
	(frv_elf_merge_private_bfd_data): Ditto.
	(frv_elf_print_private_bfd_data): Ditto.

	* cpu-frv.c (arch_info_simple): Add support for -mcpu=simple.
	(bfd_frv_arch): Ditto.

1999-11-24  Nick Clifton  <nickc@cygnus.com>

	* configure.in (_bfd_sh_align_load_span): Only generate this
	function for coff-sh target.  elf32-sh and sh-pe targets link
	in coff-sh.lo in order to get this function.

	* configure.in (elf): Link in coff-sh.lo for sh-pe target in
	order to get _bfd_sh_align_load_span().
	* configure: Regenerate.

Wed Nov 24 15:52:36 1999  Donald Lindsay  <dlindsay@hound.cygnus.com>

	* (reloc.c,bfd-in2.h,libbfd.h,elfarm-nabi.c,coff-arm.c): added elf and
	coff variants of a new BLX reloc for XScale.

1999-11-22  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (elf64_ia64_size_dynamic_sections): Add dynamic
	entry for DT_IA_64_PLT_RESERVE.

1999-11-17  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (elf64_ia64_finish_dynamic_symbol): Remove
	shadowing pltoff_addr decl.

1999-11-10  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (elf64_ia64_relocate_section): Don't allow
	undef_weak against speculation relocs.  Early out for undef_weak
	against PCREL21B.

1999-11-10  Nick Clifton  <nickc@cygnus.com>

	* coff-sh.c (_bfd_sh_align_load_span): Only prevent
	compilation of this function if COFF_IMAGE_WITH_PE is
	defined.

1999-10-06  Andrew Haley  <aph@cygnus.com>

	* coffcode.h (coff_write_object_contents): Don't call
	coff_write_symbols if we already have a nonzero
	obj_raw_syment_count.

1999-11-02  Nick Clifton  <nickc@cygnus.com>

	* config.bfd (targ_cpu): Add support for strongarm-pe toolchain.

Mon Nov  1 20:16:53 1999  Jim Wilson  <wilson@cygnus.com>

	* elf64-ia64.c (elf64_ia64_relocate_section): Implement segment
	relative relocations.

1999-10-26  Michael Meissner  <meissner@cygnus.com>

	* elf32-frv.c (frv_elf_merge_private_bfd_data): Add support for
	-fmuladd.
	(frv_elf_print_private_bfd_data): Ditto.

Tue Oct 26 16:33:26 1999  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (struct elf64_ia64_dyn_hash_entry): Remove sym_indx.
	(get_dyn_name): Remove version tag from global symbols.
	(elf64_ia64_check_relocs): Don't record dyn_h->sym_indx.
	(global_sym_index): New.
	(allocate_fptr): Use it.
	(elf64_ia64_relocate_section): Likewise.
	(elf64_ia64_finish_dynamic_symbol): Use get_dyn_name.

1999-09-28  Fred Fish  <fnf@cygnus.com>

        * config.bfd: Add Cisco core file support to selected embedded
        target configurations.

1999-09-20  Nick Clifton  <nickc@cygnus.com>

	* libbfd.c (bfd_seek): For BeOS and Windows, zero newly created
	file blocks.

1999-09-13 Timothy Wall (twall@cygnus.com)

	* bfd-in2.h: add accessors for section load page
	* coff-tic54x.c: add custom bfd_get/put_l32 functions for
	  tic54x's weird longword octet encoding

1999-08-30  Michael Meissner  <meissner@cygnus.com>

	* elf32-frv.c (frv_reloc_type_lookup): Treat BFD_RELOC_CTOR like
	BFD_RELOC_32.
	(frv_elf_merge_private_bfd_data): Kill the error message about
	linking -fpic with modules that use non-pic relocations for now.

1999-08-29  Doug Evans  <devans@casey.cygnus.com>

	* cpu-frv.c (FRV_ARCH): Undo last change, architecture is always "frv".
	(bfd_frv_arch): Make "frv" the default machine.
	* archures.c (bfd_mach_frv): Change from 'v' to 0.
	* bfd-in2.h: Rebuild.

1999-08-29  Michael Meissner  <meissner@cygnus.com>

	* elf32-frv.c (frv_elf_set_private_flags): Allow more than one
	call.
	(frv_elf_merge_private_bfd_data): Always update old_flags when
	updating the structure.  Add checks for pic being linked with
	modules that aren't pic friendly.

1999-08-26  Mark Salter  <msalter@cygnus.com>

	* elf32-frv.c (elf32_frv_relocate_label24): Don't clobber pack bit.

1999-08-26  Catherine Moore  <clm@cygnus.com>

	* reloc.c (BFD_RELOC_FRV_SDA, BFD_RELOC_FRV_LO_PC16,
	BFD_RELOC_FRV_HI_PC16): Remove.
	(BFD_RELOC_FRV_GPREL12, BFD_RELOC_FRV_GPREL32,
	BFD_RELOC_FRV_GPRELHI,  BFD_RELOC_FRV_GPRELLO): Add.
	* elf32-frv.c (elf32_frv_relocate_sda, elf32_frv_relocate_lo_pc16,
	elf32_frv_relocate_hi_pc16): Remove.
	(elf32_frv_relocate_gprel12, elf32_frv_relocate_gprello,
	elf32_frv_relocate_gprelhi): Add.
	(elf32_frv_howto_table):  Remove R_FRV_8, R_FRV_16, R_FRV_SDA,
	R_FRV_LO_PC16, R_FRV_HI_PC16.  Add entries for R_FRV_GPREL12,
	R_FRV_GPREL32, R_FRV_GPRELHI, R_FRV_GPRELLO).
	(frv_reloc_map):  Update with new reloc entries.
	(elf32_frv_relocate_section):  Call new routines.
	(elf32_frv_add_symbol_hook): New routine.
	(elf_backend_add_symbol_hook): Define.
	* bfd-in2.h: Rebuild.
	* libbfd.h: Rebuild.

1999-08-25  Tim Wall <twall@tiac.net>

	* coffcode.h: set magic number based on TI COFF version
	* reloc.c: extended addressing relocation types for tic54x
	* coffgen.c: C_STATLAB gets assigned value based on the lma of the
	  section vs. the vma

1999-08-23  Dave Brolley  <brolley@cygnus.com>

	* cpu-frv.c (FRV_ARCH): Use "NAME" for architecture name, not
	"frv".

1999-08-22  Michael Meissner  <meissner@cygnus.com>

	* archures.c (bfd_mach_fr300): Add definition.
	* bfd-in2.h: Regenerate.

	* elf32-frv.c (frv_elf_merge_private_bfd_data): Add support for
	identifying the FR-V500 and FR-V300 in the elf header.  Remove
	potential trigraph in error message.
	(elf32_frv_machine): Return machine subtype from ELF header.
	(elf32_frv_object_p): Set default machine type from ELF header.
	(frv_elf_print_private_bfd_data): Print FRV flags.
	(elf_backend_object_p): Define as elf32_frv_object_p.
	(bfd_elf32_bfd_print_private_bfd_data): Define as
	frv_elf_print_private_bfd_data.

	* cpu-frv.c: Rewrite to add fr300 support.

1999-08-20  Nick Clifton  <nickc@cygnus.com>

	* elf32-mcore.c (mcore_emit_base_file_entry): New function:  Emit
	relocations into the base file.
	(coff_mcore_relocate_section): Call mcore_emit_base_file_entry if
	we are building a base file.

Thu Aug 19 17:56:34 1999  Dave Brolley  <brolley@cygnus.com>

	* archures.c (bfd_mach_frv): Don't use 0 for this.
	* cpu-frv.c (arch_info_struct): bfd_mach_fr500 now the default.
	* bfd-in2.h: Regenerate.

Thu Aug 19 14:39:34 1999  Dave Brolley  <brolley@cygnus.com>

	* archures.c (bfd_mach_fr500): New FR-V variant.
	* cpu-frv.c (arch_info_struct): New structure for fr500.
	* bfd-in2.h: Regenerate.

Tue Aug 17 17:03:06 1999  Dave Brolley  <brolley@cygnus.com>

	* elf32-frv.c (elf32_frv_relocate_label24): Don't decrement value by 4.

Tue Aug 10 17:59:39 1999  Jim Wilson  <wilson@cygnus.com>

	* elf64-ia64.c (elf64_ia64_relocate_section): Add missing continue
	after setting ret_val to false.y

1999-07-31  Tim Wall <twall@tiac.net>

	* Makefile.am: tic54x-*-coff, new target
	* Makefile.in: regenerated
	* archures.c: bfd_arch_tic54x; Added bfd_host_bytes_per_address_unit
	* bfd-in.h: HAS_LOAD_PAGE bfd file flag
	* bfd-in2.h, libbfd.h: regenerated
	* coffcode.h: TI COFF magic, absolute (section-relative) sym handling
	* coffgen.c: initialize load_page field
	* coffswap.h: Add macros for adjusting sym swaps
	* config*: New tic54x-*-coff target
	* libbfd.h: new relocation names
	* reloc.c: Added BFD_RELOC_PARTLS7, _PARTMS9
	* section.c: load_page field added to asection; add
	  SEC_BLOCK/SEC_CLINK flags
	* targets.c: Added tic54x vectors
	* cpu-tic54x.c, coff-tic54x.c: NEW

1999-07-29  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (elf64_ia64_check_relocs): Set dynobj for plt entries.
	(elf64_ia64_relocate_section) [PCREL21B]: Accept undef_weak as a
	failure case.

1999-07-29  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (elf64_ia64_final_link): Cope with no .got in
	choosing a gp.

Thu Jul 29 11:29:25 1999  Catherine Moore  <clm@cygnus.com>

	* reloc.c (BFD_RELOC_FRV_LO_PC16, BFD_RELOC_FRV_HI_PC16): New.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
	* elf32-frv.c (el32_frv_howto_table):  Add entries for
	R_FRV_LO_PC16 and R_FRV_HI_PC16.
	(elf32_frv_relocate_sda): Check for bfd_reloc_overflow.
	(elf32_frv_relocate_hi16): Ditto.
	(elf32_frv_relocate_lo16): Ditto.
	(elf32_frv_relocate_label24): Ditto.
	(elf32_frv_relocate_hi_pc16): New routine.  Stubbed out for now.
	(elf32_frv_relocate_lo_pc16): Ditto.
	(elf32_frv_relocate_section): Call new routines.

Mon Jul 26 08:19:02 1999  Catherine Moore  <clm@cygnus.com>

	* reloc.c (BFD_RELOC_FRV_SDA): New relocation.
	* elf32-frv.c (elf32_frv_howto_table): Add R_FRV_SDA entry.
	(elf32_frv_relocate_sda): New routine.
	(elf32_frv_relocate_section): Call it.
	* bfd-in2.h: Rebuild.
	* libbfd.h: Rebuild.

Sun Jul 25 16:22:05 1999  Jim Wilson  <wilson@cygnus.com>

	* reloc.c (BFD_RELOC_IA64_IMM14): Use ENUM not ENUMX before it.
	(BFD_RELOC_IA64_LDXMOV): Add ENUMDOC after it.

Fri Jul 23 13:06:41 1999  Jim Wilson  <wilson@cygnus.com>

	* elf64-ia64.c (elf64_ia64_size_dynamic_sections): Delete if testing
	dynamic_sections_created.  Add assert before creating .got.plt section.
	Only set plt_sec _raw_size if data.ofs is non-zero.

Thu Jul 15 23:26:45 1999  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (elf64_ia64_reloc_type_lookup): Add GPREL64I.
	(get_dyn_name): Tidy anonymous names.
	(elf64_ia64_check_relocs): Don't allocate dynamic relocations
	for sections that aren't loaded.
	(elf64_ia64_dynamic_symbol_p): Dereference indirect symbols.
	(allocate_fptr): Likewise.
	(allocate_plt_entries): Likewise.  Don't rely on NEEDS_PLT.
	(allocate_plt2_entries): Likewise.
	(elf64_ia64_size_dynamic_sections): Thinko dropping .rela.
	(set_got_entry): Take dynindx, not h.  Thinko in gp-rel calc.
	(elf64_ia64_final_link): Simplify initial gp_val.
	(elf64_ia64_relocate_section): Track unversioned h for use with
	get_dyn_name.  Don't install dynamic relocations on sections
	that aren't loaded.  Copy correct FPTR setup for LTOFF_FPTR.
	Don't rely on h->plt.offset.
	(elf64_ia64_finish_dynamic_symbol): Don't rely on NEEDS_PLT.

Thu Jul 15 19:20:20 1999  Jim Wilson  <wilson@cygnus.com>

	* cpu-ia64-opc.c (ins_immsu4, ins_immsm1u4): New.
	(elf64_ia64_operands): Add entries for IMM8U4, IMM8M1U4, IMM8M1U8.

1999-07-14  Richard Henderson  <rth@cygnus.com>

	* elf64-ia64.c (elf64_ia64_size_dynamic_sections): Don't
	set .interp if we're not linking dynamically.

1999-07-14  Richard Henderson  <rth@cygnus.com>

	(Will be obsoleted by next sourceware merge)
	* elf32-mips.c (mips_elf_final_link): Note the index
	of the first global got symbol...
	(mips_elf_check_relocs): ... instead of here.

1999-07-13  Richard Henderson  <rth@cygnus.com>

	* reloc.c (BFD_RELOC_IA64_LTOFF22X, BFD_RELOC_IA64_LDXMOV): New.
	* bfd-in2.h, libbfd.h: Rebuild.

	* elf64-ia64.c (*): s/fdesc/fptr/g
	(struct elf64_ia64_dyn_hash_entry): Add pltoff_offset, sym_indx,
	foo_done, want_foo members.
	(struct elf64_ia64_link_hash_table): Remove gp_val, gp_val_defined,
	got_offset, fdesc_offset, plt2_sec members.  Add pltoff_sec,
	rel_pltoff_sec, minplt_entries.
	(ia64_howto_table): Add LTOFF22X, LDXMOV.
	(elf64_ia64_reloc_type_lookup): Likewise.
	(PLT_RESERVED_WORDS): New.
	(plt_min_entry): Correct br.few bits.
	(elf64_ia64_section_from_shdr): Notice SHF_IA_64_SHORT.
	(elf64_ia64_fake_sections): Likewise.
	(elf64_ia64_additional_program_headers): Notice ARCHEXT and UNWIND.
	(elf64_ia64_modify_segment_map): New function.
	(elf64_ia64_dyn_hash_table_init): Zero the structure.
	(elf64_ia64_new_dyn_hash_entry): Likewise.
	(elf64_ia64_create_dynamic_sections): Use default elf version.
	Set SEC_SHORT on .got.  Create .IA_64.pltoff and .rela.IA_64.pltoff.
	(get_got): Set SEC_SHORT.
	(get_fptr): Set SEC_READONLY.
	(get_pltoff): New function.
	(count_dyn_reloc): Use a type, not pc_rel.
	(elf64_ia64_check_relocs): Queue dyn relocs by type.  Speculatively
	mark for fptr, pltoff, and plt entries.  Handle LTOFF22X.
	(elf64_ia64_always_size_sections): Delete.
	(reorder_plt_fdesc, reorder_nonplt_fdesc): Delete.
	(allocate_global_data_got): Renamed from reorder_global_data_got.
	Use the want_foo members on the dyn_h.
	(struct elf64_ia64_allocate_data): New.
	(allocate_global_fptr_got): Likewise.
	(allocate_local_got): Likewise.
	(allocate_fptr): New function.
	(allocate_plt_entries): New function.
	(allocate_plt2_entries): Use the want_foo members.
	(allocate_pltoff_entries): New function.
	(allocate_dynrel_entries): Allocate by type.  Handle @pltoff properly.
	(elf64_ia64_size_dynamic_sections): Use elf64_ia64_allocate_data.
	Subsume always_size_sections.  Allocate everything.  Zero the
	ia64_info members as sections are removed.
	(elf64_ia64_install_value): Fix return type.  Ignore LDXMOV.
	Handle LTOFF22X.
	(elf64_ia64_install_dyn_reloc): New function.
	(set_got_entry): Install dynamic relocations.  Flag done.
	(set_fptr_entry): Flag done.
	(set_pltoff_entry): New function.
	(elf64_ia64_final_link): New function.
	(elf64_ia64_relocate_section): Move __gp code to final_link.
	Propogate SHF_IA_64_NORECOV.  Do dynamic relocations.  LTOFF_FPTR
	is gp-relative.
	(elf64_ia64_finish_dynamic_symbol): Use set_pltoff_entry.
	Properly install the IPLT reloc.
	(elf64_ia64_finish_dynamic_sections): Update PLTRELSZ and JMPREL.
	(elf64_ia64_merge_private_bfd_data): Don't support mixed-format links.

1999-07-12  Nick Clifton  <nickc@cygnus.com>

	* config.bfd: Add XScale target.
	* cpu-arm.c:  Add XScale target.

1999-07-06  Michael Meissner  <meissner@cygnus.com>

	* elf32-frv.c (frv_elf_merge_private_bfd_data): Copy -mdouble
	and -mmedia flags if set on new object but not old.

1999-06-30  Don Lindsay <dlindsay@cygnus.com>

	* archures.c - added ARM v5 BFD_ enumeral
	* bfd-in2.h  - added ARM v5 BFD_ enumeral (generated from archures.c)
	* cpu-arm.c  - added map from enumeral to "XScale"
	* coffcode.h - added ARM v5 BFD_ enumeral

1999-06-28  Michael Meissner  <meissner@cygnus.com>

	* elf32-frv.c (frv_elf_set_private_flags): New function to
	deal with the e_flags field.
	(frv_elf_{copy,merge}_private_bfd_data): Ditto.

Sat Jun 26 16:20:12 1999  Catherine Moore  <clm@cygnus.com>

	* (R_FRV_LABEL24_HOWTO): Muck with bitsize and shift value.
	(elf32_frv_relocate_label24): New routine.
	(elf32_frv_relocate_section): Call it.

Wed Jun 23 19:52:02 1999  Jim Wilson  <wilson@cygnus.com>

	* elf64-ia64.c (elf64_ia64_relocate_section): Don't define gp
	if info->relocatable.

1999-06-21  Richard Henderson  <rth@cygnus.com>

	* reloc.c: Add missing ia64 relocations.
	* bfd-in2.h, libbfd.h: Rebuild.

	* elflink.h (elf_fix_symbol_flags): Refine the test to remove
	ELF_LINK_HASH_NEEDS_PLT.
	* elf64-ia64.c: Convert to K&R + prototypes.
	(init): Incorporate into lookup_howto.
	(ia64_howto_table): Add missing relocation entries.
	(elf64_ia64_reloc_type_lookup): Likewise.
	(PLT_HEADER_SIZE, PLT_MIN_ENTRY_SIZE, PLT_FULL_ENTRY_SIZE): New.
	(plt_header, plt_min_entry, plt_full_entry): New.
	(ELF_DYNAMIC_INTERPRETER): New.
	(elf64_ia64_section_from_shdr): Handle SHT_IA_64_EXT.
	(elf64_ia64_fake_sections): New.
	(elf64_ia64_add_symbol_hook): New.
	(elf64_ia64_dynamic_symbol_p): New.
	(elf64_ia64_new_dyn_hash_entry): Initialize new members.
	(elf64_ia64_dyn_hash_lookup): New.
	(elf64_ia64_dyn_hash_traverse): New.
	(elf64_ia64_create_dynamic_sections): New.
	(get_dyn_name, get_fdesc, get_reloc_section, count_dyn_reloc): New.
	(elf64_ia64_check_relocs): Rewrite to handle dynamic relocations
	and @pltoff.
	(elf64_ia64_always_size_sections): Renamed from dynamic_size_sections.
	(elf64_ia64_adjust_dynamic_symbol): New.
	(reorder_plt_fdesc, reorder_nonplt_fdesc): New.
	(reorder_global_data_got, reorder_global_fdesc_got): New.
	(reorder_local_got): New.
	(allocate_plt2_entries, allocate_dynrel_entries): New.
	(elf64_ia64_size_dynamic_sections): New.
	(elf64_ia64_install_value): Handle missing relocations.
	(set_got_entry): Simplify arguments.  Remove get_dyn_name code.
	(set_fptr_entry): Likewise.
	(elf64_ia64_final_link_relocate): Integrate into relocate_section.
	(elf64_ia64_relocate_section): Handle @pltoff.
	(elf64_ia64_finish_dynamic_symbol): New.
	(elf64_ia64_finish_dynamic_sections): New.

1999-06-16  Nick Clifton  <nickc@cygnus.com>

	* elf32-mcore.c: Add CYGNUS LOCAL markers to
	development-in-progress dlltool support code.

1999-06-03  David Mosberger  <davidm@hpl.hp.com>

	* cpu-ia64.c: New file.
	* cpu-ia64-opc.c: New file.
	* elf64-ia64.c: New file.
	* Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES): Add cpu-ia64.
	(BFD64_BACKENDS, BFD64_BACKENDS_CFILES): Add elf64-ia64.
	* archures.c (bfd_arch_ia64, bfd_ia64_arch): New.
	* config.bfd (ia64*-*-linux-gnu*, ia64*-*-elf*): New.
	* configure.host (ia64-*-linux*): New.
	* configure.in (bfd_elf64_ia64_*_vec): New.
	* elf.c (prep_headers): Handle bfd_arch_ia64.
	* reloc.c (BFD_RELOC_IA64_*): New.
	* targets.c (bfd_elf64_ia64_*_vec): New.
	(bfd_target_vector): Add them.

1999-05-28  Catherine Moore  <clm@cygnus.com>

	* elf32-frv.c (elf32_frv_relocate_hi16):  Change argument
	list.  Process independent of corresponding setlo.
	(elf32_frv_relocate_lo16): New routine.
	(elf32_frv_lo16_reloc): Remove.
	(elf32_frv_hi16_reloc): Remove.
	(elf32_frv_relocate_section): Check for R_FRV_LO16.

1999-05-27  DJ Delorie  <dj@cygnus.com>

	* pe-mips.c (coff_mips_reloc): Allow RVAs with addends

1999-05-27  DJ Delorie  <dj@cygnus.com>

	* pe-mips.c (coff_pe_mips_relocate_section): copy function from i386
	and adjust to handle mips relocs

1999-05-27  Catherine Moore  <clm@cygnus.com>

	* elf32-frv.c (elf32_frv_check_relocs): Renamed.
	(elf32_frv_gc_sweep_hook): Renamed.
	(elf32_frv_gc_mark_hook): Renamed.
	(elf32_frv_relocate_section): Renamed.
	Add support for R_FRV_HI16 and R_FRV_LO16.
	(elf32_frv_relocate_hi16): New routine.
	(elf32_frv_hi16_reloc): Support R_FRV_HI16.
	(elf32_frv_lo16_reloc): Support R_FRV_LO16.

1999-05-26  DJ Delorie  <dj@cygnus.com>

	* pe-mips.c (coff_pe_mips_relocate_section): Support gcc's
	REFHI/REFLO convention.

1999-05-25  Catherine Moore  <clm@cygnus.com>

	* reloc.c: Frv reloc support.
	* elf32-frv.c (elf32_frv_hi16_reloc): Declare.
	(elf32_frv_lo16_reloc): Declare.
	(reloc_howto_type frv_elf_howto_table):  Support frv
	relocs.
	* bfd-in2.h: Rebuild.
	* libbfd.h: Rebuild.

1999-05-11  DJ Delorie  <dj@cygnus.com>

	* config.bfd: add sh-pe and mips-pe (Windows CE) support
	* configure.in, configure: ditto
	* Makefile.am, Makefile.in: ditto
	* targets.c: ditto
	* coff-sh.c: ditto.  Mostly adding newreloc types and PE file
	detection.
	* coffcode.h: ditto
	* peicode.h: add hooks for PE reloc overrides, fix .reloc type 4
	* pe-sh.c, pei-sh.c, pe-mips.c, pei-mips.c: new

1999-05-11  Catherine Moore  <clm@cygnus.com>

	* elf.c (prep_headers):  Support bfd_arch_frv.

Thu Apr 29 17:04:58 1999  Dave Brolley  <brolley@cygnus.com>

	* targets.c: declare bfd_elf32_frv_vec.
	* archures.c: Add support for frv.
	* config.bfd: Add support for frv.
	* configure.in: Add support for frv.
	* configure: Regenerate.
	* bfd-in2.h: Regenerate.
	* elf32-frv.c: New file.
	* cpu-frv.c: New file.

1998-12-13  Gavin Romig-Koch  <gavin@cygnus.com>

	* archures.c,bfd-in2.h (bfd_mach_mips4121): New.
	* cpu-mips.c: Added vr4121.
	* elf32-mips.c (elf_mips_mach): Same.
	(_bfd_mips_elf_final_write_processing): Same.

Tue Mar  3 11:24:05 1998  Gavin Koch  <gavin@cygnus.com>

	* mips-cpu.c: Reorganize sanitization.

Mon Dec 15 16:08:52 1997  Nick Clifton  <nickc@cygnus.com>

	* elf32-m32r.c (m32r_elf_merge_private_bfd_data): Allow M32R
	object files to be merged into a M32RX executable.

	* archures.c: Add bfd_mach_m32rx.

Mon Dec 15 15:01:15 1997  Nick Clifton  <nickc@cygnus.com>

	* cpu-m32r.c: Add m32rx cpu architecture.
	* bfd-in2.h (bfd_mach_m32rx): Add identifier for M32RX
	architecture machines.

Tue Dec  9 11:37:53 1997  Andrew Cagney  <cagney@b1.cygnus.com>

	* archures.c (vr5400, bfd_mach_vr5000): Define.


Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
change-log-default-name: "ChangeLog.RedHat"
End:
