summaryrefslogtreecommitdiff
path: root/bfd/ChangeLog-0001
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2002-01-07 12:10:15 +0000
committerNick Clifton <nickc@redhat.com>2002-01-07 12:10:15 +0000
commit96a8f708467acca2687684c7587c2b7fe23dcec2 (patch)
tree0898a436a17524aecbbac1cff06fedb3def9e315 /bfd/ChangeLog-0001
parente3d75f53eda08576eb092a9009fc8baec9d0c7f3 (diff)
downloadbinutils-redhat-96a8f708467acca2687684c7587c2b7fe23dcec2.tar.gz
Rotated ChangeLog
Diffstat (limited to 'bfd/ChangeLog-0001')
-rw-r--r--bfd/ChangeLog-00019592
1 files changed, 9592 insertions, 0 deletions
diff --git a/bfd/ChangeLog-0001 b/bfd/ChangeLog-0001
new file mode 100644
index 0000000000..3000c0372f
--- /dev/null
+++ b/bfd/ChangeLog-0001
@@ -0,0 +1,9592 @@
+2001-12-31 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (elf_bfd_final_link): Check if dynobj is not NULL
+ before looking for .eh_frame_hdr section.
+ * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): If
+ .eh_frame_hdr section is being stripped from output, don't do
+ anything.
+
+2001-12-27 Tom Rix <trix@redhat.com>
+
+ * coff-rs6000.c (xcoff_generate_rtinit): Clean data_buffer alloc/free.
+ * coff64-rs6000.c (xcoff64_generate_rtinit): Same.
+ (xcoff_write_archive_contents_big): Rewrite.
+ (xcoff_write_armap_big): Rewrite.
+ (xcoff_write_one_armap_big): Delete.
+ * libxcoff.h : Clean up.
+
+2001-12-21 Tom Rix <trix@redhat.com>
+
+ * xcofflink.c (bfd_xcoff_link_generate_rtinit): New function.
+ Interface to linker for generation of __rtinit.
+ * libxcoff.h (struct xcoff_backend_data_rec): Add new ops to xcoff
+ backend to generate special linker symbol __rtinit.
+ * coff-rs6000.c (bfd_xcoff_backend_data, bfd_pmac_xcoff_backend_data)
+ : Add new rtinit ops
+ * coff64-rs6000.c (bfd_xcoff_aix5_backend_data,
+ bfd_xcoff_backend_data): Same.
+ * bfd-in.h: Add bfd_xcoff_link_generate_rtinit.
+ * bfd-in2.h : Regenerate.
+
+2001-12-21 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (_bfd_sparc_elf_howto_table): Fix dst_mask for
+ R_SPARC_DISP32. Support R_SPARC_PLT32.
+ (sparc_reloc_map): Add BFD_RELOC_16_PCREL and BFD_RELOC_SPARC_PLT32.
+ (elf32_sparc_check_relocs): Handle R_SPARC_PLT32.
+ (elf32_sparc_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_howto_table): Fix dst_mask for
+ R_SPARC_DISP32. Support R_SPARC_PLT32 and R_SPARC_PLT64.
+ (sparc_reloc_map): Add BFD_RELOC_16_PCREL, BFD_RELOC_64_PCREL
+ and BFD_RELOC_SPARC_PLT32.
+ (sparc64_elf_check_relocs): Handle R_SPARC_PLT32 and R_SPARC_PLT64.
+ (sparc64_elf_relocate_section): Likewise.
+ * reloc.c (bfd_reloc_code_type): Add BFD_RELOC_SPARC_PLT32.
+ * bfd-in2.h, libbfd.h: Rebuilt.
+
+2001-12-20 Tom Rix <trix@redhat.com>
+
+ * coffcode.h (coff_compute_section_file_positions): Add special AIX
+ loader alignment of text section.
+
+2001-12-20 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (mips-dec-netbsd*): Delete alias for mips*el-*-netbsd*.
+
+ * config.bfd (arm-*-netbsdelf*): Add target.
+ * configure.in: Include netbsd-core.lo for native arm-*-netbsd*.
+ * configure: Regenerate.
+
+2001-12-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elfcode.h (elf_slurp_symbol_table): Test elf_elfsections for NULL,
+ as can happen with a core file, before dereferencing.
+
+2001-12-19 Michael Snyder <msnyder@redhat.com>
+
+ * elf32-i386.c (elf_i386_grok_psinfo): Fix copy-and-paste error:
+ target is i386 (not mips), and size of descdata is 124 (not 128).
+
+2001-12-19 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): If new_size
+ is 0, temporarily grow it to minimal CIE size.
+ (_bfd_elf_write_section_eh_frame): If input .eh_frame section would
+ end up empty, build a fake minimal CIE.
+
+2001-12-19 Steve Ellcey <sje@cup.hp.com>
+
+ * config.bfd (bfd_elf32_ia64_hpux_big_vec): New vector for
+ ia64*-*-hpux* target.
+ (bfd_elf64_ia64_hpux_big_vec): Likewise.
+ * targets.c: Ditto.
+ * configure.in: Ditto.
+ * configure: Regenerate
+ * elfxx-ia64.c (elfNN_ia64_final_write_processing): Replace use of
+ alloca with bfd_malloc.
+ (get_local_sym_hash): Likewise.
+ (elfNN_hpux_post_process_headers): New function.
+ #include elfNN-target.h again with values for IA64 HP-UX vector.
+
+2001-12-18 Michael Snyder <msnyder@redhat.com>
+
+ * elf.c (assign_file_positions_for_segments): Don't sort PT_NOTE
+ sections of corefiles. Also it makes no sense to sort if count == 1.
+
+2001-12-18 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (_bfd_elf_copy_private_bfd_data): Also copy GP.
+
+2001-12-18 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (_bfd_elf_copy_private_bfd_data): Update comments.
+
+2001-12-18 H.J. Lu <hjl@gnu.org>
+
+ * elf-bfd.h (_bfd_elf_copy_private_bfd_data): New. Prototype.
+ (_bfd_mips_elf_copy_private_bfd_data): Removed.
+
+ * elf.c (_bfd_elf_copy_private_bfd_data): New. Copy e_flags in
+ the ELF header.
+
+ * elf32-i370.c (??_elf_copy_private_bfd_data): Removed.
+ (bfd_elf??_bfd_copy_private_bfd_data): Removed.
+ * elf32-m32r.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-mips.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-sparc.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+
+ * elf64-mips.c (bfd_elf64_bfd_copy_private_bfd_data): Removed.
+
+ * elfxx-target.h (bfd_elfNN_bfd_copy_private_bfd_data): Defined
+ to _bfd_elf_copy_private_bfd_data.
+
+2001-12-18 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390 (elf_s390_check_relocs): Pass addend to
+ gc_record_vtentry.
+ * elf64-s390 (elf_s390_check_relocs): Likewise.
+ Fix by Andreas Jaeger <aj@suse.de>.
+
+2001-12-18 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * configure.host: Correctly match all NetBSD/mips
+ hosts.
+
+2001-12-18 matthew green <mrg@eterna.com.au>
+
+ * config.bfd (m68*-*-netbsdelf*): New target.
+ (m68*-*-netbsd): Also include bfd_elf32_m68k_vec.
+ (m68*-*-netbsdaout*): New alias for m68*-*-netbsd.
+
+2001-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (size_dynamic_sections): Skip anonymous version tag.
+ (elf_link_assign_sym_version): Don't count anonymous version tag.
+
+2001-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-eh-frame.c (struct cie): Add make_lsda_relative.
+ (struct eh_cie_fde): Add lsda_encoding, lsda_offset,
+ make_lsda_relative.
+ (read_value, write_value): New.
+ (_bfd_elf_discard_section_eh_frame): Inicialize
+ lsda_encoding, lsda_offset and make_lsda_relative.
+ (_bfd_elf_eh_frame_section_offset): If make_lsda_relative,
+ request no dynamic reloc for LSDA field of FDE.
+ (_bfd_elf_write_section_eh_frame): Handle make_lsda_relative.
+ If a non-DW_EH_PE_absptr value is 0, don't adjust it by base
+ or pcrel. Fix address computation for DW_EH_PE_pcrel relocs.
+ Update LSDA field if LSDA encoding is DW_EH_PE_pcrel, because
+ . might have changed due to deleted FDE or CIEs.
+
+2001-12-18 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-strtab.c (struct elf_strtab_hash_entry): Add u.next.
+ (last_eq): Remove.
+ (_bfd_elf_strtab_finalize): Don't use a hash table for last
+ character chains, instead use an array.
+
+2001-12-18 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * elf.c (elfcore_netbsd_get_lwpid): New function.
+ (elfcore_grok_netbsd_procinfo): New function.
+ (elfcore_grok_netbsd_note): New function.
+ (elfcore_read_notes): Call elfcore_grok_netbsd_note to process
+ NetBSD ELF core file notes.
+
+2001-12-18 Alan Modra <amodra@bigpond.net.au>
+
+ * elfcode.h (struct bfd_preserve): New.
+ (elf_object_p): Replace preserved_* vars with instance of above.
+ Save and restore arch_info pointer rather than arch, mach so that
+ more cases can be restored. Save and restore new section_tail,
+ section_htab structure, and init appropriately. Move "rest of
+ section header" code so that i_shdrp needs no NULL initialisation.
+ Free old section_htab on success.
+ * elfcore.h (elf_core_file_p): Likewise.
+
+2001-12-17 Tom Rix <trix@redhat.com>
+
+ * coffcode.h (sec_to_styp_flags): Add STYP_EXCEPT and STYP_TYPCHK for
+ xcoff.
+
+2001-12-17 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-bfd.h (elf_discarded_section): Define.
+ * elflink.h (elf_link_input_bfd): Use it.
+ (elf_reloc_symbol_deleted_p): Likewise.
+
+ * elf64-alpha.c (elf64_alpha_relocate_section): Don't warn about
+ overflows for pc relative relocs against discarded sections.
+
+2001-12-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c (_bfd_mips_elf_relocate_section): Formatting.
+ * elf64-mips.c: Add most of the fixes and tweaks done in elf32-mips.c
+ over the last months. Add some code for mips16 handling.
+ (mips_elf64_check_mips16_stubs): New function.
+ (mips_elf64_stub_section_p): Likewise.
+ (mips_elf64_calculate_relocation): Change interface to support mips16.
+ (mips_elf64_perform_relocation): Likewise.
+
+2001-12-17 Alan Modra <amodra@bigpond.net.au>
+
+ Support for more than 64k ELF sections.
+ * elf-bfd.h (elf_size_info <swap_symbol_out>): Add shndx param.
+ (bfd_elf32_swap_symbol_in): Likewise.
+ (bfd_elf32_swap_symbol_out): Likewise.
+ (bfd_elf64_swap_symbol_in): Likewise.
+ (bfd_elf64_swap_symbol_out): Likewise.
+ (elf_reloc_cookie): Add locsym_shndx field. Make locsyms a PTR.
+ (elf_obj_tdata): Add num_elf_sections, symtab_shndx_hdr and
+ symtab_shndx_section.
+ (elf_numsections): Define.
+ (elf_symtab_shndx): Define.
+ * elf.c (setup_group): Use elf_numsections rather than header e_shnum.
+ (bfd_elf_find_section): Likewise.
+ (bfd_section_from_elf_index): Likewise.
+ (bfd_section_from_shdr): Likewise. Handle SHT_SYMTAB_SHNDX.
+ (bfd_section_from_r_symndx): Read symbol shndx extension, and
+ translate st_shndx for > SHN_HIRESERVE.
+ (assign_section_numbers): Skip reserved sections. Assign
+ symtab_shndx_section and elf_numsections. Exclude reserved
+ sections from e_shnum. Set up symtab_shndx_hdr.
+ (_bfd_elf_compute_section_file_positions): Handle symtab_shndx_hdr.
+ (map_sections_to_segments): Don't map eh_frame_hdr unless required.
+ (assign_file_positions_except_relocs): Use elf_numsections rather
+ than header e_shnum. Skip reserved sections and symtab_shndx_section.
+ (prep_headers): Set name for symtab_shndx_hdr.
+ (_bfd_elf_assign_file_positions_for_relocs): Use elf_numsections.
+ (_bfd_elf_write_object_contents): Likewise. Skip reserved sections.
+ (_bfd_elf_section_from_bfd_section): Check bfd_{abs,com,und}_section
+ first. Use elf_section_data if available. Use elf_numsections.
+ Start scan at index 1.
+ (copy_private_bfd_data ): Comment fixes.
+ (MAP_ONESYMTAB): Define above SHN_HIOS.
+ (MAP_DYNSYMTAB): Likewise.
+ (MAP_STRTAB): Likewise.
+ (MAP_SHSTRTAB): Likewise.
+ (MAP_SYM_SHNDX): New define.
+ (_bfd_elf_copy_private_symbol_data): Handle symtab_shndx_section.
+ (swap_out_syms): Swap out SHT_SYMTAB_SHNDX section too.
+ * elfcode.h (elf_swap_symbol_in): Add shndx param, and handle shndx
+ extension.
+ (elf_swap_symbol_out): Likewise.
+ (elf_object_p): Set elf_numsections, and use instead of e_shnum.
+ Initialialise reserved elf_elfsections to point at shdr[0]. Remove
+ redundant bfd_release calls.
+ (elf_slurp_symbol_table): Read symbol shndx extension, and use with
+ elf_swap_symbol_in. Translate st_shndx for > SHN_HIRESERVE too.
+ * elflink.h (elf_link_is_defined_archive_symbol): Read symbol shndx
+ extension, and use with elf_swap_symbol_in.
+ (elf_link_record_local_dynamic_symbol): Likewise.
+ (elf_link_add_object_symbols): Likewise. Also translate st_shndx
+ for elf sections > SHN_HIRESERVE.
+ (NAME(bfd_elf,size_dynamic_sections)): Adjust elf_swap_symbol_out
+ call.
+ (struct elf_final_link_info): Add locsym_shndx and symshndxbuf.
+ (elf_bfd_final_link): Allocate the above, and tidy code allocating
+ other buffers. Use elf_numsections instead of e_shnum. Adjust
+ elf_swap_symbol_out calls.
+ (elf_link_output_sym): Swap out symbol shndx extension too.
+ (elf_link_flush_output_syms): And flush them to disk.
+ (elf_link_output_extsym): Use SHN_BAD. Adjust elf_swap_symbol_out
+ calls.
+ (elf_gc_mark): Read symbol shndx extension, and use with
+ elf_swap_symbol_in.
+ (elf_link_input_bfd): Likewise, Translate st_shndx for elf sections
+ > SHN_HIRESERVE too. Use SHN_BAD.
+ (elf_reloc_symbol_deleted_p): Use symbol shndx extensions with
+ elf_swap_symbol_in. Translate st_shndx > SHN_HIRESERVE too.
+ (elf_bfd_discard_info): Read symbol shndx extension. Don't attempt
+ to continue after a bfd error.
+ * elf-m10200.c (mn10200_elf_relax_section): Only read local syms.
+ Stash them immediately to symtab_hdr->contents rather than later
+ in multiple places. Clean up afterwards. Read symbol shndx
+ extension, and use with swap_symbol_in. Translate SHN_UNDEF,
+ SHN_ABS, SHN_COMMON and elf sections > SHN_HIRESERVE to bfd
+ sections too. Remove dead code.
+ (mn10200_elf_relax_delete_bytes): Use symbol shndx extension
+ when swapping in symbols. Tidy code adjusting global syms.
+ Don't swap in global syms.
+ (mn10200_elf_symbol_address_p): Likewise. Remove extsyms param.
+ (mn10200_elf_get_relocated_section_contents): Read symbol shndx
+ extension, and use with swap_symbol_in. Rename "size" -> "amt"
+ to maximize code in common with other files. Translate st_shndx
+ for > SHN_HIRESERVE too. Remove dead code.
+ * elf-m10300.c (mn10300_elf_relax_section): Only read local syms.
+ Stash them immediately to symtab_hdr->contents rather than later
+ in multiple places. Clean up afterwards. Read symbol shndx
+ extension, and use with swap_symbol_in. Remove dead code.
+ (mn10300_elf_relax_delete_bytes): As for elf-m10200.c.
+ (mn10300_elf_symbol_address_p): Likewise.
+ (mn10300_elf_get_relocated_section_contents): Likewise.
+ * elf32-h8300.c (elf32_h8_relax_section): As for elf-m10300.c.
+ (elf32_h8_relax_delete_bytes): Likewise.
+ (elf32_h8_symbol_address_p): Likewise.
+ (elf32_h8_get_relocated_section_contents): Likewise.
+ * elf32-hppa.c (elf32_hppa_size_stubs): Read symbol shndx
+ extension, and use with swap_symbol_in.
+ * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
+ * elf32-i370.c (i370_elf_finish_dynamic_sections): Adjust call to
+ bfd_elf32_swap_symbol_out.
+ * elf32-m32r.c (m32r_elf_get_relocated_section_contents): Translate
+ elf sections > SHN_HIRESERVE too.
+ * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Only read
+ local syms. Read symbol shndx extension, and use with swap_symbol_in.
+ * elf32-mips.c (_bfd_mips_elf_final_write_processing): Use
+ elf_numsections rather than header e_shnum.
+ * elf32-sh.c (sh_elf_relax_section): As for elf-m10300.c.
+ (sh_elf_relax_delete_bytes): Likewise.
+ (sh_elf_get_relocated_section_contents): Likewise. Only read local
+ symbols.
+ * elf32-v850.c (v850_elf_symbol_processing): Use an unsigned int to
+ hold section index. Use elf_numsections rather than e_shnum.
+ Rename "index" -> "indx" to avoid shadowing warning.
+ (v850_elf_add_symbol_hook): Likewise.
+ * elf64-alpha.c (elf64_alpha_relax_section): Only read local syms.
+ Read symbol shndx extension, and use with swap_symbol_in.
+ * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
+ Translate SHN_COMMON and elf sections > SHN_HIRESERVE too.
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
+ (elfNN_ia64_aix_add_symbol_hook): Use elf_numsections.
+
+ * elf-m10300.c (mn10300_elf_gc_mark_hook): Remove unnecessary checks
+ before calling bfd_section_from_elf_index on local syms.
+ * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
+ * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
+ * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
+ * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
+ * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
+ * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
+ * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
+ * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
+ * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
+ * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
+ * elf32-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
+ * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
+ * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
+ * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
+ * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
+ * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
+ * elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
+ * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
+ * elf64-mips.c (mips_elf64_gc_mark_hook): Likewise.
+ * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
+ * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
+ * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
+
+2001-12-17 Alan Modra <amodra@bigpond.net.au>
+
+ Hash bfd sections for fast lookup and create.
+ * bfd.c (struct _bfd): Add section_htab, section_tail.
+ * libbfd-in.h (_bfd_delete_bfd): Declare.
+ (bfd_section_hash_newfunc): Declare.
+ * opncls.c (_bfd_new_bfd): Free memory on failure. Init
+ section_htab and section_tail.
+ (_bfd_delete_bfd): New function.
+ (bfd_openr): Use it.
+ (bfd_fdopenr): Likewise.
+ (bfd_openstreamr): Likewise.
+ (bfd_openw): Likewise.
+ (bfd_close): Likewise.
+ (bfd_close_all_done): Likewise.
+ (bfd_release): Comment.
+ * section.c (struct section_hash_entry): New.
+ (bfd_section_hash_newfunc): New function.
+ (section_hash_lookup): Define.
+ (bfd_section_init): New function, split out from
+ bfd_make_section_anyway.
+ (bfd_get_section_by_name): Lookup via hash table.
+ (bfd_get_unique_section_name): Likewise.
+ (bfd_make_section_old_way): Rewrite to use hash table.
+ (bfd_make_section_anyway): Likewise.
+ (bfd_make_section): Likewise. Return NULL for attempts to make
+ BFD_{ABS,COM,UND,IND}_SECTION_NAME.
+ (_bfd_strip_section_from_output): Adjust section_tail if needed.
+ * configure.in: Bump bfd version.
+ * configure: Regenerate.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2001-12-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf64-mips.c (mips_elf64_link_hash_entry): New link hash.
+ (mips_elf64_high): New Function.
+ (mips_elf64_higher): Likewise.
+ (mips_elf64_highest): Likewise.
+ (mips_elf64_info_to_howto_rel): Likewise.
+ (mips_elf64_info_to_howto_rela): Likewise.
+ (mips_elf64_write_rel): Likewise.
+ (mips_elf64_write_rela): Likewise.
+ (mips_elf64_link_hash_newfunc): Likewise.
+ (mips_elf64_hi16_reloc): Likewise.
+ (mips_elf64_higher_reloc): Likewise.
+ (mips_elf64_highest_reloc): Likewise.
+ (mips_elf64_gprel16_reloc): Likewise.
+ (mips_elf64_gprel16_reloca): Likewise.
+ (mips_elf64_literal_reloc): Likewise.
+ (mips_elf64_gprel32_reloc): Likewise.
+ (mips_elf64_shift6_reloc): Likewise.
+ (mips_elf64_got16_reloc): Likewise.
+ (mips_elf64_assign_gp): Likewise.
+ (mips_elf64_final_gp): Likewise.
+ (gprel16_with_gp): Likewise.
+ (mips_elf64_additional_program_headers): Likewise.
+ (mips_elf64_link_hash_table_create): Likewise.
+ (mips_elf64_got_offset_from_index): Likewise.
+ (_mips_elf64_got_info): Likewise.
+ (mips_elf64_sign_extend): Likewise.
+ (mips_elf64_overflow_p): Likewise.
+ (mips_elf64_global_got_index): Likewise.
+ (mips_elf64_sort_hash_table_f): Likewise.
+ (mips_elf64_sort_hash_table): Likewise.
+ (mips_elf64_swap_msym_out): Likewise.
+ (mips_elf64_create_local_got_entry): Likewise.
+ (mips_elf64_local_got_index): Likewise.
+ (mips_elf64_got_page): Likewise.
+ (mips_elf64_got16_entry): Likewise.
+ (mips_elf64_local_relocation_p): Likewise.
+ (mips_elf64_next_relocation): Likewise.
+ (mips_elf64_create_dynamic_relocation): Likewise.
+ (mips_elf64_calculate_relocation): Likewise.
+ (mips_elf64_obtain_contents): Likewise.
+ (mips_elf64_perform_relocation): Likewise.
+ (mips_elf64_relocate_section): Likewise.
+ (mips_elf64_create_dynamic_sections): Likewise.
+ (mips_elf64_adjust_dynamic_symbol): Likewise.
+ (mips_elf64_always_size_sections): Likewise.
+ (mips_elf64_size_dynamic_sections): Likewise.
+ (mips_elf64_finish_dynamic_symbol): Likewise.
+ (mips_elf64_finish_dynamic_sections): Likewise.
+ (mips_elf64_gc_mark_hook): Likewise.
+ (mips_elf64_gc_sweep_hook): Likewise.
+ (mips_elf64_create_got_section): Likewise.
+ (mips_elf64_record_global_got_symbol): Likewise.
+ (mips_elf64_create_msym_section): Likewise.
+ (mips_elf64_allocate_dynamic_relocations): Likewise.
+ (mips_elf64_check_relocs): Likewise.
+ (mips_elf64_output_extsym): Likewise.
+ (mips_elf64_swap_gptab_in): Likewise.
+ (mips_elf64_swap_gptab_out): Likewise.
+ (gptab_compare): Likewise.
+ (mips_elf64_final_link): Likewise.
+ (prev_reloc_addend): Remenber addend of previous parts of a combined
+ reloc.
+ (ELF_MIPS_GP_OFFSET): New define.
+ (STUB_LW,STUB_MOVE,STUB_JALR,STUB_LI16): Likewise.
+ (MIPS_FUNCTION_STUB_SIZE): Likewise.
+ (mips_elf64_howto_rel): Fix HOWTO defines.
+ (mips_elf64_howto_rela): Likewise.
+ (mips_elf64_swap_reloca_out): Fix signedness.
+ (mips_elf64_be_swap_reloc_in): Use ELF64* instead of ELF32*.
+ (mips_elf64_be_swap_reloca_in): Likewise.
+ (mips_elf64_be_swap_reloc_out): Likewise. Preserve extended type info.
+ (mips_elf64_be_swap_reloca_out): Likewise.
+
+2001-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-bfd.h (_bfd_elf_maybe_strip_eh_frame_hdr): New prototype.
+ * elf-eh-frame.c (struct eh_frame_hdr_info): Add strip.
+ (_bfd_elf_discard_section_eh_frame): Don't create .eh_frame_hdr
+ sec_info here. Free ehbuf.
+ (_bfd_elf_discard_section_eh_frame_hdr): Don't size the section
+ if hdr_info->strip.
+ (_bfd_elf_maybe_strip_eh_frame_hdr): New.
+ * elflink.h (size_dynamic_sections): Call it.
+
+2001-12-14 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_bfd_discard_info): Fix segfault when dynobj NULL.
+
+2001-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-bfd.h (enum elf_link_info_type): New.
+ (struct bfd_elf_section_data): Remove stab_info and merge_info
+ fields, add sec_info and sec_info_type.
+ (struct elf_obj_tdata): Add eh_frame_hdr field.
+ (_bfd_elf_discard_section_eh_frame): New prototype.
+ (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
+ (_bfd_elf_eh_frame_section_offset): Likewise.
+ (_bfd_elf_write_section_eh_frame): Likewise.
+ (_bfd_elf_write_section_eh_frame_hdr): Likewise.
+ * Makefile.am (BFD32_BACKENDS): Add elf-eh-frame.lo.
+ (BFD32_BACKENDS_CFILES): Add elf-eh-frame.c.
+ (elf-eh-frame.lo): New.
+ * Makefile.in: Rebuilt.
+ * configure.in (elf): Add elf-eh-frame.lo.
+ * configure: Rebuilt.
+ * elf.c (_bfd_elf_print_private_bfd_data): Support PT_GNU_EH_FRAME.
+ (map_sections_to_segments): Create PT_GNU_EH_FRAME if requested.
+ (get_program_header_size): Take into account PT_GNU_EH_FRAME
+ segment.
+ (_bfd_elf_rela_local_sym): Use sec_info_type and sec_info.
+ (_bfd_elf_rel_local_sym): Likewise.
+ (_bfd_elf_section_offset): Likewise. Call
+ _bfd_elf_eh_frame_section_offset too.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Use sec_info_type and
+ sec_info.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf-eh-frame.c: New file.
+ * elflink.h (elf_link_add_object_symbols): Don't optimize SHF_MERGE
+ .stab sections. Set sec_info_type, use sec_info instead
+ of merge_info and stab_info.
+ (elf_link_create_dynamic_sections): Create .eh_frame_hdr section
+ if --eh-frame-hdr.
+ (elf_bfd_final_link): Write .eh_frame_hdr section.
+ (elf_link_sec_merge_syms): Use sec_info_type and sec_info.
+ (elf_link_input_bfd): Likewise.
+ Call _bfd_elf_write_section_eh_frame to write .eh_frame sections.
+ (elf_bfd_discard_info): Add output_bfd argument.
+ Call _bfd_elf_discard_section_eh_frame and
+ _bfd_elf_discard_section_eh_frame_hdr.
+ (elf_section_ignore_discarded_relocs): Use sec_info_type, not section
+ names.
+ * bfd-in.h (bfd_elf32_discard_info, bfd_elf64_discard_info): Adjust
+ prototypes.
+ * bfd-in2.h (bfd_elf32_discard_info, bfd_elf64_discard_info): Likewise.
+
+2001-12-12 Richard Henderson <rth@redhat.com>
+
+ * syms.c (_bfd_generic_read_minisymbols): Early return for
+ no symbols. Patch from FreeBSD folk; exact origin unknown.
+
+2001-12-11 Alan Modra <amodra@bigpond.net.au>
+
+ * elfcode.h (elf_swap_ehdr_out): Adjust value written for e_shnum
+ and e_shstrndx if out of range.
+ (elf_object_p): Read extended values for e_shnum and e_shstrndx
+ from the first section header. Allocate space in elf_elfsections
+ for reserved sections and set to NULLs.
+ (elf_write_shdrs_and_ehdr): Set overflow fields in first section
+ header. Skip reserved sections in elf_elfsections. Remove
+ duplicate size calculation.
+
+2001-12-07 Geoffrey Keating <geoffk@redhat.com>
+ Richard Henderson <rth@redhat.com>
+ Corinna Vinschen <vinschen@redhat.com>
+
+ * Makefile.am: Add support for xstormy16.
+ * archures.c: Add support for xstormy16.
+ * config.bfd: Add support for xstormy16.
+ * configure.in: Add support for xstormy16.
+ * reloc.c: Add support for xstormy16.
+ * targets.c: Add support for xstormy16.
+ * cpu-xstormy16.c: New file.
+ * elf32-xstormy16.c: New file.
+ * Makefile.in: Regenerated.
+ * bfd-in2.h: Regenerated.
+ * configure: Regenerated.
+ * libbfd.h: Regenerated.
+
+2001-12-07 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf.c (assign_file_positions_for_segments): Combine sentance
+ fragments into a single sentance in order to permit better
+ translation into foreign languages.
+
+2001-12-07 Jim Blandy <jimb@redhat.com>
+
+ * elf32-s390.c (elf32_s390_grok_prstatus): New function.
+ (elf_backend_grok_prstatus): Define.
+
+2001-12-07 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (elf32_sparc_relocate_section): Revert
+ 2001-09-14 change.
+
+2001-12-07 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (_bfd_elf_rela_local_sym): Only call
+ _bfd_merged_section_offset if merge_info is non-NULL.
+ (_bfd_elf_rel_local_sym, _bfd_elf_section_offset): New.
+ * elf-bfd.h (_bfd_elf_rel_local_sym, _bfd_elf_section_offset): New
+ prototypes.
+ * elf32-arm.h (elf32_arm_final_link_relocate): Use
+ _bfd_elf_section_offset.
+ (elf32_arm_relocate_section): Use _bfd_elf_rel_local_sym.
+ * elf32-i386.c (elf_i386_relocate_section): Use
+ _bfd_elf_section_offset and _bfd_elf_rel_local_sym.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Use
+ _bfd_elf_section_offset.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-mips.c (mips_elf_create_dynamic_relocation): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
+
+2001-12-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (clobber_millicode_symbols): Don't do anything if
+ already forced local.
+
+2001-12-05 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Combine
+ fragmented sentence parts into a whole sentence to permit
+ better translation into foreign languages.
+
+2001-12-06 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * configure: Regenerate.
+ * Makefile.in: Regenerate.
+
+2001-12-05 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * Makefile.am: split up BFD_LIBS like statements in BFD32_LIBS and
+ BFD64_LIBS, make the latter depending on the availability of BFD64.
+ Add archive64.c source file.
+ * archive64.c: New file implementing bfd_elf64_archive_slurp_armap
+ and bfd_elf64_archive_write_armap, code from elf64-mips.c
+ * archive.c (bfd_slurp_armap): Add ELF64 archive support.
+ * config.bfd (mips*-*-irix6*): Allow with BFD64 only.
+ (mips64*el-*-linux*): Likewise.
+ (mips*el-*-linux*): Likewise. Reorder entries.
+ * configure.in (bfd_libs): Define in dependency of BFD64 and
+ AC_SUBST it.
+ * elf64-mips.c (mips_elf64_slurp_armap): Remove, use
+ bfd_elf64_archive_slurp_armap instead.
+ (mips_elf64_write_armap): Remove, use bfd_elf64_archive_write_armap
+ instead.
+
+2001-12-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config.bfd: Remove trailing blanks.
+ * elf32-mips.c (gprel16_with_gp): Remove superfluous casts.
+
+2001-12-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-d10v.c (elf_d10v_howto_table): Adjust bit-size of
+ R_D10V_10_PCREL_L, R_D10V_10_PCREL_R, R_D10V_18,
+ R_D10V_18_PCREL. Check 10_PCREL relocations as signed.
+ Disable pointless overflow checking of NONE and 32.
+
+2001-12-04 Alan Modra <amodra@bigpond.net.au>
+
+ * reloc.c (bfd_install_relocation): Correct reloc address test.
+ (bfd_perform_relocation): Formatting fix.
+ * bfd-in2.h: Regenerate for 2001-12-02 reloc.c change.
+
+2001-12-03 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * configure.in (LINGUAS): Add tr.
+ * configure: Regenerate.
+ * po/tr.po: Import from translation project's web site.
+
+2001-12-03 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (hppa_get_stub_entry): Remove debug message that
+ happens to trigger on undefined symbols.
+ (final_link_relocate): Return bfd_reloc_undefined for undefined
+ stubs.
+ (elf32_hppa_relocate_section): Don't say we can't handle a reloc
+ if we have already warned about an undefined symbol.
+
+2001-12-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c (NEWABI_P): New define.
+ (USE_REL): Remove, replaced by
+ (elf_backend_may_use_rel_p): New define.
+ (elf_backend_may_use_rela_p): Likewise.
+ (elf_backend_default_use_rela_p): Likewise.
+ (elf_mips_howto_table): Rename to elf_mips_howto_table_rel.
+ Fix some relocation definitions.
+ (elf_mips_howto_table_rela): New RELA relocation definitions for
+ NewABI support.
+ (mips32_64bit_reloc): Use the renamed elf_mips_howto_table_rel.
+ (bfd_elf32_bfd_reloc_type_lookup): Likewise.
+ (mips_rtype_to_howto): Likewise.
+ (_bfd_mips_elf_relocate_section): Likewise.
+ (_bfd_mips_elf_object_p): Typo.
+ (elf_backend_sign_extend_vma): Reordered together with many other
+ defines nearby to resemble the order of declaration in the header
+ file.
+
+2001-12-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * coff-mips.c (mips_bfd_reloc_type_lookup): Replace
+ BFD_RELOC_MIPS_GPREL by BFD_RELOC_GPREL16.
+ * pe-mips.c (mips_bfd_reloc_type_lookup): Likewise.
+ * elf32-mips.c (mips_reloc_map): Likewise. Replace
+ BFD_RELOC_MIPS_GPREL32 by BFD_RELOC_GPREL32.
+ * elf64-mips.c (mips_reloc_map): Likewise.
+ * reloc.c (BFD_RELOC_MIPS_GPREL): Remove.
+ (BFD_RELOC_MIPS_GPREL32): Remove.
+
+2001-11-30 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_add_default_symbol): New.
+ (elf_link_add_object_symbols): Call elf_add_default_symbol ()
+ to create an indirect symbol from the default for the symbol
+ with the default version if needed.
+
+2001-11-29 "Peter.Schauer" <Peter.Schauer@regent.e-technik.tu-muenchen.de>
+
+ * elf.c (elfcore_grok_prstatus): Do not overwite the core signal
+ if it has already been set by another thread.
+
+2001-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-alpha.c (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Defined.
+ (elf64_alpha_relocate_section): Translate local_got_entries
+ for STT_SECTION symbol to SHF_MERGE section the first time
+ we see it.
+ * elfxx-ia64.c (struct elfNN_ia64_local_hash_entry): Add
+ sec_merge_done.
+ (get_local_sym_hash): New, extracted from get_dyn_sym_info.
+ (get_dyn_sym_info): Use it.
+ (elfNN_ia64_relocate_section): Translate local dyn entries
+ for STT_SECTION symbol to SHF_MERGE section the first time
+ we see it.
+
+2001-11-27 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_bfd_discard_info): Skip if the input bfd isn't
+ ELF.
+
+2001-11-26 Jeffrey A Law (law@cygnus.com)
+
+ * stabs.c (_bfd_discard_section_stabs): Use PARAMS in function
+ prototypes.
+
+2001-11-24 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (elf32_hppa_size_stubs): Decrease default stub
+ group sizes to accommodate c++.
+
+2001-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (elf32_sparc_relocate_section): Don't clear
+ relocations in non-alloced sections against global symbols
+ defined in shared library being built.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+
+2001-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (_bfd_elf_rela_local_sym): New.
+ * elflink.h (elf_link_input_bfd): Don't consider empty
+ merged sections as removed in relocation tests.
+ * elf-bfd.h (_bfd_elf_rela_local_sym): Add prototype.
+ * elf32-i386.c (elf_i386_relocate_section): Handle relocs
+ against STT_SECTION symbol of SHF_MERGE section.
+ * elf32-arm.h (elf32_arm_relocate_section): Likewise.
+ * elf32-avr.c (elf32_avr_relocate_section): Call
+ _bfd_elf_rela_local_sym.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
+ * elf32-fr30.c (fr30_final_link_relocate): Likewise.
+ * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-i860.c (elf32_i860_relocate_section): Likewise.
+ * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
+ * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-s390.c (elf_s390_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf32-v850.c (v850_elf_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
+ * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elf-hppa.h (elf_hppa_relocate_section): Likewise.
+ * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
+ * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise for
+ !partial_inplace relocs. Handle relocs against STT_SECTION
+ symbol of SHF_MERGE for partial_inplace relocs.
+
+2001-11-21 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * po/Make-in (distclean): Move SRC-POTFILES.in and
+ BLD-POTFILES.in to maintainer-clean target.
+
+2001-11-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Test r_symndx rather
+ than sym_sec->output_section to detect relocs against discarded
+ sections.
+
+2001-11-19 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_input_bfd): Assert r_symndx != 0 when
+ discarding relocations.
+
+2001-11-19 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * section.c (bfd_is_const_section): New macro. Return true if the
+ given seciton is one of the special, constant, sections.
+ * bfd-in2.h: Regenerate.
+ * coffgen.c (coff_count_linenumbers): Use bfd_is_const_section.
+ (coff_write_native_symbol): Use bfd_is_const_section.
+
+2001-11-19 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (clobber_millicode_symbols): Dec dynstr refcount.
+
+ * elf32-hppa.c (elf32_hppa_size_stubs): Don't consider undefined
+ millicode syms as candidates for import stubs.
+
+ * elf32-hppa.c (PLABEL_PLT_ENTRY_SIZE): Delete.
+ (allocate_PIC_calls): Rename to allocate_plt_static.
+ (allocate_dynrelocs): Move most of code handling .plt entries to..
+ (allocate_plt_static): ..here. Don't drop plabel entries.
+
+2001-11-19 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * mmo.c: Adjust documentation tags to use texinfo 4 features.
+
+2001-11-16 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * section.c (bfd_is_const_section): New macro. Return true if the
+ section pointer refers to one of the special, constant sections.
+ * bfd-in2.h: Regenerate.
+
+ * coffgen.c (coff_count_linenumbers): Only update the line number
+ count in non-special sections.
+ (coff_write_native_symbol): Only update the line number file
+ position in non-special sections.
+
+2001-11-15 Daniel Jacobowitz <drow@mvista.com>
+
+ * elflink.h (elf_reloc_symbol_deleted_p): Catch all relocs against
+ local syms from discarded sections. Update comment.
+
+2001-11-15 Alan Modra <amodra@bigpond.net.au>
+
+ * po/SRC-POTFILES.in: Regenerate.
+
+ * elflink.h (elf_link_input_bfd): Complain about all relocs
+ against local syms from discarded sections. K&R fixes.
+ (elf_reloc_symbol_deleted_p): Don't try to swap in external syms.
+ K&R fixes.
+
+2001-11-15 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf64-sparc.c (sparc64_elf_relocate_section): Disregard
+ overflows in the .stab section.
+
+2001-11-14 Daniel Jacobowitz <drow@mvista.com>
+
+ * bfd-in.h (bfd_elf32_discard_info): Add prototype.
+ (bfd_elf64_discard_info): Likewise.
+ * bfd-in2.h: Regenerate.
+ * elf-bfd.h (struct elf_reloc_cookie): New.
+ (struct elf_backend_data): Add elf_backend_discard_info,
+ elf_backend_ignore_discarded_relocs, and elf_backend_write_section.
+ (_bfd_elf32_reloc_symbol_deleted_p): Add prototype.
+ (_bfd_elf64_reloc_symbol_deleted_p): Likewise.
+ * elf32-mips.c (_bfd_elf32_mips_discard_info): New.
+ (_bfd_elf32_mips_ignore_discarded_relocs): New.
+ (_bfd_elf32_mips_write_section): New.
+ (elf_backend_discard_info): Define.
+ (elf_backend_ignore_discarded_relocs): Define.
+ (elf_backend_write_section): Define.
+ * elfcode.h (elf_bfd_discard_info): Define.
+ (elf_reloc_symbol_deleted_p): Define.
+ * elflink.h (elf_link_input_bfd): Check
+ elf_section_ignore_discarded_relocs. Call
+ bed->elf_backend_write_section if available.
+ (elf_reloc_symbol_deleted_p): New.
+ (elf_bfd_discard_info): New.
+ (elf_section_ignore_discarded_relocs): New.
+ * elfxx-target.h (elf_backend_discard_info): Define.
+ (elf_backend_ignore_discarded_relocs): Define.
+ (elf_backend_write_section): Define.
+ (elfNN_bed): Add elf_backend_discard_info,
+ elf_backend_ignore_discarded_relocs, and
+ elf_backend_write_section.
+ * libbfd-in.h (_bfd_discard_section_stabs): Add prototype.
+ * libbfd.h: Regenerate.
+ * stabs.c (_bfd_discard_section_stabs): New.
+
+2001-11-14 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390.c (elf_s390_relocate_section): Use the "unresolved_reloc"
+ scheme to get rid of an ugly complicated test.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+
+2001-11-14 Andreas Jaeger <aj@suse.de>
+
+ * cpu-i386.c (bfd_x86_64_arch_intel_syntax,bfd_x86_64_arch): Use
+ x86-64 for display.
+
+2001-11-14 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2.c (struct line_head) [total_length]: Change type to
+ bfd_vma.
+ (struct dwarf2_debug): Add dwarf_str_buffer and dwarf_str_size.
+ (struct comp_unit): Add stash and offset_size.
+ (read_8_bytes): Return bfd_vma.
+ (read_indirect_string): New.
+ (read_attribute): Handle DW_FORM_strp.
+ (decode_line_info): Support 64-bit DWARF format.
+ (_bfd_dwarf2_find_nearest_line): Likewise.
+ (parse_comp_unit): Set offset_size and stash.
+
+2001-11-13 Keith Walker <keith.walker@arm.com>
+
+ * dwarf2.c (read_attribute_value): New function to handle
+ DW_FORM_indirect.
+ (read_attribute): Use it.
+
+2001-11-13 Geoffrey Keating <geoffk@redhat.com>
+
+ * dwarf2.c (decode_line_info): Properly deal with unknown standard
+ opcodes.
+
+2001-11-13 John Marshall <jmarshall@acm.org>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * section.c (bfd_make_section_anyway): Don't increment section_id
+ and the BFD's section_count if adding the section failed.
+ * vms.c (vms_new_section_hook): Adjust for bfd_make_section_anyway
+ change.
+
+2001-11-12 Orjan Friberg <orjanf@axis.com>
+
+ * elf32-cris.c (cris_elf_grok_prstatus): Adjust values to match new
+ core dump format.
+
+2001-11-11 H.J. Lu <hjl@gnu.org>
+
+ * elf32-mips.c (_bfd_mips_elf_finish_dynamic_sections): Call
+ _bfd_elf_strtab_size instead of _bfd_stringtab_size.
+
+ * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Change
+ dynstr type to `struct elf_strtab_hash *'.
+
+2001-11-11 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * elf-strtab.c (_bfd_elf_strtab_finalize): Make first variable i
+ size_t. Rename second i to j.
+
+2001-11-10 Jeffrey A Law (law@cygnus.com)
+
+ * binary.c: Include safe-ctype.h after bfd.h and sysdep.h.
+
+2001-11-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Don't copy STN_UNDEF
+ relocs into shared libs.
+ * elf32-cris.c (cris_elf_relocate_section): Likewise.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-mips.c (mips_elf_calculate_relocation): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf64-s390.c (elf_s390_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
+
+ * elf.c (bfd_section_from_r_symndx): New function.
+ * elf-bfd.h (LOCAL_SYM_CACHE_SIZE): Define.
+ (struct sym_sec_cache): New.
+ (bfd_section_from_r_symndx): Declare.
+ (struct bfd_elf_section_data): Change local_dynrel type to PTR.
+ * elflink.h (elf_link_input_bfd): Don't test for removed linkonce
+ relocs when relocatable. Don't zero entire reloc, just zero the
+ addend and sym.
+ * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add sym_sec.
+ (elf32_hppa_link_hash_table_create): Init it.
+ (elf32_hppa_check_relocs): Track dynamic relocs needed for local
+ syms on a per-section basis as we do for globals.
+ (elf32_hppa_gc_sweep_hook): Update for local_dynrel change.
+ (allocate_dynrelocs): Warning fix.
+ (elf32_hppa_size_dynamic_sections): Don't allocate relocs when
+ section has been discarded.
+ (elf32_hppa_relocate_section): Don't copy STN_UNDEF relocs
+ into shared libs.
+ * elf32-i386.c (struct elf_i386_link_hash_table): Add sym_sec.
+ (elf_i386_link_hash_table_create): Init it.
+ (elf_i386_check_relocs): Track dynamic relocs needed for local
+ syms on a per-section basis as we do for globals.
+ (elf_i386_gc_sweep_hook): Update for local_dynrel change.
+ Remove dead code.
+ (allocate_dynrelocs): Warning fix.
+ (elf_i386_size_dynamic_sections): Don't allocate relocs when
+ section has been discarded.
+ (elf_i386_relocate_section): Don't copy STN_UNDEF relocs
+ into shared libs.
+ * elf32-s390.c (struct elf_s390_link_hash_table): Add sym_sec.
+ (elf_s390_link_hash_table_create): Init it.
+ (elf_s390_check_relocs): Track dynamic relocs needed for local
+ syms on a per-section basis as we do for globals.
+ (elf_s390_gc_sweep_hook): Update for local_dynrel change.
+ Remove dead code.
+ (allocate_dynrelocs): Warning fix.
+ (elf_s390_size_dynamic_sections): Don't allocate relocs when
+ section has been discarded.
+ (elf_s390_relocate_section): Don't copy STN_UNDEF relocs
+ into shared libs.
+ * elf64-ppc.c (struct ppc_link_hash_table): Add sym_sec.
+ (ppc64_link_hash_table_create): Init it.
+ (ppc64_elf_check_relocs): Track dynamic relocs needed for local
+ syms on a per-section basis as we do for globals.
+ (ppc64_elf_gc_sweep_hook): Update for local_dynrel change.
+ (allocate_dynrelocs): Call the correct record_dynamic_dymbol
+ function. Warning fix.
+ (ppc64_elf_size_dynamic_sections): Don't allocate relocs when
+ section has been discarded.
+ (ppc64_elf_relocate_section): Don't copy STN_UNDEF relocs
+ into shared libs.
+ * elf64-s390.c (struct elf_s390_link_hash_table): Add sym_sec.
+ (elf_s390_link_hash_table_create): Init it.
+ (elf_s390_check_relocs): Track dynamic relocs needed for local
+ syms on a per-section basis as we do for globals.
+ (elf_s390_gc_sweep_hook): Update for local_dynrel change.
+ Remove dead code.
+ (allocate_dynrelocs): Warning fix.
+ (elf_s390_size_dynamic_sections): Don't allocate relocs when
+ section has been discarded.
+ (elf_s390_relocate_section): Don't copy STN_UNDEF relocs
+ into shared libs.
+
+2001-11-08 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * elf32-s390: Major rework that introduces all recent changes to
+ the s390 backends. Get a closer match to elf32-i386.
+ (elf_s390_relocate_section): Make use of dynamic section short-cuts.
+ Localise vars, and delay setting. Better error reporting, replace
+ BFD_ASSERT with abort. Check ELF_LINK_HASH_DEF_DYNAMIC to see if a
+ symbol is not defined in the regular object file and tread the weak
+ definition as the normal one. Don't discard relocs for undefweak or
+ undefined symbols and check !DEF_REGULAR as well as DEF_DYNAMIC in
+ test for avoided copy relocs. Reinstate fudge for unresolved relocs
+ in debugging sections.
+ (elf32_s390_adjust_dynamic_symbol): Handle nocopyreloc. Don't do copy
+ reloc processing for weakdefs. Remove redundant casts and aborts.
+ Delay setting of vars until needed. Move creation of dynamic symbols
+ and allocation of .plt and .rela.plt to allocate_dynrelocs. Replace
+ BFD_ASSERT with abort. Discard .plt entries for everything with
+ plt.refcount <= 0.
+ (elf_s390_check_relocs): Don't allocate space for dynamic relocs,
+ .got or .relgot here but do it in allocate_dynrelocs. Reference count
+ possible .plt and .got entries. Don't test input section SEC_READONLY
+ here to try to avoid copy relocs, and keep dyn_relocs regardless of
+ ELF_LINK_NON_GOT_REF. Don't set DF_TEXTREL here. Delay setting of
+ variables until needed. Remove separate switch stmt for creating .got
+ section. Initialise local_got_refcounts to 0. Cache pointer to
+ "sreloc" section in elf_section_data. Tweak condition under which .got
+ created. Report files with bad relocation section names.
+ (elf_s390_finish_dynamic_symbol): Don't copy relocs for symbols that
+ have been forced local. Use same test to decide if we can use a
+ relative reloc for got as elf_s390_relocate_section. Expand SHN_UNDEF
+ comment. Move expressions out of function calls. Replace BFD_ASSERT
+ with abort.
+ (elf_s390_finish_dynamic_sections): Migrate common code out of switch
+ statement. Replace BFD_ASSERT with abort.
+ (elf_s390_size_dynamic_sections): Call readonly_dynrelocs. Rename "i"
+ to "ibfd". Allocate space for local dyn relocs. Use DF_TEXTREL flag
+ instead of looking up section names for DT_TEXTREL. Replace
+ BFD_ASSERT with abort. Zero out the dynamic allocated content space.
+ Add a comment to remind us that one day this ought to be fixed.
+ (struct elf_s390_link_hash_entry): Rename "root" to "elf".
+ (struct elf_s390_link_hash_table): Likewise.
+ (elf_s390_link_hash_newfunc): Rename to link_hash_newfunc and get
+ rid of unnecessary casts.
+ (struct elf_s390_dyn_relocs): Add "sec", and "pc_count" fields.
+ Remove "section" field.
+ (elf_s390_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
+ Reference count possible .plt entries. Don't deallocate .got and
+ .relgot space here.
+ (struct elf_s390_pcrel_relocs_copied): Rename to elf_s390_dyn_relocs.
+ Update comment.
+ (struct elf_s390_link_hash_entry): Rename pcrel_relocs_copied to
+ dyn_relocs.
+ (elf_s390_discard_copies): Delete.
+ (elf_s390_link_hash_traverse): Delete.
+ (bfd_elf32_bfd_final_link): Delete. (ie. use regular final link
+ rather than gc variety).
+ (struct elf_s390_link_hash_table): Add sgot, sgotplt, srelgot, splt,
+ srelplt, sdynbss, srelbss fields.
+ (elf_s390_link_hash_table_create): Init them.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+ (allocate_dynrelocs): New function.
+ (create_got_section): New function.
+ (elf_backend_can_refcount): Define.
+ (elf_backend_copy_indirect_symbol): Define.
+ (elf_s390_copy_indirect_symbol): New function.
+ (elf_s390_create_dynamic_sections): New function.
+ (readonly_dynrelocs): New function.
+ * elf64-s390.c: Likewise.
+
+2001-11-07 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf-strtab.lo.
+ (BFD32_BACKENDS_CFILES): Add elf-strtab.c.
+ (elf-strtab.lo): Add rule.
+ * Makefile.in: Rebuilt.
+ * configure.in (elf): Add elf-strtab.lo.
+ * configure: Rebuilt.
+ * elf-bfd.h (elf_strtab_hash): Forward declare.
+ (struct elf_link_hash_table): Change dynstr type to
+ struct elf_strtab_hash *.
+ (struct elf_obj_tdata): Change strtab_ptr type to
+ struct elf_strtab_hash *.
+ (_bfd_elf_strtab_init, _bfd_elf_strtab_free, _bfd_elf_strtab_add,
+ _bfd_elf_strtab_addref, _bfd_elf_strtab_delref,
+ _bfd_elf_strtab_clear_all_refs, _bfd_elf_strtab_size,
+ _bfd_elf_strtab_offset, _bfd_elf_strtab_emit,
+ _bfd_elf_strtab_finalize): New prototypes.
+ * elf-strtab.c: New file.
+ * elflink.h (elf_link_add_object_symbols): Use _bfd_elf_strtab_add
+ and _bfd_elf_strtab_size instead of _bfd_stringtab calls.
+ Call _bfd_elf_strtab_delref if DT_NEEDED entry is not needed or
+ when forcing dynamic symbol to local.
+ (elf_link_create_dynamic_sections): Call
+ _bfd_elf_strtab_init instead of elf_stringtab_init.
+ (elf_link_record_local_dynamic_symbol): Likewise, change
+ dynstr type. Use _bfd_elf_strtab functions instead of
+ _bfd_stringtab calls.
+ (size_dynamic_sections): Use _bfd_elf_strtab functions instead of
+ _bfd_stringtab calls. For DT_RUNPATH and Verdaux vda_name fields,
+ call _bfd_elf_strtab_addref. Call elf_finalize_dynstr.
+ (elf_adjust_dynstr_offsets, elf_finalize_dynstr): New functions.
+ (elf_fix_symbol_flags): Call _bfd_elf_strtab_delref when forcing
+ dynamic symbol to local.
+ (elf_link_assign_sym_version): Likewise.
+ (elf_bfd_final_link): Call _bfd_elf_strtab_emit instead of
+ _bfd_stringtab_emit.
+ * elflink.c (_bfd_elf_link_record_dynamic_symbol): Change dynstr
+ type. Call _bfd_elf_strtab functions instead of
+ _bfd_stringtab functions.
+ * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
+ * elf.c (_bfd_elf_init_reloc_shdr): Likewise.
+ (elf_fake_sections): Likewise.
+ (assign_section_numbers): Call _bfd_elf_strtab_clear_all_refs
+ on shstrtab hash table, call _bfd_elf_strtab_addref on each section
+ name in the output. Call _bfd_elf_strtab_finalize and
+ use _bfd_elf_strtab_offset to finalize sh_name section header fields.
+ (_bfd_elf_compute_section_file_positions): Use _bfd_elf_strtab_size
+ instead of _bfd_stringtab_size.
+ (prep_headers): Change shstrtab type.
+ Use _bfd_elf_strtab calls instead of _bfd_stringtab calls.
+
+2001-11-07 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_input_bfd <removed linkonce relocs>): Fix
+ bad symtab segfault. Formatting and warning fixes. Improve
+ error message for internationalisation.
+
+2001-11-06 H.J. Lu (hjl@gnu.org)
+
+ * elflink.h (elf_link_input_bfd): Complain about relocs against
+ discarded sections.
+
+2001-11-03 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-target.h (elfNN_bed): Correct want_got_sym, want_dynbss order.
+
+2001-11-02 H.J. Lu <hjl@gnu.org>
+
+ * elf32-mips.c (mips_elf_calculate_relocation): Don't create
+ dynamic relocation for symbols defined in regular objects when
+ creating executables.
+
+2001-11-02 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * configure.in (ALL_LINGUAS): Add "fr".
+ * configure: Regenerate.
+ * po/fr.po: New file.
+
+ * coffgen.c (coff_object_p): Add comment to H.J.'s recent patch.
+
+2001-11-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * som.c (setup_sections): Initialize subspace_sections.
+
+2001-11-02 H.J. Lu (hjl@gnu.org)
+
+ * coffgen.c (coff_object_p): Return 0 if the header is too big.
+
+2001-11-02 Hans-Peter Nilsson <hp@axis.com>
+
+ * elfcore.h (elf_core_file_p): Preserve and clear abfd section
+ information. Save bfd arch and mach values. Restore on error.
+
+2001-11-02 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (hppa_handle_PIC_calls): Rename to mark_PIC_calls.
+ (allocate_PIC_calls): New function.
+ (allocate_dynrelocs): Don't allocate pic_call plt entries here.
+ (elf32_hppa_size_dynamic_sections): Call allocate_PIC_calls.
+ (elf32_hppa_finish_dynamic_symbol): Remove dead code.
+
+2001-11-02 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_elf_grok_prstatus): New function.
+ (cris_elf_grok_psinfo): New function.
+ (elf_backend_grok_prstatus): Define.
+ (elf_backend_grok_psinfo): Define.
+
+2001-11-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Correct branch
+ prediction bits.
+
+2001-10-31 Chris Demetriou <cgd@demetriou.com>
+
+ * elf32-mips.c (_bfd_mips_elf_hi16_reloc): Handle PC-relative
+ relocations properly.
+
+2001-10-31 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_output_extsym): Don't clear the visibility
+ field for relocateable.
+
+2001-11-01 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Don't count
+ .plt relocs in DT_RELASZ.
+
+2001-10-29 NIIBE Yutaka <gniibe@m17n.org>
+
+ * config.bfd: Supports sh3/sh4/sh3eb/sh4eb-unknown-linux-gnu
+ targets.
+
+2001-10-31 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * targets.c: Fix typo: bfd_mmo_mmix_vec => bfd_mmo_vec.
+
+2001-10-30 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * Makefile.am (ALL_MACHINES): Add cpu-mmix.lo.
+ (BFD64_BACKENDS): Add elf64-mmix.lo and mmo.lo.
+ (BFD64_BACKENDS_CFILES): Add elf64-mmix.c and mmo.c.
+ Regenerate dependencies.
+ * configure.in (bfd_elf64_mmix_vec, bfd_mmo_vec): New vectors.
+ * config.bfd: [BFD64] (mmix-*-*): New case.
+ * cpu-mmix.c, mmo.c, elf64-mmix.c: New files.
+ * archures.c (enum bfd_architecture): Add bfd_arch_mmix.
+ (bfd_mmix_arch): Declare.
+ (bfd_archures_list): Add bfd_mmix_arch.
+ * targets.c (enum bfd_flavour): Add bfd_target_mmo_flavour.
+ (bfd_elf64_mmix_vec, bfd_mmo_vec): Declare.
+ (bfd_target_vect) [BFD64]: Add bfd_elf64_mmix_vec and
+ bfd_mmo_mmix_vec.
+ * reloc.c: Add MMIX relocations.
+ * bfd.c (struct _bfd, tdata): Add mmo_data.
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * configure: Rebuild.
+
+2001-10-30 Richard Earnshaw (rearnsha@arm.com)
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Set the LMA based on the
+ p_paddr of the segment that contains it.
+ (copy_private_bfd_data): If the LMA for a segment is known, use it
+ for matching sections to segments.
+ (assign_file_positions_for_segments): Use the LMA when adjusting
+ for inter-section alignment padding.
+
+2001-10-29 Kazu Hirata <kazu@hxi.com>
+
+ * README: Fix a typo.
+
+2001-10-24 Richard Henderson <rth@redhat.com>
+
+ * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Copy
+ timestamp to time_t for ctime.
+
+2001-10-24 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c (cris_reloc_type_lookup): Change loop to use
+ unsigned, increasing index.
+
+2001-10-23 H.J. Lu <hjl@gnu.org>
+
+ * elf32-mips.c (_bfd_mips_elf_modify_segment_map): Check
+ m != NULL before accessing it.
+
+2001-10-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_input_bfd): Zero the reloc instead of doing
+ bfd_reloc_type_lookup (bfd, BFD_RELOC_NONE) as bfd_reloc_type_lookup
+ doesn't accept BFD_RELOC_* on some targets, eg. hppa.
+
+ * elf32-hppa.c (elf32_hppa_link_hash_entry): Remove plt_abs.
+ (hppa_link_hash_newfunc): Likewise.
+ (elf32_hppa_finish_dynamic_symbol): Likewise.
+ (allocate_dynrelocs): Always allocate .got relocs if shared.
+ (elf32_hppa_relocate_section): Output them too. Similarly
+ consolidate .plt reloc code, and no longer initialise .plt
+ when a reloc is output.
+ (elf32_hppa_finish_dynamic_symbol): Only initialise .plt entries
+ when no reloc is output.
+
+ From Herbert Xu <herbert@gondor.apana.org.au>
+ * elf32-hppa.c (final_link_relocate): Call bfd_set_error for
+ unreachable branches.
+
+2001-10-22 H.J. Lu <hjl@gnu.org>
+
+ * configure.in (WIN32LIBADD): Use -L../libiberty for
+ mips*-*-linux*.
+ * configure: Rebuild.
+
+2001-10-21 H.J. Lu <hjl@gnu.org>
+
+ * configure.in (WIN32LIBADD): Include -L../libiberty/pic -liberty
+ if shared library is enabled only for Linux hosts.
+ * configure: Rebuild.
+
+2001-10-21 H.J. Lu <hjl@gnu.org>
+
+ * configure.in (WIN32LIBADD): Check if PICFLAG is defined in
+ ../libiberty/Makefile instead of $enable_shared.
+ * configure: Rebuild.
+
+2001-10-21 H.J. Lu <hjl@gnu.org>
+
+ * elf32-cris.c (cris_reloc_type_lookup): Use int for index. Cover
+ index 0.
+
+2001-10-20 H.J. Lu <hjl@gnu.org>
+
+ * configure.in (WIN32LIBADD): Include -L../libiberty/pic -liberty
+ if shared library is enabled.
+ * configure: Rebuild.
+
+2001-10-20 H.J. Lu <hjl@gnu.org>
+
+ * elf32-cris.c (cris_reloc_type_lookup): Allow index 0.
+
+2001-10-19 H.J. Lu <hjl@gnu.org>
+
+ * elfcode.h (elf_object_p): Don't clear D_PAGED if the section
+ size is empty.
+
+2001-10-18 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i370.c (i370_elf_relocate_section): Ignore R_XXX_NONE.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+
+2001-10-18 Jakub Jelinek <jakub@redhat.com>
+
+ * section.c (_bfd_strip_section_from_output): Don't count
+ SEC_EXCLUDE sections as references. Set SEC_EXCLUDE.
+
+2001-10-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-m10200.c (mn10200_elf_relax_section): Cast assignment to
+ Elf_Internal_Shdr.contents now that it's no longer a PTR.
+ * elf-m10300.c (mn10300_elf_relax_section): Likewise.
+ * elf32-h8300.c (elf32_h8_relax_section): Likewise.
+ * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
+ * elf32-sh.c (sh_elf_relax_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
+ * elf.c (setup_group): Warning fixes.
+ * elflink.h (elf_link_sort_relocs): Likewise.
+ * pdp11.c (slurp_reloc_table): Likewise.
+
+2001-10-16 Jeff Holcomb <jeffh@redhat.com>
+
+ * elflink.h (elf_link_sort_relocs): Remove unnecessary pointer
+ casts.
+
+2001-10-15 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_input_bfd): Set type to BFD_RELOC_NONE
+ for relocations against discarded link-once section.
+
+2001-10-15 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_relocate_section): Report some detail on
+ bfd_reloc_outofrange and similar errors.
+
+ * elf.c (_bfd_elf_link_hash_copy_indirect): Test ind->root.type
+ rather than ind->weakdef.
+ * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
+ * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
+ * elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
+
+2001-10-15 Alan Modra <amodra@bigpond.net.au>
+ H.J. Lu <hjl@gnu.org>
+
+ * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Merge dyn_reloc
+ counts for aliases instead of aborting.
+ * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
+
+ * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Set plt.offset
+ to -1 for non-function symbols.
+ * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
+ * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
+ * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
+ * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
+ * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Refer to
+ plt.offset instead of plt.refcount when setting to -1.
+
+2001-10-12 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_relocate_section): Treat R_ARM_THM_PC22
+ like R_ARM_PC24. Include reloc number in error message about
+ unresolvable relocs.
+
+2001-10-10 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (elf_link_sort_cmp2): Don't mix PLT and non-PLT
+ relocations against the same symbol in .rel{,a}.dyn section.
+
+2001-10-10 Kazu Hirata <kazu@hxi.com>
+
+ * aout-encap.c: Fix comment typos.
+ * aoutx.h: Likewise.
+ * archive.c: Likewise.
+ * bout.c: Likewise.
+ * coff64-rs6000.c: Likewise.
+ * coffcode.h: Likewise.
+ * coffgen.c: Likewise.
+ * cofflink.c: Likewise.
+ * coff-mips.c: Likewise.
+ * ecoff.c: Likewise.
+ * elf32-m32r.c: Likewise.
+ * libcoff-in.h: Likewise.
+ * libecoff.h: Likewise.
+ * libxcoff.h: Likewise.
+ * nlm32-i386.c: Likewise.
+ * pdp11.c: Likewise.
+ * section.c: Likewise.
+ * som.c: Likewise.
+ * som.h: Likewise.
+ * bfd-in2.h: Regenerate.
+ * libcoff.h: Likewise.
+
+2001-10-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (elf_map_symbols): Don't create new section symbols; Use
+ existing section syms. Update comments.
+ (copy_private_bfd_data): Formatting fixes.
+ (elfcore_grok_win32pstatus): Likewise.
+ (swap_out_syms): Likewise. Remove unnecessary level of braces.
+
+2001-10-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct bfd_elf_section_data): Rename "group" to
+ "group_name".
+ (elf_group_name): Define.
+ (elf_next_in_group): Define.
+ * elf.c: Make use of elf_group_name and elf_next_in_group throughout.
+ (setup_group): Don't use sec->lineno for SHT_GROUP section to store
+ first member section; Instead use elf_next_in_group.
+ (bfd_section_from_shdr): Likewise.
+ (set_group_contents): Likewise. Use elf_section_syms, not sec->symbol.
+
+2001-10-09 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct bfd_elf_section_data): Add "group" and
+ "next_in_group". Fix gp and gp_size comments.
+ * elf.c (union elf_internal_group): New.
+ (setup_group): New function.
+ (_bfd_elf_make_section_from_shdr): Set BFD flags for SHT_GROUP.
+ Call setup_group for SHF_GROUP sections.
+ (bfd_section_from_shdr): Build a BFD section for SHT_GROUP.
+ (elf_fake_sections): Set header type for SEC_GROUP, and header
+ flags for sections in a group.
+ (set_group_contents): New function.
+ (_bfd_elf_compute_section_file_positions): Call it.
+ (assign_section_numbers): Set sh_link for SHT_GROUP.
+
+ * elflink.h (gc_mark_hook): Handle section groups.
+ * elfxx-target.h: Add SEC_GROUP to applicable_flags.
+ * section.c (SEC_GROUP): Define.
+ (struct sec): Comment fixes.
+ * bfd-in2.h: Regenerate.
+
+ * elf.c (bfd_elf_print_symbol): Formatting fix; migrate expression
+ out of function args.
+ (_bfd_elf_canonicalize_reloc): Similarly.
+ (_bfd_elf_get_symtab): Here too.
+ (_bfd_elf_canonicalize_dynamic_symtab): And here.
+ * elfcode.h (elf_slurp_symbol_table): Don't recalculate size for
+ bfd_bread, and remove unnecessary cast.
+
+2001-10-08 Aldy Hernandez <aldyh@redhat.com>
+
+ * bfd/config.bfd (targ_cpu): Add arm9e-*-elf.
+
+2001-10-06 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * dwarf2.c (comp_unit_find_nearest_line): Check for end of
+ compilation unit.
+
+2001-10-06 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd.c (bfd_assert): Report bfd version.
+ (_bfd_abort): Likewise.
+
+ * elflink.h (elf_link_input_bfd): Don't zero discarded link-once
+ section sym values. Instead replace any relocs against them with
+ relocs against STN_UNDEF, which has a zero value.
+
+ * elf32-arc.c (elf_arc_howto_table): Set partial_inplace for all
+ relocs.
+
+2001-10-05 Jeff Law <law@redhat.com>
+
+ * som.h (som_exec_data): New field "version_id".
+ * som.c (som_object_setup): Record the version_id if it
+ exists.
+ (som_prep_headers): Do not initialize version_id here.
+ (som_finish_writing): Initialize version_id here.
+
+2000-10-05 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c (elf_mips_howto_table): Fix some relocation howtos
+ according to the MIPS/SGI ELF64 ABI Draft.
+ (mips_elf_sort_hash_table): Typo.
+
+2001-10-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): Comment typo.
+
+ * elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): Bail out after
+ copying flags if this is a weakdef.
+
+2001-10-04 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_link_hash_entry): Reorganise for better
+ packing.
+
+ * elf32-mips.c (mips_elf_record_global_got_symbol): Set got.offset
+ to 1 rather than 0 to avoid confusing copy_indirect_symbol.
+ (mips_elf_sort_hash_table_f): Compare got.offset against 1.
+
+ * Makefile.am (BFD_H_DEPS): Add symcat.h. Ensure everything
+ depends on $(BFD_H) $(BFD_H_DEPS) $(LOCAL_H_DEPS), not just those
+ backends we configure. Run "make dep-am".
+ (install-data-local): Install symcat.h.
+ * dep-in.sed: Remove symcat.h from dependencies.
+ * Makefile.in: Regenerate.
+
+2001-10-03 Vassili Karpov <malc@pulsesoft.com>
+
+ * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Handle nocopyreloc.
+
+2001-10-03 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf64-mips.c (elf_backend_may_use_rela_p): New define.
+ (elf_backend_default_use_rela_p): New define.
+
+2001-10-03 Alan Modra <amodra@bigpond.net.au>
+
+ * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Fix typos in last
+ change.
+
+ * configure.in (AC_OUTPUT <bfd-in3.h>): Remove version.h.
+ * configure: Regenerate.
+ * Makefile.am (BFD_H_FILES): Add version.h.
+ * Makefile.in: Regenerate.
+ * po/SRC-POTFILES.in: Regenerate.
+
+ * elflink.h (elf_fix_symbol_flags): Copy flags to weakdef using
+ elf_backend_copy_indirect_symbol so that backend has a chance to
+ copy other necessary fields.
+ * elf-bfd.h (struct elf_backend_data): Update description of
+ elf_backend_copy_indirect_symbol.
+ * elf.c (_bfd_elf_link_hash_copy_indirect): Bail out after
+ copying flags if this is a weakdef.
+ * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
+ (elfNN_ia64_aix_add_symbol_hook): Use elf_link_hash_lookup rather
+ than bfd_link_hash_lookup.
+ * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Don't do copy
+ reloc processing for weakdefs.
+ * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
+ * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
+
+2001-10-02 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_check_relocs): Use a local var and cast
+ result of ELF64_R_TYPE to enum before using in a switch.
+ (ppc64_elf_gc_mark_hook): Likewise.
+ (ppc64_elf_gc_sweep_hook): Likewise.
+ (ppc64_elf_reloc_type_class): Likewise.
+
+2001-10-02 Alan Modra <amodra@bigpond.net.au>
+
+ * version.h: New file.
+ * bfd-in.h: (BFD_VERSION): Substitute bfd_version.
+ (BFD_VERSION_DATE): Define.
+ (BFD_VERSION_STRING): Define.
+ * configure.in: AC_SUBST bfd_version, bfd_version_date and
+ bfd_version_string.
+ (AC_OUTPUT <bfd-in3.h>): Depend on version.h.
+ * bfd-in2.h: Regenerate.
+ * configure: Regenerate.
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+ * bfd-in.h: Include "symcat.h".
+ (CONCAT4): Redefine as for old CAT4.
+ * aout-arm.c: Use equivalent CONCAT* macro in place of CAT* macros.
+ Add warning regarding whitespace.
+ * aout-cris.c: Likewise.
+ * aout-ns32k.c: Likewise.
+ * aout-sparcle.c: Likewise.
+ * aout-tic30.c: Likewise.
+ * aout0.c: Likewise.
+ * armnetbsd.c: Likewise.
+ * demo64.c: Likewise.
+ * elf-bfd.h: Likewise.
+ * gen-aout.c: Likewise.
+ * host-aout.c: Likewise.
+ * hp300bsd.c: Likewise.
+ * hp300hpux.c: Likewise.
+ * i386aout.c: Likewise.
+ * i386bsd.c: Likewise.
+ * i386dynix.c: Likewise.
+ * i386freebsd.c: Likewise.
+ * i386linux.c: Likewise.
+ * i386lynx.c: Likewise.
+ * i386mach3.c: Likewise.
+ * i386netbsd.c: Likewise.
+ * libaout.h: Likewise.
+ * m68k4knetbsd.c: Likewise.
+ * m68klinux.c: Likewise.
+ * m68klynx.c: Likewise.
+ * m68knetbsd.c: Likewise.
+ * m88kmach3.c: Likewise.
+ * mipsbsd.c: Likewise.
+ * newsos3.c: Likewise.
+ * ns32knetbsd.c: Likewise.
+ * pc532-mach.c: Likewise.
+ * pdp11.c: Likewise.
+ * riscix.c: Likewise.
+ * sparclinux.c: Likewise.
+ * sparclynx.c: Likewise.
+ * sparcnetbsd.c: Likewise.
+ * sunos.c: Likewise.
+ * targets.c: Likewise.
+ * vaxnetbsd.c: Likewise.
+ * vms-hdr.c: Likewise.
+
+2001-10-01 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd-in.h: Remove comments regarding generated files.
+ * libbfd-in.h: Likewise.
+ * libcoff-in.h: Likewise.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Likewise.
+ * libcoff.h: Likewise.
+
+2001-09-30 kaz Kojima <kkojima@rr.iij4u.or.jp>
+ Hans-Peter Nilsson <hp@bitrange.com>
+
+ * elf32-sh.c (sh_elf_howto_table, R_SH_REL32): Make
+ partial_inplace, matching assembler output. Set src_mask to
+ all ones.
+ (sh_elf_relocate_section): Delete misplaced comment.
+ For relocatable linking against section symbol, call
+ _bfd_relocate_contents for partial_inplace relocs and adjust
+ rel->r_addend for others.
+ <case R_SH_DIR32, R_SH_REL32>: Fetch partial_inplace addend with
+ bfd_get_32, not at rel->r_addend.
+
+2001-09-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (_bfd_elf_link_hash_copy_indirect): Set ind refcounts to
+ the old dir refcount, so we indirectly set them to init_refcount.
+ Short-circuit asserts when we've just verified they are true.
+
+2001-09-29 Alan Modra <amodra@bigpond.net.au>
+
+ * section.c (struct sec): Remove kept_section.
+ (STD_SECTION): Remove kept_section initialisation.
+ (bfd_make_section_anyway): Here too.
+ * ecoff.c (bfd_debug_section): Remove kept_section initialisation.
+ * cofflink.c (_bfd_coff_link_input_bfd): Don't test kept_section.
+ * elflink.h (elf_link_input_bfd): Set discarded link-once section
+ symbols to zero, and remove all code involved with kept_section
+ and tracking section symbol values.
+ * bfd-in2.h: Regenerate.
+ * configure.in: Bump version number.
+ * configure: Regenerate.
+
+2001-09-29 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (struct ppc_dyn_relocs): New.
+ (IS_ABSOLUTE_RELOC): Define.
+ (struct ppc_link_hash_entry): New.
+ (struct ppc_link_hash_table): New.
+ (ppc_hash_table): Define.
+ (link_hash_newfunc): New function.
+ (ppc64_elf_link_hash_table_create): New function.
+ (create_got_section): New function.
+ (ppc64_elf_create_dynamic_sections): Call create_got_section. Stash
+ pointers to our dynamic sections in hash table.
+ (ppc64_elf_copy_indirect_symbol): New function.
+ (ppc64_elf_check_relocs): Remove DEBUG code. Use short-cuts to
+ dynamic sections. Localise vars. Modify code for refcounts
+ starting from zero. Don't allocate here, or force symbols dynamic.
+ Don't copy all relocs if shared, select ones we need. Add code
+ to track possible copy relocs for non-shared link.
+ (ppc64_elf_gc_mark_hook): Update comment.
+ (ppc64_elf_gc_sweep_hook): Sweep dynrelocs too.
+ (ppc64_elf_adjust_dynamic_symbol): Remove DEBUG code. Rewrite .plt
+ code for reference counting garbage collection. Don't create .plt
+ entries for functions that don't comply with ABI naming convention,
+ and don't allocate .plt space here. Use short-cuts to dynamic
+ sections. If possible, keep dynamic relocations instead of using
+ copy relocs. Remove confused comments.
+ (ppc_adjust_dynindx): Delete.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+ (allocate_dynrelocs): New function.
+ (readonly_dynrelocs): New function.
+ (ppc64_elf_size_dynamic_sections): Rewrite. Allocate local .got
+ space here, and call allocate_dynrelocs to allocate space for
+ global .plt, .got and reloc sections. Use short-cuts to dynamic
+ sections. Call readonly_dynrelocs to determine whether we need
+ DT_TEXTREL. Don't generate section symbols here, the generic
+ ELF linker code does it for us.
+ (ppc64_elf_final_link): Call regular ELF backend linker rather than
+ gc variety, since we do our own .got handling.
+ (ppc64_elf_relocate_section): Remove DEBUG code. Make use of
+ dynamic section short-cuts. Localise vars, and delay setting.
+ Handle unknown relocs in main switch statement. Replace ugly
+ complicated tests for unresolvable relocs with a simple direct
+ scheme using "unresolved_reloc" var. Test ELF_ST_VISIBILITY
+ before allowing an undefined sym in a shared lib. Do R_*_DS tests
+ after main switch, when we've set addend. Do non-addend insn
+ tweaks before main swithc. Ignore input_section->vma when
+ calculating reloc offsets as it's always zero. Rewrite dynamic
+ reloc handling. Consolidate R_*_HA handling. Handle more relocs.
+ (ppc64_elf_finish_dynamic_symbol): Remove DEBUG code. Make use
+ of dynamic section short-cuts. Reorganise .plt handling code.
+ Remove confused comments. Take note of ELF_LINK_FORCED_LOCAL.
+ Move expressions out of swap_reloca_out function calls.
+ (ppc64_elf_reloc_type_class): New function.
+ (ppc64_elf_info_to_howto): Move common expression to local var.
+ (ppc64_elf_finish_dynamic_sections): Remove DEBUG code. Make use
+ of dynamic section short-cuts. Don't fiddle with section syms
+ here as the ELF linker does it for us.
+ (elf_backend_can_refcount): Define.
+ (bfd_elf64_bfd_link_hash_table_create): Define.
+ (elf_backend_copy_indirect_symbol): Define.
+ (elf_backend_reloc_type_class): Define.
+ (elf_backend_*, bfd_elf64_bfd_* defines): Sort.
+
+2001-09-29 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct elf_link_local_dynamic_entry): Add init_refcount.
+ (struct elf_backend_data): Add can_refcount.
+ * elf.c (_bfd_elf_link_hash_newfunc): Get rid of a few casts. Set
+ got.refcount and plt.refcount from init_refcount.
+ (_bfd_elf_link_hash_table_init): Set up init_refcount.
+ (_bfd_elf_link_hash_copy_indirect): Reference got/plt.refcount
+ rather than got/plt.offset, and test for <= 0 rather than -1.
+ * elflink.h (size_dynamic_sections): Set init_refcount to -1.
+ * elfxx-target.h (elf_backend_can_refcount): Define.
+ (elfNN_bed): Init can_refcount.
+ * linker.c (_bfd_link_hash_newfunc): Get rid of a few casts.
+ (_bfd_generic_link_hash_newfunc): Likewise.
+ * elf32-cris.c (cris_elf_check_relocs): Modify for refcounts
+ starting from zero.
+ (elf_backend_can_refcount): Define.
+ * elf32-hppa.c (elf32_hppa_check_relocs): Modify for refcounts
+ starting from zero.
+ (elf32_hppa_copy_indirect_symbol): Make static to agree with
+ prototype.
+ (elf_backend_can_refcount): Define.
+ * elf32-i386.c (elf_i386_check_relocs): Modify for refcounts
+ starting from zero.
+ (allocate_dynrelocs): Set plt/got.offset rather than *.refcount.
+ (elf_i386_finish_dynamic_symbol): Expand SHN_UNDEF comment.
+ (elf_i386_finish_dynamic_sections): Use local var so line < 80 chars.
+ (elf_backend_can_refcount): Define.
+ (elf_i386_copy_indirect_symbol): Make static to agree with
+ prototype. Formatting fix.
+ * elf32-m68k.c (elf_m68k_check_relocs): Modify for refcounts
+ starting from zero.
+ (elf_backend_can_refcount): Define.
+ * elf32-ppc.c (ppc_elf_check_relocs): Modify for refcounts
+ starting from zero.
+ (elf_backend_can_refcount): Define.
+ * elf32-s390.c (elf_s390_check_relocs): Modify for refcounts
+ starting from zero.
+ (elf_backend_can_refcount): Define.
+ * elf64-s390.c (elf_s390_check_relocs): Modify for refcounts
+ starting from zero.
+ (elf_backend_can_refcount): Define.
+ * elf64-x86-64.c (elf64_x86_64_check_relocs): Modify for refcounts
+ starting from zero.
+ (elf_backend_can_refcount): Define.
+
+ * som.c (som_write_symbol_strings): Cast current_offset in
+ bfd_seek call to match param type.
+
+2001-09-28 J. Brobecker <brobecker@gnat.com>
+
+ * som.c (som_write_symbol_strings): Fix incorrect type of
+ current_offset to match the function definition. Fixes a build
+ failure on HPUX-11.00.
+
+2001-09-28 Richard Henderson <rth@redhat.com>
+
+ * elfxx-target.h [section_flags]: Add SEC_ARCH_BIT_0, SEC_SMALL_DATA,
+ SEC_MERGE, SEC_STRINGS.
+
+ * section.c (SEC_ARCH_BIT_0): New; replace unused SEC_BALIGN.
+ * bfd-in2.h: Rebuild.
+
+2001-09-28 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-x86-64.c (elf64_x86_64_reloc_type_lookup): Don't map bfd
+ reloc code using x86_64_reloc_map.
+
+ * elf32-hppa.c (elf32_hppa_check_relocs): Update comment since we
+ no longer allocate here. Localise some vars to blocks where they
+ are used.
+ (elf32_hppa_adjust_dynamic_symbol): Correct a comment. Delay
+ setting of vars until needed.
+ (allocate_dynrelocs): Don't create a .plt entry without a reloc
+ when symbol visibilty makes a function local.
+ (elf32_hppa_finish_dynamic_symbol): Move expressions out of
+ swap_reloca_out function calls.
+ (elf32_hppa_relocate_section): Likewies. Comment typo fix.
+ (elf32_hppa_finish_dynamic_sections): Migrate common code out of
+ switch statement.
+
+ * elf32-i386.c (elf_i386_check_relocs): Update comment since we
+ no longer allocate here. Localise some vars to blocks where they
+ are used. Remove separate switch stmt for creating .got sec.
+ (elf_i386_adjust_dynamic_symbol): Correct a comment. Remove
+ redundant casts and aborts. Delay setting of vars until needed.
+ (allocate_dynrelocs): Remove redundant casts and aborts.
+ (elf_i386_size_dynamic_sections): Move comment.
+ (elf_i386_finish_dynamic_symbol): Move expressions out of function
+ calls.
+ (elf_i386_relocate_section): Likewise. Comment typo fix.
+ (elf_i386_finish_dynamic_sections): Migrate common code out of
+ switch statement.
+ (elf_backend_* defines): Sort.
+
+ * elf32-i386.c (allocate_dynrelocs): Don't create a .plt entry
+ without a reloc when symbol visibilty makes a function local.
+
+2001-09-27 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix detection of
+ conflicting float flags.
+
+2001-09-26 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386 (elf_i386_copy_indirect_symbol): New function.
+ (elf_backend_copy_indirect_symbol): Define.
+ (struct elf_i386_link_hash_entry): Rename "root" to "elf".
+ (struct elf_i386_link_hash_table): Likewise.
+ (link_hash_newfunc): Get rid of unnecessary casts.
+ (elf_i386_link_hash_table_create): Likewise.
+ (elf_i386_check_relocs): Initialise local_got_refcounts to 0.
+ Don't test input section SEC_READONLY here to try to avoid copy
+ relocs, and keep dyn_relocs regardleas of ELF_LINK_NON_GOT_REF.
+ (elf_i386_adjust_dynamic_symbol): Check output section SEC_READONLY
+ here to properly test whether we need copy relocs. Do so for weak
+ syms too.
+
+ * elf32-hppa (elf32_hppa_copy_indirect_symbol): New function.
+ (elf_backend_copy_indirect_symbol): Define.
+ (struct elf32_hppa_link_hash_table): Rename "root" to "elf".
+ (stub_hash_newfunc): Get rid of unnecessary casts.
+ (hppa_link_hash_newfunc): Likewise.
+ (elf32_hppa_check_relocs): Initialise local_got_refcounts to 0.
+ Don't test input section SEC_READONLY here to try to avoid copy
+ relocs, and keep dyn_relocs regardleas of ELF_LINK_NON_GOT_REF.
+ (elf32_hppa_adjust_dynamic_symbol): Check output section SEC_READONLY
+ here to properly test whether we need copy relocs. Do so for weak
+ syms too.
+
+2001-09-26 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd.c (_bfd_default_error_handlerl): Define using VPARAMS,
+ VA_OPEN, VA_FIXEDARG, VA_CLOSE.
+ (bfd_archive_filename): Cast bfd_malloc arg to the correct size.
+
+2001-09-25 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-sparc.c (sparc64_elf_build_plt): Fix .plt[32768+] slot
+ computation.
+
+2001-09-25 H.J. Lu <hjl@gnu.org>
+
+ * bfd-in2.h: Regenerated.
+
+2001-09-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c: Add comment re linker function names and ordering.
+ (elf_i386_link_hash_newfunc): Rename to link_hash_newfunc.
+ (elf_i386_grok_prstatus): Move before linker functions.
+ (elf_i386_grok_psinfo): Likewise.
+ (elf_i386_fake_sections): Move so that functions are ordered.
+ (elf_i386_reloc_type_class): Likewise. Comment function purpose.
+
+2001-09-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c: Rename occurrences of "hplink" to "htab"
+ throughout file.
+
+ * elf32-hppa.c: (LONG_BRANCH_PIC_IN_SHLIB): Delete. Remove all
+ code handling this option.
+ (LONG_BRANCH_VIA_PLT): Likewise.
+ (RELATIVE_DYNRELOCS): Define as zero.
+ (struct elf32_hppa_dyn_reloc_entry): Add "sec", and
+ "pc_count" fields. Remove "section" field.
+ (elf32_hppa_link_hash_entry): Rename reloc_entries to dyn_relocs.
+ (elf32_hppa_check_relocs): Don't allocate space for dynamic
+ relocs here. Instead, record all needed dynamic relocs via
+ dyn_relocs and local_dynrel. Cache pointer to "sreloc" section
+ in elf_section_data.
+ (elf32_hppa_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
+ (allocate_plt_and_got_and_discard_relocs): Rename to
+ allocate_dynrelocs. Allocate rather than discarding dyn relocs.
+ (readonly_dynrelocs): New function.
+ (elf32_hppa_size_dynamic_sections): Mark output_bfd unused.
+ Call readonly_dynrelocs to determine need for DT_TEXTREL.
+ Rename "i" to "ibfd". Allocate space for local dyn relocs.
+ (elf32_hppa_relocate_section): Make use of cached sreloc.
+ (elf32_hppa_reloc_type_class): New function.
+ (elf_backend_reloc_type_class): Define.
+
+2001-09-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (struct bfd_elf_section_data): Add "local_dynrel"
+ and "sreloc" fields.
+ * elf32-i386.c (struct elf_i386_dyn_relocs): Add "sec", and
+ "pc_count" fields. Remove "section" field.
+ (elf_i386_check_relocs): Don't set DF_TEXTREL here. Don't
+ allocate space for dynamic relocs here. Instead, record all
+ needed dynamic relocs via dyn_relocs and local_dynrel. Cache
+ pointer to "sreloc" section in elf_section_data.
+ (elf_i386_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
+ (allocate_plt_and_got_and_discard_relocs): Rename to
+ allocate_dynrelocs. Allocate rather than discarding dyn relocs.
+ (readonly_dynrelocs): New function.
+ (elf_i386_size_dynamic_sections): Call readonly_dynrelocs.
+ Rename "i" to "ibfd". Allocate space for local dyn relocs.
+ (elf_i386_relocate_section): Make use of cached sreloc.
+
+2001-09-24 Alan Modra <amodra@bigpond.net.au>
+
+ * elf-bfd.h (elf_backend_reloc_type_class): Pass in the entire
+ reloc rather than just the type.
+ (_bfd_elf_reloc_type_class): Likewise.
+ * elf.c (_bfd_elf_reloc_type_class): Likewise.
+ * elf32-arm.h (elf32_arm_reloc_type_class): Likewise.
+ * elf32-cris.c (elf_cris_reloc_type_class): Likewise.
+ * elf32-i386.c (elf_i386_reloc_type_class): Likewise.
+ * elf32-m68k.c (elf32_m68k_reloc_type_class): Likewise.
+ * elf32-ppc.c (ppc_elf_reloc_type_class): Likewise.
+ * elf32-s390.c (elf_s390_reloc_type_class): Likewise.
+ * elf32-sh.c (sh_elf_reloc_type_class): Likewise.
+ * elf32-sparc.c (elf32_sparc_reloc_type_class): Likewise.
+ * elf64-alpha.c (elf64_alpha_reloc_type_class): Likewise.
+ * elf64-s390.c (elf_s390_reloc_type_class): Likewise.
+ * elf64-sparc.c (sparc64_elf_reloc_type_class): Likewise.
+ * elf64-x86-64.c (elf64_x86_64_reloc_type_class): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_reloc_type_class): Likewise.
+ * elflink.h: Formatting fixes.
+ (elf_link_sort_relocs): Make "count" and "size" bfd_size_type.
+ Call bfd_zmalloc rather than calloc. Remove unnecessary cast of
+ o->contents to PTR. Update call to elf_backend_reloc_type_class.
+
+2001-09-22 John Reiser <jreiser@BitWagon.com>
+
+ * elfcode.h (elf_object_p): Allow for no section header at all in
+ non-ET_REL files. Honor 0 for e_shnum, e_shstrndx, e_shoff.
+
+2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elfxx-ia64.c: Fix compile time warning messages.
+ * coff-mcore.c: Fix compile time warning messages.
+ * coff-ppc.c: Fix compile time warning messages.
+ * coffcode.h: Fix compile time warning messages.
+ * elf32-mips.c: Fix compile time warning messages.
+ * elf64-alpha.c: Fix compile time warning messages.
+ * libbfd.c: Fix compile time warning messages.
+ * bfd-in2.h: Regenerate.
+
+2001-09-21 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+ * aoutx.h: Formatting fixes.
+ * merge.c (_bfd_merged_section_offset): Break line at 80 chars.
+
+ * linker.c: Replace bfd_get_filename with bfd_archive_filename
+ in error message.
+
+2001-09-21 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd.c (bfd_archive_filename): New function.
+ * bfd-in2.h: Regenerate.
+ * aout-adobe.c: Replace bfd_get_filename with bfd_archive_filename
+ in error messages where the bfd is an input bfd.
+ * aout-cris.c: Likewise.
+ * coff-arm.c: Likewise.
+ * coff-mcore.c: Likewise.
+ * coff-ppc.c: Likewise.
+ * coff-rs6000.c: Likewise.
+ * coff-sh.c: Likewise.
+ * coff-tic54x.c: Likewise.
+ * coff-tic80.c: Likewise.
+ * coff64-rs6000.c: Likewise.
+ * coffcode.h: Likewise.
+ * coffgen.c: Likewise.
+ * cofflink.c: Likewise.
+ * ecofflink.c: Likewise.
+ * elf-hppa.h: Likewise.
+ * elf.c: Likewise.
+ * elf32-arm.h: Likewise.
+ * elf32-cris.c: Likewise.
+ * elf32-gen.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-i370.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-m32r.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-mips.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sparc.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-gen.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-sparc.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * elflink.h: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * ieee.c: Likewise.
+ * ihex.c: Likewise.
+ * libbfd.c: Likewise.
+ * pdp11.c: Likewise.
+ * pe-mips.c: Likewise.
+ * peicode.h: Likewise.
+ * srec.c: Likewise.
+ * xcofflink.c: Likewise.
+
+ * elf32-arm.h: Make _bfd_error_handler calls K&R compatible.
+
+ * elflink.c (_bfd_elf_create_linker_section): Better grammar for
+ error message.
+
+ * coff-mcore.c (coff_mcore_relocate_section): Internalionalise
+ error message.
+
+ * elf64-sparc.c (sparc64_elf_add_symbol_hook): Constify stt_types.
+ Consolidate error messages, and split long messages to two lines.
+
+2001-09-20 John Reiser <jreiser@BitWagon.com>
+
+ * elf32-i386.c (elf_i386_relocate_section): Coordinate info->symbolic
+ and info->allow_shlib_undefined.
+ * elf32-cris.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mips.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sparc.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-sparc.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+
+2001-09-18 Bruno Haible <haible@clisp.cons.org>
+
+ * aoutx.h: Include "safe-ctype.h" instead of <ctype.h>.
+ (aout_link_write_symbols): Use ISDIGIT instead of isdigit.
+ * archive.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (_bfd_generic_read_ar_hdr_mag): Use ISDIGIT instead of isdigit.
+ * archures.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (bfd_default_scan): Use ISDIGIT instead of isdigit.
+ * bfd.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (bfd_scan_vma): Use ISXDIGIT/ISDIGIT/ISLOWER instead of
+ isxdigit/isdigit/islower.
+ * binary.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (mangle_name): Use ISALNUM instead of isalnum.
+ * cpu-v850.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (scan): Use ISDIGIT instead of isdigit.
+ * hosts/alphavms.h: Don't include <ctype.h>.
+ * ieee.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (ieee_object_p): Use TOUPPER instead of toupper.
+ * ihex.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (ihex_bad_byte): Use ISPRINT instead of isprint.
+ * merge.c: Don't include <ctype.h>.
+ * oasys.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (oasys_write_sections): Use ISDIGIT instead of isdigit.
+ * pdp11.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (aout_link_write_symbols): Use ISDIGIT instead of isdigit.
+ * ppcboot.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (mangle_name): Use ISALNUM instead of isalnum.
+ * som.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (som_set_reloc_info): Use ISUPPER/ISLOWER/ISDIGIT instead of
+ isupper/islower/isdigit.
+ (som_decode_symclass): Use TOUPPER instead of toupper.
+ * srec.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (srec_bad_byte): Use ISPRINT instead of isprint.
+ (srec_scan): Use ISSPACE instead of isspace.
+ * stabs.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (_bfd_link_section_stabs): Use ISDIGIT instead of isdigit.
+ * syms.c: Include "safe-ctype.h"
+ (islower, toupper): Remove macro definitions.
+ (bfd_decode_symclass): Use TOUPPER instead of toupper.
+ * vms-gsd.c: Don't include <ctype.h>.
+ * vms-hdr.c: Include "safe-ctype.h" instead of <ctype.h>.
+ (_bfd_vms_write_hdr): Use ISLOWER/TOUPPER instead of
+ islower/toupper.
+ * vms-tir.c: Don't include <ctype.h>.
+
+2001-09-18 Alan Modra <amodra@bigpond.net.au>
+
+ * libbfd.c (bfd_bread): New function replacing bfd_read without
+ redundant params. Allow reads up to (size_t) -2 in length.
+ (bfd_bwrite): Similarly for bfd_write.
+ (real_read): Return a size_t.
+ (bfd_read): Call bfd_bread.
+ (bfd_write): Call bfd_bwrite.
+ (warn_deprecated): New function to annoy everybody.
+ (bfd_get_file_window): Don't call bfd_set_error unnecessarily.
+ * bfd-in.h (bfd_bread, bfd_bwrite, warn_deprecated): Declare.
+ (bfd_read, bfd_write): Define as macro.
+ * aix386-core.c: Replace calls to bfd_read with bfd_bread, and
+ likewise for bfd_write. Ensure function args are correct size by
+ using casts or local vars. In some cases, remove unnecessary
+ casts. Formatting fixes, in some cases removing a large expression
+ from function args by using a local var. Replace CONST with const.
+ Modify variable types to avoid warings. Use casts to avoid
+ warnings when using negative numbers in unsigned expressions.
+ * aout-adobe.c: Likewise.
+ * aout-arm.c: Likewise.
+ * aout-cris.c: Likewise.
+ * aout-encap.c: Likewise.
+ * aout-ns32k.c: Likewise.
+ * aout-target.h: Likewise.
+ * aout-tic30.c: Likewise.
+ * aoutf1.h: Likewise.
+ * aoutx.h: Likewise.
+ * archive.c: Likewise.
+ * archures.c: Likewise.
+ * bfd-in.h: Likewise.
+ * bfd.c: Likewise.
+ * binary.c: Likewise.
+ * bout.c: Likewise.
+ * cache.c: Likewise.
+ * cisco-core.c: Likewise.
+ * coff-a29k.c: Likewise.
+ * coff-alpha.c: Likewise.
+ * coff-arm.c: Likewise.
+ * coff-h8300.c: Likewise.
+ * coff-h8500.c: Likewise.
+ * coff-i386.c: Likewise.
+ * coff-i860.c: Likewise.
+ * coff-i960.c: Likewise.
+ * coff-ia64.c: Likewise.
+ * coff-m68k.c: Likewise.
+ * coff-m88k.c: Likewise.
+ * coff-mcore.c: Likewise.
+ * coff-mips.c: Likewise.
+ * coff-ppc.c: Likewise.
+ * coff-rs6000.c: Likewise.
+ * coff-sh.c: Likewise.
+ * coff-sparc.c: Likewise.
+ * coff-stgo32.c: Likewise.
+ * coff-tic30.c: Likewise.
+ * coff-tic54x.c: Likewise.
+ * coff-tic80.c: Likewise.
+ * coff-w65.c: Likewise.
+ * coff-z8k.c: Likewise.
+ * coff64-rs6000.c: Likewise.
+ * coffcode.h: Likewise.
+ * coffgen.c: Likewise.
+ * cofflink.c: Likewise.
+ * coffswap.h: Likewise.
+ * corefile.c: Likewise.
+ * cpu-arc.c: Likewise.
+ * cpu-h8300.c: Likewise.
+ * cpu-h8500.c: Likewise.
+ * cpu-i960.c: Likewise.
+ * cpu-ia64-opc.c: Likewise.
+ * cpu-ns32k.c: Likewise.
+ * cpu-pdp11.c: Likewise.
+ * cpu-pj.c: Likewise.
+ * cpu-sh.c: Likewise.
+ * cpu-w65.c: Likewise.
+ * cpu-z8k.c: Likewise.
+ * dwarf1.c: Likewise.
+ * dwarf2.c: Likewise.
+ * ecoff.c: Likewise.
+ * ecofflink.c: Likewise.
+ * ecoffswap.h: Likewise.
+ * elf-bfd.h: Likewise.
+ * elf-hppa.h: Likewise.
+ * elf-m10200.c: Likewise.
+ * elf-m10300.c: Likewise.
+ * elf.c: Likewise.
+ * elf32-arc.c: Likewise.
+ * elf32-arm.h: Likewise.
+ * elf32-avr.c: Likewise.
+ * elf32-cris.c: Likewise.
+ * elf32-fr30.c: Likewise.
+ * elf32-gen.c: Likewise.
+ * elf32-h8300.c: Likewise.
+ * elf32-hppa.c: Likewise.
+ * elf32-i370.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-i860.c: Likewise.
+ * elf32-m32r.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-mips.c: Likewise.
+ * elf32-openrisc.c: Likewise.
+ * elf32-pj.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-s390.c: Likewise.
+ * elf32-sh-lin.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sparc.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-mips.c: Likewise.
+ * elf64-ppc.c: Likewise.
+ * elf64-s390.c: Likewise.
+ * elf64-sparc.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * elfarm-nabi.c: Likewise.
+ * elfcode.h: Likewise.
+ * elfcore.h: Likewise.
+ * elflink.c: Likewise.
+ * elflink.h: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elfxx-target.h: Likewise.
+ * format.c: Likewise.
+ * hash.c: Likewise.
+ * hp300hpux.c: Likewise.
+ * hppabsd-core.c: Likewise.
+ * hpux-core.c: Likewise.
+ * i386aout.c: Likewise.
+ * i386dynix.c: Likewise.
+ * i386linux.c: Likewise.
+ * i386lynx.c: Likewise.
+ * i386mach3.c: Likewise.
+ * i386msdos.c: Likewise.
+ * i386os9k.c: Likewise.
+ * ieee.c: Likewise.
+ * ihex.c: Likewise.
+ * irix-core.c: Likewise.
+ * libaout.h: Likewise.
+ * libbfd-in.h: Likewise.
+ * libbfd.c: Likewise.
+ * libcoff-in.h: Likewise.
+ * libecoff.h: Likewise.
+ * libieee.h: Likewise.
+ * libnlm.h: Likewise.
+ * libpei.h: Likewise.
+ * libxcoff.h: Likewise.
+ * linker.c: Likewise.
+ * lynx-core.c: Likewise.
+ * m68klinux.c: Likewise.
+ * merge.c: Likewise.
+ * mipsbsd.c: Likewise.
+ * netbsd-core.c: Likewise.
+ * nlm.c: Likewise.
+ * nlm32-alpha.c: Likewise.
+ * nlm32-i386.c: Likewise.
+ * nlm32-ppc.c: Likewise.
+ * nlm32-sparc.c: Likewise.
+ * nlmcode.h: Likewise.
+ * nlmswap.h: Likewise.
+ * ns32k.h: Likewise.
+ * oasys.c: Likewise.
+ * opncls.c: Likewise.
+ * osf-core.c: Likewise.
+ * pc532-mach.c: Likewise.
+ * pdp11.c: Likewise.
+ * pe-mips.c: Likewise.
+ * peXXigen.c: Likewise.
+ * peicode.h: Likewise.
+ * ppcboot.c: Likewise.
+ * ptrace-core.c: Likewise.
+ * reloc.c: Likewise.
+ * reloc16.c: Likewise.
+ * riscix.c: Likewise.
+ * rs6000-core.c: Likewise.
+ * sco5-core.c: Likewise.
+ * section.c: Likewise.
+ * som.c: Likewise.
+ * sparclinux.c: Likewise.
+ * sparclynx.c: Likewise.
+ * srec.c: Likewise.
+ * stabs.c: Likewise.
+ * sunos.c: Likewise.
+ * syms.c: Likewise.
+ * targets.c: Likewise.
+ * tekhex.c: Likewise.
+ * trad-core.c: Likewise.
+ * versados.c: Likewise.
+ * vms-gsd.c: Likewise.
+ * vms-hdr.c: Likewise.
+ * vms-misc.c: Likewise.
+ * vms-tir.c: Likewise.
+ * vms.c: Likewise.
+ * vms.h: Likewise.
+ * xcofflink.c: Likewise.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * libcoff.h: Regenerate.
+
+ * bfd.c (struct _bfd): Make "where" and "origin" unsigned.
+ * bfd-in.h (file_ptr): Change from a long int to a bfd_signed_vma.
+ (ufile_ptr): Define.
+ (bfd_tell): Return a ufile_ptr.
+ * libbfd.c (bfd_tell): Likewise.
+ (bfd_seek): Use bfd_size_type locals. Don't call bfd_set_error
+ unnecessarily.
+ * aix386-core.c: Test != 0 for bfd_seek errors rather than < 0.
+ * aoutf1.h: Likewise.
+ * som.c: Likewise.
+ * cache.c (bfd_cache_lookup_worker): Guard against abfd->where
+ larger than unsigned long can represent.
+
+ * libbfd.c (bfd_malloc): Take a bfd_size_type arg. Error if
+ size overflows size_t.
+ (bfd_realloc): Likewise.
+ (bfd_zmalloc): Likewise.
+ * opncls.c (bfd_alloc): Likewise.
+ (bfd_zalloc): Likewise.
+ * libbfd-in.h (bfd_malloc, bfd_realloc, bfd_zmalloc): Update.
+ (bfd_alloc, bfd_zalloc): Update.
+
+ * libbfd.c (bfd_get_8): Mask with 0xff in case char is more than
+ 8 bits.
+ (bfd_get_signed_8): Likewise.
+ (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8,
+ H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8,
+ H_GET_64, H_GET_32, H_GET_16, H_GET_8,
+ H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Define and use.
+ * libaout.h: Likewise define and use here.
+ * aout-adobe.c: Use H_GET_* and H_PUT_* macros.
+ * aout-arm.c: Likewise.
+ * aout-encap.c: Likewise.
+ * aout-ns32k.c: Likewise.
+ * aout-tic30.c: Likewise.
+ * aoutf1.h: Likewise.
+ * aoutx.h: Likewise.
+ * bout.c: Likewise.
+ * coff-alpha.c: Likewise.
+ * coff-h8300.c: Likewise.
+ * coff-h8500.c: Likewise.
+ * coff-i960.c: Likewise.
+ * coff-ia64.c: Likewise.
+ * coff-m88k.c: Likewise.
+ * coff-mips.c: Likewise.
+ * coff-ppc.c: Likewise.
+ * coff-rs6000.c: Likewise.
+ * coff-sh.c: Likewise.
+ * coff-sparc.c: Likewise.
+ * coff-stgo32.c: Likewise.
+ * coff-tic30.c: Likewise.
+ * coff-tic80.c: Likewise.
+ * coff-w65.c: Likewise.
+ * coff-z8k.c: Likewise.
+ * coff64-rs6000.c: Likewise.
+ * coffgen.c: Likewise.
+ * cofflink.c: Likewise.
+ * coffswap.h: Likewise.
+ * ecoff.c: Likewise.
+ * ecoffswap.h: Likewise.
+ * elf.c: Likewise.
+ * elf32-mips.c: Likewise.
+ * elf64-mips.c: Likewise.
+ * hp300hpux.c: Likewise.
+ * i386dynix.c: Likewise.
+ * i386lynx.c: Likewise.
+ * i386msdos.c: Likewise.
+ * i386os9k.c: Likewise.
+ * libpei.h: Likewise.
+ * nlm32-alpha.c: Likewise.
+ * nlm32-i386.c: Likewise.
+ * nlm32-ppc.c: Likewise.
+ * nlmcode.h: Likewise.
+ * nlmswap.h: Likewise.
+ * oasys.c: Likewise.
+ * pdp11.c: Likewise.
+ * pe-mips.c: Likewise.
+ * peXXigen.c: Likewise.
+ * peicode.h: Likewise.
+ * riscix.c: Likewise.
+ * sunos.c: Likewise.
+ * xcofflink.c: Likewise.
+ * elfcode.h: (put_word, get_word, put_signed_word, get_signed_word):
+ Rename to H_PUT_WORD, H_GET_WORD, H_PUT_SIGNED_WORD, H_GET_SIGNED_WORD.
+ * coff-rs6000.c (PUTWORD, PUTHALF, PUTBYTE): Don't define. Use
+ equivalent H_PUT_* macro instead.
+ (GETWORD, GETHALF, GETBYTE): Similarly.
+ * coff64-rs6000.c (PUTWORD, PUTHALF, PUTBYTE): Likewise.
+ (GETWORD, GETHALF, GETBYTE): Likewise.
+ * coffswap.h (PUTWORD, PUTHALF, PUTBYTE): Likewise.
+
+ * bfd-in.h (struct orl): Change "pos" to a union.
+ * archive.c (_bfd_compute_and_write_armap): Use it instead of casts.
+ (bsd_write_armap): Here too.
+ (coff_write_armap): And here.
+ * coff-rs6000.c (xcoff_write_armap_old): And here.
+ (xcoff_write_one_armap_big): And here.
+ (xcoff_write_armap_big): And here.
+ * ecoff.c (_bfd_ecoff_write_armap): And here.
+ * elf64-mips.c (mips_elf64_write_armap): And here.
+
+ * aoutf1.h (sunos_set_arch_mach): Make "mach" param an enum.
+ * elf-m10300.c (elf_mn10300_mach): Return an unsigned long.
+ * elf32-h8300.c (elf32_h8_mach): Likewise.
+ * elf32-mips.c (elf_mips_mach): Likewise.
+ * sparclynx.c (NAME(lynx,set_arch_mach)): Likewise.
+
+ * aix386-core.c (aix386_core_file_p): Remove redundant bfd_release
+ calls.
+ (aix386_core_vec): Typo fix.
+
+ * aout-arm.c: Include libaout.h and aout/aout64.h after N_TXTADDR
+ etc. to avoid redefined macro warning.
+ (MY(put_reloc)): Use bfd_vma for "value" rather than long.
+ (MY(fix_pcrel_26)): Likewise.
+ * aout-ns32k.c (MY(put_reloc)): Likewise.
+ * aout-cris.c (MY(swap_ext_reloc_out)): Likewise for r_addend.
+ * aoutx.h (NAME(aout,swap_ext_reloc_out)): Likewise.
+ * coff-arm.c (coff_arm_relocate_section): Likewise for my_offset.
+
+ * aout-encap.c: Include "file", not <file> for binutils headers.
+ (encap_object_p): Half baked attempt to fix compile errors in
+ code dealing with "magic".
+
+ * aout-ns32k.c: Include "file", not <file> for binutils headers.
+ (_bfd_ns32k_relocate_contents): get_data and put_data manipulate
+ bfd_vma's rather than longs.
+ * cpu-ns32k.c (ns32k_sign_extend): Delete.
+ (_bfd_ns32k_get_displacement): Return a bfd_vma, don't pass in offset.
+ (_bfd_ns32k_get_immediate): Likewise. Add code for 8 byte values,
+ remove case 3.
+ (_bfd_ns32k_put_displacement): Accept a bfd_vma, don't pass in offset.
+ Use unsigned comparisons.
+ (bfd_ns32k_put_immediate): Likewise, and add code for 8 byte values.
+ (do_ns32k_reloc): get_data and put_data operate on bfd_vma's.
+ (_bfd_do_ns32k_reloc_contents): Likewise.
+ * ns32k.h (_bfd_ns32k_get_displacement): Update prototype.
+ (_bfd_ns32k_get_immediate): Likewise.
+ (_bfd_ns32k_put_displacement): Likewise.
+ (_bfd_ns32k_put_immediate): Likewise.
+ (bfd_reloc_status_type): Likewise.
+
+ * aoutx.h (NAME(aout,find_nearest_line)): Rename 'p' to 'colon'
+ to avoid shadowing.
+ * pdp11.c (NAME(aout,find_nearest_line)): Likewise.
+ * coff-h8300.c (h8300_reloc16_extra_cases): Remove shadowing "value".
+ * coff-ppc.c (enum ref_category): Rename "data" to "tocdata" to
+ avoid shadowing.
+ (record_toc): Use a bfd_signed_vma for our_toc_offset.
+ * coffcode.h (coff_write_relocs): Rename "i" to avoid shadowing.
+ * elf.c (bfd_elf_get_bfd_needed_list): Rename "link" var to avoid
+ shadow warning.
+ (_bfd_elfcore_strndup): Likewise for "dup".
+ * elf32-cris.c (cris_elf_relocate_section): "symname" instead of
+ "name" to avoid shadowing.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Remove duplicate
+ definition of "off".
+ * elf32-i386.c (elf_i386_relocate_section): Likewise.
+ * elf32-mips.c (_bfd_mips_elf_modify_segment_map): Remove duplicate
+ definition of "s".
+ (_bfd_mips_elf_final_link): Rename "i" to "j". Remove duplicate
+ "secpp".
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Rename inner "indx"
+ to avoid shadowing.
+ * elflink.h (elf_link_add_object_symbols): Rename "link" to "shlink"
+ to avoid shadowing.
+ (elf_link_input_bfd): Likewise.
+ (elf_bfd_final_link): Remove duplicate innermost "off" var.
+ * oasys.c (oasys_write_data): Rename innermost "p" to "sym".
+ * reloc16.c (bfd_coff_reloc16_relax_section): Rename "i" param to
+ "input_section".
+ * som.c (som_prep_for_fixups): Rename inner "i" to "j".
+ * sunos.c (sunos_add_dynamic_symbols): Localise "s" var.
+ (sunos_write_dynamic_symbol): Remove unused vars.
+ * syms.c (_bfd_stab_section_find_nearest_line): Remove duplicate
+ innermost "directory_name" and "file_name" vars.
+ * tekhex.c (first_phase): Rename local var "type" to "stype".
+ (tekhex_write_object_contents): Rename innermost "s" to "sym".
+ * vms-gsd.c (vms_secflag_by_name): Change "size" param to "hassize",
+ doing comparison at caller.
+ (vms_esecflag_by_name): Likewise.
+ * vms-tir.c (etir_sto): Rename innermost "psect" to "psect1".
+ * xcofflink.c (xcoff_link_input_bfd): Delete duplicate innermost "o".
+ (xcoff_write_global_symbol): Rename "p" param to "inf".
+
+ * cisco-core.c: Add missing prototypes.
+ (cisco_core_file_failing_command): Add ATTRIBUTE_UNUSED.
+ (cisco_core_file_failing_signal): Likewise.
+ (cisco_core_file_matches_executable_p): Likewise.
+ * hpux-core.c (hpux_core_core_file_failing_signal): Likewise.
+ * netbsd-core.c (netbsd_core_file_matches_executable_p): Likewise.
+ * osf-core.c (osf_core_core_file_matches_executable_p): Likewise.
+ * sco5-core.c (sco5_core_file_matches_executable_p): Likewise.
+
+ * coff-arm.c (coff_arm_link_hash_table): Use bfd_size_type for
+ thumb_glue_size and arm_glue_size.
+ * elf32-arm.h (elf32_arm_link_hash_table): Likewise here.
+
+ * coff64-rs6000.c: Group prototypes together.
+
+ * coffcode.h (coff_set_arch_mach): Add ATTRIBUTE_UNUSED.
+ (buy_and_read): Remove "seek" param. Change "size" to bfd_size_type.
+
+ * cpu-arc.c: Add missing prototypes.
+ * cpu-h8500.c: Likewise.
+ * cpu-i960.c: Likewise.
+ * cpu-pj.c: Likewise.
+ * cpu-sh.c: Likewise.
+ * cpu-w65.c: Likewise.
+ * cpu-z8k.c: Likewise.
+ * elf32-fr30.c: Likewise.
+ * elf32-h8300.c: Likewise.
+ * elf32-i370.c: Likewise.
+ * hpux-core.c: Likewise.
+ * versados.c: Likewise.
+
+ * cpu-h8300.c (bfd_default_scan_num_mach): Don't declare.
+ * cpu-h8500.c: Likewise.
+ * cpu-i960.c: Likewise.
+ * cpu-z8k.c: Likewise.
+
+ * cpu-ia64-opc.c: Correct comment.
+
+ * dwarf2.c (_bfd_dwarf2_find_nearest_line): Remove unused var.
+
+ * elf-bfd.h (elf_size_info): Change count param of write_out_phdrs
+ to unsigned.
+ (bfd_elf32_write_out_phdrs): Likewise.
+ (bfd_elf64_write_out_phdrs): Likewise.
+ (elf_linker_section_pointers): Change addend to bfd_vma.
+ (_bfd_elf_find_pointer_linker_section): Likewise.
+ (_bfd_elfcore_make_pseudosection): Change size param to size_t and
+ filepos to unsigned file_ptr.
+ (_bfd_elfcore_strndup): Change max param to size_t.
+ * elf.c (_bfd_elfcore_make_pseudosection): As above.
+ (_bfd_elfcore_strndup): Likewise.
+ (_bfd_elf_find_pointer_linker_section): Likewise.
+
+ * elf-hppa.h (elf_hppa_relocate_insn): Return an int, and change
+ insn and sym_value to ints.
+
+ * elf.c (elf_read): Make "offset" param a file_ptr, "size" a
+ bfd_size_type.
+ (elfcore_read_notes): Likewise.
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Change sym_flags
+ param from unsigned char to int.
+ (elf32_arm_relocate_section): If USE_REL, cast "rel" appropriately
+ for info_to_howto call.
+ (add_dynamic_entry): Define macro.
+ (elf32_arm_size_dynamic_sections): Use add_dynamic_entry.
+
+ * elf32-cris.c (add_dynamic_entry): Define macro.
+ (elf_cris_size_dynamic_sections): Use add_dynamic_entry.
+
+ * elf32-h8300.c (elf32_h8_final_write_processing): Make static.
+ (elf32_h8_object_p): Likewise.
+ (elf32_h8_merge_private_bfd_data): Likewise.
+ (elf32_h8_relax_section): Cast gap to int so signed comparisons work.
+
+ * elf32-hppa.c (add_dynamic_entry): Define macro.
+ (elf32_hppa_size_dynamic_sections): Use it.
+ * elf32-i370.c (add_dynamic_entry): Define macro.
+ (i370_elf_size_dynamic_sections): Use it.
+ (i370_noop): Make static.
+ * elf32-i386.c (add_dynamic_entry): Define macro.
+ (elf_i386_size_dynamic_sections): Use it.
+ * elf32-m68k.c (add_dynamic_entry): Define macro.
+ (elf_m68k_size_dynamic_sections): Use it.
+ * elf32-ppc.c (add_dynamic_entry): Define macro.
+ (ppc_elf_size_dynamic_sections): Use it.
+ * elf32-s390.c (add_dynamic_entry): Define macro.
+ (elf_s390_size_dynamic_sections): Use it.
+ * elf64-alpha.c (add_dynamic_entry): Define macro.
+ (elf64_alpha_size_dynamic_sections): Use it.
+ * elf64-hppa.c (add_dynamic_entry): Define macro.
+ (elf64_hppa_size_dynamic_sections): Use it.
+ * elf64-ppc.c (add_dynamic_entry): Define macro.
+ (ppc64_elf_size_dynamic_sections): Use it.
+ * elf64-s390.c (add_dynamic_entry): Define macro.
+ (elf_s390_size_dynamic_sections): Use it.
+ * elf64-sparc.c (add_dynamic_entry): Define macro.
+ (sparc64_elf_size_dynamic_sections): Use it.
+ * elf64-x86-64.c (add_dynamic_entry): Define macro.
+ (elf64_x86_64_size_dynamic_sections): Use it.
+ * elfxx-ia64.c (add_dynamic_entry): Define macro.
+ (elfNN_ia64_size_dynamic_sections): Use it.
+
+ * elf32-v850.c (SEXT24): Modify to avoid signed/unsigned warning.
+ (v850_elf_perform_relocation): Make "r_type" param unsigned.
+
+ * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Just return
+ false if the first malloc fails rather than going via error_return.
+
+ * elf64-sparc.c (sparc64_elf_plt_entry_offset): Use a bfd_vma for
+ "index" param.
+ (sparc64_elf_plt_ptr_offset): Likewise, and for "max" param too.
+
+ * elflink.h (elf_link_input_bfd): s/ingored/ignored/ in error message.
+
+ * elfxx-ia64.c (global_sym_index): Return a long.
+
+ * ieee.c (get_symbol): Use int rather than char param.
+ (ieee_slurp_sections): Move "section" var to inner blocks.
+ (copy_expression): Don't init "value" to zero or worry about
+ clearing to zero after using.
+ (ieee_write_debug_part): Rename "output_buffer" to "obuff" to avoid
+ shadowing.
+
+ * ihex.c (ihex_write_record): Make "count" var a size_t, "addr" an
+ unsigned int.
+
+ * libbfd-in.h (BFD_ALIGN): Add cast to avoid signed/unsigned warning.
+ (bfd_write_bigendian_4byte_int): Pass an unsigned int value param.
+
+ * mipsbsd.c (mips_fix_jmp_addr): Add "error_message" param.
+
+ * pc532-mach.c (MYNSX): Delete.
+ (ns32kaout_bfd_reloc_type_lookup): Define prototype without MYNSX.
+ (write_object_contents): Correct prototype.
+
+ * peicode.h (pe_ILF_build_a_bfd): Use an unsigned int param rather
+ than unsigned short.
+
+ * section.c (bfd_set_section_contents): Remove redundant
+ "offset < 0" test. Check that "count" doesn't overflow size_t.
+ (bfd_get_section_contents): Likewise.
+
+ * som.c (som_fixup_formats): Add missing braces.
+ (som_reloc_addend): Pass a bfd_vma for "addend".
+
+ * srec.c (srec_write_record): Pass "type" as an unsigned int.
+ (srec_write_symbols): Remove an unnecessary var.
+
+ * targets.c (_bfd_target_vector): Sort entries. Sort externs
+ to match.
+ * configure.in: Sort to match. Bump version number.
+ * configure: Regenerate.
+
+ * tekhex.c (move_section_contents): Assert offset == 0.
+
+ * versados.c (new_symbol_string): Constify arg.
+ (process_esd): Use bfd_und_section_ptr rather than &bfd_und_section.
+ (versados_get_symbol_info): Make static.
+ (versados_print_symbol): Likewise.
+ (versados_get_reloc_upper_bound): Likewise.
+ (versados_canonicalize_reloc): Likewise.
+
+2001-09-18 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elflink.h (elf_link_input_bfd): Fix typo in error message.
+
+2001-09-17 H.J. Lu <hjl@gnu.org>
+
+ * dwarf1.c (parse_die): Take a new arg for the end of the
+ section. Return false if die is beyond the section.
+ (parse_functions_in_unit): Pass the end of the section to
+ parse_die ().
+ (_bfd_dwarf1_find_nearest_line): Likewise.
+
+2001-09-14 Michael Rauch <mrauch@netbsd.org>
+
+ * elf32-sparc.c (elf32_sparc_relocate_section): Treat R_SPARC_UA32
+ just like R_SPARC_32.
+
+2001-09-14 Kevin Lo <kevlo@openbsd.org>
+
+ * configure.bfd: Add arm-openbsd target.
+
+2001-09-14 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * config.bfd: Change machine triplets from mips*el*-* to mips*el-*.
+ Add support for mips64.
+
+2001-09-13 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-openrisc.c (ELF_MACHINE_ALT1): Define as EM_OPENRISC_OLD.
+
+2001-09-12 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf.c (prep_headers): Get the machine code from the elf
+ backend data.
+ * elf-m10200.c (ELF_MACHINE_CODE): Redefine to EM_MN10200.
+ (ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10200.
+ * elf-m10300.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
+ (ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
+ * elf-arc.c (arc_elf_final_write_processing): Don't override
+ e_machine, it's now properly set in prep_headers.
+ * elf32-avr.c (elf32_avr_object_p): Accept both EM_AVR and
+ EM_AVR_OLD.
+ (ELF_MACHINE_ALT1): Define to EM_AVR_OLD.
+ * elf-d10v.c (ELF_MACHINE_CODE): Redefine to EM_D10V.
+ (ELF_MACHINE_ALT1): Define to EM_CYGNUS_D10V.
+ * elf-d30v.c (ELF_MACHINE_CODE): Redefine to EM_D30V.
+ (ELF_MACHINE_ALT1): Define to EM_CYGNUS_D30V.
+ * elf-fr30.c (ELF_MACHINE_CODE): Redefine to EM_FR30.
+ (ELF_MACHINE_ALT1): Define to EM_CYGNUS_FR30.
+ * elf-m32r.c (ELF_MACHINE_CODE): Redefine to EM_M32R.
+ (ELF_MACHINE_ALT1): Define to EM_CYGNUS_M32R.
+ * elf32-pj.c (ELF_MACHINE_ALT1): DEfine to EM_PJ_OLD.
+ * elf-v850.c (ELF_MACHINE_CODE): Redefine to EM_V850.
+ (ELF_MACHINE_ALT1): Define to EM_CYGNUS_V850.
+
+2001-09-11 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_section_flags): New.
+ (elf64_alpha_fake_sections): Map SEC_SMALL_DATA to SHF_ALPHA_GPREL.
+
+2001-09-11 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section): Do not
+ apply HINT relocations against dynamic symbols.
+
+2001-09-11 H.J. Lu <hjl@gnu.org>
+
+ * linker.c (link_action): Change COMMON_ROW\defw from CREF to COM.
+
+2001-09-09 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c: Delete all unused ERIC_neverdef and rth_notdef code.
+
+ * elf64-alpha.c (elf64_alpha_relax_with_lituse): Nop out gpdisp
+ following a call to a near function.
+
+2001-09-08 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section): Soft fail
+ relocation errors. Fail gp-relative relocations against
+ dynamic symbols.
+
+2001-09-08 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_relocate_section): Check !DEF_REGULAR
+ as well as DEF_DYNAMIC in test for avoided copy relocs.
+ (allocate_plt_and_got_and_discard_relocs): Likewise.
+ * elf32-hppa.c (elf_i386_relocate_section): Likewise.
+ (allocate_plt_and_got_and_discard_relocs): Likewise.
+
+2001-09-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c (mips_elf_calculate_relocation): Fix overflow handling
+ of R_MIPS_PC16.
+
+2001-09-06 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf64-mips.c (mips_elf64_howto_table_rel): Fix relocation HOWTO
+ definitions.
+ (mips_elf64_howto_table_rel): Likewise.
+
+2001-09-05 Tom Rix <trix@redhat.com>
+
+ * xcofflink.c (bfd_xcoff_import_symbol): Handle import file XMC_XO
+ and syscall symbols.
+ (write_global_symbol) : Same.
+ (bfd_xcoff_export_symbol): Remove unused syscall param.
+ * libxcoff.h: Change prototype of bfd_xcoff_export symbol and
+ bfd_xcoff_import_symbol.
+ * bfd-in.h: Same.
+ * bfd-in2.h : Regenerate.
+
+2001-09-04 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (SKIP_HOWTO): New.
+ (elf64_alpha_howto_table): Use it to remove dead ECOFF relocs.
+ Fix sizes of 16-bit mem format relocs.
+ (elf64_alpha_reloc_map): Update to match.
+ (elf64_alpha_relax_with_lituse): Use GPREL16 as appropriate.
+ (elf64_alpha_relax_without_lituse): Likewise.
+ (elf64_alpha_check_relocs): Handle GPREL16.
+ (elf64_alpha_relocate_section): Likewise.
+ * reloc.c (BFD_RELOC_ALPHA_USER_*): Remove.
+ (BFD_RELOC_ALPHA_GPREL_HI16, BFD_RELOC_ALPHA_GPREL_LO16): New.
+ * bfd-in2.h, libbfd.h: Rebuild.
+
+2001-09-04 Jeff Law <law@redhat.com>
+
+ * elf32-h8300.c (elf32_h8_relax_section): New function.
+ (elf32_h8_relax_delete_bytes): Likewise.
+ (elf32_h8_symbol_address_p): Likewise.
+ (elf32_h8_get_relocated_section_contents): Likewise.
+ (bfd_elf32_bfd_relax_section): Define.
+ (bfd_elf32_bfd_get_relocated_section_contents): Likewise.
+
+ * elf32-h8300.c (special): New function.
+ (h8_elf_howto_table): Use it for SPECIAL_FUNCTION field in
+ all relocations.
+ (elf32_h8_final_link_relocate): Treat R_H8_DIR24A8 like 32bit
+ relocations. Fix problems with the true 24bit reloc R_H8_DIR24R8.
+ Fix minor problems with 8bit and 16bit PC relative relocations.
+
+2001-09-01 Andreas Jaeger <aj@suse.de>
+
+ * vms-tir.c: Add missing prototypes.
+ * vms-hdr.c: Likewise.
+ * vms-gsd.c: Likewise.
+ * vms-misc.c: Likewise.
+
+2001-08-31 H.J. Lu <hjl@gnu.org>
+
+ * elf32-mips.c (_bfd_mips_elf_check_relocs): Report filename
+ with bad relocation.
+
+2001-08-31 Eric Christopher <echristo@redhat.com>
+ Jason Eckhardt <jle@redhat.com>
+
+ * bfd/archures.c: Add mipsisa32 and mipsisa64. Remove mips32,
+ mips32_4k and mips64.
+ * bfd/aoutx.h: Remove bfd_mach_mips32, bfd_mach_mips32_4k,
+ bfd_mach_mips64. Add bfd_mach_mipsisa32, bfd_mach_mipsisa64.
+ * bfd/cpu-mips.c: Ditto.
+ * bfd/elf32-mips.c (_bfd_mips_elf_final_write_processing): Ditto.
+ * bfd/bfd-in2.h: Regenerate.
+
+2001-08-31 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section): Duplicate memory
+ value into R_ALPHA_RELATIVE's addend.
+ (elf64_alpha_finish_dynamic_symbol): Likewise.
+
+2001-08-31 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_relocate_section): Do not rightshift
+ recomputed addend during relocatable link if not USE_REL.
+
+ * elflink.h (elf_gc_propagate_vtable_entries_used): Fix off-by-one
+ error.
+
+2001-08-30 H.J. Lu <hjl@gnu.org>
+
+ * elf32-mips.c (mips_elf_calculate_relocation): Revert the last
+ 2 changes.
+ (_bfd_mips_elf_adjust_dynamic_symbol): Allocate dynamic
+ relocations for weak definitions.
+
+2001-08-30 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-h8300.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-h8300.c.
+ * Makefile.in: Rebuild.
+
+2001-08-30 H.J. Lu <hjl@gnu.org>
+
+ * elf32-mips.c (mips_elf_calculate_relocation): Don't create
+ dynamic relocation for undefined weak symbols when creating
+ executables. Check h->root.root.type, instead of h->root.type.
+
+2001-08-29 Joel Sherrill <joel@OARcorp.com>
+
+ * config.bfd (i[3456]86-*-rtems*, m68*-*-rtems*): Change
+ default from coff to elf.
+
+2001-08-29 Jeff Law <law@redhat.com>
+
+ * elf32-h8300.c (h8_elf_howto_table): Add new PC relative
+ relocations.
+ (h8_reloc_map): Similarly.
+ (elf32_h8_final_link_relocate): Remove incorrect overflow tests.
+ Add support for PC relative relocations.
+
+ * elf32-h8300.c: Put all prototypes together.
+ (elf32_h8_info_to_howto): Parameter elf_reloc is used.
+ (elf32_h8_final_link_relocate): New function for linker.
+ (elf32_h8_relocate_section): Similarly.
+ (elf_backend_relocate_section): Define.
+
+ * cpu-h8300.c (h8300_scan, compatible): Prototype.
+ (h8300_scan): Handle architecture:machine encodings typically
+ found in linker scripts.
+ * elf.c (prep_headers): Do not try to do H8 machine recognition
+ here.
+ * elf32-h8300.c: Add some missing prototypes.
+ (elf32_h8_mach, elf32_h8_final_write_processing): New functions.
+ (elf32_h8_object_p): Similarly.
+
+2001-08-29 Tom Rix <trix@redhat.com>
+
+ * xcofflink.c (xcoff_link_add_symbols): Fix XTY_LD symbol that
+ does not follow a XTY_SD.
+
+2001-08-29 Alan Modra <amodra@bigpond.net.au>
+
+ * targmatch.sed: Delete case statements.
+ * config.bfd <powerpc-*-aix* entry>: Select 64 bit xcoff for
+ aix4.3 and above.
+
+2001-08-29 J"orn Rennecke <amylaar@redhat.com>
+
+ * Makefile.am (elf32-h8300.lo): New target.
+ * config.bfd (h8300*-*-elf): New case.
+ * configure.in (bfd_elf32_h8300_vec): New case.
+ * elf.c (prep_headers): Add case for bfd_arch_h8300.
+ * reloc.c (BFD_RELOC_H8_DIR16A8): New relocation.
+ (BFD_RELOC_H8_DIR16R8, BFD_RELOC_H8_DIR24A8): Likewise.
+ (BFD_RELOC_H8_DIR24R8, BFD_RELOC_H8_DIR32A16): Likewise.
+ * targets.c (bfd_target bfd_elf32_h8300_vec): New extern declaration.
+ * elf32-h8300.c: New file.
+ * Makefile.in, bfd-in2.h, libbfd.h, configure: Regenerated.
+
+2001-08-28 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * sparclynx.c: Add missing prototypes.
+ * coff-mcore.c: Add missing prototypes.
+ * elf32-pj.c: Add missing prototypes.
+ * nlm32-sparc.c: Add missing prototypes.
+ * oasys.c: Add missing prototypes.
+ * pdp11.c: Add missing prototypes.
+ * pe-mips.c: Add missing prototypes.
+ * riscix.c: Add missing prototypes.
+
+2001-08-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf32-i386.c: Add missing prototypes.
+ * elf32-ppc.c: Likewise.
+ * elf32-sh-lin.c: Likewise.
+ * elfarm-nabi.c: Likewise.
+
+2001-08-27 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf32-i386.c (elf_i386_grok_prstatus): New function.
+ (elf_i386_grok_psinfo): New function.
+ (elf_backend_grok_prstatus): Define.
+ (elf_backend_grok_psinfo): Likewise.
+ * elf32-ppc.c (ppc_elf_grok_prstatus): New function.
+ (ppc_elf_grok_psinfo): New function.
+ (elf_backend_grok_prstatus): Define.
+ (elf_backend_grok_psinfo): Likewise.
+ * elf32-sh-lin.c (elf32_shlin_grok_prstatus): New function.
+ (elf32_shlin_grok_psinfo): New function.
+ (elf_backend_grok_prstatus): Define.
+ (elf_backend_grok_psinfo): Likewise.
+ * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): New function.
+ (elf32_arm_nabi_grok_psinfo): New function.
+ (elf_backend_grok_prstatus): Define.
+ (elf_backend_grok_psinfo): Likewise.
+
+2001-08-27 H.J. Lu <hjl@gnu.org>
+
+ * elf32-mips.c (mips_elf_create_dynamic_relocation): Add more
+ sanity check.
+ (mips_elf_calculate_relocation): Create dynamic relocation for
+ symbols with weak definition or the ELF_LINK_HASH_DEF_REGULAR
+ bit is not set.
+
+2001-08-27 H.J. Lu <hjl@gnu.org>
+
+ * elf32-mips.c (_bfd_mips_elf_hide_symbol): Add prototype.
+ (_bfd_mips_elf_copy_indirect_symbol): Likewise.
+ (_bfd_elf32_mips_grok_prstatus): Likewise.
+ (_bfd_elf32_mips_grok_psinfo): Likewise.
+ (_bfd_mips_elf_hide_symbol): Make it static and cast to
+ `struct mips_elf_link_hash_entry *'.
+ (_bfd_mips_elf_copy_indirect_symbol): Make it static.
+
+2001-08-27 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * mipsbsd.c: Add missing prototypes.
+ * hp300hpux.c: Add missing prototypes.
+ * i386aout.c: Add missing prototypes.
+ * i386lynx.c: Add missing prototypes.
+ * i386mach3.c: Add missing prototypes.
+ * i386msdos.c: Add missing prototypes.
+ * i386os9k.c: Add missing prototypes.
+
+2001-08-27 Linus Nordberg <linus@swox.se>
+ Torbjorn Granlund <tege@swox.com>
+ Staffan Ulfberg <staffanu@swox.se>
+ Alan Modra <amodra@bigpond.net.au>
+
+ * config.bfd: Add powerpc64 target. Add powerpc64 vectors to
+ targ64_selvecs for 32 bit powerpc targets.
+ * Makefile.am (BFD64_BACKENDS): Add elf64-ppc.lo.
+ (BFD64_BACKENDS_CFILES): Add elf64-ppc.c.
+ Run "make dep-am".
+ * Makefile.in: Regenerate.
+ * configure.in: Add elf64_powerpc vecs.
+ * configure: Regenerate.
+ * cpu-powerpc.c: Default to bfd_mach_ppc_620 entry for 64 bit.
+ * elf.c (prep_headers): EM_PPC64 for 64 bit ppc elf target.
+ * targets.c: Add bfd_elf64_powerpc_vec and bfd_elf64_powerpcle_vec.
+ * elf64-ppc.c: New file.
+ * reloc.c: Add powerpc64 relocs.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2001-08-27 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (elf32_m68k_check_relocs): Set DF_TEXTREL if the
+ reloc is against read-only section.
+ (elf32_m68k_size_dynamic_sections): Use DF_TEXTREL flag instead of
+ looking up section names for DT_TEXTREL.
+ (elf32_m68k_reloc_type_class): New function.
+ (elf_backend_reloc_type_class): Define.
+
+2001-08-27 Andreas Jaeger <aj@suse.de>
+
+ * elf64-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the
+ reloc is against read-only section.
+ (elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of
+ looking up section names for DT_TEXTREL.
+ (elf_s390_reloc_type_class): New.
+ (elf_backend_reloc_type_class): Define.
+
+ * elf32-s390.c (elf_s390_check_relocs): Set DF_TEXTREL if the
+ reloc is against read-only section.
+ (elf_s390_size_dynamic_sections): Use DF_TEXTREL flag instead of
+ looking up section names for DT_TEXTREL.
+ (elf_s390_reloc_type_class): New.
+ (elf_backend_reloc_type_class): Define.
+
+ * elf32-ppc.c (ppc_elf_check_relocs): Set DF_TEXTREL if the reloc
+ is against read-only section.
+ (ppc_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
+ looking up section names for DT_TEXTREL.
+ (ppc_elf_reloc_type_class): New.
+ (elf_backend_reloc_type_class): Define.
+
+2001-08-26 Andreas Jaeger <aj@suse.de>
+
+ * elf32-cris.c (cris_elf_check_relocs): Set DF_TEXTREL if the
+ reloc is against read-only section.
+ (elf_cris_size_dynamic_sections): Use DF_TEXTREL flag instead of
+ looking up section names for DT_TEXTREL.
+ (elf_cris_reloc_type_class): New.
+ (elf_backend_reloc_type_class): Define.
+
+ * elf32-sh.c (sh_elf_check_relocs): Set DF_TEXTREL if the reloc is
+ against read-only section.
+ (elf_backend_reloc_type_class): Define.
+ (sh_elf_reloc_type_class): New.
+ (sh_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
+ looking up section names for DT_TEXTREL.
+
+ * elf32-arm.h (elf32_arm_check_relocs): Set DF_TEXTREL if the
+ reloc is against read-only section.
+ (elf32_arm_size_dynamic_sections): Use DF_TEXTREL flag instead of
+ looking up section names for DT_TEXTREL.
+ (elf32_arm_reloc_type_class): New.
+ (elf_backend_reloc_type_class): Define.
+
+2001-08-25 Andreas Jaeger <aj@suse.de>
+
+ * oasys.c: Add missing prototypes.
+
+ * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Add unused
+ attribute for parameter.
+ * elf.c (_bfd_elf_reloc_type_class): Likewise.
+
+ * versados.c (get_4): Make static.
+ (get_10): Make static.
+ Add missing prototypes.
+ (process_esd): Fix call to versados_new_symbol.
+
+2001-08-25 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coff-a29k.c: Add missing prototypes.
+ * coff-apollo.c: Add missing prototypes.
+ * coff-arm.c: Add missing prototypes.
+ * coff-i860.c: Add missing prototypes.
+ * coff-rs6000.c: Add missing prototypes.
+ * coff-tic80.c: Add missing prototypes.
+ * elf-m10200.c: Add missing prototypes.
+ * elf-m10300.c: Add missing prototypes.
+ * elf32-arm.h: Add missing prototypes.
+ * elf32-d10v.c: Add missing prototypes.
+ * elf32-m32r.c: Add missing prototypes.
+ * elf32-mcore.c: Add missing prototypes.
+ * elf32-openrisc.c: Add missing prototypes.
+ * elf32-sh.c: Add missing prototypes.
+ * elf32-sparc.c: Add missing prototypes.
+ * elf32-v850.c: Add missing prototypes.
+ * elfarm-nabi.c: Add missing prototypes.
+ * elfarm-oabi.c: Add missing prototypes.
+
+2001-08-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf32-mips.c (elf_mips_abi_name): Return the right ABI string for
+ E_MIPS_ABI_O64 and E_MIPS_ABI_EABI64
+
+2001-08-24 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (_bfd_elf_merge_sections): Fail if not using an ELF
+ hash structure.
+
+2001-08-24 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf-bfd.h (elf_hash_table): Revert definition.
+ (is_elf_hash_table): New macro.
+ * elflink.h (elf_link_add_object_symbols): Test
+ is_elf_hash_table before accessing ELF only fields in hash
+ structure.
+ (elf_link_create_dynamic_sections): Fail if not using an ELF
+ hash structure.
+ (elf_add_dynamic_entry): Fail if not using an ELF hash
+ structure.
+ (elf_link_record_local_dynamic_symbol): Fail if not using an
+ ELF hash structure.
+ (size_dynamic_sections): Fail if not using an ELF hash
+ structure.
+ (elf_adjust_dynamic_symbol): Fail if not using an ELF
+ hash structure.
+ (elf_bfd_final_link): Fail if not using an ELF hash
+ structure.
+
+2001-08-24 H.J. Lu <hjl@gnu.org>
+
+ * elf-bfd.h (elf_hash_table): Return NULL if the linker hash
+ table is not an ELF linker hash table.
+
+ * elf.c (_bfd_elf_link_hash_table_init): Set the linker hash
+ table type to bfd_link_elf_hash_table.
+
+ * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_create): Revert
+ the last change.
+
+ * linker.c (_bfd_link_hash_table_init): Set the linker hash
+ table type to bfd_link_generic_hash_table.
+
+2001-08-24 Alexandre Oliva <aoliva@redhat.com>
+
+ * bfd.c (bfd_alt_mach_code): New function.
+ * bfd-in2.h: Rebuilt.
+
+2001-08-24 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf-m10300.c (mn10300_elf_relocate_section): Test the right
+ `type' field in the hash entry when deciding whether to follow a
+ link.
+
+2001-08-24 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (elf_link_sort_cmp1): Sort RELATIVE relocs first, not
+ last.
+ (elf_link_sort_relocs): Adjust accordingly.
+
+ * elf64-alpha.c (struct alpha_elf_link_hash_entry): Add reltext flag.
+ (elf64_alpha_check_relocs): Set it if section this reloc is against
+ is read-only. Set DF_TEXTREL if a RELATIVE reloc is needed against
+ read-only section.
+ (elf64_alpha_calc_dynrel_sizes): Set DF_TEXTREL flag if relocation
+ is is against read-only section.
+ (elf64_alpha_size_dynamic_sections): Use DF_TEXTREL flag, don't
+ check section names.
+ (elf64_alpha_reloc_type_class): New.
+ (elf_backend_reloc_type_class): Define.
+
+2001-08-24 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * linker.c (_bfd_generic_link_add_archive_symbols): Replace alloca()
+ by bfd_malloc().
+
+2001-08-23 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_check_relocs): Set DF_TEXTREL if
+ the reloc is against read-only section.
+ (elf64_x86_64_size_dynamic_sections): Use DF_TEXTREL flag instead
+ of looking up section names for DT_TEXTREL.
+ (elf64_x86_64_reloc_type_class): New.
+ (elf_backend_reloc_type_class): Define.
+
+2001-08-23 H.J. Lu <hjl@gnu.org>
+
+ * syms.c (bfd_print_symbol_vandf): Add abfd to arg.
+ * bfd-in2.h (bfd_print_symbol_vandf): Regenerated.
+
+ * aoutx.h (NAME(aout,print_symbol)): Pass abfd to
+ bfd_print_symbol_vandf.
+ * coffgen.c (coff_print_symbol): Likewise.
+ * elf.c (bfd_elf_print_symbol): Likewise.
+ * ieee.c (ieee_print_symbol): Likewise.
+ * nlmcode.h (nlm_print_symbol): Likewise.
+ * oasys.c (oasys_print_symbol): Likewise.
+ * pdp11.c (NAME(aout,print_symbol)): Likewise.
+ * som.c (som_print_symbol): Likewise.
+ * srec.c (srec_print_symbol): Likewise.
+ * tekhex.c (tekhex_print_symbol): Likewise.
+ * versados.c (versados_print_symbol): Likewise.
+ * vms.c (vms_print_symbol): Likewise.
+
+ * elf.c (_bfd_elf_print_private_bfd_data): Replace fprintf_vma
+ with bfd_fprintf_vma.
+ (bfd_elf_print_symbol): Likewise.
+ * syms.c (bfd_print_symbol_vandf): Likewise.
+
+2001-08-23 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * aoutf1.h (sunos_write_object_contents): Silence compile time
+ warning.
+ * libaout.h (N_SET_DYNAMIC): Silence compile time warning.
+
+ * bout.c: Add missing function prototypes. Fix formatting.
+ * coff-z8k.c: Add missing function prototypes. Fix formatting.
+ * coff-w65.c: Add missing function prototypes. Fix formatting.
+ * coff-h8500.c: Add missing function prototypes. Fix formatting.
+ * coff-h8300.c: Add missing function prototypes. Fix formatting.
+ * coff-tic54x.c: Add missing function prototypes. Fix formatting.
+ * coff-tic30.c: Add missing function prototypes. Fix formatting.
+ * coff-m68k.c: Add missing function prototypes. Fix formatting.
+ * coff-rs6000.c: Add missing function prototypes. Fix formatting.
+ * coff-sh.c: Add missing function prototypes. Fix formatting.
+
+2001-08-23 Jakub Jelinek <jakub@redhat.com>
+
+ * elf-bfd.h (enum elf_reloc_type_class): New.
+ (struct elf_backend_data): Add elf_backend_reloc_type_class.
+ (_bfd_elf_reloc_type_class): New.
+ * elfxx-target.h (elf_backend_reloc_type_class): Define.
+ (elfNN_bed): Add elf_backend_reloc_type_class.
+ * elf.c (_bfd_elf_reloc_type_class): New.
+ * elf32-i386.c (elf_i386_check_relocs): Set DF_TEXTREL if the reloc
+ is against read-only section.
+ (elf_i386_size_dynamic_sections): Use DF_TEXTREL flag instead of
+ looking up section names for DT_TEXTREL.
+ (elf_i386_reloc_type_class): New.
+ (elf_backend_reloc_type_class): Define.
+ * elf32-sparc.c (elf32_sparc_check_relocs): Set DF_TEXTREL if the
+ reloc is against read-only section.
+ (elf32_sparc_size_dynamic_sections): Use DF_TEXTREL flag instead of
+ looking up section names for DT_TEXTREL.
+ (elf32_sparc_reloc_type_class): New.
+ (elf_backend_reloc_type_class): Define.
+ * elf64-sparc.c (sparc64_elf_check_relocs): Set DF_TEXTREL if the
+ reloc is against read-only section.
+ (sparc64_elf_size_dynamic_sections): Use DF_TEXTREL flag instead of
+ looking up section names for DT_TEXTREL.
+ (sparc64_elf_reloc_type_class): New.
+ (elf_backend_reloc_type_class): Define.
+ * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add reltext field.
+ (elfNN_ia64_hash_table_create): Clear ia64_info.
+ (get_reloc_section): Set DF_TEXTREL if the reloc is against read-only
+ section.
+ (elfNN_ia64_size_dynamic_sections): Use ia64_info->reltext flag
+ instead of looking up section names for DT_TEXTREL.
+ (elfNN_ia64_reloc_type_class): New.
+ (elf_backend_reloc_type_class): Define.
+ * elflink.h (size_dynamic_sections): Add spare DT_NULL tags.
+ (struct elf_link_sort_rela): New.
+ (elf_link_sort_cmp1, elf_link_sort_cmp2, elf_link_sort_relocs): New.
+ (elf_bfd_final_link): Call elf_link_sort_relocs.
+ Convert one spare DT_NULL into DT_RELCOUNT resp. DT_RELACOUNT if
+ necessary.
+
+2001-08-23 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * configure.in (x86-bsdi): No corefile support.
+ * configure: Regenerate.
+
+2001-08-22 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add missing
+ comma.
+
+2001-08-21 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * coff-go32.c: Make DWARF2 sections use an alignment of 0. Set
+ the alignment of dwarf2 linkonce sections to 0.
+ * coff-sto32.c: Likewise.
+
+2001-08-20 Andreas Jaeger <aj@suse.de>
+
+ * coff-sparc.c: Add missing prototypes.
+ * elf32-s390.c: Likewise.
+ * elf32-i960.c: Likewise.
+ * aout-target.h: Likewise.
+
+2001-08-20 H.J. Lu <hjl@gnu.org>
+
+ * elf-bfd.h (elf_obj_tdata): Add num_section_syms.
+ (elf_num_section_syms): New for num_section_syms.
+
+ * elf.c (elf_map_symbols): Set num_section_syms.
+ (_bfd_elf_symbol_from_bfd_symbol): Check num_section_syms for
+ the section symbol index.
+
+2001-08-20 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_create): Never
+ select the generic has table creator. All elf backends need elf
+ specific fields in the hash table.
+
+2001-08-20 Alan Modra <amodra@bigpond.net.au>
+
+ * archive.c (offsetof): Remove define.
+ * elf.c: Likewise.
+ * oasys.c: Likewise
+ * sysdep.h (offsetof): Define.
+
+2001-08-17 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd.c (bfd_get_gp_size): Return an unsigned int.
+ (bfd_set_gp_size): Make param unsigned.
+ * bfd-in2.h: Regenerate.
+ * elf32-ppc.c (ppc_elf_add_symbol_hook): Use elf_gp_size rather
+ than calling bfd_get_gp_size.
+ * elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise.
+
+2001-08-17 Alan Modra <amodra@bigpond.net.au>
+
+ * linker.c (default_fill_link_order): Handle four byte fill value.
+
+2001-08-17 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-sparc.c (sparc64_elf_output_arch_syms): Add missing
+ prototype.
+ * nlm32-alpha.c (nlm_alpha_write_external): Fix warning.
+
+ * elf64-mips.c (UNUSED_RELOC): Define.
+ (mips_elf64_howto_table_rel): Use it.
+ (mips_elf64_howto_table_rela): Here too.
+ (mips_elf64_write_relocs): Fix signed/unsigned warning.
+
+ * coffcode.h (coff_write_object_contents): Add ATTRIBUTE_UNUSED to
+ silence warning.
+ * coffgen.c (coff_print_symbol): Fix warnings.
+ (coff_find_nearest_line): Likewise.
+ * cofflink.c (_bfd_coff_link_input_bfd): Likewise.
+ * coff-alpha.c (alpha_convert_external_reloc): Likewise.
+ * format.c (bfd_check_format_matches): Likewise.
+ (bfd_set_format): Likewise.
+ * coff-ia64.c: Add missing prototypes.
+ * elf64-alpha.c (struct alpha_elf_link_hash_entry): Make addend
+ signed to silence warnings.
+ (elf64_alpha_relocate_section): Likewise.
+ (elf64_alpha_find_reloc_at_ofs): Fix warnings.
+ (elf64_alpha_add_symbol_hook): Likewise.
+ (elf64_alpha_final_link): Likewise.
+ (elf64_alpha_relax_section): Remove redundant assign to info.gotent.
+ (elf64_alpha_merge_gots): Add ATTRIBUTE_UNUSED to unused args.
+ (elf64_alpha_size_got_sections): Likewise.
+ * elfxx-ia64.c: Add missing prototypes.
+ (elfNN_ia64_relocate_section): Fix warning.
+ (elfNN_ia64_unwind_entry_compare): Make params const.
+
+2001-08-17 Alan Modra <amodra@bigpond.net.au>
+
+ * config.bfd (targ64_selvecs): New.
+ <powerpc-*-aix* entry>: Use it here instead of ineffectual #ifdef.
+
+ * bfd-in.h (BFD_VERSION): Remove wrong comment.
+ (BFD_DEFAULT_TARGET_SIZE): New.
+ (BFD_ARCH_SIZE): Comment.
+ * configure.in (target_size): New. Set instead of target64 in
+ selvecs case statement. Set target64 from it.
+ (bfd_default_target_size): New. Set from taget_size. AC_SUBST.
+ * bfd-in2.h: Regenerate.
+ * configure: Regenerate.
+
+2001-08-17 Alan Modra <amodra@bigpond.net.au>
+
+ * bfd.c (enum bfd_error): Add bfd_error_wrong_object_format.
+ (bfd_errmsgs): Add corresponding message.
+ * archive.c (bfd_generic_archive_p): Don't release bfd_ardata when
+ finding an archive that contains different format object files.
+ Return bfd_error_wrong_object_format for this case.
+ * format.c: Formatting fixes. s/CONST/const/.
+ (bfd_check_format_matches): Accept archives that give
+ bfd_error_wrong_object_format if no full match is found. Tidy
+ code handling matching_vector. Don't return a pointer to freed
+ memory in `matching'. Handle ambiguous matches as for partial
+ archive matches.
+ * bfd-in2.h: Regenerate.
+
+2001-08-15 Alan Modra <amodra@bigpond.net.au>
+
+ * libieee.h (common_header_type): Add last_byte field.
+
+ * ieee.c: Add missing prototypes. Some format fixes.
+ (struct output_buffer_struct): Move for availability to prototypes.
+ (ieee_part_after): New function.
+ (ieee_slurp_debug): Use it here.
+ (ieee_seek): Pass in ieee_data_struct rather than bfd. Use
+ ieee_part_after to set last_byte to one past end of current part.
+ Update callers.
+ (ieee_pos): Pass in ieee_data_struct rather than bfd.
+ Update callers.
+ (parse_expression): Don't go beyond the end of the current part.
+ (ieee_slurp_external_symbols): Correct type passed to read_2bytes.
+ (ieee_get_symtab_upper_bound, ieee_get_symtab,
+ ieee_get_symbol_info, ieee_print_symbol, ieee_new_section_hook,
+ ieee_get_reloc_upper_bound, ieee_canonicalize_reloc, block,
+ ieee_set_section_contents, ieee_write_object_contents,
+ ieee_make_empty_symbol): Make static.
+ (ieee_archive_p): Correct comments regarding bfd_read.
+ (ieee_object_p): Similarly.
+ (ieee_mkobject): Move it. Clear output_ptr_start, output_ptr,
+ output_ptr_end, input_ptr_start, input_ptr, input_ptr_end,
+ input_bfd, output_bfd, output_buffer.
+ (do_as_repeat): Write out ieee_set_current_pc_enum value as for
+ do_with_relocs, ie. as a symbol for relocatable files.
+ (ieee_vec): Add comments showing functions referenced by macros.
+
+2001-08-14 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * aout-tic30.c: Add missing prototypes. Fix formatting.
+ * aout-ns32k.c: Add missing prototypes. Fix formatting.
+ * peXXigen.c: Add missining prototypes. Fix formatting.
+ * aout-adobe.c: Add missining prototypes. Fix formatting.
+
+2001-08-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-v850.c: Add missing function prototypes.
+ Fix some formatting.
+
+ * cpu-v850.c: Add missing function prototype.
+ Fix some formatting.
+
+2001-08-11 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf-bfd.h (struct elf_backend_data): Add new fields
+ 'elf_backend_sprintf_vma' and 'elf_backend_fprintf_vma'.
+ (bfd_elf_sprintf_vma): Rename function prototype to
+ '_bfd_elf_sprintf_vma'.
+ (bfd_elf_fprintf_vma): Rename function prototype to
+ '_bfd_elf_fprintf_vma'.
+ * bfd.c (bfd_sprintf_vma): Do not invoke bfd_elf_sprintf_vma
+ directly, instead indirect via the elf_backend_data structure.
+ (bfd_fprintf_vma): Do not invoke bfd_elf_fprintf_vma directly,
+ instead indirect via the elf_backend_data structure.
+ * elf.c (bfd_elf_sprintf_vma): Rename to _bfd_elf_sprintf_vma.
+ (bfd_elf_fprintf_vma): Rename to _bfd_elf_fprintf_vma.
+ * elfxx-target.h (elf_backend_sprintf_vma): Initialise if not
+ already defined.
+ (elf_backend_fprintf_vma): Initialise if not already defined.
+ (struct elf_backend_data): Initialise the
+ elf_backend_sprintf_vma and elf_backend_fprintf_vma fields.
+
+2001-08-10 Andreas Jaeger <aj@suse.de>
+
+ * elf64-sparc.c: Add missing prototypes.
+ * elf32-cris.c: Likewise.
+ * elf32-i370.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-s390.c: Likewise.
+
+2001-08-10 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_elf_object_p): Make static.
+ Add prototypes where needed.
+
+2001-08-10 H.J. Lu <hjl@gnu.org>
+
+ * bfd.c (bfd_sprintf_vma): Fix a typo in the last change.
+ (bfd_fprintf_vma): Likewise.
+
+2001-08-10 H.J. Lu <hjl@gnu.org>
+
+ * bfd.c (bfd_sprintf_vma): Don't return void.
+ (bfd_fprintf_vma): Likewise.
+
+2001-08-10 Andreas Jaeger <aj@suse.de>
+
+ * configure.in: Add -Wstrict-prototypes and -Wmissing-prototypes
+ to build warnings.
+ * configure: Regenerate.
+
+2001-08-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (bfd_elf_sprintf_vma): Add ATTRIBUTE_UNUSED to quiet
+ warning if not BFD64. Add braces so emacs auto format works.
+ (bfd_elf_fprintf_vma): Likewise.
+
+ * libxcoff.h (struct xcoff_backend_data_rec): Constify src param
+ of _xcoff_swap_ld*.
+ * coff-rs6000.c (xcoff_swap_ldhdr_in): Modify type of external
+ param to agree with libxcoff.h.
+ (xcoff_swap_ldhdr_out): Likewise.
+ (xcoff_swap_ldsym_in): Likewise.
+ (xcoff_swap_ldsym_out): Likewise.
+ (xcoff_swap_ldrel_in): Likewise.
+ (xcoff_swap_ldrel_out): Likewise.
+ (xcoff_create_csect_from_smclas): Likewise.
+ * coff64-rs6000.c: Add missing prototypes.
+ (xcoff64_swap_ldhdr_in): Modify type of external param to agree
+ with libxcoff.h.
+ (xcoff64_swap_ldhdr_out): Likewise.
+ (xcoff64_swap_ldsym_in): Likewise.
+ (xcoff64_swap_ldsym_out): Likewise.
+ (xcoff64_swap_ldrel_in): Likewise.
+ (xcoff64_swap_ldrel_out): Likewise.
+ (xcoff64_ppc_relocate_section): Make static.
+ (xcoff64_slurp_armap): Likewise.
+ (xcoff64_archive_p): Likewise.
+ (xcoff64_openr_next_archived_file): Likewise.
+ (xcoff64_sizeof_headers): Likewise.
+ (xcoff64_is_lineno_count_overflow): Likewise.
+ (xcoff64_is_reloc_count_overflow): Likewise.
+ (xcoff64_loader_symbol_offset): Likewise.
+ (xcoff64_loader_reloc_offset): Likewise.
+ * elf64-gen.c: Add missing prototypes.
+
+2001-08-09 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (bfd_elf_sprintf_vma): Check ELFCLASS64 only in BFD64.
+ (bfd_elf_fprintf_vma): Likewise.
+
+2001-08-09 H.J. Lu <hjl@gnu.org>
+
+ * bfd-in.h (bfd_elf_sprintf_vma, bfd_elf_fprintf_vma): Moved
+ to ...
+ * elf-bfd.h: Here.
+ * bfd-in2.h: Regenerated.
+
+2001-08-09 H.J. Lu <hjl@gnu.org>
+
+ * bfd-in.h (bfd_sprintf_vma): New prototype.
+ (bfd_fprintf_vma): Likewise.
+ (bfd_elf_sprintf_vma): Likewise.
+ (bfd_elf_fprintf_vma): Likewise.
+ (bfd_printf_vma): New. Defined with bfd_fprintf_vma.
+ * bfd-in2.h: Regenerated.
+
+ * bfd.c (bfd_sprintf_vma): New. Defined.
+ (bfd_fprintf_vma): Likewise.
+
+ * elf.c (bfd_elf_sprintf_vma): New. Defined.
+ (bfd_elf_fprintf_vma): Likewise.
+
+2001-08-09 Alan Modra <amodra@bigpond.net.au>
+
+ * coff-rs6000.c: Add missing prototypes.
+ (xcoff_ppc_relocate_section, xcoff_is_lineno_count_overflow,
+ xcoff_is_reloc_count_overflow, xcoff_loader_symbol_offset,
+ xcoff_loader_reloc_offset): Make static.
+ * dwarf1.c: Add missing prototypes.
+ * dwarf2.c: Add missing prototypes.
+ (struct abbrev_info): Move definition.
+ (struct attr_abbrev, ABBREV_HASH_SIZE, ATTR_ALLOC_CHUNK): Likewise.
+ * elf.c: Add missing prototypes.
+ * elf32-gen.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ (ppc_elf_sort_rela): Use PTR instead of "void *".
+ * elflink.h: Add missing prototypes. Formatting fixes.
+ * merge.c: Add missing prototypes.
+ (last4_eq): Use PTR instead of "void *".
+ (last_eq): Likewise.
+ * syms.c: Add missing prototypes.
+
+2001-08-09 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * bfd.c: Fix formatting.
+ * bfd-in2.h: Regenerate.
+
+2001-08-09 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arc.c (R_ARC_B22_PCREL): Change 'partial_inplace' to
+ true (this target uses REL relocations) and 'pcrel_offset' to
+ false (the PC is implied, not stored in the offset).
+
+2001-08-08 Alan Modra <amodra@bigpond.net.au>
+
+ 1999-10-19 Linus Nordberg <linus@swox.se>
+ * elf-bfd.h (struct elf_backend_data): Add want_got_sym.
+ * elfxx-target.h (elf_backend_want_got_sym): Define.
+ (elfNN_bed): Add elf_backend_want_got_sym.
+ * elflink.c (_bfd_elf_create_got_section): Define
+ _GLOBAL_OFFSET_TABLE_ only if bed->want_got_sym.
+
+2001-08-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * dwarf2.c (struct dwarf2_debug): Add sec, sec_info_ptr and syms.
+ (find_rela_addend): New function.
+ (parse_comp_unit): Call it to find the abbrev offset addend.
+ (_bfd_dwarf2_find_nearest_line): Initialize and maintain the new
+ members of dwarf2_debug as debugging information is read.
+
+2001-08-07 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coff-sh.c (sh_coff_reloc_type_lookup): Provide for sh-coff
+ targets as well as sh-pe.
+
+2001-08-03 Ben Harris <bjh21@netbsd.org>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Include offset of
+ reloc from start of section when computing value for R_ARM_REL32
+ reloc.
+
+2001-08-03 Alan Modra <amodra@bigpond.net.au>
+
+ From H.J. Lu <hjl@gnu.org>
+ * elf32-i386.c (allocate_plt_and_got_and_discard_relocs): Don't
+ keep relocs for undefined syms if there are no dynamic sections in
+ executable.
+ * elf32-hppa.c (allocate_plt_and_got_and_discard_relocs): Likewise.
+
+2001-08-02 Paul Sokolovsky <paul.sokolovsky@technologist.com>
+
+ * cofflink.c (coff_link_check_ar_symbols): also search for
+ __imp__symbol as well as _symbol.
+ * linker.c (_bfd_generic_link_add_archive_symbols): also
+ search for __imp__symbol as well as _symbol.
+
+2001-08-01 Adam Nemet <anemet@lnxw.com>
+
+ * elf.c (elf_sort_sections): Return zero only as the last step.
+
+2001-08-01 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * config.bfd (arm-vxworks): Change name of define from VXWORKS to
+ ARM_COFF_BUGFIX.
+ (arm-epoc-pe): Define ARM_COFF_BUGFIX.
+ coff-arm.c (coff_arm_relocate_section): Replace VXWORKS with
+ ARM_COFF_BUGFIX.
+
+2001-07-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * libecoff.h (_bfd_ecoff_styp_to_sec_flags): Changed return type
+ to match corresponding bfd_coff_backend data member.
+
+2001-07-24 Alan Modra <amodra@bigpond.net.au>
+
+ * Makefile.am: Update dependencies with "make dep-am".
+ * Makefile.in: Regenerate
+
+2001-07-15 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am (po/SRC-POTFILES.in): Use tmp.src instead of tmp.
+ (po/BLD-POTFILES.in): Use tmp.bld instead of tmp.
+ * Makefile.in: Regenerate.
+
+2001-07-11 H.J. Lu <hjl@gnu.org>
+
+ * elf64-alpha.c (elf64_alpha_check_relocs): Set the ALLOC|LOAD
+ flags when creating the reloc section if the ALLOC flag in the
+ source section is set.
+
+2001-07-11 Steve Ellcey <sje@cup.hp.com>
+
+ * reloc.c (bfd_reloc_code_type): Add IA64 relocs
+ BFD_RELOC_IA64_LTOFF_FPTR32MSB and BFD_RELOC_IA64_LTOFF_FPTR32LSB
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * elfxx-ia64.c (ia64_howto_table): Define how to handle
+ new relocations.
+ (elfNN_ia64_reloc_type_lookup): Handle new relocations.
+ (elfNN_ia64_check_relocs): Likewise.
+ (elfNN_ia64_install_value): Likewise.
+ (elfNN_ia64_relocate_section): Likewise.
+
+2001-07-11 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (_bfd_sparc_elf_howto_table): Remove support for
+ R_SPARC_UA64.
+ (elf32_sparc_check_relocs): Likewise.
+ Only create .rela section for alloced sections in shared libraries.
+ (elf32_sparc_relocate_section): Likewise.
+ Remove redundant check.
+ Optimize unaligned reloc usage.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Remove redundant
+ check.
+
+2001-07-11 H.J. Lu <hjl@gnu.org>
+
+ * elf64-alpha.c (elf64_alpha_check_relocs): Only use the same
+ ALLOC|LOAD flags as the source section for debugging sections
+ when creating the reloc section.
+
+2001-07-05 Jim Wilson <wilson@redhat.com>
+
+ * linker.c (_bfd_generic_link_add_one_symbol, case BIG): Use
+ the section of the bigger symbol.
+
+ * syms.c (bfd_is_local_label): Return false if BSF_SECTION_SYM.
+
+2001-07-05 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * peicode.h (coff_swap_scnhdr_in): For sections containing
+ uninitialised data, only set their size to s_paddr if this does
+ not reset their size to zero. MS's latest compilers will set
+ s_paddr to zero.
+
+2001-07-04 H.J. Lu <hjl@gnu.org>
+
+ * bfd/elf32-mips.c (_bfd_mips_elf_final_write_processing):
+ Handle bfd_mach_mips4400, bfd_mach_mips4600 and
+ bfd_mach_mips5000.
+
+2001-07-03 Mark Elbrecht <snowball3@softhome.net>
+
+ * bfd.c (bfd_get_sign_extend_vma): Support DJGPP COFF targets.
+
+ * cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols from
+ sections being discarded.
+
+2001-06-30 Alan Modra <amodra@bigpond.net.au>
+
+ * elfcore.h (elf_core_file_p): Call bfd_section_from_phdr directly
+ instead of _bfd_elfcore_section_from_phdr.
+ * elf-bfd.h (_bfd_elfcore_section_from_phdr): Remove.
+ * elf.c (_bfd_elfcore_section_from_phdr): Remove.
+ (_bfd_elfcore_make_pseudosection): Expedite tail-call.
+ (elfcore_grok_prstatus): Likewise.
+ (elfcore_grok_lwpstatus): Likewise.
+ (bfd_get_elf_phdr_upper_bound): Likewise.
+ (elfcore_make_note_pseudosection): Formatting.
+ (_bfd_elfcore_strndup): Formatting.
+ * elf32-mips.c (mips_elf_sym_is_global): Formatting.
+ (_bfd_elf32_mips_grok_prstatus): Expedite tail-call.
+
+2001-06-29 Daniel Jacobowitz <drow@mvista.com>
+
+ * elf-bfd.h: Add prototypes for _bfd_elfcore_make_pseudosection
+ and _bfd_elfcore_strndup.
+ (struct elf_backend_data): Add elf_backend_grok_prstatus
+ and elf_backend_grok_psinfo.
+ * elf.c (_bfd_elfcore_make_pseudosection): New function.
+ (elfcore_grok_prstatus): Use it.
+ (elfcore_make_note_pseudosection): Likewise.
+ (elfcore_strndup): Rename to...
+ (_bfd_elfcore_strndup): Here, and make global.
+ (elfcore_grok_psinfo): Use _bfd_elfcore_strndup.
+ (elfcore_grok_note): Call elf_backend_grok_prstatus
+ and elf_backend_grok_psinfo if available.
+ * elf32-mips.c (_bfd_elf32_mips_grok_prstatus): New function.
+ (_bfd_elf32_mips_grok_psinfo): New function.
+ (elf_backend_grok_prstatus): Define.
+ (elf_backend_grok_psinfo): Define.
+ * elfxx-target.h (elf_backend_grok_prstatus): Default to NULL.
+ (elf_backend_grok_psinfo): Likewise.
+ (elfNN_bed): Include elf_backend_grok_prstatus and
+ elf_backend_grok_psinfo.
+
+2001-06-29 H.J. Lu <hjl@gnu.org>
+
+ * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Check if
+ hplink->sgot is NULL before filling GOT. Check if hplink->splt
+ is NULL before filling PLT.
+
+2001-06-29 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h (elf_link_output_extsym): Revert 1999-04-10.
+
+2001-06-27 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (elf32_hppa_check_relocs): Don't make syms dynamic
+ here..
+ (elf32_hppa_adjust_dynamic_symbol): ..nor here..
+ (allocate_plt_and_got_and_discard_relocs): .. instead do so here
+ after gc has run.
+
+ * elf32-hppa.c (RELATIVE_DYNAMIC_RELOCS): Delete.
+ (IS_ABSOLUTE_RELOC): Define.
+ (elf32_hppa_link_hash_entry): Always include reloc_entries field.
+ (hppa_link_hash_newfunc): Always init it.
+ (elf32_hppa_check_relocs): Mark symbols as ELF_LINK_NON_GOT_REF to
+ create COPY relocs only when the reloc is in a read-only section.
+ Instead, allocate space for a dynamic reloc to reference the
+ library symbol directly. Keep track of space we allocate using
+ relocs_entries.
+ (hppa_discard_copies): Delete, and move code to..
+ (allocate_plt_and_got): ..here. Rename to
+ allocate_plt_and_got_and_discard_relocs. Remove unneeded dynamic
+ relocs for non-shared link.
+ (elf32_hppa_size_dynamic_sections): Update calls to above.
+ (elf32_hppa_relocate_section): Write out the dynamic relocs used
+ in lieu of COPY relocs.
+
+ * elf32-i386.c (elf_i386_check_relocs): Don't make syms dynamic
+ here..
+ (elf_i386_adjust_dynamic_symbol): ..nor here..
+ (allocate_plt_and_got_and_discard_relocs): .. instead do so here
+ after gc has run.
+ (elf_i386_size_dynamic_sections): Fix a comment.
+ (elf_i386_relocate_section <R_386_32, R_386_PC32>): Rearrange code
+ involved in writing reloc out.
+
+2001-06-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_check_relocs <R_386_32, R_386_PC32>):
+ Ensure syms are dynamic if we might be emitting a reloc.
+ (allocate_plt_and_got_and_discard_relocs): Don't discard relocs
+ for undefweak or undefined syms..
+ (elf_i386_relocate_section <R_386_32, R_386_PC32>): .. and emit.
+
+ * elf32-i386.c (allocate_plt_and_got_and_discard_relocs): Discard
+ relocs without ELF_LINK_HASH_DEF_DYNAMIC set.
+ (elf_i386_relocate_section <R_386_32, R_386_PC32>): Remove
+ redundant bfd_link_hash_defined, bfd_link_hash_defweak test.
+
+2001-06-24 H.J. Lu <hjl@gnu.org>
+
+ * cpu-i960.c (scan_960_mach): Don't modify const char *. Use
+ strncasecmp/strcasecmp instead of strncmp/strcmp.
+
+2001-06-23 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (elf_i386_relocate_section <R_386_32, R_386_PC32>):
+ Check ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined
+ in the regular object file and treat the weak definition as
+ the normal one.
+
+2001-06-23 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_relocate_section <R_386_GOT32>): Tighten
+ unresolved_reloc test to exclude cases where we use "relocation"
+ before setting it to point into the .got. Reinstate fudge for
+ unresolved relocs in debugging sections.
+
+ * elf32-i386.c (elf_i386_relocate_section): Replace ugly
+ complicated tests for unresolvable relocs with a simple direct
+ scheme using "unresolved_reloc" var.
+
+ * elf32-i386.c (struct elf_i386_pcrel_relocs_copied): Rename to
+ elf_i386_dyn_relocs. Update comment.
+ (struct elf_i386_link_hash_entry): Rename pcrel_relocs_copied to
+ dyn_relocs.
+ (elf_i386_adjust_dynamic_symbol): Remove a BFD_ASSERT, change
+ others to aborts.
+ (allocate_plt_and_got_and_discard_relocs): Replace BFD_ASSERT with
+ abort.
+ (elf_i386_size_dynamic_sections): Likewise.
+ (elf_i386_finish_dynamic_symbol): Likewise.
+ (elf_i386_finish_dynamic_sections): Likewise.
+ (elf_i386_relocate_section): Likewise. Tidy R_386_GOT32 and error
+ handling code.
+
+ Avoid creating COPY relocs if possible.
+ * elf32-i386.c (elf_i386_check_relocs): Tweak condition under
+ which .got created. Mark symbols used by R_386_32 and R_386_PC32
+ relocs as ELF_LINK_NON_GOT_REF to create COPY relocs only when the
+ reloc is in a read-only section. Instead, allocate space for a
+ dynamic reloc to reference the library symbol directly. Keep
+ track of space we allocate using pcrel_relocs_copied.
+ (discard_copies): Delete, and move code to ..
+ (allocate_plt_and_got): ..here. Rename to
+ allocate_plt_and_got_and_discard_relocs. Remove unneeded dynamic
+ relocs for non-shared link.
+ (elf_i386_size_dynamic_sections): Update calls to above functions.
+ (elf_i386_relocate_section): Write out the dynamic relocs. Add
+ more ugly logic to avoid "unresolvable relocation" error. Use
+ htab shortcut in place of elf_hash_table macro.
+ (elf_i386_finish_dynamic_sections): Allow that dynamic .got may
+ not always be created now.
+
+2001-06-20 Bo Thorsen <bo@suse.co.uk>
+
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix linking of
+ shared libraries.
+
+2001-06-18 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * configure.host (mips64-*-linux): Reformat.
+
+2001-06-21 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Always
+ allocate local .got space. Use shortcuts from hash table for .got
+ and .plt rather than comparing section names.
+ (elf32_hppa_check_relocs): Use local_plt_refcounts var rather than
+ adjusting index into local_got_refcounts to document what we are
+ really doing.
+ (elf32_hppa_relocate_section): Similarly for local_plt_offsets.
+ Tidy .got and .plt error checking.
+
+2001-06-20 Catherine Moore <clm@redhat.com>
+
+ * elf-bfd.h (struct elf_backend_data):
+ 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.
+
+2001-06-20 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (elf_i386_size_dynamic_sections): Always
+ allocate local .got space.
+
+2001-06-19 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix creation of
+ dynamic symbols.
+
+2001-06-18 Hans-Peter Nilsson <hp@axis.com>
+
+ * elflink.h (struct elf_assign_sym_version_info): Remove 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.
+
+2001-06-18 H.J. Lu <hjl@gnu.org>
+
+ * 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.
+
+2001-06-17 H.J. Lu <hjl@gnu.org>
+
+ * 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.
+
+2001-06-12 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * coffcode.h (styp_flags_to_sec_flags): Change to a boolean
+ function. Move flagword result into parameter list. Remove
+ comment about setting bfd_error_handler to intercept failure
+ results.
+ * coffgen.c (make_a_section_from_file): Examine result of
+ calling bfd_coff_styp_to_sec_flags and pass a failure back to
+ caller.
+ * ecoff.h (styp_flags_to_sec_flags): Change to a boolean
+ function. Move flagword result into parameter list.
+ * libcoff.h: Regenerate.
+ * libecoff.h: Regenerate.
+
+2001-06-13 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * aoutx.h (adjust_z_magic): Only pad the tesxt section if the data
+ section is going to follow it.
+
+2001-06-12 Catherine Moore <clm@redhat.com>
+
+ * elflink.h (elf_gc_propagate_vtable_entries): Replace FILE_ALIGN
+ with the file_align entry from elf_backend_data.
+ (elf_gc_smash_unused_vtentry_relocs): Likewise.
+ (elf_gc_record_vtentry): Likewise.
+
+2001-06-10 Alan Modra <amodra@bigpond.net.au>
+
+ * elflink.h: Whitespace changes.
+ (elf_link_read_relocs_from_section): Use "unsigned int" iterator
+ rather than "unsigned char".
+ (elf_link_output_relocs): Likewise.
+ (elf_link_input_bfd): Likewise.
+ (elf_reloc_link_order): LIkewise.
+ * elf.c: s/CONST/const/. Whitespace changes.
+ * elf32-mips.c: Formatting fix.
+
+ * Makefile.am (SOURCE_HFILES): Include xcoff-target.h, remove xcoff.h.
+ * Makefile.in: Regenerate.
+ * po/Make-in: Remove trailing tab.
+
+2001-06-09 Philip Blundell <philb@gnu.org>
+
+ * elf32-arm.h (elf32_arm_plt0_entry): Correct error in last
+ change.
+ (elf32_arm_plt_entry): Likewise.
+
+2001-06-08 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (swap_out_syms): Keep names for global section symbols.
+
+2001-06-07 H.J. Lu <hjl@gnu.org>
+
+ * config.bfd: Put back ecoff for Linux/mips. Firmwares on some
+ MIPS-based machines need it.
+
+2001-06-07 H.J. Lu <hjl@gnu.org>
+
+ * elf32-mips.c (_bfd_mips_elf_object_p): Set the bad symtab
+ for SGI only.
+
+ * config.bfd: Remove ecoff from Linux/mips.
+
+2001-06-07 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Add an
+ assertion.
+ (elf64_x86_64_check_relocs): Fix VTENTRY relocation; set an
+ alignment of 8 for .rela sections; handle further relocations.
+
+2001-06-06 Christian Groessler <cpg@aladdin.de>
+
+ * coff-z8k.c: Fix formatting.
+ Fix howtos: howto->size was always 1.
+
+2001-06-05 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * configure.host (mips64*-*-linux*): Define.
+
+2001-06-05 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-i386.c (elf_i386_discard_copies): Rename to
+ discard_copies, and use elf_link_hash_entry arg rather than
+ elf_i386_link_hash_entry.
+ (elf_i386_link_hash_traverse): Delete.
+ (elf_i386_size_dynamic_sections): Adjust call to discard_copies.
+ Tidy sizing of dynamic sections.
+ (elf_i386_check_relocs <R_386_32, R_386_PC32>): Reference count
+ possible .plt entries.
+ (elf_i386_gc_sweep_hook): Likewise.
+ (elf_i386_adjust_dynamic_symbol): Discard .plt entries for
+ everything with plt.refcount <= 0.
+
+ * elf32-i386.c (elf_i386_check_relocs): Don't allocate .got and
+ .relgot space here.
+ (elf_i386_gc_sweep_hook): ..and no need to deallocate here..
+ (elf_i386_adjust_dynamic_symbol): ..and don't allocate .plt and
+ .rel.plt here..
+ (allocate_plt_and_got): ..instead do it all here. New function.
+ (elf_i386_size_dynamic_sections): Allocate local .got space and
+ call allocate_plt_and_got. No need to zap .relgot if not dynamic.
+ (bfd_elf32_bfd_final_link): Delete. (ie. use regular final link
+ rather than gc variety).
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+ (elf_i386_relocate_section): Use it here and correct handling of
+ R_386_GOT32. Provide section and offset for "unresolvable
+ relocation" error message.
+ (elf_i386_finish_dynamic_symbol): Correct handling of R_386_GOT32.
+
+ * elf32-i386.c (struct elf_i386_link_hash_table): Add sgot,
+ sgotplt, srelgot, splt, srelplt, sdynbss, srelbss fields.
+ (elf_i386_link_hash_table_create): Init them.
+ (create_got_section): New function.
+ (elf_i386_create_dynamic_sections): New function.
+ (elf_backend_create_dynamic_sections): Set to above.
+ (elf_i386_check_relocs): Use shortcuts from hash table rather than
+ calling bfd_get_section_by_name.
+ (elf_i386_gc_sweep_hook): Likewise.
+ (elf_i386_adjust_dynamic_symbol): Likewise.
+ (elf_i386_size_dynamic_sections): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ (elf_i386_finish_dynamic_sections): Likewise.
+
+ * elf32-hppa.c (allocate_plt_and_got): Skip indirect and warning syms.
+
+2001-06-02 H.J. Lu <hjl@gnu.org>
+
+ * elf32-hppa.c (elf32_hppa_object_p): Check ELFOSABI_LINUX
+ and ELFOSABI_HPUX.
+ * elf64-hppa.c (elf64_hppa_object_p): Likewise.
+
+2001-06-02 H.J. Lu <hjl@gnu.org>
+
+ * aout-cris.c (MACHTYPE_OK): New. Defined.
+
+2001-06-02 Hans-Peter Nilsson <hp@axis.com>
+
+ * section.c (_bfd_strip_section_from_output): Handle NULL
+ output_section.
+
+2001-06-02 H.J. Lu <hjl@gnu.org>
+
+ * config.bfd (powerpc-*-aix*, powerpc-*-beos*, rs6000-*-*): Add
+ rs6000coff64_vec only if BFD64 is defined.
+ (powerpc64-*-aix*): Enable only if BFD64 is defined.
+
+2001-06-02 H.J. Lu <hjl@gnu.org>
+
+ * coff-ia64.c (ia64coff_object_p): Rewrite with
+ external_PEI_DOS_hdr and external_PEI_IMAGE_hdr.
+
+2001-06-01 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Add PC8
+ relocation, small reformatting.
+
+2001-05-29 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_check_relocs): Handle R_X86_64_64.
+ (elf64_x86_64_relocate_section): Likewise.
+
+2001-05-30 Alan Modra <amodra@one.net.au>
+
+ * elf32-hppa.c (elf32_hppa_check_relocs): Don't NEED_PLT for
+ millicode. Don't allocate .got and .rela.got space here..
+ (elf32_hppa_gc_sweep_hook): ..and no need to deallocate here..
+ (elf32_hppa_adjust_dynamic_symbol): ..and don't allocate .plt and
+ .rela.plt here..
+ (hppa_handle_PIC_calls): ..nor here..
+ (allocate_plt_and_got): ..instead do it all here. New function.
+ (elf32_hppa_size_dynamic_sections): Allocate local .got space and
+ call allocate_plt_and_got. No need to zap .got if not dynamic.
+ (elf32_hppa_final_link): Call regular bfd_final_link instead of
+ gc_common_final_link.
+ (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
+ (elf32_hppa_relocate_section): Use it here.
+ (elf32_hppa_finish_dynamic_symbol): Remove superfluous test of
+ dynamic_sections_created.
+ (hppa_type_of_stub): Don't LONG_BRANCH_VIA_PLT if millicode sym.
+
+2001-05-28 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_86_64_size_info): Remove, we can use the
+ generic version since we want a hashsize of 4.
+ (elf_backend_size_info): Likewise.
+
+2001-05-28 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elflink.h (elf_link_size_reloc_section): Use bfd_zmalloc instead of
+ a zeroing loop.
+ (elf_link_output_relocs): Handle MIPS ELF64 relocations correctly.
+ (elf_link_input_bfd): Likewise.
+ (elf_reloc_link_order): Likewise.
+ (elf_finish_pointer_linker_section): Typo. Handle MIPS ELF64
+ relocations correctly.
+
+2001-05-28 Nicolas Pitre <nico@cam.org>
+
+ * elf32-arm.h: fix PLT generation for big endian ARM
+
+2001-05-28 Alan Modra <amodra@one.net.au>
+
+ * elf32-hppa.c (elf32_hppa_relocate_section): Set up .plt entries
+ for symbols forced local that need plabels.
+ (elf32_hppa_adjust_dynamic_symbol): Don't allocate space in
+ .plt.rela for local syms if non-shared.
+ (hppa_build_one_stub): Mask lsb of plt.offset.
+ (elf32_hppa_finish_dynamic_symbol): Abort if lsb of plt.offset set.
+ (clobber_millicode_symbols): Correct comment.
+ (elf32_hppa_relocate_section): Likewise.
+ (elf32_hppa_finish_dynamic_symbol): Likewise.
+
+2001-05-28 Jeff Sturm <jsturm@one-point.com>
+
+ * reloc.c: Add BFD_RELOC_SPARC_UA16 and BFD_RELOC_SPARC_UA64.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * elf32-sparc.c: Enable BFD_RELOC_SPARC_UA16, BFD_RELOC_SPARC_UA32
+ and BFD_RELOC_SPARC_UA64 mapping
+ * elf64-sparc.c: Likewise.
+
+2001-05-25 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am (BFD32_BACKENDS): Remove coff-pmac.lo.
+ (BFD32_BACKENDS_CFILES): Remove coff-pmac.c.
+ (coff-rs6000.lo): Remove the old dependency.
+ * Makefile.in: Rebuild.
+
+ * configure.in (pmac_xcoff_vec): Replace coff-pmac.lo with
+ coff-rs6000.lo.
+
+2001-05-25 H.J. Lu <hjl@gnu.org>
+
+ * coff-rs6000.c (rs6000coff_vec): Use rs6000coff_core_p,
+ rs6000coff_core_file_matches_executable_p,
+ rs6000coff_core_file_failing_command and
+ rs6000coff_core_file_failing_signal only if AIX_CORE is
+ defined.
+ (pmac_xcoff_vec): Likewise.
+ * coff64-rs6000.c (rs6000coff64_vec): Likewise.
+
+2001-05-25 Timothy Wall <twall@redhat.com>
+
+ * elfxx-ia64.c (allocate_dynrel_entries): Don't allocate an entry
+ for __GLOB_DATA_PTR on AIX5. Clean up some relocation bugs.
+
+2001-05-25 H.J. Lu <hjl@gnu.org>
+
+ * bfd-in2.h: Regenerated.
+ * libcoff.h: Likewise.
+
+2001-05-25 Alan Modra <amodra@one.net.au>
+
+ * elf32-hppa.c (elf32_hppa_relocate_section): Don't allow
+ undefined millicode syms in shared libs.
+ (hppa_build_one_stub): Turn BFD_ASSERTs into aborts.
+ (elf32_hppa_check_relocs): Likewise.
+ (elf32_hppa_adjust_dynamic_symbol): Likewise.
+ (elf32_hppa_size_dynamic_sections): Likewise.
+ (elf32_hppa_relocate_section): Likewise.
+ (elf32_hppa_finish_dynamic_symbol): Likewise.
+ (elf32_hppa_finish_dynamic_sections): Likewise.
+
+2001-05-24 Tom Rix <trix@redhat.com>
+
+ * Makefile.am coff-pmac bfd now defined in coff-rs6000.c
+ xcoff-target.h not used to define rs6000 or ppc bfd.
+ * Makefile.in same
+
+ * bfd-in.h : (struct lineno_cache_entry) promote element "offset"
+ to 64 bit.
+
+ * coff-rs6000.c : Many changes for 64 bit support. Move common
+ 32/64 code to xcofflink.c. Explictly define the rs6000coff_vec
+ and pmac_xcoff_vec
+
+ * coff64-rs6000.c : Many changes for 64 bit support. 64 bit
+ linker now supported. Explictly define the rs6000coff64_vec.
+
+ * coffcode.h : (coff_set_arch_mach_hook) xcoff 64 bit support
+ (coff_print_aux) same
+ (coff_write_object_contents) same
+ (coff_slurp_line_table) same
+
+ * coffgen.c : (coff_fix_symbol_name) formatting
+ (coff_mangle_symbols) xcoff 64 bit support
+ (coff_write_symbol) same
+ (coff_write_alien_symbol) same
+ (coff_write_native_symbol) same
+ (coff_write_symbols) same
+ (coff_get_symbol_info) same
+ (bfd_coff_get_syment) same
+ (coff_print_symbol) same
+
+ * config.bfd : add powerpc64-*-aix* target
+
+ * libcoff-in.h : formatting
+
+ * libcoff.h : move xcoff extern declarations to libxcoff.h
+
+ * libxcoff.h : New file
+
+ * xcofflink.c : Many changes for xcoff64 support. Move common
+ structures to include/coff/xcoff.h. Move specific structure to
+ backends coff-rs6000.c and coff64-rs6000.c. Use new backend
+ functions, defined in libxcoff.h, to isolate 32/64 dependencies.
+
+ (bfd_xcoff_size_dynamic_sections) : special __rtinit symbol for
+ aix4.2+ -binitfini.
+
+ (xcoff_build_ldsyms) : handle special __rtinit symbol.
+
+2001-05-23 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf64-sparc.c (sparc64_elf_slurp_reloc_table): Fix typo
+ s/ENTIRES/ENTRIES/.
+
+2001-05-23 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * reloc.c (bfd_reloc_code_real): Add MIPS ELF64 relocations.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+ * aoutx.h (aout_@var{size}_machine_type): Add MIPS r12k support.
+ * archures.c (bfd_mach_mips12000): Define.
+ * cpu-mips.c (arch_info_struct): Add MIPS r12k support.
+ * elf32-mips.c (_bfd_mips_elf_final_write_processing): Add MIPS r12k
+ support.
+ (_bfd_mips_elf_size_dynamic_sections): Use official bfd typedef.
+ * bfd-in2.h: Regenerate.
+ * elfxx-target.h: Do not redefine bfd_elfNN_bfd_make_debug_symbol.
+
+2001-05-23 kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry,
+ elf_sh_plt_entry_be, elf_sh_plt_entry, elf_sh_pic_plt_entry_be,
+ elf_sh_pic_plt_entry): New PLT code, that does not use r2, since
+ that is used by GCC.
+
+2001-05-23 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf-bfd.h (NUM_SHDR_ENTRIES): New macro: compute the number
+ of entries in a structured section.
+ * elf.c: Use new macro.
+ * elf32-i386.c: Use new macro.
+ * elf32-mips.c: Use new macro.
+ * elf64-alpha.c: Use new macro.
+ * elf64-sparc.c: Use new macro.
+ * elfcode.h: Use new macro.
+ * elflink.h: Use new macro.
+
+2001-05-23 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * bfdint.texi: Replace -oformat with --oformat.
+
+2001-05-21 Andreas Jaeger <aj@suse.de>
+
+ * dwarf2.c (decode_line_info): Fix error message.
+ (read_abbrevs): Fix test for offset as suggested by Alan Modra and
+ adjust error message.
+
+2001-05-18 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_object_symbols): Revert the last
+ change.
+
+2001-05-17 Alan Modra <amodra@one.net.au>
+
+ * elf32-hppa.c (clobber_millicode_symbols): Temporarily set
+ ELF_LINK_FORCED_LOCAL to suit 2001-04-30 change.
+ (hppa_build_one_stub): Add an assert to check plt.offset.
+
+2001-05-17 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the
+ version definition to basename of the output filename.
+
+2001-05-17 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_object_symbols): Set DT_NEEDED to
+ basename of the bfd filename.
+
+2001-05-16 Alan Modra <amodra@one.net.au>
+
+ * section.c (asection): Add linker_has_input field.
+ (STD_SECTION): Adjust initialization to suit.
+ * ecoff.c (bfd_debug_section): Likewise.
+ * bfd-in2.h: Regenerate.
+
+2001-05-15 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf-m10300.c (mn10300_elf_relax_section): Don't relax
+ negative 32-bit operands to 16 operands when the operand is
+ going to be zero-extended by the modified opcode.
+
+2001-05-12 Peter Targett <peter.targett@arccores.com>
+
+ * cpu-arc.c (arch_info_struct): Add entry 'base' representing old
+ name for 'arc5' core versions.
+ (bfd_arc_arch): Make bfd_mach_arc_6 default.
+
+ * elf32-arc.c (arc_elf_object_p): Make E_ARC_MACH_ARC6 default
+ architecture.
+ (arc_elf_final_write_processing): Make bfd_mach_arc_6 default.
+
+2001-05-11 Jakub Jelinek <jakub@redhat.com>
+
+ * elfxx-ia64.c (is_unwind_section_name): Consider linkonce unwind
+ sections as well.
+ (elfNN_ia64_final_write_processing): Map .gnu.linkonce.ia64unw.FOO
+ to .gnu.linkonce.t.FOO text section.
+
+2001-05-11 Jakub Jelinek <jakub@redhat.com>
+
+ * merge.c (struct sec_merge_hash_entry): Add u.entsize and u.suffix
+ fields, change sec into secinfo.
+ (struct sec_merge_info): Add chain, remove last fields.
+ (struct sec_merge_sec_info): Add next, sec, psecinfo fields.
+ (sec_merge_hash_lookup): If lookup could not use a string only
+ because it has bad alignment, mark the old string for deletion.
+ (sec_merge_add): Add secinfo argument. Don't compute entry's
+ position, instead record the section.
+ (sec_merge_emit): Update for the sec into secinfo change in
+ struct sec_merge_hash_entry.
+ (_bfd_merge_section): Only record the section for merging, defer
+ putting strings into the hash table.
+ (cmplengthentry, last4_eq, last_eq, record_section, merge_strings,
+ _bfd_merge_sections): New functions.
+ (_bfd_merged_section_offset): Update for the sec_merge_hash_entry
+ changes.
+ * libbfd-in.h (_bfd_merge_sections): Add prototype.
+ (_bfd_nolink_bfd_merge_sections): Define.
+ * libbfd.h: Likewise.
+ (bfd_generic_merge_sections): Add prototype.
+ * targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_merge_sections.
+ (struct bfd_target): Likewise.
+ * bfd.c (bfd_merge_sections): Define.
+ * bfd-in2.h: Rebuilt.
+ * elf.c (_bfd_elf_merge_sections): New function.
+ * elf-bfd.h (_bfd_elf_merge_sections): Add prototype.
+ * elfxx-target.h (bfd_elfNN_bfd_merge_sections): Define.
+ * reloc.c (bfd_generic_merge_sections): New function.
+ * vms.c (vms_bfd_merge_sections): New function.
+ * aout-adobe.c (aout_32_bfd_merge_sections): Define.
+ * aout-target.h (MY_bfd_merge_sections): Define.
+ * aout-tic30.c (MY_bfd_merge_sections): Define.
+ * binary.c (binary_bfd_merge_sections): Define.
+ * bout.c (b_out_bfd_merge_sections): Define.
+ * coff-alpha.c (_bfd_ecoff_bfd_merge_sections): Define.
+ * coffcode.c (coff_bfd_merge_sections): Define.
+ * coff-mips.c (_bfd_ecoff_bfd_merge_sections): Define.
+ * i386msdos.c (msdos_bfd_merge_sections): Define.
+ * i386os9k.c (os9k_bfd_merge_sections): Define.
+ * ieee.c (ieee_bfd_merge_sections): Define.
+ * ihex.c (ihex_bfd_merge_sections): Define.
+ * nlm-target.h (nlm_bfd_merge_sections): Define.
+ * oasys.c (oasys_bfd_merge_sections): Define.
+ * ppcboot.c (ppcboot_bfd_merge_sections): Define.
+ * som.c (som_bfd_merge_sections): Define.
+ * srec.c (srec_bfd_merge_sections): Define.
+ * tekhex.c (tekhex_bfd_merge_sections): Define.
+ * versados.c (versados_bfd_merge_sections): Define.
+ * xcoff-target.h (_bfd_xcoff_bfd_merge_sections): Define.
+
+2001-05-11 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * dwarf1.c (_bfd_dwarf1_find_nearest_line): Change type of 'addr'
+ to be unsigned long, in order to match its use.
+
+2001-05-10 H.J. Lu <hjl@gnu.org>
+
+ * linker.c (_bfd_generic_link_add_one_symbol): Check loop on
+ indirect symbols.
+
+2001-05-09 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_object_symbols): Fix a typo. Allocate
+ versymhdr->sh_size bytes for extversym instead of hdr->sh_size.
+ Remove the unused veriable `dynver'.
+
+2001-05-08 Ian Lance Taylor <ian@zembu.com>
+
+ * coff-i386.c (coff_i386_reloc): Don't dump core if output_bfd is
+ NULL or is not COFF.
+ (coff_i386_rtype_to_howto): Don't dump core if output section
+ owner is not COFF.
+
+2001-05-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * ecoff.c (bfd_debug_section): Fix initialization.
+ * elf.c (_bfd_elf_slurp_version_tables): Change maxidx to unsigned, it
+ is always a positive integer. Cast away sign mismatch.
+ * elf32-mips.c: Fix misleading comment and typo.
+ (_bfd_mips_elf_section_from_bfd_section): Remove unused attribute, use
+ correct data type.
+ * elflink.c: Fix typo.
+ (_bfd_elf_create_dynamic_sections): Remove superfluous initialization.
+ * ecoffswap.h (ecoff_swap_fdr_in): Cast away sign mismatch.
+
+2001-05-04 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (SREL16, SREL32, SREL64): Set pcrel_offset true.
+
+2001-05-04 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Set
+ EF_ARM_HASENTRY if the start address is set.
+
+2001-05-03 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * targets.c (_bfd_target_vector_entries): Compute value based on
+ the size of the _bfd_target_vector and not bfd_target_vector.
+
+2001-05-03 H.J. Lu <hjl@gnu.org>
+
+ * elfcode.h: Include "libiberty.h".
+
+ * elflink.h (elf_link_add_object_symbols): Set
+ elf_dt_name (abfd) to basename of the bfd filename.
+ (NAME(bfd_elf,size_dynamic_sections)): Set vn_file to basename
+ of the bfd filename.
+
+2001-05-03 Andreas Jaeger <aj@suse.de>
+
+ * elf64-gen.c (elf_generic_info_to_howto): Add unused attribute.
+ (elf_generic_info_to_howto_rel): Likewise.
+ * coff-alpha.c (reloc_nil): Likewise.
+ (alpha_ecoff_bad_format_hook): Likewise.
+ (alpha_adjust_reloc_out): Likewise.
+ (alpha_bfd_reloc_type_lookup): Likewise.
+ (alpha_convert_external_reloc): Likewise.
+ * elf64-alpha.c (elf64_alpha_reloc_nil): Likewise.
+ (elf64_alpha_reloc_bad): Likewise.
+ (elf64_alpha_reloc_gpdisp): Likewise.
+ (elf64_alpha_bfd_reloc_type_lookup): Likewise.
+ (elf64_alpha_info_to_howto): Likewise.
+ (elf64_alpha_add_symbol_hook): Likewise.
+ (elf64_alpha_create_got_section): Likewise.
+ (elf64_alpha_is_local_label_name): Likewise.
+ (elf64_alpha_merge_ind_symbols): Likewise.
+ * elf64-mips.c (mips_elf64_reloc_type_lookup): Likewise.
+ (mips_elf64_get_reloc_upper_bound): Likewise.
+ * nlm32-alpha.c (nlm_alpha_mangle_relocs): Likewise.
+ (nlm_alpha_get_public_offset): Likewise.
+
+2001-05-02 Johan Rydberg <jrydberg@opencores.org>
+
+ * elf32-openrisc.c (openrisc_elf_howto_table): Do not complain
+ about overflow in R_OPENRISC_LO_16_IN_INSN and
+ R_OPENRISC_HI_16_IN_INSN.Index: bfd/elf32-openrisc.c
+
+2001-04-30 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (_bfd_elf_link_hash_hide_symbol): Set dynindx to -1
+ only for ELF_LINK_FORCED_LOCAL.
+ * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
+ * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise.
+ * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
+
+ * elflink.h (elf_fix_symbol_flags): Set ELF_LINK_FORCED_LOCAL
+ if the symbol has hidden or internal visibility.
+
+2001-04-30 Alan Modra <amodra@one.net.au>
+
+ * elf32-hppa.c (final_link_relocate): Branch to .+8 for
+ calls to undefined weak symbols.
+
+2001-04-30 Andreas Jaeger <aj@suse.de>, Andreas Schwab <schwab@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Correct test for
+ R_X86_64_GOTPCREL, don't use assignments instead of comparisons.
+
+2001-04-27 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Only swap
+ out handled entries.
+ (elf64_x86_64_finish_dynamic_symbol): Set up GOT entries.
+ (elf64_x86_64_relocate_section): Fix GOTPCREL calculation.
+ (elf64_x86_64_relocate_section): Merge entries for GOTPCREL and
+ GOT32.
+
+2001-04-27 Sean McNeil <sean@mcneil.com>
+
+ * config.bfd: Add arm-vxworks target.
+ * coff-arm (coff_arm_relocate_section): Add in symbol value to
+ addend (fro VXworks targets).
+
+2001-04-26 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (elf_i386_check_relocs): Verify if r_symndx is
+ valid.
+
+2001-04-25 Frank Ch. Eigler <fche@redhat.com>
+
+ * bfd-in.h (bfd_cache_close): Declare newly exported function.
+ * bfd-in2.h: Regenerated.
+
+2001-04-24 Jakub Jelinek <jakub@redhat.com>
+
+ * merge.c (struct sec_merge_hash_entry): Add alignment field.
+ (struct sec_merge_hash): Remove alignment_power.
+ (sec_merge_hash_newfunc): Clear alignment.
+ (sec_merge_hash_lookup): Pass alignment as argument.
+ Use hashp->root.next, not hashp->next to walk the hash chain.
+ If a string already in the hashtable does not have required
+ alignment, create a new hashtable entry.
+ (sec_merge_init): Remove alignment_power argument.
+ (sec_merge_add): Add alignment argument.
+ (sec_merge_emit): Alignment is now a per-entity thing, not per
+ section.
+ (_bfd_merge_section): Sanity check even non-SEC_STRINGS sections
+ for proper alignment.
+ Pass alignment information to sec_merge_add.
+
+2001-04-24 Christian Groessler <cpg@aladdin.de>
+
+ * coff-z8k.c (extra_case): added handler for R_DISP7, R_CALLR
+ and R_REL16 reloc types; accept odd values for R_REL16 type
+
+2001-04-24 Johan Rydberg <jrydberg@opencores.org>
+
+ * cpu-openrisc.c: New file.
+ * elf32-openrisc.c: Likewise.
+
+ * Makefile.am (ALL_MACHINES): Add cpu-openrisc.lo.
+ (ALL_MACHINES_CFILES): Add cpu-openrisc.c.
+ (BFD32_BACKENDS): Add elf32-openrisc.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-openrisc.c.
+ (cpu-openrisc.lo, elf32-openrisc.lo): New rules.
+ * Makefile.in: Regenerated.
+ * config.bfd: (openrisc-*-elf): New target.
+ * configure.in (bfd_elf32_openrisc_vec): New vector.
+ * configure: Regenerated.
+ * libbfd.h: Regenerated.
+ * bfd-in2.h: Regenerated.
+ * reloc.c: Add OpenRISC relocations.
+ * targets.c (bfd_elf32_openrisc_vec): Declare.
+ (bfd_target_vect): Add bfd_elf32_openrisc_vec.
+ * archures.c (enum bfd_architecture): Add bfd_arch_openrisc.
+ (bfd_openrisc_arch): Declare.
+ (bfd_archures_list): Add bfd_openrisc_arch.
+ * elf.c (prep_headers): Add bfd_arch_openrisc.
+
+2001-04-23 Bo Thorsen <bo@suse.de>
+
+ * elf64-x86-64.c: Add c++ vtable hack.
+ Small whitespace and comment changes.
+
+2001-04-19 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_plt0_entry): Fix instructions.
+ (elf64_x86_64_plt_entry): Likewise.
+ (elf64_x86_64_finish_dynamic_sections): Fix PLT0 generation.
+ (elf64_x86_64_finish_dynamic_symbol): Fix PLT generation.
+
+2001-04-17 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c: Tweak comments related to dynamic linking.
+ (cris_elf_relocate_section): When not creating shared object, fill
+ in the .got table for any symbol not in the dynamic symbol table.
+ (elf_cris_finish_dynamic_symbol): When not creating shared object,
+ only emit a .got.rela reloc if the symbol is in the dynamic symbol
+ table.
+ (cris_elf_check_relocs): Use variable r_type in all places rather
+ than the original expression. Add default case in switch for
+ reloc types.
+ (elf_cris_size_dynamic_sections): Iterate over
+ elf_cris_discard_excess_program_dynamics when not creating shared
+ library.
+ (elf_cris_discard_excess_dso_dynamics): Renamed from
+ elf_cris_discard_copies. Correct typo, s/Rel/Rela/.
+ (elf_cris_discard_excess_program_dynamics): New.
+
+2001-04-14 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * coffcode.h (coff_write_object_contents): Use
+ bfd_coff_swap_filehdr_out instead of coff_swap_filehdr_out.
+
+2001-04-14 H.J. Lu <hjl@gnu.org>
+
+ * bfd-in2.h: Regenerate.
+
+2001-04-14 Jakub Jelinek <jakub@redhat.com>
+
+ * section.c (STD_SECTION): Add entsize.
+
+2001-04-13 H.J. Lu <hjl@gnu.org>
+
+ * section.c (SEC_MERGE): Define new flag for merging.
+ (SEC_STRINGS): Likewise.
+ (entsize): New field.
+
+2001-04-13 Roger Sayle <roger@metaphorics.com>
+
+ * coff-i386.c (TARGET_SYM): SEC_READONLY is an applicable section
+ flag on pe-i386 targets.
+
+2001-04-13 Jakub Jelinek <jakub@redhat.com>
+
+ * libbfd-in.h (_bfd_merge_section): New.
+ (_bfd_write_merged_section): New.
+ (_bfd_merged_section_offset): New.
+ * libbfd.h: Rebuilt.
+ * linker.c (_bfd_generic_link_output_symbols): Handle
+ discard_sec_merge.
+ * aoutx.h (aout_link_write_symbols): Likewise.
+ * pdp11.c (aout_link_write_symbols): Likewise.
+ * elflink.h (elf_link_add_object_symbols): Call _bfd_merge_section.
+ (elf_bfd_final_link): Adjust global symbols pointing into SEC_MERGE
+ sections.
+ (elf_link_sec_merge_syms): New.
+ (elf_link_input_bfd): Call _bfd_merged_section_offset
+ and _bfd_write_merged_section.
+ Handle discard_sec_merge.
+ * elf-bfd.h (struct elf_link_hash_table): Add merge_info
+ field.
+ (struct bfd_elf_section_data): Likewise.
+ * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_MERGE and
+ SEC_STRINGS section flags and entsize from their ELF counterparts.
+ (_bfd_elf_link_hash_table_init): Initialize merge_info.
+ (elf_fake_sections): Set SHF_MERGE, SHF_STRINGS and sh_entsize
+ from their BFD counterparts.
+ * merge.c: New file.
+ * Makefile.am: Add strtab.lo.
+ * Makefile.in: Rebuilt.
+
+2001-04-09 Hans-Peter Nilsson <hp@axis.com>
+
+ * elflink.h (elf_fix_symbol_flags): For non-default visibilities,
+ only hide symbols marked STV_INTERNAL or STV_HIDDEN.
+
+2001-04-05 Steven J. Hill <sjhill@cotw.com>
+
+ * config.bfd (mips*el*-*-linux-gnu*): Use traditional little
+ endian MIPS ELF target.
+ * config.bfd (mips*-*-linux-gnu*): Use traditional big endian
+ MIPS ELF target.
+
+ * configure.in (bfd_elf64_tradbigmips_vec): New. Traditional
+ 64bit big endian MIPS ELF target.
+ (bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little
+ endian MIPS ELF target.
+ * configure: Regenerated.
+
+ * elf32-mips.c (IRIX_COMPAT): Handle traditional 64bit and
+ little endian targets.
+ (mips_elf_sym_is_global): Handle traditional targets.
+
+ * elf64-mips.c (bfd_elf64_tradbigmips_vec): New. Traditional
+ 64bit big endian MIPS ELF target.
+ (bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little
+ endian MIPS ELF target.
+
+ * targets.c: (_bfd_target_vector): Add bfd_elf64_tradbigmips_vec
+ and bfd_elf64_tradlittlemips_vec.
+
+2001-04-05 David Mosberger <davidm@hpl.hp.com>
+
+ * elf32-i386.c (elf_i386_fake_sections): Treat ".reloc" as an
+ ordinary "progbits" section.
+
+2001-04-04 Alan Modra <alan@linuxcare.com.au>
+
+ * elflink.h (elf_fix_symbol_flags): Call elf_backend_hide_symbol
+ when -Bsymbolic causes a symbol to no longer need a .plt entry.
+
+2001-04-03 David Mosberger <davidm@hpl.hp.com>
+
+ * efi-app-ia32.c (ALIGN_SECTIONS_IN_FILE): Deleted.
+
+2001-03-30 H.J. Lu <hjl@gnu.org>
+
+ * efi-app-ia32.c (PEI_TARGET_SUBSYSTEM): Rename from ...
+ (PEI_DEFAULT_TARGET_SUBSYSTEM): This.
+
+2001-03-26 H.J. Lu <hjl@gnu.org>
+
+ * elf32-gen.c (elf32_generic_link_add_symbols): New. Check
+ if there are any relocations for generic ELF.
+ (bfd_elf32_bfd_link_add_symbols): Defined to
+ elf32_generic_link_add_symbols.
+ * elf64-gen.c (elf64_generic_link_add_symbols): New. Check
+ if there are any relocations for generic ELF.
+ (bfd_elf64_bfd_link_add_symbols): Defined to
+ elf64_generic_link_add_symbols.
+
+2001-03-23 Nick Clifton <nickc@redhat.com>
+
+ * Makefile.am (BUILD_CFILES): New variable: List of C source
+ files created in build directory.
+ (BUILD_HFILES): New variable: List of header files created in
+ build directory.
+ (POTFILES): Delete.
+ (po/POTFILES.in): Replace rule with empty entry.
+ (po/SRC-POTFILES.in): New rule: Create a list of source files
+ in the source directory.
+ (po/BLD-POTFILES.in): New rule: Create a list of source files
+ in the build directory.
+ (MOSTLYCLEAN): Do not delete source files created in build
+ directory.
+ * Makefile.in: Regenerate.
+ * configure.in: Insert SRC-POTFILES.in and BLD-POTFILES.in
+ into po/Makefile.
+ * configure: Regenerate.
+
+ * po/Make-in: Replace occurrences of POTFILES with SRC-POTFILES
+ and BLD_POTFILES.
+ Add .. to the search path when building bfd.pot.
+ Delete POTFILES when performing distclean.
+ Add comment describing why distclean is broken in maintainer mode.
+ * po/POTFILES.in: Delete.
+ * po/SRC-POTFILES.in: New file.
+ * po/BLD-POTFILES.in: New file.
+ * po/bfd.pot: Regenerate.
+
+2001-03-22 Hans-Peter Nilsson <hp@axis.com>
+
+ * elf32-cris.c: Shlib and PIC support. PCREL tweaks.
+ (elf_cris_discard_copies, elf_cris_adjust_gotplt_to_got,
+ elf_cris_try_fold_plt_to_got, elf_cris_link_hash_newfunc,
+ elf_cris_link_hash_table_create, elf_cris_adjust_dynamic_symbol,
+ elf_cris_size_dynamic_sections, elf_cris_finish_dynamic_symbol,
+ elf_cris_finish_dynamic_sections,elf_cris_hide_symbol): New
+ functions.
+ (cris_elf_howto_table) <R_CRIS_8_PCREL, R_CRIS_16_PCREL,
+ R_CRIS_32_PCREL>: Correct comments. Set pcrel_offset to false.
+ <R_CRIS_COPY, R_CRIS_GLOB_DAT, R_CRIS_JUMP_SLOT, R_CRIS_RELATIVE,
+ R_CRIS_16_GOT, R_CRIS_32_GOT, R_CRIS_16_GOTPLT, R_CRIS_32_GOTPLT,
+ R_CRIS_32_GOTREL, R_CRIS_32_PLT_GOTREL, R_CRIS_32_PLT_PCREL>:
+ New HOWTO members for new relocs.
+ (cris_reloc_map): Map new relocs.
+ (ELF_DYNAMIC_INTERPRETER): Define.
+ (PLT_ENTRY_SIZE): Define.
+ (elf_cris_plt0_entry, elf_cris_plt_entry, elf_cris_pic_plt0_entry,
+ elf_cris_pic_plt_entry): New, PLT templates.
+ (struct elf_cris_pcrel_relocs_copied, struct
+ elf_cris_link_hash_entry, struct elf_cris_link_hash_table): New.
+ (elf_cris_link_hash_traverse, elf_cris_hash_table): Define.
+ (cris_final_link_relocate): Check that 16-bit GOT relocs have
+ positive values. Adjust PCREL relocs to be relative to location
+ after relocation.
+ (cris_elf_relocate_section): Handle relocations to dynamic
+ objects. Handle new relocations. Call error handler when seeing
+ non-PIC relocation for read-only sections while generating shared
+ object.
+ (cris_elf_check_relocs): Set reference counts for GOT and PLT
+ entries.
+ (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_create_dynamic_sections, bfd_elf32_bfd_final_link,
+ elf_backend_hide_symbol, 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.
+
+ * reloc.c: (BFD_RELOC_CRIS_COPY, BFD_RELOC_CRIS_GLOB_DAT,
+ BFD_RELOC_CRIS_JUMP_SLOT, BFD_RELOC_CRIS_RELATIVE,
+ BFD_RELOC_CRIS_32_GOT, BFD_RELOC_CRIS_16_GOT,
+ BFD_RELOC_CRIS_32_GOTPLT, BFD_RELOC_CRIS_16_GOTPLT,
+ BFD_RELOC_CRIS_32_GOTREL, BFD_RELOC_CRIS_32_PLT_GOTREL,
+ BFD_RELOC_CRIS_32_PLT_PCREL): New relocs.
+ * bfd-in2.h, libbfd.h: Regenerate.
+
+2001-03-21 Diego Novillo <dnovillo@redhat.com>
+
+ (_bfd_mips_elf_relocate_section): Give a better error message when
+ a relocation is not recognized.
+
+2001-03-21 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-hppa.c (elf32_hppa_set_gp): Check sec->output_section
+ non-NULL before attempting to dereference.
+
+2001-03-20 H.J. Lu <hjl@gnu.org>
+
+ * configure.in: Remove the redundent AC_ARG_PROGRAM.
+ * configure: Rebuild.
+
+2001-03-20 Andreas Schwab <schwab@suse.de>
+
+ * elf32-m68k.c (elf_m68k_relocate_section): Don't need the
+ relocation value when resolving a reference from a debugging
+ section.
+
+2001-03-16 Scott Thomason <SThomaso@hii.com>
+
+ * coff64-rs6000.c (xcoff64_swap_sym_out): Fix syntax errors.
+ (xcoff64_swap_sym_out): Fix syntax errors.
+
+2001-03-16 Richard Sandiford <rsandifo@redhat.com>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix warning.
+
+2001-03-15 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-hppa.c (elf32_hppa_link_hash_entry): Add maybe_pic_call.
+ (hppa_link_hash_newfunc): Init it.
+ (hppa_type_of_stub): Only use non-PIC to PIC call stub if caller
+ section appears to be non-PIC.
+ (final_link_relocate): Likewise.
+ (elf32_hppa_adjust_dynamic_symbol): Set maybe_pic_call for any
+ possible candidate function, and set pic_call for those that will
+ only have a .plt entry for the PIC call stub.
+ (hppa_handle_PIC_calls): Set maybe_pic_call.
+
+2001-03-12 DJ Delorie <dj@redhat.com>
+
+ * elf32-sh.c (sh_elf_relocate_section): Only relocation
+ R_SH_DIR8WP* relocs if they're against external symbols, else
+ they're just for relaxing. Validate the reloc values.
+
+2001-03-12 Stefan Geuken <mail@stefan-geuken.de>
+
+ * binary.c (bfd_external_binary_architecture): Declare.
+ (binary_object_p): If bfd_external_binary_architecture is defined,
+ set the architecture to this string.
+
+2001-03-11 Philip Blundell <philb@gnu.org>
+
+ * elf32-arm.h (elf32_arm_finish_dynamic_symbol): Don't make PLT
+ entries that could serve as a definition for a weak symbol.
+
+2001-03-08 Nick Clifton <nickc@redhat.com>
+
+ * Most files: Update copyright notices using Perl script created
+ by Kevin Buettner <kevinb@redhat.com>.
+
+2001-03-07 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Conditionalise
+ prior patch on ! defined OLD_ARM_ABI.
+
+2001-03-07 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Fix handling of
+ some relocation values.
+
+2001-03-06 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Clear bit zero
+ of offset in BLX(1) instruction.
+ * coff-arm.c (coff_arm_relocate_section): Clear bit zero of
+ offset in BLX(1) instruction.
+ Fix formatting.
+
+2001-03-06 Nick Clifton <nickc@redhat.com>
+
+ * coff-arm.c (coff_arm_reloc_type_lookup): Add
+ BFD_RELOC_THUMB_PCREL_BLX.
+
+2001-03-06 Igor Shevlyakov <igor@windriver.com>
+
+ * archures.c (bfd_default_scan): Add Coldfire CPUs.
+ * bfd-in2.h: Regenerate.
+ * cpu-m68k.c: Add Coldfire CPUs for arch table.
+ * ieee.c (ieee_write_processor): Set proper id for
+ Coldfire CPUs.
+
+2001-03-01 D.J. Barrow <djbarrow@de.ibm.com,barrow_dj@yahoo.com>
+
+ * configure.in: Add s390 target.
+ * configure: Regenerate.
+
+2001-02-28 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_relocate_section): Add relocation
+ to addend.
+
+2001-02-28 Philip Blundell <pb@futuretv.com>
+
+ * elf32-arm.h: Update mentions of renamed EF_xx constants.
+ (elf32_arm_print_private_bfd_data): Handle ARM EABI version 2.
+
+2001-02-27 H.J. Lu <hjl@gnu.org>
+
+ * aoutx.h (NAME(aout,bfd_free_cached_info)): Return true if
+ abfd->tdata.aout_data == NULL.
+
+2001-02-27 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-hppa.c: Correct field selector in stub comments.
+ (clobber_millicode_symbols): Formatting fix.
+
+ * configure.in: Bump version to 2.11.90.
+ * configure: Regenerate.
+ * Makefile.am (CFILES): Rename to SOURCE_CFILES.
+ (CFILES): $SOURCE_CFILES + generated C files.
+ (POTFILES): Include $HFILES not $SOURCE_HFILES.
+ Run "make dep-am"
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: This too.
+
+2001-02-26 Timothy Wall <twall@cygnus.com>
+
+ * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Remove obsolete
+ comments.
+
+2001-02-26 Nick Clifton <nickc@redhat.com>
+
+ * coffcode.h (styp_to_sec_flags) [COFF_WITH_PE version]: Tidy
+ up, replacing multiple if statements with a switch.
+ (handle_COMDAT): New function.
+
+2001-02-26 H.J. Lu <hjl@gnu.org>
+
+ * coffcode.h (styp_to_sec_flags) [COFF_WITH_PE version]: Issue
+ a warning for section flags we do not handle instead of
+ aborting.
+
+2001-02-26 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (x86_64_elf_howto_table): Fix order of entries.
+
+2001-02-22 Timothy Wall <twall@cygnus.com>
+
+ * config.bfd (targ_cpu): Add vectors for ia64-*-aix* (aka Monterey).
+ * configure.in: Add objects for elf64_ia64_aix vectors.
+ * configure: Regenerated.
+ * configure.host: Recognize ia64-*-aix*.
+ * elfxx-ia64.c: Add hooks for ELF64 on AIX5. Define new vectors
+ for AIX. AIX5 requires most relocations to be dynamic (*all*
+ binaries are somewhat similar to shared libraries).
+ * targets.c: Add elf64_ia64_aix vectors.
+
+2001-02-21 David Mosberger <davidm@hpl.hp.com>
+
+ * cpu-ia64-opc.c (elf64_ia64_operands}: Fix typo: error string for
+ C8 said "1" instead of "8". Clarify error string for IMM22:
+ "signed integer" instead of just "integer".
+
+2001-02-20 Andreas Jaeger <aj@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_finish_dynamic_symbol): Don't make
+ PLT entries that could serve as a definition for a weak symbol.
+
+2001-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (elf32_sparc_finish_dynamic_symbol): Don't make PLT
+ entries that could serve as a definition for a weak symbol.
+ * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Likewise.
+
+2001-02-18 David O'Brien <obrien@FreeBSD>
+
+ * configure.in: Recognize FreeBSD/arm, FreeBSD/PowerPC, and treat
+ FreeBSD/i386-CURRENT differently until I can figure out the needed
+ corefile changes.
+ * configure: Regenerate.
+ * config.bfd: Recognize FreeBSD/x86-64, FreeBSD/ia64, FreeBSD/arm,
+ FreeBSD/PowerPC, and FreeBSD/sparc64.
+
+2001-02-18 lars brinkhoff <lars@nocrew.org>
+
+ * Makefile.am: Add PDP-11 a.out target.
+ * config.bfd: Likewise.
+ * configure.in: Likewise.
+ * targets.c: Likewise.
+ * archures.c: Likewise.
+ * bfd-in2.h: Likewise. Add PDP-11 relocations.
+ * libbfd.h: Add PDP-11 relocations.
+ * reloc.c: Likewise.
+ * cpu-pdp11.c: New file.
+ * pdp11.c: New file.
+
+ * libaout.h (GET_WORD) [ARCH_SIZE==16]: Define.
+ (GET_SWORD) [ARCH_SIZE==16]: Likewise.
+ (GET_SWORD) [ARCH_SIZE==16]: Likewise.
+ (PUT_WORD) [ARCH_SIZE==16]: Likewise.
+ (GET_MAGIC): New macro.
+ (PUT_MAGIC): Likewise.
+ * aout-target.h (MY(object_p)): Use GET_MAGIC to read magic word.
+
+2001-02-18 Jim Kingdon <jkingdon@engr.sgi.com>
+
+ * irix-core.c (irix_core_core_file_p): Set the architecture (GDB
+ multiarch needs it).
+
+2001-02-18 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_input_bfd): Ignore invalid section symbol
+ index.
+
+2001-02-18 Kazu Hirata <kazu@hxi.com>
+
+ * vms-misc.c: Fix formatting.
+
+2001-02-16 Kazu Hirata <kazu@hxi.com>
+
+ * vms.c: Fix formatting.
+
+2001-02-14 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (elf_find_function): New function.
+ (_bfd_elf_find_nearest_line): Call elf_find_function () to find
+ the file name and function name.
+
+2001-02-14 Nick Clifton <nickc@redhat.com>
+
+ * ecoff.c (bfd_debug_section): Update to initialise new fields in
+ asection structure.
+
+ * Makefile.am (BFD32_BACKENDS_CFILES): Remove peigen.c
+ (BFD64_BACKENDS): Add pepigen.c
+ Add rules to create peigen.c and pepigen.c from peXXigen.c.
+
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+ * po/POTFILES.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+
+2001-02-14 H.J. Lu <hjl@gnu.org>
+
+ * libcoff-in.h (pe_tdata): Add members target_subsystem and
+ force_minimum_alignment.
+
+2001-02-14 Bo Thorsen <bo@suse.de>
+
+ * elf64-x86-64.c: Small formatting fixes and rearrangements of code.
+ (elf64_86_64_size_info): Struct added to fix a problem
+ with the hashtable string entries.
+ (elf64_x86_64_adjust_dynamic_symbol): Add generation of .got.plt.
+ (elf64_x86_64_size_dynamic_sections): A FIXME removed.
+ (elf64_x86_64_size_dynamic_sections): Fix a dynamic entry and
+ remove the FIXME for this.
+ (elf64_x86_64_adjust_dynamic_symbol): Fix check for unneeded .plt
+ section. Also removed the FIXME for it.
+ (x86_64_elf_howto_table): Use bfd_elf_generic_reloc.
+ (ELF_DYNAMIC_INTERPRETER): Fix the name of the dynamic linker.
+ (elf64_x86_64_finish_dynamic_sections): Enable .got.plt writing.
+
+2001-02-13 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_final_link): Set __gp if required
+ and not user provided.
+
+2001-02-13 Kazu Hirata <kazu@hxi.com>
+
+ * vms.c (vms_print_symbol): Remove unreachable code.
+
+ * rs6000-core.c: Fix formatting.
+
+2001-02-13 David Mosberger <davidm@hpl.hp.com>
+
+ * peicode.h (coff_swap_filehdr_out) [COFF_IMAGE_WITH_PE]: Define
+ as _bfd_XXi_only_swap_filehdr_out.
+ (pe_mkobject) [PEI_FORCE_MINIMUM_ALIGNMENT]: Set
+ pe->force_minimum_alignment to TRUE.
+ (pe_mkobject) [PEI_TARGET_SUBSYSTEM]: Set pe->target_subsystem to
+ PEI_TARGET_SUBSYSTEM.
+ (pe_print_private_bfd_data): Call
+ _bfd_XX_print_private_bfd_data_common() instead of
+ _bfd_pe_print_private_bfd_data_common().
+ (pe_bfd_copy_private_bfd_data): Call
+ _bfd_XX_bfd_copy_private_bfd_data_common() instead of
+ _bfd_pe_bfd_copy_private_bfd_data_common().
+ (coff_bfd_copy_private_section_data): Define as
+ _bfd_XX_bfd_copy_private_section_data instead of
+ _bfd_pe_bfd_copy_private_section_data.
+ (coff_get_symbol_info): Define as _bfd_XX_get_symbol_info instead
+ of a _bfd_pe_get_symbol_info.
+
+ * peigen.c: Delete.
+
+ * peXXigen.c: Renamed from peigen.c.
+ (COFF_WITH_XX): Define this macro (will get expanded into
+ COFF_WITH_pep or COFF_WITH_pe, depending on whether this is being
+ compiled as peigen.c or pepigen.c.
+ [COFF_WITH_pep]: Include "coff/ia64.h" instead of "coff/i386.h" to
+ define the canonical PEP structures and definitions.
+ (_bfd_XXi_swap_aouthdr_out): If pe->force_minimum_alignment is in
+ effect, enforce minimum file and section alignments. If
+ extra->Subsystem is IMAGE_SUBSYSTEM_UNKNOWN, set it to
+ pe->target_subsystem (this defaults to IMAGE_SUBSYSTEM_UNKNOWN,
+ so, by default, this is a no-op).
+
+ * libpei.h: Rename COFF_WITH_PEP to COFF_WITH_pep.
+ (_bfd_XX_bfd_copy_private_bfd_data_common): Add macros to map
+ _bfd_XXfoo to _bfd_pepfoo if COFF_WIT_PEP is defined and to
+ _bfd_pefoo if it's not defined. Use these macros to define
+ coff swap macros.
+
+ * libcoff.h (pe_tdata): Add members target_subsystem and
+ force_minimum_alignment.
+
+ * efi-app-ia64.c (COFF_WITH_pep): Rename COFF_WITH_PEP to
+ COFF_WITH_pep.
+ (PEI_TARGET_SUBSYSTEM): Rename from PEI_DEFAULT_TARGET_SUBSYSTEM.
+
+ * configure.in (bfd_efi_app_ia64_vec): Use pepigen.lo instead of
+ peigen.lo.
+
+ * coff-ia64.c: Rename COFF_WITH_PEP to COFF_WITH_pep.
+ (AOUTSZ): Rename PEP64AOUTSZ and PEP64AOUTHDR to PEPAOUTSZ and
+ PEPAOUTHDR.
+
+ * Makefile.in (BFD64_BACKENDS): Mention pepigen.lo.
+ (BFD64_BACKENDS_CFILES): Mention pepigen.c
+ (peigen.c): Add rule to generate from peXXigen.c.
+ (pepigen.c): Ditto.
+ (pepigen.lo): List dependencies for pepigen.lo.
+
+2001-02-13 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-hppa.c (elf32_hppa_set_gp): Handle weak $global$. If
+ $global$ referenced but not defined, set its value here.
+
+2001-02-09 Bo Thorsen <bo@suse.de>
+
+ * elf64-x86-64.c (elf64_x86_64_check_relocs): Set .rela.got section
+ alignment to 3.
+ (elf64_x86_64_check_relocs): Write R_X86_64_GOTPCREL GOT entry
+ and relocation.
+ (elf64_x86_64_relocate_section): Fix formatting.
+ (elf64_x86_64_relocate_section): Fix addend for relocation of
+ R_X86_64_(8|16|32|PC8|PC16|PC32).
+
+2001-02-12 Jan Hubicka <jh@suse.cz>
+
+ * elf64-x86-64.c (x86_64_elf_howto): Fix name of R_X86_64_GOTPCREL.
+
+2001-02-11 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_bfd_final_link): Use file_align for SYMTAB
+ alignment.
+
+2001-02-11 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * elf32-mips.c (mips_elf_create_dynamic_relocation): Undo patch
+ from 2000-10-13. Do not add the symbol's value for R_MIPS_REL32
+ relocations against dynsym symbols.
+
+ * elf32-mips.c (elf_mips_howto_table): Fix the comment on
+ the R_MIPS_26 relocation.
+ (mips_elf_calculate_relocation): Use (p + 4) instead of p for
+ the R_MIPS_26 relocation.
+ (mips_elf_perform_relocation): Fix the comment on the R_MIPS16_26
+ relocation.
+ * elf64-mips.c (mips_elf64_howto_table_rel): Fix the comment on
+ the R_MIPS_26 relocation.
+ (mips_elf64_howto_table_rela): Likewise.
+
+ * elf32-mips.c (struct mips_elf_link_hash_entry): Added no_fn_stub
+ member to mark symbols that have non-CALL relocations against
+ them.
+ (mips_elf_link_hash_newfunc): Initialize no_fn_stub.
+ (mips_elf_calculate_relocation): Handle R_MIPS_CALL16 like
+ R_MIPS_GOT16.
+ (_bfd_mips_elf_check_relocs): Set no_fn_stub for a symbol if a
+ non-CALL relocation against it is encountered.
+ (_bfd_mips_elf_copy_indirect_symbol): Merge no_fn_stub as well.
+ (_bfd_mips_elf_adjust_dynamic_symbol): Only create a stub if
+ no_fn_stub is not set.
+
+ * elf32-mips.c (mips_elf_output_extsym): Get the output section
+ information from the real symbol for indirect ones.
+ Check no_fn_stub to find out if a symbol has a function stub
+ indeed.
+
+2001-02-11 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ * Makefile.am (stamp-lib): ranlib the libbfd.a in the build directory.
+ * Makefile.in: Regenerate.
+
+2001-02-09 David Mosberger <davidm@hpl.hp.com>
+
+ * elfxx-ia64.c (is_unwind_section_name): New function. Returns
+ true if section name is an unwind table section name.
+ (elfNN_ia64_additional_program_headers): Count each unwind section
+ separately.
+ (elfNN_ia64_modify_segment_map): Install one unwind program header
+ for each unwind separate section. Note: normally the linker
+ script merges the unwind sections that go into a single segment,
+ so this still generates at most one unwind program header per
+ segment.
+
+ * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Accept any section
+ name for SHT_IA_64_UNWIND, not just .IA_64.unwind.
+ (elfNN_ia64_fake_sections): Mark sections with names that start
+ with .IA_64.unwind but not with .IA_64.unwind_info as an IA-64
+ unwind section.
+
+ * elfxx-ia64.c (elfNN_ia64_final_write_processing): New function.
+ Use it to make sh_info in unwind section point to the text section
+ it applies to.
+
+2001-02-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * Makefile.am: Add linux target for S/390.
+ * archures.c: Likewise.
+ * bfd-in2.h: Likewise.
+ * config.bfd: Likewise.
+ * configure.in: Likewise.
+ * elf.c: Likewise.
+ * libbfd.h: Likewise.
+ * targets.c: Likewise.
+ * cpu-s390.c: New file.
+ * elf32-s390.c: New file.
+ * elf64-s390.c: New file.
+
+2001-02-09 Nick Clifton <nickc@redhat.com>
+
+ * peigen.c (_bfd_pe_get_symbol_info): Suppress addition of
+ ImageBase. This has already been done by coff_swap_hdr_in.
+
+2001-02-09 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-sparc.c (sparc64_elf_copy_private_bfd_data): New function.
+
+2001-02-09 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-sparc.c (sparc64_elf_check_relocs): Don't trust reloc_count.
+ (sparc64_elf_relocate_section): Likewise.
+
+2001-02-09 Mark Kettenis <kettenis@gnu.org>
+
+ * elf32-sparc.c (_bfd_sparc_elf_howto_table): Treat R_SPARC_UA32
+ similar to R_SPARC_32.
+ * elf64-sparc.c (sparc64_elf_howto_table): Likewise.
+
+2001-02-08 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (elf_i386_check_relocs): Reserve R_386_PC32
+ relocation entries for weak definitions when building DSO with
+ -Bsymbolic.
+
+2001-02-08 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Respect weakness
+ before visibility. Locally defined protected symbols are not
+ dynamic.
+
+2001-02-08 Geoffrey Keating <geoffk@redhat.com>
+
+ * config.bfd: Enable coff64 for rs6000-*. Patch from
+ <hzoli@austin.ibm.com>.
+
+2001-02-07 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * coffgen.c (coff_find_nearest_line): If stabs info is successfully
+ found, do not attempt to find dwarf2 info before returning.
+
+2001-02-07 Jakub Jelinek <jakub@redhat.com>
+
+ * elflink.h (is_global_symbol_definition): Rename to
+ is_global_data_symbol_definition and have it reject function
+ symbols.
+ (elf_link_is_defined_archive_symbol): Use renamed function.
+
+2001-02-07 Todd Vierling <tv@wasabisystems.com>
+
+ * libbfd-in.h (bfd_target_vector): Change extern array to pointer.
+ * libbfd.h (bfd_target_vector): Likewise.
+ * targets.c (bfd_target_vector): Rename to _bfd_target_vector and
+ make static; create pointer reference named bfd_target_vector.
+ (_bfd_target_vector_entries): Calculate this based on the array
+ typed _bfd_target_vector.
+
+2001-02-06 H.J. Lu <hjl@gnu.org>
+
+ * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Only hidden and
+ internal symbols are not dynamic.
+ * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
+
+2001-02-06 Nick Clifton <nickc@redhat.com>
+
+ * Makefile.am (BFD64_BACKENDS_CFILES): Remove elf64-ia64.c, so
+ that it will not be pulled into the list of files that make up
+ po/POTFILES.in.
+ * Makefile.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+
+2001-02-06 H.J. Lu <hjl@gnu.org>
+
+ * peicode.h (coff_swap_filehdr_in): Remove the e_magic
+ checking.
+ (pe_bfd_object_p): Rewrite with external_PEI_DOS_hdr and
+ external_PEI_IMAGE_hdr.
+
+2001-02-06 Kazu Hirata <kazu@hxi.com>
+
+ * elf-m10200.c: Fix formatting.
+
+2001-02-04 Nick Clifton <nickc@redhat.com>
+
+ * elf32-v850.c (v850_elf_reloc): Do not convert reloc addend to PC
+ rel, it will be handled later on.
+
+2001-02-02 Fred Fish <fnf@ninemoons.com>
+
+ * Makefile.in: Fix typo.
+
+2001-02-01 Kazu Hirata <kazu@hxi.com>
+
+ * elf-m10300.c: Fix formatting.
+
+2001-01-30 Alan Modra <alan@linuxcare.com.au>
+
+ * elf64-hppa.c (elf64_hppa_elf_get_symbol_type): New function.
+ (elf_backend_get_symbol_type): Define.
+ (elf64_hppa_object_p): Set architecture and machine from elf
+ header flags.
+
+2001-01-30 Curtis L. Janssen <cljanss@ca.sandia.gov>
+
+ * elf64-alpha.c (elf64_alpha_find_nearest_line): Query dwarf2
+ before mdebug.
+
+2001-01-26 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Return false
+ for non-default visibility.
+ * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise, but
+ delete ugly macro and replace with pretty function.
+
+2001-01-25 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * coff-go32.c: Update copyright.
+ * coff-stgo32.c: Likewise.
+ * coff-go32.c (COFF_LONG_FILENAMES): Define.
+ * coff-stgo32.c (COFF_LONG_FILENAMES): Likewise.
+ * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Remove .bss entry.
+ * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
+
+2001-01-25 Kazu Hirata <kazu@hxi.com>
+
+ * bfd-in2.h: Rebuild.
+ * libbfd.h: Likewise.
+
+2001-01-23 H.J. Lu <hjl@gnu.org>
+
+ * bfd-in2.h: Rebuild.
+
+2001-01-23 H.J. Lu <hjl@gnu.org>
+
+ * vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_buf)
+ is NULL or PRIV(vms_rec) is outside of the buffer.
+
+2001-01-23 Kazu Hirata <kazu@hxi.com>
+
+ * coff64-rs6000.c: Fix formatting.
+ * coff-arm.c: Likewise.
+ * coffgen.c: Likewise.
+ * cofflink.c: Likewise.
+ * coff-mcore.c: Likewise.
+ * coff-mips.c: Likewise.
+ * coff-pmac.c: Likewise.
+ * coff-ppc.c: Likewise.
+ * coff-rs6000.c: Likewise.
+ * elf32.c: Likewise.
+ * elf32-fr30.c: Likewise.
+ * elf32-i370.c: Likewise.
+ * elf32-i860.c: Likewise.
+ * elf32-m32r.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-sparc.c: Likewise.
+ * elflink.c: Likewise.
+ * elflink.h: Likewise.
+ * elf-m10200.c: Likewise.
+ * elf-m10300.c: Likewise.
+ * elfxx-ia64.c: Likewise.
+
+ * aoutx.h: Fix formatting.
+ * bfd.c: Likewise.
+ * bfd-in2.h: Likewise.
+ * bfd-in.h: Likewise.
+ * cpu-i386.c: Likewise.
+ * cpu-m68hc11.c: Likewise.
+ * dwarf2.c: Likewise.
+ * elf64-x86-64.c: Likewise.
+ * format.c: Likewise.
+ * freebsd.h: Likewise.
+ * hash.c: Likewise.
+ * hp300hpux.c: Likewise.
+ * hppabsd-core.c: Likewise.
+ * hpux-core.c: Likewise.
+
+2001-01-22 Bo Thorsen <bo@suse.de>
+
+ * elf64-x86-64.c: Added PIC support for X86-64.
+ (elf64_x86_64_link_hash_newfunc): Function added.
+ (elf64_x86_64_link_hash_table_create): Likewise.
+ (elf64_x86_64_check_relocs): Likewise.
+ (elf64_x86_64_gc_mark_hook): Likewise.
+ (elf64_x86_64_gc_sweep_hook): Likewise.
+ (elf64_x86_64_adjust_dynamic_symbol): Likewise.
+ (elf64_x86_64_size_dynamic_sections): Likewise.
+ (elf64_x86_64_discard_copies): Likewise.
+ (elf64_x86_64_finish_dynamic_symbol): Likewise.
+ (elf64_x86_64_finish_dynamic_sections): Likewise.
+ (elf64_x86_64_relocate_section): Add relocation of PIC sections.
+
+2001-01-21 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * Makefile.am (install-data-local): Make use of $(DESTDIR).
+ * Makefile.in: Regenerate.
+
+2001-01-21 Kazu Hirata <kazu@hxi.com>
+
+ * coff-a29k.c: Fix formatting.
+
+2001-01-19 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (elf_i386_check_relocs): Report files with bad
+ relocation section names.
+ (elf_i386_relocate_section): Report files with bad relocation
+ section names and return false.
+
+2001-01-17 Bo Thorsen <bo@suse.de>
+
+ * targets.c: Alphabetize list of xvecs.
+
+2001-01-14 Alan Modra <alan@linuxcare.com.au>
+
+ * config.bfd: Add linux target variant for elfxx-hppa.
+ * configure.in: Recognize bfd_elf32_hppa_linux_vec and
+ bfd_elf64_hppa_linux_vec.
+ * configure: Regenerate.
+ * elf64-hppa.c: Include elf64-target.h again to support linux
+ target variant.
+ (elf64_hppa_post_process_headers): Set ELFOSABI_LINUX for linux.
+ * elf32-hppa.c: Include elf32-target.h again to support linux
+ target variant.
+ (elf32_hppa_post_process_headers): New function.
+ (elf_backend_post_process_headers): Define.
+ * targets.c (bfd_target_vector): Add bfd_elf64_hppa_linux_vec and
+ bfd_elf32_hppa_linux_vec.
+
+ * elf32-hppa.c (elf32_hppa_link_hash_table): Add text_segment_base,
+ and data_segment_base fields.
+ (elf32_hppa_link_hash_table_create ): Init them.
+ (elf32_hppa_check_relocs): Update comments.
+ (hppa_record_segment_addr): New function.
+ (elf32_hppa_relocate_section): Call it.
+ (final_link_relocate): Handle R_PARISC_SEGREL32.
+ (elf32_hppa_final_link): New function.
+ (bfd_elf32_bfd_final_link): Define to call it.
+ (hppa_unwind_entry_compare): New function.
+ * cache.c (bfd_open_file): Create files in write+read mode.
+
+ * elf-hppa.h (elf_hppa_howto_table): Set bitsize value for
+ SEGREL32 and numerous other relocs. Change duplicate
+ R_PARISC_NONE relocs to R_PARISC_UNIMPLEMENTED.
+
+ * opncls.c (bfd_fdopenr): Add parens like the comment says around
+ O_ACCMODE.
+
+ * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Don't create
+ .plt entries for DT_INIT and DT_FINI.
+ (elf32_hppa_finish_dynamic_sections): Remove special handling of
+ DT_INIT and DT_FINI.
+
+ * elf64-hppa.c (elf64_hppa_finish_dynamic_symbol): Use 16-bit
+ offsets for stub .plt access if wide mode. Check offset in range.
+
+2001-01-13 Nick Clifton <nickc@redhat.com>
+
+ * elf32-fr30.c (fr30_elf_howto_table): Remove spurious blank
+ line.
+
+ * coffcode.h (coff_canonicalize_reloc): Remove spurious blank
+ line.
+
+2001-01-12 Alan Modra <alan@linuxcare.com.au>
+
+ * configure.in ([bfd_elf64_x86_64_vec]): Set target64.
+ * configure: Regenerate.
+
+2001-01-11 Peter Targett <peter.targett@arccores.com>
+
+ * bfd-in2.h (bfd_architecture): Add bfd_mach_arc_5,
+ bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8 for ARC variants.
+ * cpu-arc.c (arch_info_struct): Add entries for variants.
+ (bfd_arc_arch) Set default to bfd_mach_arc_5.
+ (arc_get_mach) Don't assume machine names prefixed arc- before
+ testing.
+ * elf32-arc.c (arc_elf_object_p): Set machine number based on new
+ selections.
+ (arc_elf_final_write_processing) Likewise.
+ (ELF_MACHINE_CODE) Use EM_ARC.
+
+2001-01-10 Nick Clifton <nickc@redhat.com>
+
+ * coff-arm.c (LOCAL_LABEL_PREFIX): Change definition to "".
+
+2001-01-07 Philip Blundell <philb@gnu.org>
+
+ * README: Replace `bug-gnu-utils@gnu.org' with
+ `bug-binutils@gnu.org'.
+
+2001-01-04 Kazu Hirata <kazu@hxi.com>
+
+ * som.c: Fix formatting.
+
+2001-01-03 Kazu Hirata <kazu@hxi.com>
+
+ * ecoffswap.h: Fix formatting.
+ * elf-bfd.h: Likewise.
+ * elfarm-nabi.c: Likewise.
+ * elfarm-oabi.c: Likewise.
+ * elfcode.h: Likewise.
+ * elfcore.h: Likewise.
+ * elflink.c: Likewise.
+ * elflink.h: Likewise.
+ * elfxx-ia64.c: Likewise.
+ * elfxx-target.h: Likewise.
+ * libbfd.c: Likewise
+ * linker.c: Likewise.
+ * lynx-core.c: Likewise.
+
+2001-01-02 Kazu Hirata <kazu@hxi.com>
+
+ * pc532-mach.c: Fix formatting.
+ * pe-arm.c: Likewise.
+ * pe-i386.c: Likewise.
+ * pe-mips.c: Likewise.
+ * pe-ppc.c: Likewise.
+ * pe-sh.c: Likewise.
+ * pei-mips.c: Likewise.
+ * pei-sh.c: Likewise.
+ * peicode.h: Likewise.
+ * ppcboot.c: Likewise.
+ * ptrace-core.c: Likewise.
+
+2001-01-01 Kazu Hirata <kazu@hxi.com>
+
+ * reloc.c: Fix formatting.
+ * riscix.c: Likewise.
+ * rs6000-core.c: Likewise.
+ * xcoff-target.h: Likewise.
+
+2000-12-29 Hans-Peter Nilsson <hp@bitrange.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-26 Kazu Hirata <kazu@hxi.com>
+
+ * vaxnetbsd.c: Fix formatting.
+ * versados.c: Likewise.
+ * vms-gsd.c: Likewise.
+ * vms-hdr.c: Likewise.
+ * vms-misc.c: Likewise.
+
+2000-12-25 Alexandre Oliva <aoliva@redhat.com>
+
+ * archive.c (coff_write_armap): Don't write more than symbol_count
+ `archive_member_file_ptr's.
+
+2000-12-25 Kazu Hirata <kazu@hxi.com>
+
+ * vms-tir.c: Fix formatting.
+
+2000-12-23 Kazu Hirata <kazu@hxi.com>
+
+ * vms.c: Fix formatting.
+ * vms.h: Likewise.
+
+2000-12-21 Santeri Paavolainen <santtu@ssh.com>
+
+ * vms-hdr.c: Include alloca.h if HAVE_ALLOCA_H is defined.
+
+ * peicode.h (pe_ILF_object_p): Add const to import of TARGET_LITTLE_SYM.
+
+ * elf32-m32r.c (m32r_elf_generic_reloc): Add cast to avoid (void *)
+ arithmetic.
+
+ * elf32-fr30.c: Add casts to avoid (void *) arithmetic.
+
+ * coffcode.h (styp_to_sec_flags): Add empty statement after label.
+
+2000-12-21 Richard Sandiford <rsandifo@redhat.com>
+
+ * libbfd.c (bfd_get_bits): Added
+ (bfd_put_bits): Likewise
+ * bfd-in.h: Declared the above.
+ * bfd-in2.h: Regenerated.
+
+2000-12-20 Kazu Hirata <kazu@hxi.com>
+
+ * targets.c: Fix formatting.
+ * tekhex.c: Likewise.
+ * trad-core.c: Likewise.
+
+2000-12-19 Kazu Hirata <kazu@hxi.com>
+
+ * sco5-core.c: Fix formatting.
+ * section.c: Likewise.
+ * sparclinux.c: Likewise.
+ * sparclynx.c: Likewise.
+ * sparcnetbsd.c: Likewise.
+ * srec.c: Likewise.
+ * stabs.c: Likewise.
+ * stab-syms.c: Likewise.
+ * sunos.c: Likewise.
+ * syms.c: Likewise.
+ * sysdep.h: Likewise.
+
+2000-12-18 Nick Clifton <nickc@redhat.com>
+
+ * coff-arm.c (EXTRA_S_FLAGS): Only define if not already
+ defined.
+ * epoc-pe-arm.c (EXTRA_S_FLAGS): Define.
+ * epoc-pei-arm.c (EXTRA_S_FLAGS): Define.
+
+2000-12-18 Nick Clifton <nickc@redhat.com>
+
+ * vms-misc.c (_bfd_vms_get_record): Add default case to
+ file_format switch.
+
+2000-12-15 Miloslav Trmac <mitr@volny.cz>
+
+ * elfcore.h (elf_core_file_p): Move to the start of the program
+ headers before attempting to read them.
+
+2000-12-14 Kazu Hirata <kazu@hxi.com>
+
+ * peigen.c: Fix formatting.
+ * som.c: Likewise.
+ * som.h: Likewise.
+
+2000-12-13 Kazu Hirata <kazu@hxi.com>
+
+ * peigen.c: Fix formatting.
+
+2000-12-12 Jim Wilson <wilson@redhat.com>
+
+ * elfxx-ia64.c (get_dyn_sym_info): Cast %p argument to void *.
+
+2000-12-08 Mark Salter <msalter@redhat.com>
+
+ * binary.c (binary_set_section_contents): Ignore sections
+ with zero size.
+
+2000-12-12 Kazu Hirata <kazu@hxi.com>
+
+ * m68klinux.c: Fix formatting.
+ * m68knetbsd.c: Likewise.
+ * mipsbsd.c: Likewise.
+ * netbsd-core.c: Likewise.
+ * netbsd.h: Likewise.
+ * newsos3.c: Likewise.
+ * nlm32-alpha.c: Likewise.
+ * nlm32-i386.c: Likewise.
+ * nlm32-ppc.c: Likewise.
+ * nlm32-sparc.c: Likewise.
+ * nlmcode.h: Likewise.
+ * nlmswap.h: Likewise.
+ * nlm-target.h: Likewise.
+ * ns32knetbsd.c: Likewise.
+
+2000-12-10 Fred Fish <fnf@be.com>
+
+ * elflink.h (elf_link_output_extsym): Don't complain about undefined
+ symbols in shared objects if allow_shlib_undefined is true.
+
+2000-12-12 Nick Clifton <nickc@redhat.com>
+
+ * cpu-sh.c: Fix formattng.
+ * elf.c: Fix formattng.
+ * elf32-mips.c: Fix formattng.
+ * elf32-sh.c: Fix formattng.
+ * elf64-alpha.c: Fix formattng.
+
+2000-12-09 Nick Clifton <nickc@redhat.com>
+
+ * elf32-mips.c (_bfd_mips_elf_find_nearest_line): Pass
+ dwarf2_find_line_info as last parameter to invocation of
+ _bfd_dwarf2_find_nearest_line.
+ * elf32-arm.h (elf32_arm_find_nearest_line): Pass
+ dwarf2_find_line_info as last parameter to invocation of
+ _bfd_dwarf2_find_nearest_line.
+
+2000-12-08 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * Makefile.am (BFD32_BACKENDS): Move dwarf2.lo from here...
+ (BFD_LIBS): ...to here.
+ (BFD32_BACKENDS_CFILES): Move dwarf2.c from here...
+ (BFD_LIBS_CFILES): ...to here.
+ * Makefile.in: Regenerate.
+ * configure.in: Remove dwarf.lo from the elf shell variable.
+ * configure: Regenerate.
+ * libcoff-in.h (coff_tdata): Add pointer dwarf2_find_line_info.
+ * libcoff.h: Regenerate.
+ * coffgen.c (coff_find_nearest_line): Call
+ _bfd_dwarf2_find_nearest_line.
+ * dwarf2.c (_bfd_dwarf2_find_nearest_line): Add parameter. Update
+ accordingly.
+ (read_abbrevs): Likewise
+ (decode_line_info): Likewise.
+ (parse_comp_unit): Likewise.
+ (comp_unit_find_nearest_line): Likewise.
+ * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
+ * libbfd.h: Regenerate.
+ * elf.c (_bfd_elf_find_nearest_line): Update call.
+ * elf-bfd.h (elf_obj_tdata): Change dwarf2_find_line_info to type PTR.
+ * dwarf2.c (concat_filename): Use IS_ABSOLUTE_PATH.
+ * coffcode.h (STYP_XCOFF_DEBUG, STYP_DEBUG_INFO): New macros.
+ (sec_to_styp_flags): Use them. Handle DWARF2 sections.
+ (styp_to_sec_flags): Handle DWARF2 sections.
+ * elf32-arm.h (elf32_arm_find_nearest_line): Add parameter to call
+ to _bfd_find_nearest_line.
+ * elf32-mips.c (_bfd_mips_elf_find_nearest_line): Add parameter to
+ call to _bfd_find_nearest_line.
+
+2000-12-08 Kazu Hirata <kazu@hxi.com>
+
+ * coffgen.c: Fix formatting.
+ * elf-m10300.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-i960.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-ppc.c: Likewise.
+ * elf32-sh.c: Likewise.
+ * elf32-sparc.c: Likewise.
+ * elf32-v850.c: Likewise.
+ * elf64-alpha.c: Likewise.
+ * elf64-hppa.c: Likewise.
+ * elf64-mips.c: Likewise.
+ * elf64-sparc.c: Likewise.
+
+2000-12-07 Kazu Hirata <kazu@hxi.com>
+
+ * elf32-ppc.c: Fix formatting.
+ * elf64-x86-64.c: Likewise.
+
+2000-12-06 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ From Ralf Baechle <ralf@gnu.org>
+
+ * elf32-mips.c (elf32_mips_merge_private_bfd_data): Always permit
+ BFDs containing no sections or empty .text, .data or .bss sections
+ to be merged, regardless of their flags.
+
+2000-12-06 Kazu Hirata <kazu@hxi.com>
+
+ * elf32-m32r.c: Fix formatting.
+ * elf32-m68hc11.c: Likewise.
+ * elf32-m68hc12.c: Likewise.
+ * elf32-m68k.c: Likewise.
+ * elf32-mcore.c: Likewise.
+ * elf32-pj.c: Likewise.
+ * elf32-ppc.c: Likewise.
+
+2000-12-05 Kazu Hirata <kazu@hxi.com>
+
+ * elf32-fr30.c: Fix formatting.
+ * elf32-hppa.c: Likewise.
+ * elf32-i370.c: Likewise.
+ * elf32-i386.c: Likewise.
+ * elf32-i860.c: Likewise.
+ * elf32-i960.c: Likewise.
+
+2000-12-03 Kazu Hirata <kazu@hxi.com>
+
+ * elf32-arm.h: Fix formatting.
+ * elf32-avr.c: Likewise.
+ * elf32-cris.c: Likewise.
+ * elf32-d10v.c: Likewise.
+ * elf32-d30v.c: Likewise.
+ * elf-hppa.h: Likewise.
+ * elf-m10200.c: Likewise.
+ * elf-m10300.c: Likewise.
+
+2000-12-01 Chris Demetriou <cgd@sibyte.com>
+
+ * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mips32 and
+ bfd_mach_mips32_4k. Update FIXME comment.
+ * archures.c (bfd_mach_mips32): New constant.
+ (bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to
+ the latter, renumber it.
+ * bfd-in2.h (bfd_mach_mips32): New constant.
+ (bfd_mach_mips4K, bfd_mach_mips32_4k) Rename the former to
+ the latter, renumber it.
+ * cpu-mips.c (I_mips32): New constant.
+ (I_mips4K, I_mips32_4k): Rename the former to the latter.
+ (arch_info_struct): Add bfd_mach_mips32 entry, replace
+ bfd_mach_mips4K entry with bfd_mach_mips32_4k entry.
+ * elf32-mips.c (elf_mips_isa): Add E_MIPS_ARCH_32 case.
+ (elf_mips_mach): Likewise. Also, replace E_MIPS_MACH_MIPS32
+ with E_MIPS_MACH_MIPS32_4K.
+ (_bfd_mips_elf_final_write_processing): Replace
+ bfd_mach_mips4K with bfd_mach_mips32_4k case, add
+ bfd_mach_mips32 case.
+ (_bfd_mips_elf_merge_private_bfd_data): Generalize ISA mixing
+ comparison with support for MIPS32.
+ (_bfd_mips_elf_print_private_bfd_data): Print ISA name for
+ MIPS32.
+
+ * aoutx.h (NAME(aout,machine_type)): Add cases for
+ bfd_mach_mips5 and bfd_mach_mips64.
+ * archures.c (bfd_mach_mips5, bfd_mach_mips64): New constants.
+ * bfd-in2.h (bfd_mach_mips5, bfd_mach_mips64): Likewise.
+ * cpu_mips.c (I_mips5, I_mips64): New definitions.
+ (arch_info_struct): Add entries for bfd_mach_mips5 and
+ bfd_mach_mips64.
+ * elf32-mips.c (elf_mips_isa, elf_mips_mach,
+ _bfd_mips_elf_print_private_bfd_data): Add cases for
+ E_MIPS_ARCH_5 and E_MIPS_ARCH_64.
+ (_bfd_mips_elf_final_write_processing): Add cases for
+ bfd_mach_mips5 and bfd_mach_mips64.
+
+ * aoutx.h (NAME(aout,machine_type)): Add a
+ bfd_mach_mips_sb1 case.
+ * archures.c (bfd_mach_mips_sb1): New constant.
+ * bfd-in2.h (bfd_mach_mips_sb1): New constant.
+ * cpu-mips.c (I_sb1): New constant.
+ (arch_info_struct): Add entry for bfd_mach_mips_sb1.
+ * elf32-mips.c (elf_mips_mach): Add case for
+ E_MIPS_MACH_SB1.
+ (_bfd_mips_elf_final_write_processing): Add case for
+ bfd_mach_mips_sb1.
+
+2000-12-01 Joel Sherrill <joel@OARcorp.com>
+
+ * config.bfd (arm-*-rtems*, a29k-*rtems*): New targets.
+ (sparc*-*-rtemself*, sparc*-*-rtemsaout*): New targets.
+ (sparc*-*-rtems*): Switched from a.out to ELF.
+
+2000-11-30 Jan Hubicka <jh@suse.cz>
+
+ * Makefile.am (BFD64_BACKENDS): Add elf64-x86-64.lo
+ BFD64_BACKENDS_CFILES): Add elf64-x86-64.c
+ (elf64-x86-64.lo): Add dependencies.
+ * archures.c (DESCRIPTION): Add bfd_mach_x86_64,
+ bfd_mach_x86_64_intel_syntax.
+ * elf.c (prep_headers): Use EM_x86_64 for 64bit output.
+ * config.bfd (x86_64): Add.
+ * configure.in: Add support for bfd_elf64_x86_64_vec.
+ * cpu-i386.c (bfd_x86_64_arch_intel_syntax, bfd_x86_64_arch): Add.
+ (bfd_i386_arch, i8086_ar): Link in.
+ * elf64-x86-64.c: New file.
+ * reloc.c (ENUMDOC): Add BFD_RELOC_X86_64*.
+ * targets.c (bfd_elf64_x86_64_vec): Add.
+ (bfd_target_vect): Add bfd_elf64_x86_64_vec.
+
+2000-11-30 Kazu Hirata <kazu@hxi.com>
+
+ * xcofflink.c: Fix formatting.
+
+2000-11-28 Kazu Hirata <kazu@hxi.com>
+
+ * aoutx.h: Fix formatting.
+ * bfd-in.h: Likewise.
+ * bfd-in2.h: Likewise.
+ * cache.c: Likewise.
+ * cisco-core.c: Likewise.
+ * coff64-rs6000.c: Likewise.
+ * coffcode.h: Likewise.
+ * coffswap.h: Likewise.
+ * corefile.c: Likewise.
+ * elf32-mips.c: Likewise.
+
+2000-11-27 Kazu Hirata <kazu@hxi.com>
+
+ * aout-adobe.c: Fix formatting.
+ * coff64-rs6000.c: Likewise.
+ * coffgen.c: Likewise.
+ * cofflink.c: Likewise.
+
+2000-11-27 Philip Blundell <pb@futuretv.com>
+
+ * libcoff-in.h (coff_tdata): Add `strings_written' flag.
+ (obj_coff_strings_written): New accessor macro for above.
+ * libcoff.h: Regenerate.
+ * cofflink.c (_bfd_coff_final_link): Say that we wrote the
+ strings.
+ * coffcode.h (coff_write_object_contents): No need to write out
+ the string table if it's already been done.
+
+2000-11-22 Philip Blundell <pb@futuretv.com>
+
+ * cofflink.c (_bfd_coff_generic_relocate_section): Don't object to
+ weak undefined symbols.
+
+2000-11-24 Nick Clifton <nickc@redhat.com>
+
+ * archures.c (bfd_mach_arm_5TE): Define.
+ (bfd_mach_arm+XScale): Define.
+ * bfd-in2.h: Regenerate.
+
+ * coff-arm.c (coff_arm_reloc_type_lookup): Accept
+ BFD_RELOC_ARM_PCREL_BLX.
+
+ * coffcode.h (coff_set_flags): Set flags for 5t, 5te and
+ XScale machine numbers.
+
+ * config.bfd (xscale-elf): Add target.
+ (xscale-coff): Add target.
+
+ * cpu-arm.c: Add xscale machine name.
+ Add v5t, v5te and XScale machine numbers.
+
+2000-11-23 Kazu Hirata <kazu@hxi.com>
+
+ * aix386-core.c: Fix formatting.
+
+2000-11-22 Jim Wilson <wilson@redhat.com>
+
+ * coff-ia64.c (howto_table): Use EMPTY_HOWTO.
+ (in_reloc_p): Add ATTRIBUTE_UNUSED to unused parameters.
+ * cpu-ia64-opc.c (ins_rsvd, ext_rsvd, ins_const, ext_const): Likewise.
+ (ins_imms_scaled): Initialize sign_bit at function entry.
+ (elf64_ia64_operands): Add missing initializers.
+ * elfxx-ia64.c (elfNN_ia64_reloc, elfNN_ia64_reloc_type_lookup,
+ elfNN_ia64_info_to_howto, elfNN_ia64_fake_sections,
+ elfNN_ia64_add_symbol_hook, elfNN_ia64_is_local_label_name,
+ elfNN_ia64_local_hash_table_init, get_fptr, get_pltoff,
+ elfNN_ia64_adjust_dynamic_symbol): Add ATTRIBUTE_UNUSED for unused
+ parameters.
+ (elfNN_ia64_info_to_howto): Initialize free_relocs, free_contents,
+ and free_extsyms at function entry.
+ (elfNN_add_symbol_hook): Add unsigned cast to bfd_get_gp_size result.
+ (elfNN_ia64_create_dynamic_sections): Delete unused local h.
+ (get_got): Delete unused local srel.
+ (elfNN_ia64_check_relocs): Initialize dynrel_type when declared.
+ (elfNN_ia64_relocate_section): Delete unused local dynindx.
+
+2000-11-21 Kazu Hirata <kazu@hxi.com>
+
+ * coff-a29k.c: Fix formatting.
+ * coff-h8500.c: Likewise.
+ * coff-i960.c: Likewise.
+ * coff-ppc.c: Likewise.
+ * coff-rs6000.c: Likewise.
+ * coff-stgo32.c: Likewise.
+ * coff-tic54x.c: Likewise.
+ * coff-w65.c: Likewise.
+ * cpu-h8500.c: Likewise.
+ * cpu-hppa.c: Likewise.
+ * cpu-ns32k.c: Likewise.
+ * ecoff.c: Likewise.
+ * ecofflink.c: Likewise.
+
+2000-11-21 Nick Clifton <nickc@redhat.com>
+
+ * elf32-sh.c (sh_elf_reloc_loop): Fix compile time warning, and
+ remove possibility of infinite loop.
+
+2000-11-20 Kazu Hirata <kazu@hxi.com>
+
+ * aix386-core.c: Fix formatting.
+ * aout-adobe.c: Likewise.
+ * aout-arm.c: Likewise.
+ * aout-encap.c: Likewise.
+ * aout-ns32k.c: Likewise.
+ * aout-target.h: Likewise.
+ * aout-tic30.c: Likewise.
+ * aoutf1.h: Likewise.
+ * aoutx.h: Likewise.
+ * archive.c: Likewise.
+ * bfd-in.h: Likewise.
+ * bfd-in2.h: Likewise.
+ * bfd.c: Likewise.
+ * bout.c: Likewise.
+
+2000-11-17 H.J. Lu <hjl@gnu.org>
+
+ * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Don't create
+ pltoff entries for DT_INIT and DT_FINI.
+ (elfNN_ia64_final_link): Don't set DT_INIT/FINI entries.
+ (elfNN_ia64_finish_dynamic_sections): Don't fill in DT_INIT/FINI
+ entries.
+
+2000-11-16 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (elfNN_ia64_check_relocs): Handle IPLT relocs.
+ (allocate_dynrel_entries): Likewise.
+ (elfNN_ia64_relocate_section): Likewise. Set REL addends correctly.
+ (set_pltoff_entry): Likewise.
+ (ia64_howto_table): Remove R_IA64_SEGBASE, and R_IA64_EPLT[ML]SB
+ (elfNN_ia64_reloc_type_lookup): Likewise.
+ (elfNN_ia64_install_value): Likewise.
+ (elfNN_ia64_relocate_section): Likewise.
+ * reloc.c (BFD_RELOC_IA64_SEGBASE): Remove.
+ (BFD_RELOC_IA64_EPLTMSB, BFD_RELOC_IA64_EPLTLSB): Remove.
+
+2000-11-16 Kazu Hirata <kazu@hxi.com>
+
+ * cpu-a29k.c: Fix formatting.
+ * cpu-alpha.c: Likewise.
+ * cpu-arm.c: Likewise.
+ * cpu-avr.c: Likewise.
+ * cpu-d10v.c: Likewise.
+ * cpu-h8500.c: Likewise.
+ * cpu-hppa.c: Likewise.
+ * cpu-i370.c: Likewise.
+ * cpu-i386.c: Likewise.
+ * cpu-i960.c: Likewise.
+ * cpu-ia64-opc.c: Likewise.
+ * cpu-ia64.c: Likewise.
+ * cpu-m32r.c: Likewise.
+ * cpu-m68hc11.c: Likewise.
+ * cpu-m68hc12.c: Likewise.
+ * cpu-m68k.c: Likewise.
+ * cpu-m88k.c: Likewise.
+ * cpu-mips.c: Likewise.
+ * cpu-ns32k.c: Likewise.
+ * cpu-pj.c: Likewise.
+ * cpu-powerpc.c: Likewise.
+ * cpu-sh.c: Likewise.
+ * cpu-sparc.c: Likewise.
+ * cpu-tic54x.c: Likewise.
+ * cpu-v850.c: Likewise.
+ * cpu-vax.c: Likewise.
+ * cpu-w65.c: Likewise.
+ * cpu-we32k.c: Likewise.
+ * cpu-z8k.c: Likewise.
+ * dwarf1.c: Likewise.
+ * dwarf2.c: Likewise.
+
+2000-11-15 Kazu Hirata <kazu@hxi.com>
+
+ * coff-arm.c: Fix formatting.
+ * coff-ppc.c: Likewise.
+ * coff-rs6000.c: Likewise.
+ * coff-sh.c: Likewise.
+ * coff-sparc.c: Likewise.
+ * coff-tic30.c: Likewise.
+ * coff-tic54x.c: Likewise.
+ * coff-tic80.c: Likewise.
+ * coff-w65.c: Likewise.
+ * coff-we32k.c: Likewise.
+ * coff-z8k.c: Likewise.
+
+2000-11-15 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_check_relocs): Create the reloc
+ section with the same ALLOC|LOAD flags as the source section.
+
+2000-11-14 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_opt_call): Only check bits used
+ by STO_ALPHA constants.
+
+2000-11-14 Kazu Hirata <kazu@hxi.com>
+
+ * coff-pmac.c: Fix formatting.
+ * coff-ppc.c: Likewise.
+
+2000-11-13 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_object_symbols): Also add indirect
+ symbols for common symbols with the default version.
+
+2000-11-09 Philip Blundell <pb@futuretv.com>
+
+ * section.c (STD_SECTION): Set gc_mark flag.
+
+2000-11-11 Kazu Hirata <kazu@hxi.com>
+
+ * coff-i960.c: Likewise.
+ * coff-m68k.c: Likewise.
+ * coff-m88k.c: Likewise.
+ * coff-mcore.c: Likewise.
+ * coff-mips.c: Likewise.
+
+2000-11-11 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * elf32-sh.c (sh_elf_relocate_section): Ignore R_SH_NONE relocs.
+
+2000-11-10 Kazu Hirata <kazu@hxi.com>
+
+ * coff-h8300.c: Fix formatting.
+ * coff-h8500.c: Likewise.
+ * coff-i386.c: Likewise.
+ * coff-i860.c: Likewise.
+ * coff-i960.c: Likewise.
+ * coff-ia64.c: Likewise.
+
+2000-11-09 Kazu Hirata <kazu@hxi.com>
+
+ * archive.c: Fix formatting.
+ * archures.c: Likewise.
+
+2000-11-07 Richard Henderson <rth@redhat.com>
+
+ * elfxx-ia64.c (elf64_ia64_final_link): New local unwind_output_sec.
+ Set it before bfd_elf64_bfd_final_link call. Use it after the call.
+ * section.c (bfd_set_section_contents): Call memcpy if
+ section->contents set and location not equal to contents plus offset.
+
+2000-11-08 Kazu Hirata <kazu@hxi.com>
+
+ * bfd-in.h: Fix formatting.
+ * bfd-in2.h: Likewise.
+ * bfd.c: Likewise.
+ * binary.c: Likewise.
+ * bout.c: Likewise.
+ * coff-a29k.c: Likewise.
+ * coff-alpha.c: Likewise.
+ * coff-apollo.c: Likewise.
+ * coff-aux.c: Likewise.
+
+2000-11-07 Kazu Hirata <kazu@hxi.com>
+
+ * aix386-core.c: Fix formatting.
+ * aoutf1.h: Likewise.
+ * aoutx.h: Likewise.
+ * archures.c: Likewise.
+ * armnetbsd.c: Likewise.
+
+2000-11-07 Alan Modra <alan@linuxcare.com.au>
+
+ * coff-h8300.c (special): Adjust reloc address.
+
+2000-11-06 Steve Ellcey <sje@cup.hp.com>
+
+ * archures.c (bfd_mach_ia64_elf64, bfd_mach_ia64_elf32): Add defines
+ to differentiate elf32 and elf64 on ia64.
+ * bfd-in2.h: Regenerate.
+ * config.bfd: Add target for "ia64*-*-hpux*".
+ * configure.in: Add bfd_elf32_ia64_big_vec to selvecs switch.
+ * configure: Regenerate.
+ * cpu-ia64.c (bfd_ia64_elf32_arch): Add elf32 arch info structure.
+ * targets.c: Add bfd_target bfd_elf32_ia64_big_vec.
+
+ * Makefile.am: Make elf32-ia64.c and elf64-ia64.c derived objects
+ from elfxx-ia64.c. Add depenency rules for making elf32-ia64.lo.
+ * Makefile.in: Regnerate.
+ * elf64-ia64.c: Deleted.
+ * elfxx-ia64.c: New file, paramaterized version of elf64-ia64.c.
+
+2000-11-06 Kazu Hirata <kazu@hxi.com>
+
+ * aout-adobe.c: Fix formatting.
+ * aout-arm.c: Likewise.
+ * aout-cris.c: Likewise.
+ * aout-encap.c: Likewise.
+ * aout-ns32k.c: Likewise.
+ * aout-target.h: Likewise.
+ * aout-tic30.c: Likewise.
+
+2000-11-05 Philip Blundell <philb@gnu.org>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Always permit
+ BFDs containing no sections to be merged, regardless of their flags.
+
+2000-11-04 Philip Blundell <philb@gnu.org>
+
+ * elf32-arm.h (elf32_arm_relocate_section): Suppress error message
+ if a relocation for an undefined symbol also results in an
+ overflow.
+
+2000-11-06 Christopher Faylor <cgf@cygnus.com>
+
+ * config.bfd: Add support for Sun Chorus.
+
+2000-11-05 David O'Brien <obrien@FreeBSD.org>
+
+ * configure.in: Recognize alpha-*-freebsd*.
+ * configure: Regenerate.
+
+2000-11-02 Luciano Gemme <ishitawa@yahoo.com>
+
+ * srec.c (CHUNK): Rename to DEFAULT_CHUNK.
+ (Chunk): New global variable set by a parameter in objcopy.c.
+ (S3Forced): New global variable set by a parameter in
+ objcopy.c.
+ (srec_set_section_contents): If S3Forced is true, always generate
+ S3 records.
+ (srec_write_section): Use 'Chunk' to limit maximum length of S
+ records.
+
+2000-11-02 Per Lundberg <plundis@chaosdev.org>
+
+ * config.bfd: Add support for i[3456]86-chaosdev-storm-chaos.
+ * Makefile.in: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * po/bfd.pot: Regenerate.
+
+2000-10-31 Philip Blundell <philb@gnu.org>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Only handle
+ EF_SOFT_FLOAT if it is defined.
+
+2000-10-27 Philip Blundell <philb@gnu.org>
+
+ * elf32-arm.h (elf32_arm_copy_private_bfd_data): Don't refuse
+ attempts to mix PIC code with non-PIC, just mark the output as
+ being position dependent.
+ (elf32_arm_merge_private_bfd_data): Likewise. Print an error
+ message for EF_SOFT_FLOAT mismatches. Display diagnostics for
+ all mismatches, not just the first one.
+
+2000-10-25 Chris Demetriou <cgd@sibyte.com>
+
+ * ieee.c (ieee_archive_p): Plug one of many possible
+ memory leaks in error handling.
+
+2000-10-20 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (elf32_sparc_merge_private_bfd_data,
+ elf32_sparc_object_p, elf32_sparc_final_write_processing):
+ Support v8plusb.
+ * elf64-sparc.c (sparc64_elf_merge_private_bfd_data,
+ sparc64_elf_object_p): Support v9b.
+ * archures.c: Declare v8plusb and v9b machines.
+ * bfd-in2.h: Ditto.
+ * cpu-sparc.c: Ditto.
+
+2000-10-16 Geoffrey Keating <geoffk@shoggoth.cygnus.com>
+
+ * elf64-sparc.c (sparc64_elf_relocate_section): Clear the location
+ of a GOT reloc.
+
+ * elf32-ppc.c (SYMBOL_REFERENCES_LOCAL): New macro.
+ (SYMBOL_CALLS_LOCAL): New macro.
+ (ppc_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
+ (ppc_elf_check_relocs): Use SYMBOL_REFERENCES_LOCAL.
+ (ppc_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
+ (ppc_elf_relocate_section): Use flag variable to determine
+ whether the relocation refers to a local symbol.
+ Test whether a PLTREL24 reloc will produce a reloc by looking
+ to see whether a PLT entry was made.
+
+2000-10-14 Geoffrey Keating <geoffk@shoggoth.cygnus.com>
+
+ * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Don't make PLT
+ entries that could serve as a definition for a weak symbol.
+
+2000-10-13 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ From Ralf Baechle <ralf@gnu.org>
+
+ * elf32-mips.c (mips_elf_create_dynamic_relocation): New argument
+ local_p. Add symbol value only for non-R_MIPS_REL32 relocations
+ against local symbols.
+ (_bfd_mips_elf_finish_dynamic_sections): Undo patch from 2000-10-01.
+
+2000-10-12 Alan Modra <alan@linuxcare.com.au>
+
+ * section.c (struct sec): Add kept_section.
+ (struct bfd_comdat_info): Remove sec, we can use above.
+ (STD_SECTION): Add initializer.
+ (bfd_make_section_anyway): Init here too.
+
+ * bfd-in2.h: Regenerate.
+
+ * elflink.h (elf_link_add_object_symbols): Remove unnecessary
+ zeroing of `flags'.
+ (elf_link_input_bfd): Set all asection->symbol->value's here, and
+ fudge values for discarded link-once section symbols.
+
+ * elf64-hppa.c: Include alloca-conf.h
+
+2000-10-11 Alan Modra <alan@linuxcare.com.au>
+
+ * elf.c (swap_out_syms): Revert 2000-10-07 changes.
+
+ * ieee.c (ieee_make_empty_symbol): Oops, bfd_zalloc needs another arg.
+
+2000-10-10 Alan Modra <alan@linuxcare.com.au>
+
+ * ieee.c (ieee_make_empty_symbol): Use bfd_zalloc, not bfd_zmalloc.
+
+2000-10-10 Tom Rix <trix@redhat.com>
+
+ * section.c (bfd_make_section_anyway): Release newsect ptr when
+ newsect->symbol fails to alloc. Use bfd_release instead of free.
+
+2000-10-09 Richard Henderson <rth@cygnus.com
+
+ * elf64-ia64.c (elf64_ia64_unwind_entry_compare_bfd): New.
+ (elf64_ia64_unwind_entry_compare): New.
+ (elf64_ia64_final_link): Sort the .IA_64.unwind section.
+
+2000-10-07 Alan Modra <alan@linuxcare.com.au>
+
+ * elflink.h (size_dynamic_sections): Don't create various tags if
+ .dynstr is excluded from the link. Don't set first dynsym entry
+ if dynsymcount is zero.
+ (elf_bfd_final_link): Don't try to swap out dynamic syms if
+ .dynsym excluded from the link. Don't try to write any dynamic
+ sections excluded from the link.
+
+ * elf.c (swap_out_syms): Handle global section symbols.
+
+2000-10-05 DJ Delorie <dj@redhat.com>
+
+ * peigen.c (_bfd_pei_swap_scnhdr_out): note extended relocs
+ * coffcode.h (coff_set_alignment_hook): read extended reloc count
+ (coff_write_relocs): write extended reloc count
+ (coff_write_object_contents): account for extended relocs
+
+2000-10-05 Jim Wilson <wilson@cygnus.com>
+
+ * elf-bfd.h (struct elf_backend_data): Add elf_backend_section_flags
+ field.
+ * elf.c (_bfd_elf_make_section_from_shdr): Call the
+ elf_backend_section_flags function.
+ * elf64-ia64.c (elf64_ia64_section_from_shdr): Delete flag conversion
+ code.
+ (elf64_ia64_section_flags): New function containing flag conversion
+ code.
+ (elf_backend_section_flags): Define to elf64_ia64_section_flags.
+ * elfxx-target.h (elf_backend_section_flags): Define.
+ (elfNN_bed): Initialize elf_backend_section_flags field.
+
+2000-10-02 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-hppa.c (elf32_hppa_check_relocs): Correct call to
+ _bfd_elf32_gc_record_vtable. Correct a comment.
+
+2000-10-01 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ From Ralf Baechle <ralf@gnu.org>
+
+ * elf32-mips.c (_bfd_mips_elf_finish_dynamic_sections): Mark gld
+ produces binaries with got[1] = 0x80000001 to differenciate them
+ for the dynamic linker from the broken binaries produced by old
+ versions.
+
+2000-09-30 Petr Sorfa <petrs@sco.com>
+
+ * elf.c (elfcore_grok_pstatus): Check for size of pxstatus_t.
+ (elfcore_grok_lwpstatus): Check for size of lwpxstatus_t.
+ * configure.in: Add check for pxstatus_t and lwpxstatus_t.
+ * configure: Regenerate.
+
+2000-09-27 Hans-Peter Nilsson <hp@axis.com>
+
+ Define two bfd_targets for absence and presence of leading
+ underscore on symbols. Make sure to only link same kind.
+ * elf32-cris.c (cris_elf_object_p,
+ cris_elf_final_write_processing, cris_elf_print_private_bfd_data,
+ cris_elf_merge_private_bfd_data): New.
+ (elf_backend_object_p, elf_backend_final_write_processing,
+ bfd_elf32_bfd_print_private_bfd_data,
+ bfd_elf32_bfd_merge_private_bfd_data): Define.
+ <Target vector definition>: Include elf32-target.h twice with
+ different macro settings:
+ (TARGET_LITTLE_SYM): First as bfd_elf32_cris_vec, then as
+ bfd_elf32_us_cris_vec.
+ (TARGET_LITTLE_NAME): First as "elf32-cris", then "elf32-us-cris".
+ (elf_symbol_leading_char): First as 0, then '_'.
+ (INCLUDED_TARGET_FILE): Define for second include of elf32-target.h.
+ * config.bfd (cris-*-*): Add bfd_elf32_us_cris_vec to targ_selvecs.
+ * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vector.
+ * configure: Regenerate.
+ * targets.c: Declare bfd_elf32_us_cris_vec.
+ * po/bfd.pot: Regenerate.
+
+2000-09-29 Momchil Velikov <velco@fadata.bg>
+
+ * elf32-arm.h (arm_add_to_rel): Correctly adjust the addend for
+ R_ARM_THM_PC22 relocations.
+
+2000-09-29 NIIBE Yutaka <gniibe@chroot.org>
+
+ * elflink.h (elf_link_add_object_symbols): Don't bfd_release runpath.
+
+2000-09-29 Momchil Velikov <velco@fadata.bg>
+
+ * elf.c (elf_fake_sections): Do not mark the section SHT_NOBITS if
+ is has the SEC_HAS_CONTENTS flag set.
+
+2000-09-28 Örjan Friberg <orjanf@axis.com>
+ Hans-Peter Nilsson <hp@axis.com>
+
+ * aout-cris.c (N_TXTADDR): Define.
+
+2000-09-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * som.c: Include alloca-conf.h.
+ * Makefile.am: "make dep-am"
+ * Makefile.in: Regenerate.
+
+2000-09-27 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-hppa.c (plt_stub): New.
+ (PLT_STUB_ENTRY): Define.
+ (elf32_hppa_link_hash_table): Change multi_subspace to packed
+ boolean. Add need_plt_stub, has_12bit_branch and has_17bit_branch.
+ (elf32_hppa_link_hash_table_create): Init to suit.
+ (elf32_hppa_check_relocs): Set has_12bit_branch and
+ has_17bit_branch as appropriate.
+ (elf32_hppa_adjust_dynamic_symbol): Set need_plt_stub for
+ non-local functions.
+ (elf32_hppa_size_dynamic_sections): Correct setting of reltext.
+ Add space for plt_stub as needed.
+ (elf32_hppa_finish_dynamic_symbol): Point .plt entries for global
+ functions at plt_stub.
+ (elf32_hppa_finish_dynamic_sections): Write plt_stub.
+ (elf32_hppa_create_dynamic_sections): Leave .plt executable.
+
+ * elf32-hppa.h (elf32_hppa_size_stubs): Add group_size param.
+ * elf32-hppa.c (elf32_hppa_size_stubs): Likewise. Use it instead
+ of fixed size, and if negative, disable handling of input sections
+ before stub section. Set up default stub group size depending
+ on detected branch relocs.
+ (hppa_build_one_stub): Use lrsel and rrsel for import stubs to
+ ensure different offsets from sym_value aren't rounded to
+ different 2k blocks. Use lrsel and rrsel for other stubs too for
+ consistency rather than necessity.
+ (elf32_hppa_check_relocs): Handle R_PARISC_DIR14F.
+ (final_link_relocate): Likewise.
+ (elf32_hppa_relocate_section): Likewise.
+
+ * elf-hppa.h (elf_hppa_howto_table): Add R_PARISC_DIR14F reloc.
+ (_bfd_elf_hppa_gen_reloc_type): Generate them.
+ (elf_hppa_final_link_relocate): Handle them.
+ (elf_hppa_relocate_insn): Likewise.
+ (_bfd_elf_hppa_gen_reloc_type): Add missing e_ldsel and e_rdsel cases.
+
+2000-09-26 Hans-Peter Nilsson <hp@axis.com>
+
+ * elfcode.h (elf_object_p): Preserve and clear abfd section
+ information. Restore at error.
+
+2000-09-26 Paul Sokolovsky <Paul.Sokolovsky@technologist.com>
+
+ * peigen.c (_bfd_pei_swap_aouthdr_in): If some DataDirectory
+ is empty, make sure that its rva also 0. NT loader dislikes
+ having otherwise.
+
+2000-09-26 Steve Ellcey <sje@cup.hp.com>
+
+ * som.c (som_bfd_derive_misc_symbol_info): Make weak symbols
+ global by default.
+
+2000-09-21 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-hppa.c (elf32_hppa_check_relocs): Fix weak sym handling in
+ currently unused RELATIVE_DYNAMIC_RELOCS code.
+ (hppa_discard_copies): Likewise.
+ (elf32_hppa_size_stubs): Size `input_list' array correctly. Correct
+ comments. Don't check non-code output sections for stub grouping.
+
+2000-09-20 Alan Modra <alan@linuxcare.com.au>
+
+ * section.c (bfd_get_unique_section_name): Return NULL if
+ bfd_malloc fails.
+
+2000-09-19 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ * elf32-m68k.c (elf_cpu32_plt0_entry): Change the PLT entry 0
+ instruction sequence to actually work.
+ (elf_m68k_finish_dynamic_sections): Change the patch-in offset
+ accordingly.
+
+2000-09-18 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-sh.c (sh_elf_relocate_section): Use
+ _bfd_final_link_relocate to apply the relocation against a section
+ symbol, when doing relocatable links.
+
+2000-09-18 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-hppa.c (elf32_hppa_stub_hash_entry): Rename input_section
+ to id_sec.
+ (stub_hash_newfunc): Here too.
+ (hppa_add_stub): And here.
+ (elf32_hppa_link_hash_table): Remove stub_section_created,
+ reloc_section_created, first_init_sec and first_fini_sec. Add
+ stub_group.
+ (elf32_hppa_link_hash_table_create): Init to suit.
+ (hppa_get_stub_entry): Add support for grouping stub sections.
+ (hppa_add_stub): Likewise. Remove sec_count param and init/fini
+ section code. Index stub vars by section->id.
+ (elf32_hppa_size_stubs): Likewise. Remove duplicated function
+ exit paths. Zap allocation of above removed vars. Refine
+ link-once test.
+
+ * elf32-hppa.h (elf32_hppa_size_stubs): Add output_bfd param.
+ * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
+ (hppa_get_stub_entry): Pass in pointer to elf32_hppa_link_hash_table
+ rather than pointer to bfd_link_info.
+ (hppa_add_stub): Likewise.
+ (final_link_relocate): Likewise.
+
+2000-09-17 David Huggins-Daines <dhd@linuxcare.com>
+
+ (elf32_hppa_size_stubs): Don't try to build stubs for discarded
+ link-once sections.
+
+2000-09-16 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-sh.c (ELF_MAXPAGESIZE): Define to 128, to match
+ ld/emulparams/shelf.sh.
+
+2000-09-10 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): New function.
+ * bfd-in.h (bfd_m68k_elf32_create_embedded_relocs): Add declaration.
+ * bfd-in2.h: Regenerate.
+
+2000-09-15 Kenneth Block <Kenneth.Block@compaq.com>
+
+ * elf64-alpha.c (elf64_alpha_relax_with_lituse): ld performs
+ LITUSE relocations incorrectly if -relax is specified on the ld
+ command line and the displacement field of the load or store
+ instruction is non-zero. (Patch by paul.winalski@compaq.com)
+
+2000-09-15 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-hppa.c (hppa_add_stub): Dont set first_init_sec and
+ first_fini_sec here.
+ (elf32_hppa_size_stubs): Instead correctly find the first .init
+ and .fini section here.
+
+2000-09-15 David Huggins-Daines <dhd@linuxcare.com>
+
+ * elf32-hppa.c (clobber_millicode_symbols): New function.
+ (elf32_hppa_size_dynamic_sections): Call it.
+
+2000-09-14 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-hppa.c (elf32_hppa_link_hash_entry): Make pic_call
+ packed. Add plabel, plt_abs packed booleans.
+ (hppa_link_hash_newfunc): Init new fields.
+ (PLABEL_PLT_ENTRY_SIZE): Define.
+ (hppa_stub_name): Use size_t len vars.
+ (hppa_add_stub): Likewise.
+ (elf32_hppa_build_stubs): Likewise.
+ (hppa_build_one_stub): Kill some compiler warnings.
+ (elf32_hppa_check_relocs): Always generate a plt entry for PLABELs
+ if dynamic linking. Munge the local plt offsets into
+ local_got_refcounts. Set h->plabel for all global PLABELs. Use
+ size_t len vars. Add assert for plabel addend.
+ (elf32_hppa_gc_sweep_hook): Sweep local plt entries too.
+ (elf32_hppa_hide_symbol): New function.
+ (elf_backend_hide_symbol): Define.
+ (elf32_hppa_adjust_dynamic_symbol): Don't throw away plt entries
+ with h->plabel set. Don't make plt entries to have dynamic syms
+ when they have been forced local. If plt entry is used by a
+ plabel, make it PLABEL_PLT_ENTRY_SIZE.
+ (elf32_hppa_size_dynamic_sections): Set plt_abs for init fns.
+ Set up .plt offsets for local syms.
+ (elf32_hppa_relocate_section): Initialise plt entries for local
+ syms. Leave weak undefined plabels zero. Make global plabel
+ relocs against function symbol, and leave the addend zero.
+ Use *ABS* DIR32 relocs instead of SEGREL32 for dynamic got relocs.
+ (elf32_hppa_finish_dynamic_symbol): Set up IPLT relocs for
+ non-dynamic syms. Init extra plt for plabels. Use *ABS* DIR32
+ relocs instead of SEGREL32 for dynamic got relocs.
+ (elf32_hppa_finish_dynamic_sections): Reserve one more .got entry.
+ (elf_backend_got_header_size): Adjust.
+ (elf32_hppa_set_gp): Calculate an "ideal" LTP.
+
+ * elf32-hppa.c (LONG_BRANCH_VIA_PLT): Define.
+ (hppa_type_of_stub): Use it instead of #if 0
+ (hppa_discard_copies): Use it here too.
+ (elf32_hppa_size_dynamic_sections): And here.
+
+ * elf32-hppa.c (elf32_hppa_link_hash_table): Remove `offset' field.
+ (elf32_hppa_link_hash_table_create): And here.
+ (hppa_build_one_stub): And here. Instead keep track of stub
+ offset using _raw_size.
+ (elf32_hppa_size_stubs): Likewise.
+ (elf32_hppa_build_stubs): Likewise.
+ (hppa_size_one_stub): Likewise. Resize reloc section too.
+
+ * elf32-hppa.c (hppa_add_stub): Correct first_init_sec and
+ first_fini_sec handling. Don't search for reloc section or set
+ hplink->reloc_section_created here.
+ (elf32_hppa_size_stubs): Instead search for reloc sections, and
+ set reloc_section_created here.
+ (hppa_handle_PIC_calls): Set ELF_LINK_HASH_NEEDS_PLT.
+ (elf32_hppa_size_dynamic_sections): Make a .plt entry for DT_INIT
+ and DT_FINI.
+ (elf32_hppa_finish_dynamic_sections): Set DT_INIT and DT_FINI.
+
+ * elf32-hppa.c (hppa_build_one_stub): Replace `elf_hash_table (info)'
+ with `hplink->root.'.
+ (elf32_hppa_check_relocs): Likewise.
+ (elf32_hppa_gc_sweep_hook): Likewise.
+ (elf32_hppa_adjust_dynamic_symbol): Likewise.
+ (hppa_handle_PIC_calls): Likewise.
+ (elf32_hppa_size_dynamic_sections): Likewise.
+ (elf32_hppa_set_gp): Likewise.
+ (elf32_hppa_relocate_section): Likewise.
+ (elf32_hppa_finish_dynamic_symbol): Likewise.
+ (elf32_hppa_finish_dynamic_sections): Likewise.
+
+ From David Huggins-Daines <dhd@linuxcare.com>
+ * elf32-hppa.c (hppa_type_of_stub): Generate import stubs for
+ defined weak symbols in shared links.
+ (final_link_relocate): Calls to defined weak symbols in shared
+ objects must go via import stubs, as the target might not be known
+ at link time.
+
+2000-09-14 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-sh.c (sh_elf_howto_table): Moved 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) to the range from 160 to 167. Replaced
+ the original entries with EMPTY_HOWTOs, and added new ones to fill
+ in the gap.
+ (sh_elf_info_to_howto): Make sure the new gap isn't used.
+ (sh_elf_relocate_section): Likewise.
+
+2000-09-13 Anders Norlander <anorland@acc.umu.se>
+
+ * cpu-mips.c (arch_info_struct): Add mips:4K
+ * bfd-in2.h (bfd_mach_mips4K): New define.
+ * archures.c: Add bfd_mach_mips4K to comment.
+ * elf32-mips.c (_bfd_mips_elf_final_write_processing): Return
+ E_MIPS_ARCH_2 for bfd_mach_mips4K.
+
+2000-09-13 Marco Franzen <marcof@thyron.com>
+
+ * som.c (som_write_symbol_strings): Do not used fixed buffers,
+ use size_t as a counter.
+ (som_write_space_strings): Similarly.
+
+2000-09-12 Jason Eckhardt <jle@cygnus.com>
+
+ * elf32-i860.c (elf32_i860_relocate_pc26): New function
+ and prototype.
+ (elf32_i860_relocate_section): Invoke new function from here.
+
+2000-09-11 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Make debug_sec_names
+ static.
+
+2000-09-10 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Emit 8 NULs for
+ target section name instead of dumping core when the target symbol is
+ undefined.
+
+2000-09-09 Kazu Hirata <kazu@hxi.com>
+
+ * riscix.c: Remove DEFUN.
+
+2000-09-08 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Do not
+ initialise flags in output bfd if the input bfd is the default
+ architecture with the default flags.
+
+2000-09-08 Kazu Hirata <kazu@hxi.com>
+
+ * archive.c: Fix formatting.
+ * coff-arm.c: Likewise.
+ * doc/chew.c: Likewise.
+
+2000-09-08 Alan Modra <alan@linuxcare.com.au>
+
+ * section.c (bfd_get_unique_section_name): Put a dot before the
+ numeric suffix.
+
+2000-09-07 Kazu Hirata <kazu@hxi.com>
+
+ * doc/chew.c: Remove all uses of DEFUN and DEFUN_VOID.
+ * elf.c: Fix formatting.
+
+2000-09-07 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-09-06 Geoffrey Keating <geoffk@cygnus.com>
+
+ * xcofflink.c (xcoff_link_input_bfd): Include the .tocbss
+ pseduo-section when determining where the TOC ends.
+
+ * coff-rs6000.c (_bfd_xcoff_swap_aux_out): Use bfd_h_put_16 to
+ output x_tvndx as it is only two bytes wide.
+
+ * coff-rs6000.c (xcoff_howto_table): A modifiable branch-absolute
+ reloc is 26 or 32 bits wide.
+
+ * coff-rs6000.c (_bfd_xcoff_rtype2howto): The bitsize is irrelevant
+ for relocs that don't change anything. Also look at the full
+ 6 bits of bitsize.
+
+2000-09-06 Philip Blundell <philb@gnu.org>
+
+ * config.bfd (arm*-*-uclinux*): New target.
+
+2000-09-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure: Rebuilt with new libtool.m4.
+
+2000-09-06 Alan Modra <alan@linuxcare.com.au>
+
+ * section.c (bfd_get_unique_section_name): Avoid c++ reserved
+ word for variable name.
+ * bfd-in2.h: Regenerate.
+
+2000-09-05 Nick Clifton <nickc@redhat.com>
+
+ * config.in: Regenerate.
+ * libbfd.h: Regenerate.
+ * po/bfd.pot: Regenerate.
+ * doc/bfdint.texi: Remove CVS date string - it foils compares with
+ local versions.
+
+2000-09-05 Steven Johnson <sbjohnson@ozemail.com.au>
+
+ * cpu-powerpc.c (arch_info_struct): Added MPC860 Family entry.
+
+2000-09-05 Alan Modra <alan@linuxcare.com.au>
+
+ Shared library and PIC support.
+ * elf32-hppa.c (PLT_ENTRY_SIZE): New.
+ (GOT_ENTRY_SIZE): New.
+ (ELF_DYNAMIC_INTERPRETER): New.
+ (STUB_SUFFIX): Define.
+ (LONG_BRANCH_PIC_IN_SHLIB): Define.
+ (RELATIVE_DYNAMIC_RELOCS): Define.
+ (enum elf32_hppa_stub_type): New.
+ (struct elf32_hppa_stub_hash_entry): Rename offset to
+ stub_offset. Add a number of new fields.
+ (struct elf32_hppa_link_hash_entry): New.
+ (struct elf32_hppa_link_hash_table): Add numerous fields. Remove
+ global_value.
+ (elf32_hppa_hash_table): Rename to hppa_link_hash_table.
+ (elf32_hppa_stub_hash_lookup): Rename to hppa_stub_hash_lookup.
+ (elf32_hppa_stub_hash_newfunc): Rename to stub_hash_newfunc. Init
+ new fields.
+ (hppa_link_hash_newfunc): New function.
+ (elf32_hppa_link_hash_table_create): Use above function. Init new
+ fields.
+ (elf32_hppa_stub_name): Rename to hppa_stub_name. Pass in reloc
+ instead of addend, and remove sym_name from args. Don't use
+ symbol name for local syms, instead use sym index.
+ (elf32_hppa_size_of_stub): Rename to hppa_type_of_stub, and return
+ stub type rather than size. Pass in hash and handle import stub
+ case. Also pass in reloc instead of offset so we can calculate
+ PCREL22F and PCREL12F branches properly.
+ (elf32_hppa_build_one_stub): Rename to hppa_build_one_stub. Build
+ import and export stubs too.
+ (elf32_hppa_size_one_stub): Rename to hppa_size_one_stub. Handle
+ import and export stub sizing.
+ (elf32_hppa_check_relocs): New function.
+ (elf32_hppa_adjust_dynamic_symbol): New function.
+ (hppa_discard_copies): New function.
+ (elf32_hppa_size_dynamic_sections): New function.
+ (elf_backend_size_dynamic_sections): Define.
+ (elf32_hppa_finish_dynamic_symbol): New function.
+ (elf_backend_finish_dynamic_symbol): Define.
+ (elf32_hppa_size_stubs): Stash params in link hash table, and move
+ some local vars into the link hash table too. For shared links,
+ trundle over function syms, generating export stubs. Handle
+ PCREL22F branches. Break out stub creation code from here..
+ (hppa_add_stub): .. to here. New function.
+ (elf32_hppa_final_link): Rename to elf32_hppa_set_gp, and don't
+ call the bfd linker. Use elf_gp to record global pointer.
+ Calculate a value from sections if $global$ is missing.
+ (bfd_elf32_bfd_final_link): Define as _bfd_elf32_gc_common_final_link.
+ (elf32_hppa_gc_mark_hook): New function.
+ (elf_backend_gc_mark_hook): Define.
+ (elf32_hppa_gc_sweep_hook): New function.
+ (elf_backend_gc_sweep_hook): Define.
+ (elf32_hppa_bfd_final_link_relocate): Rename to final_link_relocate.
+ Add rel to args, and remove howto, input_bfd, offset, addend,
+ sym_name as we can recalculate these locally. Handle calls to
+ dynamic objects, extra PIC relocs, PCREL22F branches. Change
+ handling of undefined weak syms. Check that stubs are in range.
+ Only look for import stubs on PCREL17F and PCREL22F relocs. Add
+ message on hitting a DPREL21L reloc that needs fixing. Subtract
+ off PC for PCREL14F. Break out code that does a stub lookup from
+ here..
+ (hppa_get_stub_entry): ..to here. New function.
+ (elf32_hppa_relocate_insn): Merge into final_link_relocate.
+ (elf32_hppa_relocate_section): Handle got and plt relocs, dynamic
+ relocs, etc. etc.
+ (elf32_hppa_finish_dynamic_sections): New function.
+ (elf_backend_finish_dynamic_sections): Define.
+ (elf_backend_final_write_processing) Define.
+ (hppa_handle_PIC_calls): New function.
+ (elf32_hppa_build_stubs): Call it. Pass link_info to
+ hppa_build_one_stub.
+ (elf32_hppa_create_dynamic_sections): New function
+ to create .plt and .got then set .plt flags correctly.
+ (elf_backend_create_dynamic_sections): Define.
+ (elf32_hppa_object_p): New function.
+ (elf_backend_object_p): Define.
+ (elf32_hppa_elf_get_symbol_type): New function.
+ (elf_backend_get_symbol_type): Define.
+ (elf_backend_can_gc_sections): Define.
+ (elf_backend_want_got_plt): Define.
+ (elf_backend_plt_alignment): Set to 2.
+ (elf_backend_plt_readonly): Define.
+ (elf_backend_want_plt_sym): Define.
+ (elf_backend_got_header_size): Reserve one entry.
+
+ * elf32-hppa.h (elf32_hppa_build_stubs): Don't pass stub bfd.
+ (elf32_hppa_size_stubs): Pass in multi_subspace.
+ (elf32_hppa_set_gp): Declare.
+
+ * section.c (SEC_HAS_GOT_REF): Define new flag for asection.
+ (bfd_get_unique_section_name): New function.
+ * bfd-in2.h: Regenerate.
+
+ * elf64-hppa.c (elf64_hppa_check_relocs): Handle R_PARISC_PCREL12F.
+ (elf64_hppa_size_dynamic_sections): Remove the FIXME at bfd_zalloc
+ comment.
+
+ From David Huggins-Daines <dhd@linuxcare.com>
+ * elf64-hppa.c (elf64_hppa_check_relocs): Fix a warning.
+ (elf64_hppa_mark_exported_functions): Set dyn_h->st_shndx.
+ (elf64_hppa_link_output_symbol_hook): Test dyn_h->st_shndx has
+ been updated in finish_dynamic_symbol before modifying function
+ symbol.
+
+ * elf-hppa.h (elf_hppa_howto_table): Restructure into groups of
+ eight entries. Replace NULL with bfd_elf_generic_reloc. Add
+ R_PARISC_GNU_VTENTRY, R_PARISC_GNU_VTINHERIT and R_PARISC_PCREL12F.
+ (_bfd_elf_hppa_gen_reloc_type): Handle R_PARISC_GNU_VT*. Add some
+ comments. Handle format == 12 for R_HPPA_PCREL_CALL.
+ (elf_hppa_final_link_relocate): Handle R_PARISC_PCREL12F.
+ (elf_hppa_relocate_insn): Likewise. Reformat some comments.
+ (elf_hppa_final_write_processing): Expose it for ARCH_SIZE == 32.
+
+ From David Huggins-Daines <dhd@linuxcare.com>
+ * elf-hppa.h (elf_hppa_is_local_label_name): Accept the SysV/ELF
+ style of local labels as well.
+
+2000-09-03 Philip Blundell <philb@gnu.org>
+
+ * elf32-arm.h (elf32_arm_relocate_section): Don't try to relocate
+ references to undefined symbols in debugging sections.
+
+2000-09-02 H.J. Lu <hjl@gnu.org>
+
+ * reloc.c (BFD_RELOC_SH_COPY, BFD_RELOC_SH_GLOB_DAT,
+ BFD_RELOC_SH_JMP_SLOT, BFD_RELOC_SH_RELATIVE,
+ BFD_RELOC_SH_GOTPC): Move them from the MIPS section to the SH
+ section.
+
+2000-09-02 Jason Eckhardt <jle@cygnus.com>
+
+ * elf32-i860.c (bfd_elf32_bfd_is_local_label_name): Define macro.
+ (elf32_i860_is_local_label_name): New function and prototype.
+
+2000-09-02 Nick Clifton <nickc@redhat.com>
+
+ * configure.in: Increase version number to 2.10.91.
+ * configure: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.in: Regenerate.
+ * po/bfd.pot: Regenerate.
+
+2000-09-02 Daniel Berlin <dberlin@redhat.com>
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Add
+ .gnu.linkobce.wi. to the list of debug section names.
+
+2000-09-02 Nick Clifton <nickc@redhat.com>
+
+ * dwarf2.c (find_debug_info): New function: Locate a section
+ containing dwarf2 debug information.
+ (bfd_dwarf2_find_nearest_line): Find all sections containing
+ debug information and include them in the stash.
+
+2000-09-01 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.
+ (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.
+ * 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-09-01 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-i386.c (elf_i386_finish_dynamic_symbol): Revert 2000-08-27
+ change.
+
+2000-08-31 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * elf32-sh.c (sh_elf_merge_private_data): If ibfd's elf header flags
+ not initialized, set them to indicate the SH1 instruction set.
+
+2000-08-31 Alexandre Oliva <aoliva@redhat.com>
+
+ * acinclude.m4: Include libtool and gettext macros from the
+ top level.
+ * aclocal.m4, configure: Rebuilt.
+
+2000-08-29 Michael Snyder <msnyder@seadog.cygnus.com>
+
+ * elf.c: Eliminate references to __sparcv9 macro; replace with
+ autoconf variables HAVE_PSINFO32_T etc.
+ * configure.in: Auto-configure HAVE_PSINFO_32_T, HAVE_PRPSINFO32_T,
+ HAVE_PSTATUS32_T, HAVE_PRSTATUS32_T, HAVE_PRSTATUS32_T_PR_WHO.
+ * config.in: Ditto.
+ * acinclude.m4 (BFD_HAVE_SYS_PROCFS_TYPE) define _SYSCALL32 so it can
+ detect the above typedefs. (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Ditto.
+ * aclocal.m4: Ditto.
+ * configure: Regenerate.
+
+2000-08-27 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-i386.c (elf_i386_check_relocs): Keep info on relocs copied
+ for any shared link, not just shared -Bsymbolic.
+ (elf_i386_size_dynamic_sections): Call elf_i386_discard_copies on
+ any shared link, and pass link info to it.
+ (elf_i386_size_dynamic_sections): Update comment.
+ (elf_i386_discard_copies): Modify to discard relocs for symbols
+ that have been forced local.
+ (elf_i386_finish_dynamic_symbol): Don't copy relocs for symbols
+ that have been forced local.
+
+2000-08-24 Denis Chertykov <denisc@overta.ru> & Nick Clifton <nickc@redhat.com>
+
+ * elflink.h (elf_link_add_object_symbols): Allow common
+ symbols to have an alignment of 1 if explicitly requested, and
+ not overridden by other definitions.
+
+2000-08-22 Doug Kwan <dkwan@transmeta.com>
+
+ * coff-w65.c (CREATE_LITTLE_COFF_TARGET): Fix typo.
+ * coffcode.h (coff_set_flags): Add detection of w65 architecture.
+
+2000-08-22 H.J. Lu <hjl@gnu.org>
+
+ * elf-bfd.h (elf_link_hash_table): Add runpath.
+
+ * bfd-in.h (bfd_elf_get_runpath_list): New prototype.
+ * bfd-in2.h: Rebuilt.
+
+ * elf.c (_bfd_elf_link_hash_table_init): Initialize the
+ "runpath" field to NULL.
+ (bfd_elf_get_runpath_list): New function.
+
+ * elflink.h (elf_link_add_object_symbols): Record DT_RPATH and
+ DT_RUNPATH entries.
+
+2000-08-22 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-sh.c (sh_elf_relocate_section) [R_SH_IND12W,
+ R_SH_DIR8WPN, R_SH_DIR8WPZ, R_SH_DIR8WPL]: Handle them
+ explicitly. Improve validation of r_type.
+
+2000-08-21 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (elf_i386_size_dynamic_sections): Zero out the
+ dynamic allocated content space. Add a comment to remind us that
+ one day this ought to be fixed.
+ * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
+ * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
+ * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
+
+2000-08-21 Jason Eckhardt <jle@cygnus.com>
+
+ * elf32-i860.c (elf32_i860_relocate_pc16): Just write the immediate
+ field with the newly relocated value instead of adding it to the
+ existing immediate field.
+ (elf32_i860_relocate_splitn): Likewise.
+ (elf32_i860_relocate_highadj): Likewise.
+
+2000-08-16 Jason Eckhardt <jle@cygnus.com>
+
+ * elf32-i860.c (elf32_i860_relocate_pc16): Implemented function (it
+ was previously just a stub).
+
+2000-08-16 Alexandre Oliva <aoliva@redhat.com>
+
+ * elflink.c (_bfd_elf_create_got_section): Don't abort().
+ Formatting fixes.
+ (_bfd_elf_create_dynamic_sections): Likewise.
+
+2000-08-16 Andrew Macleod <amacleod@cygnus.com>
+
+ * elf64-sparc.c (sparc64_elf_relocate_section): Set relocation address
+ for undefined symbols to be the beginning of the section.
+
+ * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Don't allocate
+ four extra entries at the beginning of the .rela.plt section.
+ (sparc64_elf_finish_dynamic_symbol): Adjust the offset in the .rela.plt
+ section to account for the four reserved entries in the .plt section.
+
+2000-08-15 Geoffrey Keating <geoffk@cygnus.com>
+
+ * xcofflink.c (_bfd_ppc_xcoff_relocate_section): Add ori r0,r0,0
+ to the list of NOPs we recognize after a branch-and-link.
+ Use the ori NOP when one is needed.
+
+ * coff-rs6000.c (_bfd_xcoff_slurp_armap): Finish implementation
+ for large archives.
+
+2000-08-14 Jim Wilson <wilson@cygnus.com>
+
+ * elf64-ia64.c (elf64_ia64_merge_private_bfd_data): Handle
+ EF_IA_64_REDUCEDFP, EF_IA_64_CONS_GP, and EF_IA_64_NOFUNCDESC_CONS_GP.
+ (elf64_ia64_print_private_bfd_data): Likewise. Also handle
+ EF_IA_64_ABSOLUTE.
+
+2000-08-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-sh.c (sh_elf_set_mach_from_flags): Make it static.
+
+2000-08-10 Jason Eckhardt <jle@cygnus.com>
+
+ * elf32-i860.c (elf32_i860_relocate_section): New function.
+ (i860_final_link_relocate): New function.
+ (elf32_i860_relocate_splitn): New function.
+ (elf32_i860_relocate_pc16): New function.
+ (elf32_i860_relocate_highadj): New function.
+ (elf32_i860_howto): Minor adjustments to some relocations.
+ (elf_info_to_howto_rel): Define.
+ (elf_backend_relocate_section): Define.
+
+2000-08-10 Nick Clifton <nickc@cygnus.com>
+
+ * elf32-arm.h: Fix formatting.
+
+2000-08-10 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * elf32-sh.c (sh_elf_reloc_loop): Make LAST_SYMBOL_SECTION static.
+
+2000-08-08 Jason Eckhardt <jle@cygnus.com>
+
+ * elf32-i860.c (elf32_i860_howto_table): Updated some fields.
+
+2000-08-07 Kazu Hirata <kazu@hxi.com>
+
+ * ieee.c (ieee_write_debug_part): Rewrite a comment.
+ * elf64-ia64.c: Fix a typo.
+
+2000-08-05 Jason Eckhardt <jle@cygnus.com>
+
+ * elf32-i860.c (elf32_i860_howto_table): New structure.
+ (lookup_howto): New function.
+ (elf32_i860_reloc_type_lookup): New function.
+ (elf32_i860_info_to_howto_rela): New function.
+ (elf_code_to_howto_index): New structure.
+ (elf_info_to_howto): Re-define as elf32_i860_info_to_howto_rela.
+ (bfd_elf32_bfd_reloc_type_lookup): Re-define as
+ elf32_i860_reloc_type_lookup.
+
+2000-08-04 Rodney Brown <RodneyBrown@pmsc.com>
+
+ * som.c (struct fixup_format): Constify `format'.
+ (som_hppa_howto_table): Use SOM_HOWTO macro.
+ (try_prev_fixup, hppa_som_reloc): Decorate unused parameter.
+ (som_bfd_reloc_type_lookup): Likewise.
+ (compare_subspaces): Remove unused `count1', `count2'.
+ (som_begin_writing): Remove unused `total_reloc_size'.
+ (som_bfd_derive_misc_symbol_info): Decorate unused parameter.
+ (som_print_symbol, som_bfd_is_local_label_name): Likewise.
+ (som_set_reloc_info): Constify `cp'. Remove unused `addend'.
+ (som_find_nearest_line): Decorate unused parameter(s).
+ (som_sizeof_headers, som_get_symbol_info, som_write_armap): Likewise.
+ (som_bfd_link_split_section): Likewise.
+
+2000-08-03 Nick Clifton <nickc@cygnus.com>
+
+ * section.c: Restore backed out code.
+ * elf.c: Restore backed out code.
+ (copy_private_bfd_data): Fix bug preventing stipped dynamic
+ binaries from working.
+ * bfd-in2.h: Regenerate.
+
+2000-08-03 H.J. Lu <hjl@gnu.org>
+
+ * section.c: Back out the change made by Nick Clifton
+ <nickc@cygnus.com> on 2000-07-31. It breaks stripping dynamic
+ binaries.
+ * bfd-in2.h: Likewise.
+ * elf.c: Likewise.
+
+2000-08-03 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-sh.c (sh_elf_reloc_loop): Warning removal.
+
+2000-07-31 Jason Eckhardt <jle@cygnus.com>
+
+ * reloc.c (BFD_RELOC_860_*): New bfd relocs for i860.
+ * bfd-in2.h, libbfd.h: Regenerate.
+
+2000-07-31 Nick Clifton <nickc@cygnus.com>
+
+ * section.c (struct sec): Add new boolean field 'segment_mark'.
+ (STD_SECTION): Initialise new field to zero.
+
+ * bfd-in2.h: Regenerate.
+
+ * elf.c (copy_private_bfd_data): Reorganise section to segment
+ mapping to cope with moved sections requiring new segments,
+ and overlapping segments.
+ (SEGMENT_END): New macro: Return the end address of a segment.
+ (IS_CONTAINED_BY_VMA): New macro: Determine if a segment
+ contains a section by comparing their VMA addresses.
+ (IS_CONTAINED_BY_LMA): New macro: Determine if a segment
+ contains a section by comparing their LMA addresses.
+ (INCLUDE_SECTION_IN_SEGMENT): New macro: Determine if a
+ section should be included in a segment.
+ (SEGMENT_AFTER_SEGMENT): New macro: Determine if one segment
+ follows another in memory.
+ (SEGMENT_OVERLAPS_SEGMENT): New macro: Determine if two
+ segments overlap.
+
+2000-07-22 Jason Eckhardt <jle@cygnus.com>
+
+ * cpu-i860.c: Added comments.
+
+ * elf32-i860.c (TARGET_LITTLE_SYM): Defined to
+ bfd_elf32_i860_little_vec.
+ (TARGET_LITTLE_NAME): Defined to "elf32-i860-little".
+ (ELF_MAXPAGESIZE): Changed to 4096.
+
+ * targets.c (bfd_elf32_i860_little_vec): Declaration of
+ new target.
+ (bfd_target_vector): Added bfd_elf32_i860_little_vec.
+
+ * config.bfd (i860-stardent-sysv4*, i860-stardent-elf*): Added
+ config for little endian elf32 i860.
+ (targ_defvec): Define for the new config above
+ as "bfd_elf32_i860_little_vec".
+ (targ_selvecs): Define for the new config above
+ as "bfd_elf32_i860_vec bfd_elf32_i860_little_vec"
+
+ * configure.in (bfd_elf32_i860_little_vec): Added recognition
+ of new target vec.
+
+ * configure: Regenerated.
+
+2000-07-27 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_merge_symbol): Take one more argument,
+ dt_needed, to indicate if the symbol comes from a DT_NEEDED
+ entry. Don't overide the existing weak definition if dt_needed
+ is true.
+ (elf_link_add_object_symbols): Pass dt_needed to
+ elf_merge_symbol ().
+
+2000-07-27 Nick Clifton <nickc@cygnus.com>
+
+ * elflink.h (elf_link_size_reloc_section): Zeroes the section's
+ allocated contents.
+
+2000-07-25 Geoffrey Keating <geoffk@cygnus.com>
+
+ * configure.host (*-*-aix*): AIX has 'long long' always.
+
+ * coff-rs6000.c (xcoff_write_one_armap_big): New procedure.
+ (xcoff_write_armap_big): Write both 32-bit and 64-bit armaps.
+ (xcoff_write_archive_contents_big): Don't update the offset
+ of the symbol table, xcoff_write_armap will do it.
+
+2000-07-23 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ * elf32-mips.c (_bfd_mips_elf_check_relocs): Use abfd instead
+ of dynobj for SGI_COMPAT checks.
+
+2000-07-21 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ * coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): New function.
+ * bfd-in.h (bfd_m68k_coff_create_embedded_relocs): Add declaration.
+ * bfd-in2.h: Regenerate.
+
+2000-07-21 Nick Clifton <nickc@cygnus.com>
+
+ * elf32-mips.c (_bfd_mips_elf_check_relocs): Detect out of
+ range symbol indices in relocs and issue an error message.
+
+2000-07-20 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Don't check
+ info->new_dtags when setting DT_FLAGS_1. It will only be set
+ by the new linker options. It shouldn't break anything.
+
+2000-07-20 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set DT_FLAGS_1
+ only if info->new_dtags is true.
+
+2000-07-20 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set
+ DT_RUNPATH and DT_FLAGS only if info->new_dtags is true.
+
+2000-07-20 Hans-Peter Nilsson <hp@axis.com>
+
+ * Makefile.am (ALL_MACHINES): Add cpu-cris.lo.
+ (ALL_MACHINES_CFILES): Add cpu-cris.c.
+ (BFD32_BACKENDS): Add aout-cris.lo and elf32-cris.lo.
+ (BFD32_BACKENDS_CFILES): Add aout-cris.c and elf32-cris.c.
+ (cpu-cris.lo, aout-cris.lo, elf32-cris.lo): New rules.
+ * Makefile.in: Rebuild.
+ * aclocal.m4: Rebuild.
+ * aoutx.h (NAME(aout,machine_type)): Add case for bfd_arch_cris.
+ * archures.c (enum bfd_architecture): Add bfd_arch_cris.
+ (bfd_cris_arch): Declare.
+ (bfd_archures_list): Add bfd_cris_arch.
+ * bfd-in2.h: Rebuild.
+ * config.bfd: (cris-*-*): New target.
+ * configure.in (bfd_elf32_cris_vec, cris_aout_vec): New vectors.
+ * configure: Rebuild.
+ * elf.c (prep_headers): Add bfd_arch_cris.
+ * libbfd.h: Rebuild.
+ * libaout.h (enum machine_type): Add M_CRIS.
+ * reloc.c: Add CRIS relocations.
+ * targets.c (bfd_elf32_cris_vec, cris_aout_vec): Declare.
+ (bfd_target_vect): Add bfd_elf32_cris_vec and cris_aout_vec.
+ * cpu-cris.c, aout-cris.c, elf32-cris.c: New files.
+ * po/POTFILES.in, po/bfd.pot: Regenerate.
+
+2000-07-19 H.J. Lu <hjl@gnu.org>
+
+ * elf32-arm.h (elf32_arm_size_dynamic_sections): Also set
+ DF_TEXTREL if DT_TEXTREL is set.
+ * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
+ * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
+ * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
+ * elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
+ * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
+ * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
+ * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
+ * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
+ * elf64-ia64.c (elf64_ia64_size_dynamic_sections): Likewise.
+ * elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
+
+ * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also
+ set DF_SYMBOLIC for symbolic link. Also set DT_RUNPATH if
+ DT_RPATH is set.
+ Set the DT_FLAGS and DT_FLAGS_1 entries if necessary.
+
+2000-07-19 H.J. Lu <hjl@gnu.org>
+
+ * bfd-in.h (bfd_elf_set_dt_needed_soname): New.
+ * bfd-in2.h: Rebuild.
+
+ * elf-bfd.h (elf_obj_tdata): Add dt_soname.
+ (elf_dt_soname): New.
+
+ * elf.c (bfd_elf_set_dt_needed_soname): New.
+
+ * elflink.h (elf_link_add_object_symbols): Add the DT_NEEDED
+ entry if the shared object loaded by DT_NEEDED is used to
+ resolve the reference in a regular object.
+
+2000-07-19 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_CONFIG,
+ DT_DEPAUDIT and DT_AUDIT as strings.
+
+2000-07-19 Nick Clifton <nickc@cygnus.com>
+
+ * format.c: Fix formatting.
+
+2000-07-19 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (_bfd_elf_print_private_bfd_data): Fix DT_CHECKSUM.
+
+2000-07-19 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (_bfd_elf_print_private_bfd_data): Handle DT_BIND_NOW,
+ DT_INIT_ARRAY, DT_FINI_ARRAY, DT_INIT_ARRAYSZ, DT_FINI_ARRAYSZ,
+ DT_RUNPATH, DT_FLAGS, DT_PREINIT_ARRAY, DT_PREINIT_ARRAYSZ,
+ DT_PLTPADSZ, DT_MOVEENT, DT_MOVESZ, DT_FEATURE, DT_POSFLAG_1,
+ DT_SYMINSZ, DT_SYMINENT, DT_CONFIG, DT_DEPAUDIT, DT_AUDIT,
+ DT_PLTPAD, DT_MOVETAB, DT_SYMINFO, DT_RELACOUNT, DT_RELCOUNT,
+ DT_FLAGS_1, DT_USED and DT_CHECKSUM.
+
+2000-07-18 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * elf.c (bfd_elf_get_sign_extend_vma, bfd_elf_get_arch_size): Move
+ renamed functions from here...
+ (assign_section_numbers): Use renamed functions.
+ (prep_headers): Use renamed functions.
+
+ * bfd.c (bfd_get_sign_extend_vma, bfd_get_arch_size): ...To here.
+ * bfd-in.h (bfd_get_sign_extend_vma, bfd_get_arch_size): Update.
+ * bfd-in2.h: Regenerate.
+
+2000-07-18 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ * elf32-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Add
+ parenthesis in if statement.
+
+2000-07-17 Koundinya K <kk@ddeorg.soft.net>
+
+ Enable the support for Traditional MIPS.
+ * elf32-mips.c (IRIX_COMPAT): Recognize bfd_elf32_tradbigmips_vecand
+ return ict_none appropriately for traditional mips targets.
+ (STUB_LW): Change 0x8f998000 to 0x8f998010 for traditional mips.
+ (STUB_MOVE): Conditionalize for traditonal mips.
+ (STUB_LI16): Likewise.
+ (_bfd_mips_elf_modify_segment_map): Conditionalize to avoid making
+ room for RTPROC header.
+ (_bfd_mips_elf_modify_segment_map): For a normal mips executable set
+ the permission for the PT_DYNAMIC as read, write and execute.
+ (mips_elf_calculate_relocation): Check for the symbol _DYNAMIC_LINKING
+ for traditonal mips.
+ (_bfd_mips_elf_create_dynamic_sections): Add the symbol
+ _DYNAMIC_LINKING for traditonal mips.
+ (_bfd_mips_elf_create_dynamic_sections): Add the symbol __RLD_MAP
+ in case of traditonal mips.
+ (_bfd_mips_elf_adjust_dynamic_symbol): Create a stub only if a PLT
+ entry is required. For a function if PLT is not required then set the
+ corresponding hash table entry to 0.
+ (_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG entry for
+ traditonal mips.
+ (_bfd_mips_elf_finish_dynamic_symbol): for a undefined symbol in a
+ shared object set the value to 0.
+ (_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol
+ _DYNAMIC_LINKING for traditonal mips.
+ (_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol __RLD_MAP
+ for traditonal mips.
+
+2000-07-15 H.J. Lu <hjl@gnu.org>
+
+ * aoutx.h (translate_to_native_sym_flags): Handle BSF_LOCAL.
+
+2000-07-12 Charles Wilson <cwilson@ece.gatech.edu>
+
+ * libbfd.c (bfd_seek): fix 'seek beyond EOF' error when writing
+ out a structure that is BFD_IN_MEMORY.
+
+2000-07-11 Alan Modra <alan@linuxcare.com.au>
+
+ * elf64-hppa.c (get_dyn_name): Pass in section pointer instead of
+ bfd pointer. Print section id instead of bfd pointer for local
+ syms. Prefix addend with `+' for global syms as well as local.
+ Correct calculation of name component lengths.
+ (elf64_hppa_check_relocs): Update call to get_dyn_name.
+
+ From David Huggins-Daines <dhd@linuxcare.com>
+ * elf-hppa.h (elf_hppa_relocate_section): Update calls here too.
+ * elf64-hppa.c (elf64_hppa_check_relocs): Fix some warnings.
+ (elf64_hppa_modify_segment_map): Likewise.
+
+2000-07-11 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * elf.c (bfd_elf_get_sign_extend_vma): Return tendency of VMA
+ addresses to be "naturally" sign extended. Return -1 if unknown.
+ * bfd-in.h (bfd_elf_get_sign_extend_vma): Add declaration.
+ * bfd-in2.h: Regenerate.
+
+2000-07-11 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * ecoffswap.h (ecoff_get_off, ecoff_put_off): Add ECOFF_SIGNED_32
+ and ECOF_SIGNED_64 to list ways to extract an offset.
+ (ecoff_swap_fdr_in, ecoff_swap_fdr_out, ecoff_swap_pdr_in,
+ ecoff_swap_pdr_out, ecoff_swap_ext_in, ecoff_swap_ext_out):
+ Update.
+ * elf64-mips.c (ECOFF_SIGNED_64): Define instead of ECOFF_64.
+ * elf32-mips.c (ECOFF_SIGNED_32): Define instead of ECOFF_32.
+
+2000-07-11 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * elfcode.h (elf_object_p): Use bfd_set_start_address and not
+ bfd_get_start_address.
+ (elf_swap_ehdr_in): Sign extend e_entry when applicable.
+ (elf_swap_ehdr_out): Ditto.
+
+2000-07-10 Alexander Aganichev <AAganichev@hypercom.com>
+
+ * archures.c (bfd_default_scan): Add set of bfd_mach_ cases for
+ compatibility with older binutils.
+
+2000-07-10 Alan Modra <alan@linuxcare.com.au>
+
+ * section.c (bfd_make_section_anyway): Start section_id at 0x10.
+ (STD_SECTION): Avoid negative ids, instead use 0 to 3.
+
+ From Ryan Bradetich <rbradetich@uswest.net>
+ * dwarf1.c (parse_die): Cure signed/unsigned char warnings.
+ (parse_line_table): Ditto.
+ (_bfd_dwarf1_find_nearest_line): Ditto.
+ * syms.c (cmpindexentry): Remove extra `*' from params.
+
+2000-07-09 Koundinya K <kk@ddeorg.soft.net>
+
+ * elf32-mips.c (sort_dynamic_relocs): New Function.
+ (_bfd_mips_elf_finish_dynamic_sections): Call sort_dynamic_relocs
+ via qsort to sort the dynamic relocations in increasing r_symndx
+ value.
+
+2000-07-09 Alan Modra <alan@linuxcare.com.au>
+
+ * elf64-hppa.c (elf64_hppa_dyn_hash_table_init): Add
+ ATTRIBUTE_UNUSED to unused args.
+ (get_opd): Likewise.
+ (get_plt): Likewise.
+ (get_dlt): Likewise.
+ (get_stub): Likewise.
+ (elf64_hppa_adjust_dynamic_symbol): Likewise.
+ (elf64_hppa_link_output_symbol_hook): Likewise.
+ (elf64_hppa_check_relocs): Delete unused var.
+ (elf64_hppa_size_dynamic_sections): Likewise.
+ (elf64_hppa_finalize_opd): Likewise.
+ (elf64_hppa_finalize_dynreloc): Likewise.
+ (elf64_hppa_modify_segment_map): Likewise.
+ (elf64_hppa_finish_dynamic_sections): Likewise.
+
+ * elf-hppa.h (elf_hppa_final_write_processing): Add
+ ATTRIBUTE_UNUSED to unused args.
+ (elf_hppa_final_link_relocate): Likewise.
+ (elf_hppa_record_segment_addrs): Add paretheses.
+ (elf_hppa_relocate_section): Constify dyn_name.
+
+ From David Huggins-Daines <dhd@linuxcare.com>
+ * config.bfd: Add hppa*64*-*-linux-gnu 64-bit target, and
+ rearrange case statement so that it gets preferred to 32-bit ones.
+
+ * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Use
+ asection->id instead of address of asection structure.
+ (elf32_hppa_size_stubs): Likewise.
+
+ * elf32-hppa.c (elf32_hppa_size_stubs): Use just one stub section
+ for .init* and .fini*.
+
+ * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Mask pointers
+ and addends used in stub names to 32 bits.
+ (elf32_hppa_size_stubs): Likewise.
+
+ * elf-hppa.h (elf_hppa_final_link_relocate): Don't sum addend
+ twice for R_PARISC_GPREL64. Use bfd_put_32 for R_PARISC_PCREL32,
+ not bfd_put_64. Fix minor comment typo and formatting.
+
+ Changes to create multiple linker stubs, positioned immediately
+ before the section where they are required.
+ * elf32-hppa.c: Don't include hppa_stubs.h.
+ (elf32_hppa_stub_hash_entry): Add a pointer to the stub section.
+ (elf32_hppa_stub_hash_table): Delete.
+ (elf32_hppa_link_hash_entry): Delete.
+ (elf32_hppa_link_hash_table): Use plain bfd_hash_table for
+ stub_hash_table, and store the struct here rather than a pointer.
+ Delete output_symbol_count. Add offset array. Change
+ global_value to a bfd_vma.
+ (elf32_hppa_stub_hash_lookup): Use table instead of table->root.
+ (elf32_hppa_stub_hash_traverse): Delete.
+ (elf32_hppa_name_of_stub): Delete.
+ (elf32_hppa_link_hash_lookup): Delete.
+ (elf32_hppa_link_hash_traverse): Delete.
+ (elf32_hppa_stub_hash_table_init): Delete.
+ (elf32_hppa_size_of_stub): Pass input section and offset rather
+ than location and calculate location here. Don't pass name as all
+ stubs are now the same size.
+ (elf32_hppa_stub_hash_newfunc): Init new fields.
+ (elf32_hppa_link_hash_table_create): Likewise, and stub_hash_table
+ too.
+ (elf32_hppa_bfd_final_link_relocate): Cast enums to int before
+ comparing against ints. Rewrite stub handling code.
+ (elf32_hppa_relocate_section): Make r_type and r_symndx unsigned.
+ Case enums to int before comparing against ints. Remove
+ bfd_reloc_dangerous case.
+ (elf32_hppa_build_one_stub): Rewrite.
+ (elf32_hppa_size_one_stub): New function.
+ (elf32_hppa_build_stubs): Rewrite.
+ (elf32_hppa_size_stubs): Pass in linker call-back functions.
+ Rewrite stub-handling specific code.
+
+ * elf32-hppa.h (elf32_hppa_size_stubs): Update prototype.
+
+ * elf64-hppa.c (elf64_hppa_dyn_hash_entry): Fix a comment typo.
+
+ * hppa_stubs.h: Delete.
+ * Makefile.am (SOURCE_HFILES): Remove hppa_stubs.h
+ (elf32-hppa.lo): Remove hppa_stubs.h from dependencies.
+ * Makefile.in: Regenerate.
+
+ * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Handle e_nlsel and
+ e_nlrsel.
+
+ * libhppa.h (hppa_field_adjust): Correct e_nsel case.
+
+ * elf32-hppa.c (elf32_hppa_relocate_section): Mention the offset
+ and section name for bfd_reloc_notsupported error message.
+ (elf32_hppa_bfd_final_link_relocate): Print reasons for returning
+ bfd_reloc_notsupported.
+ (elf32_hppa_relocate_section): Add ATTRIBUTE_UNUSED to output_bfd.
+
+ * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Handle
+ undefined weak symbols for all relocs.
+ (elf32_hppa_size_of_stub): Adjust calculation by 8 since branch
+ offsets are relative to one past the delay slot.
+ (elf32_hppa_size_stubs): Account for reloc addend when calculating
+ branch destination. Put addend into stub name too.
+ (elf32_hppa_bfd_final_link_relocate): Account for reloc addend and
+ adjust by 8 when deciding whether a linker stub is needed. Put
+ addend into stub name as for above.
+
+ * elf32-hppa.c (hppa_elf_relocate_insn): Change signed/unsigned on
+ various args and vars.
+ (elf32_hppa_bfd_final_link_relocate): Here too.
+ (elf32_hppa_size_stubs): Rename index -> indx. Use e_indx for
+ inner block var to avoid shadowing.
+
+ * elf32-hppa.h (_bfd_elf32_hppa_gen_reloc_type): Make `field' arg
+ unsigned.
+ * elf64-hppa.h (_bfd_elf64_hppa_gen_reloc_type): Ditto.
+ * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Ditto.
+ (elf_hppa_fake_sections): Rename local var to avoid shadowing.
+
+ * libhppa.h: Change practically all unsigned ints to plain ints.
+ Remove tests on gcc version. Instead use ATTRIBUTE_UNUSED for
+ prototypes.
+
+ From Ryan Bradetich <rbradetich@uswest.net>
+ * libhppa.h (hppa_opcode_type): New enum to replace #define's.
+ * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Modify to
+ suit above.
+ From David Huggins-Daines <dhd@linuxcare.com>
+ * elf-hppa.h (elf_hppa_relocate_insn): Update the opcode constants
+ to the new OP_* ones.
+
+ * elf32-hppa.c (elf32_hppa_size_stubs): Consolidate freeing on
+ error exit. Bail out earlier on plabel relocs that we aren't
+ interested in. Don't tell elf32_hppa_stub_hash_lookup to copy
+ string, and then don't free our copy.
+ (elf32_hppa_build_one_stub): Make insn unsigned int.
+
+ * libhppa.h (bfd_hppa_insn2fmt): 22 bit branches are only
+ available with BL, not BE and BLE.
+
+ * elf32-hppa.c (hppa_elf_relocate_insn): Add some more example
+ code for elf arg relocs.
+ (elf32_hppa_bfd_final_link_relocate): Replace boolean is_local
+ argument with elf_link_hash_entry h. Handle undefined weak
+ symbols. Move $global$ lookup from here...
+ (elf32_hppa_relocate_section): ...to here. Return correct error
+ message for non-handled relocs.
+ (elf32_hppa_size_of_stub): Correctly test branch range. Previous
+ wrong test was -0x3ffff to +0x40000.
+
+ * elf-hppa.h (elf_hppa_final_link_relocate): R_PARISC_DIR17R,
+ R_PARISC_DIR17F, and R_PARISC_DIR21L are for absolute branches;
+ Handle them as such.
+ (elf_hppa_relocate_insn): Fix a typo.
+
+ * libhppa.h (GET_FIELD, GET_BIT, MASK, CATENATE, ELEVEN): Delete.
+ (assemble_3, assemble_6, assemble_12, assemble_16, assemble_16a,
+ assemble_17, assemble_21): Delete.
+ Supply defines for all 64 possible opcodes.
+ (bfd_hppa_insn2fmt): Add bfd argument, and use to select wide mode
+ formats. Handle COMICLR.
+ (hppa_rebuild_insn): Delete bfd argument. Handle formats 10, -11,
+ -10, -16, 16, 22.
+
+ * elf32-hppa.c (hppa_elf_relocate_insn): Complete rewrite.
+ (elf32_hppa_bfd_final_link_relocate): Major rewrite.
+ (elf32_hppa_build_one_stub): Modify hppa_elf_relocate_insn calls
+ to suit.
+ (elf32_hppa_size_stubs): Don't free stub_name twice. Read in all
+ the local syms - did this code get deleted accidentally? Ignore
+ undefined and undefweak syms.
+
+ * elf-hppa.h (elf_hppa_final_link): Move hppa_info to outermost
+ block. Use it instead of elf64_hppa_hash_table (info).
+ (elf_hppa_final_link_relocate): Use hppa_info instead of
+ elf64_hppa_hash_table (info).
+
+ * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16,
+ re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn.
+ (hppa_rebuild_insn): Mask immediate bits here instead.
+ * elf-hppa.h (elf_hppa_relocate_insn): Mask here too.
+
+2000-07-08 Alan Modra <alan@linuxcare.com.au>
+
+ * section.c (struct sec): Add id field. Tidy comment formatting.
+ (bfd_make_section_anyway): Set id.
+ (STD_SECTION): Init id too.
+ Change CONST to const throughout.
+ * archures.c (bfd_arch_info): Tidy comment.
+ (bfd_arch_list): Change a CONST to const.
+ * libbfd-in.h: Tidy comments and replace CONST with const.
+ * elf-bfd.h: Likewise.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+ * libcoff.h: Regenerate.
+
+2000-07-07 DJ Delorie <dj@redhat.com>
+
+ * archive.c (_bfd_write_archive_contents): Add an informative
+ comment.
+
+2000-07-06 Kazu Hirata <kazu@hxi.com>
+
+ * srec.c: Fix formatting.
+
+2000-06-05 DJ Delorie <dj@redhat.com>
+
+ * MAINTAINERS: new
+
+2000-07-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * coff-arm.c (coff_arm_relocate_section): Do not ignore the symbol
+ value of PC-relative offsets.
+
+2000-07-03 Jim Wilson <wilson@cygnus.com>
+
+ * elf64-alpha.c (alpha_elf_size_info): New.
+ (elf_backend_size_info): Define to alpha_elf_size_info.
+ * elfcode.h (elf_size_info): Change hash bucket size to 4.
+
+2000-07-03 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ * elf32-mips.c: Include elf32-target.h again for the traditional
+ MIPS targets.
+
+2000-07-03 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * elf32-avr.c (bfd_elf32_bfd_reloc_type_lookup):
+ Add ATTRIBUTE_UNUSED to unused arguments to avoid warnings.
+ (avr_info_to_howto_rela): Likewise.
+ (elf32_avr_gc_mark_hook): Likewise.
+ (elf32_avr_gc_sweep_hook): Likewise.
+ (elf32_avr_relocate_section): Likewise.
+
+2000-07-03 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * cofflink.c (_bfd_coff_write_global_sym): Turn a weak symbol into
+ an external symbol for a non-shared, non-relocatable link.
+
+2000-07-03 Nick Clifton <nickc@redhat.com>
+
+ * cofflink.c (IS_EXTERNAL): New macro: Return true if the symbol
+ is an external symbol.
+ (IS_WEAK_EXTERNAL): New macro: Return true if the symbol is a weak
+ external symbol.
+
+2000-07-03 Kazu Hirata <kazu@hxi.com>
+
+ * reloc16.c: Fix formatting.
+
+2000-07-01 Koundinya K <kk@ddeorg.soft.net>
+
+ * config.bfd: Change targ_defvec and targ_selvecs for mips*-*-sysv4*
+ to add a new target for traditional mips i.e
+ bfd_elf32_tradbigmips_vec and bfd_elf32_tradlittlemips_vec.
+ * configure.in: Likewise.
+ * configure: Rebuild.
+ * targets.c (bfd_elf32_tradbigmips_vec): Declare and put in
+ bfd_target_vector.
+ (bfd_elf32_tradlittlemips_vec): Likewise.
+ * elfxx-target.h: Add macro INCLUDED_TARGET_FILE which is more a test
+ to see that elfNN_bed does not get redefined even if the target file
+ is included twice for a chip. See elf32-mips.c.
+
+2000-07-01 Alan Modra <alan@linuxcare.com.au>
+
+ * Makefile.am (DEP): Fix 2000-06-22. grep after running dep.sed
+ (CLEANFILES): Add DEPA.
+ * Makefile.in: Regenerate.
+
+2000-06-30 DJ Delorie <dj@cygnus.com>
+
+ * peicode.h (coff_swap_filehdr_in): can't use e_magic because we
+ can't assume the PE header is at 0x80.
+
+2000-06-29 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * syms.c (_bfd_stab_section_find_nearest_line): Use IS_ABSOLUTE_PATH.
+
+2000-06-28 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * go32stub.h: Update stub.
+
+2000-06-26 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * archures.c (bfd_mach_avr5): Define.
+ * bfd-in2.h (bfd_mach_avr5): Define.
+ * cpu-avr.c (arch_info_struct): Rename bfd_mach_avr4 to
+ bfd_mach_avr5, add bfd_mach_avr4. Update comments.
+ (compatible): Update comment. Add missing test.
+ * elf32-avr.c (avr_final_link_relocate): Support 8K wrap
+ for avr2 and avr4. Simplify 8K wrap code.
+ (bfd_elf_avr_final_write_processing): Recognize bfd_mach_avr5.
+ (elf32_avr_object_p): Recognize E_AVR_MACH_AVR5.
+
+2000-06-26 Kazu Hirata <kazu@hxi.com>
+
+ * coff-h8300.c: Fix formatting.
+ * cpu-h8300.c: Likewise.
+
+2000-06-24 Alexandre Oliva <aoliva@redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Print `(local)'
+ for local symbols whose names are unknown.
+
+2000-06-22 Alan Modra <alan@linuxcare.com.au>
+
+ * Makefile.am (DEP): grep for leading `/' in DEP1, and fail if we
+ find one.
+ * Makefile.in: Regenerate.
+ * doc/Makefile.in: Regenerate.
+
+2000-06-20 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.am: Rebuild dependency.
+ * Makefile.in: Rebuild.
+
+2000-06-20 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): New function.
+ (elf_backend_copy_indirect_symbol): Map to the new function.
+
+2000-06-20 Alan Modra <alan@linuxcare.com.au>
+
+ * archive.c (normalize): Correct pointer comparison when checking
+ for backslashes.
+ (bfd_bsd_truncate_arname): Likewise.
+ (bfd_gnu_truncate_arname): Likewise.
+
+2000-06-20 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ * elf-bfd.h (struct elf_obj_tdata): Define per BFD Irix 5 virtual
+ sections elf_{text,data}_{section,symbol}.
+ * elf32-mips.c: mips_elf_{text,data}_{section,symbol}{,_ptr}: Remove.
+ (_bfd_mips_elf_hide_symbol): New function.
+ (elf_backend_hide_symbol): Map to the new function.
+ (_bfd_mips_elf_add_symbol_hook): Change to use new per BFD
+ definitions of mips_elf_{text,data}_{section,symbol}.
+ (mips_elf_local_relocation_p): Try to find the direct symbol
+ based on new check_forced argument.
+ (mips_elf_calculate_relocation): Use new version of
+ mips_elf_local_relocation_p.
+ (mips_elf_relocate_section): Likewise.
+ (_bfd_mips_elf_relocate_section): Likewise.
+ (mips_elf_sort_hash_table): Only assert that have enough GOT
+ space.
+ (mips_elf_got16_entry): Match all 32 bits to the existing GOT
+ entry if the relocation based on the new external argument.
+ (mips_elf_create_dynamic_relocation): Assert that we have a
+ section contents allocated where we can swap out the dynamic
+ relocations.
+ (mips_elf_calculate_relocation): Find the real hash-table entry
+ correctly by using h->root.root.type. Only create a dynamic
+ relocation entry if the symbol is defined in a shared library.
+ Create an external GOT entry for the GOT16 relocation if the
+ symbol was forced local.
+ (_bfd_mips_elf_finish_dynamic_symbol): Don't assert there is a
+ dynamic index if the symbol was forced local.
+
+2000-06-20 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * elf32-mips.c: Fix typos in comments.
+
+2000-06-19 Mark Kettenis <kettenis@gnu.org>
+
+ * rs6000-core.c: Wrap definition of `union VmInfo' within #ifdef
+ CORE_VERSION_1.
+
+2000-06-18 Stephane Carrez <stcarrez@worldnet.fr>
+
+ * Makefile.in, bfd-in2.h, libbfd.h, configure: Rebuild.
+ * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES, BFD32_BACKENDS,
+ BFD32_BACKENDS_CFILES): Add 68hc12, 68hc11 files.
+ * configure.in (bfd_elf32_m68hc12_vec): Recognize.
+ (bfd_elf32_m68hc11_vec): Likewise.
+ * config.bfd (targ_cpu): Recognize 68hc12 and 68hc11.
+ Supports 68hc11 & 68hc12 at the same time.
+ * targets.c (bfd_elf32_m68hc12_vec): Declare and put in
+ bfd_target_vector.
+ (bfd_elf32_m68hc11_vec): Likewise.
+ * elf.c (prep_headers): Recognize bfd_arch_m68hc12 and 68hc11.
+ * archures.c (bfd_m68hc12_arch): Define and register in global list
+ (bfd_m68hc11_arch): Likewise.
+ * reloc.c (BFD_RELOC_M68HC11_HI8, BFD_RELOC_M68HC11_LO8,
+ BFD_RELOC_M68HC11_3B): Define.
+ * cpu-m68hc12.c, elf32-m68hc12.c: New files for 68hc12 support.
+ * cpu-m68hc11.c, elf32-m68hc11.c: New files for 68hc11 support.
+
+2000-06-18 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ * elf_bfd.h (struct elf_backend_data): Add info argument to
+ elf_backend_hide_symbol.
+ (_bfd_elf_link_hash_hide_symbol): Likewise.
+ * elf.c (_bfd_elf_link_hash_hide_symbol): Likewise.
+ * elf64-ia64.c (elf64_ia64_hash_hide_symbol): Likewise.
+ * elflink.h (elf_link_add_object_symbols): Likewise.
+ (elf_link_assign_sym_version): Likewise.
+
+2000-06-18 H.J. Lu <hjl@gnu.org>
+
+ * coff-i386.c (coff_i386_reloc): Don't return in case of
+ output_bfd == (bfd *) NULL if COFF_WITH_PE is defined.
+ Compensate PE relocations when linking with non-PE object
+ files to generate a non-PE executable.
+
+2000-06-17 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ * elf32-mips.c (mips_elf_calculate_relocation): Explicitly write
+ GOT entries if we're doing a static link or -Bsymbolic link.
+
+2000-06-15 Ulf Carlsson <ulfc@engr.sgi.com>
+
+ * elflink.h (elf_link_adjust_relocs): Check for and call backend
+ specifific swap_reloc_{in,out} and swap_reloca_{in,out} if
+ available.
+ (elf_link_output_relocs): Likewise.
+ (elf_reloc_link_order): Likewise.
+
+2000-06-16 Nicholas Duffek <nsd@redhat.com>
+
+ * archures.c (enum bfd_architecture): #define constants for
+ PowerPc and RS6000 machine numbers.
+ * bfd-in2.h: Regenerate.
+ * coffcode.h (coff_set_arch_mach_hook): #ifdef XCOFF64, set arch
+ to bfd_arch_powerpc instead of bfd_arch_rs6000. Refer to PowerPc
+ and RS6000 machine numbers using #defined constants from
+ archures.c.
+ * cpu-powerpc.c (arch_info_struct): Refer to PowerPc and RS6000
+ machine numbers using #defined constants from archures.c. Add
+ entries for EC603e, 630, A35, RS64II, RS64III, 7400. Specify
+ 64-bit words in 620 entry.
+ * cpu-rs6000.c (arch_info_struct): Create with entries for RS1,
+ RSC, and RS2.
+ (bfd_rs6000_arch): Change default machine to 0 (bfd_mach_rs6k).
+
+2000-06-16 Nicholas Duffek <nsd@cygnus.com>
+
+ * coffcode.h (coff_mkobject_hook): Set xcoff_tdata.xcoff64.
+ * libcoff-in.h (struct xcoff_tdata): Define xcoff64 field.
+ * libcoff.h (struct xcoff_tdata): Define xcoff64 field.
+
+2000-06-16 Nicholas Duffek <nsd@redhat.com>
+
+ * bfd-in.h (bfd_family_coff): Define.
+ * bfd-in2.h: Regenerate.
+ * coffgen.c (coff_count_linenumbers, coff_symbol_from,
+ coff_find_nearest_line): Check COFFness using bfd_family_coff()
+ instead of bfd_target_coff_flavour.
+ * cofflink.c (_bfd_coff_final_link): Likewise.
+ * cpu-ns32k.c (do_ns32k_reloc): Don't strcmp() target name to
+ exclude XCOFF files.
+ * reloc.c (bfd_perform_relocation, bfd_install_relocation):
+ Likewise.
+ * targets.c (enum bfd_flavour): Add bfd_target_xcoff_flavour.
+ * xcoff-target.h (TARGET_SYM): Use bfd_target_xcoff_flavour.
+ * xcofflink.c (XCOFF_XVECP): Delete.
+ (bfd_xcoff_link_record_set, bfd_xcoff_import_symbol,
+ bfd_xcoff_export_symbol, bfd_xcoff_link_count_reloc,
+ bfd_xcoff_record_link_assignment,
+ bfd_xcoff_size_dynamic_sections): Replace XCOFF_XVECP() with
+ check for bfd_target_xcoff_flavour.
+
+2000-06-16 Nicholas Duffek <nsd@redhat.com>
+
+ * rs6000-core.c: Support 64-bit core files, support pre-4.3 core
+ files on AIX 4.3.
+ (read_hdr): New function.
+ (rs6000coff_core_p): Store mstsave or __context64 struct instead
+ of trying to extract individual registers. Set abfd->arch_info
+ to match the architecture that created the core file.
+ (rs6000coff_get_section_contents): Delete.
+ * xcoff-target.h (rs6000coff_get_section_contents): Delete.
+
+2000-06-14 H.J. Lu <hjl@gnu.org>
+
+ * vms-misc.c (_bfd_vms_next_record): Return -1 if PRIV(vms_rec)
+ is NULL.
+
+2000-06-13 H.J. Lu <hjl@gnu.org>
+
+ * configure: Regenerate.
+
+2000-06-13 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * peicode.h (pe_ILF_object_p): Use TARGET_LITTLE_SYM instead of
+ armpei_little_vec.
+
+2000-06-08 David O'Brien <obrien@FreeBSD.org>
+
+ * configure.in (VERSION): Update to show this is the CVS mainline.
+
+2000-06-07 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-d10v.c: Include elf/d10v.h
+ (enum reloc_type): Delete.
+ * elf32-d30v.c: Include elf/d30v.h
+ (enum reloc_type): Delete.
+
+ * Makefile.am: Run "make dep-am" to regenerate dependencies.
+ * Makefile.in: Regenerate.
+
+ * elf32-i386.c (elf_howto_table): Remove EMPTY_HOWTOs.
+ (elf32_i386_vtinherit_howto, elf32_i386_vtentry_howto): Delete and
+ move HOWTOs into elf_howto_table.
+ (R_386_standard, R_386_ext_offset): Define.
+ (R_386_ext, R_386_vt_offset, R_386_vt): Define.
+ (elf_i386_reloc_type_lookup): Modify calculation of index into
+ elf_howto_table since we've removed the padding.
+ (elf_i386_info_to_howto_rel): Likewise.
+ (elf_i386_relocate_section): Likewise.
+
+2000-06-06 Michael Snyder <msnyder@seadog.cygnus.com>
+
+ * elf.c (elf_grok_pr_status): Eliminate reference to prgregset_t.
+
+2000-06-05 H.J. Lu <hjl@gnu.org>
+
+ * elflink.c (_bfd_elf_link_record_dynamic_symbol): Don't flag
+ an error when seeing an undefined symbol with hidden/internal
+ attribute. It is handled in *_relocate_section ().
+
+2000-06-05 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_fix_symbol_flags): Follow the link for the
+ indirect symbol for the ELF_LINK_NON_ELF bit.
+ (elf_link_output_extsym): Don't output the indirect symbol even
+ if the ELF_LINK_NON_ELF bit is set.
+
+2000-06-01 J.T. Conklin <jtc@redback.com>
+
+ * config.bfd (i[3456]86-*-netbsdelf*): New target.
+ (i[3456]86-*-netbsdaout*): New target.
+ (i[3456]86-*-netbsd*): Add bfd_elf32_i386_vec to targ_selvecs.
+ (i[3456]86-*-openbsd*): Likewise.
+
+2000-05-30 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * trad-core.c: From hpux-core.c, include <dirent.h> or
+ <sys/ndir.h> when possible.
+
+2000-05-31 Ulrich Drepper <drepper@redhat.com>
+
+ * elf.c (_bfd_elf_slurp_version_tables): Correct reading of version
+ definitions. We must not assume they are sorted in the file
+ according to their index numbers.
+
+2000-05-31 Alan Modra <alan@linuxcare.com.au>
+
+ * elf-hppa.h: (elf_hppa_final_link_relocate): Use e_rsel field
+ selector for R_PARISC_PCREL17R. R_PARISC_DIR17R and
+ R_PARISC_DIR17F are for absolute branches; Handle them as such.
+
+2000-05-30 Nick Clifton <nickc@cygnus.com>
+
+ * cpu-i960.c (scan_960_mach): Accept 80960KA, 80960KB,
+ 80960CA, 80960MC as valid machine names.
+
+2000-05-30 H.J. Lu <hjl@gnu.org>
+
+ * elflink.c (_bfd_elf_link_record_dynamic_symbol): Clear the
+ visibility bits if the symbol is undefined. Correctly handle
+ weak undefined symbols with hidden and internal attributes.
+
+ * elflink.h (elf_link_add_object_symbols): Always turn the
+ symbol into local if it has the hidden or internal attribute.
+
+2000-05-29 Philip Blundell <philb@gnu.org>
+
+ * ppcboot.c: Add packed attribute if compiling with GCC.
+
+2000-05-29 Anatoly Vorobey <mellon@pobox.com>
+
+ * elf.c (_bfd_elf_link_hash_table_init): Initialize dynlocal.
+
+2000-05-26 Michael Snyder <msnyder@seadog.cygnus.com>
+
+ * elf.c (elfcore_grok_prstatus, elfcore_grok_pstatus,
+ elfcore_grok_psinfo): Add code to allow debugging a 32-bit
+ corefile on a 64-bit (Sparc Solaris) host. Also clean up
+ a few old comments.
+
+2000-05-26 Alan Modra <alan@linuxcare.com.au>
+
+ * Makefile.am: Update dependencies with "make dep-am"
+ * Makefile.in: Regenerate.
+
+ * sysdep.h (gettext, dgettext, dcgettext, textdomain,
+ bindtextdomain): Replace defines with those from intl/libgettext.h
+ to quieten gcc warnings.
+
+2000-05-26 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * aoutx.h (find_nearest_line): Use IS_ABSOLUTE_PATH.
+
+ * archive.c (normalize, bfd_bsd_truncate_arname,
+ bfd_gnu_truncate_arname) [HAVE_DOS_BASED_FILE_SYSTEM]: Support
+ file names with backslashes.
+
+ * cache.c (bfd_open_file) [__MSDOS__]: Don't unlink the file
+ before opening it.
+
+ * sysdep.h: Include filenames.h.
+
+2000-05-26 Alan Modra <alan@linuxcare.com.au>
+
+ * opncls.c (bfd_close_all_done): Mask file perms with 0777 not 0x777.
+
+2000-05-26 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-sparc.c (sparc64_elf_relax_section): New.
+ (sparc64_elf_relocate_section): Optimize tail call into branch always
+ if possible.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ (elf32_sparc_relax_section): New.
+
+2000-05-26 Jakub Jelinek <jakub@redhat.com>
+
+ * elf64-sparc.c: Add ATTRIBUTE_UNUSED to unused function parameters.
+ Remove unusued variables.
+ (sparc64_elf_relocate_section): Change r_symndx type to unsigned long.
+ (sparc64_elf_merge_private_bfd_data): Fix shared library case from
+ previous fix, so that shared libs really don't influence targets
+ extension mask and memory model.
+
+2000-05-23 H.J. Lu <hjl@gnu.org>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section): Check
+ h->root.other not h->other.
+ * elf32-mips.c (mips_elf_calculate_relocation): Likewise.
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Fix a typo.
+
+2000-05-23 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (elf_i386_relocate_section): Don't allow the
+ undefined symbol with the non-default visibility attributes.
+ * elf-hppa.h (elf_hppa_relocate_section): Likewise.
+ * elf32-arm.h (elf32_arm_relocate_section): Likewise.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
+ * elf32-mips.c (mips_elf_calculate_relocation): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf64-ia64.c (elf64_ia64_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+
+2000-05-22 Richard Henderson <rth@cygnus.com>
+
+ * elf64-ia64.c (ia64_howto_table): Add PCREL60B, PCREL21BI,
+ PCREL22, PCREL64I. Zero size of special relocs.
+ (elf64_ia64_reloc_type_lookup): Likewise.
+ (USE_BRL, oor_brl, oor_ip): New.
+ (elf64_ia64_relax_section): New.
+ (elf64_ia64_check_relocs): Handle PCREL60B, PCREL22, PCREL64I.
+ (elf64_ia64_install_value): Likewise, plus PCREL21BI.
+ (elf64_ia64_relocate_section): Likewise.
+ (bfd_elf64_bfd_relax_section): New.
+ * reloc.c (BFD_RELOC_IA64_PCREL21BI): New.
+ (BFD_RELOC_IA64_{PCREL22,PCREL60B,PCREL64I}): New.
+ * bfd-in2.h, libbfd.h: Regenerate.
+
+2000-05-22 Nick Clifton <nickc@cygnus.com>
+
+ * configure.in : Add peigen.lo to MIPS PE targets.
+ * configure: Regenerate.
+
+2000-05-22 Momchil Velikov <velco@fadata.bg>
+
+ * libbfd.c (_bfd_generic_verify_endian_match): Compare endianess
+ only if it is known for both input and output bfds. Separate
+ error message strings as in some languages, it may be necessary
+ to change more than one place in the string to change between
+ 'big' and 'little'.
+
+ * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Remove inline
+ endianess checks, call _bfd_generic_verify_endian_match() instead.
+
+ * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Likewise.
+
+ * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
+
+ * elf32-arm.h (elf32_arm_merge_private_bfd_data): Likewise. Verify
+ endianess before checking bfd flavours.
+
+2000-05-22 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_output_extsym): Clear the visibility
+ field for symbols not defined locally.
+
+2000-05-18 Alan Modra <alan@linuxcare.com.au>
+
+ * libhppa.h (re_assemble_3, re_assemble_12, re_assemble_16,
+ re_assemble_17, re_assemble_21, re_assemble_22): Don't mask insn.
+ (hppa_rebuild_insn): Mask immediate bits here instead.
+ * elf-hppa.h (elf_hppa_relocate_insn): Mask here too.
+
+2000-05-18 Momchil Velikov <velco@fadata.bg>
+
+ * elflink.h (elf_bfd_final_link, elf_link_input_bfd): When emiting
+ relocs for an executable, ensure that they are virtual addresses.
+
+2000-05-18 Jeffrey A Law (law@cygnus.com)
+
+ * config.bfd (hppa*64*-*-hpux11*): New target triplet.
+
+2000-05-17 S. Bharadwaj Yadavalli <sby@scrugs.lkg.dec.com>
+ Rick Gorton <gorton@scrugs.lkg.dec.com>
+
+ * elflink.h: Add emitrelocations support: when enabled, relocation
+ information and relocation sections are put into final output
+ executables. If the emitrelocations flag is set, do the following:
+ (elf_bfd_final_link): Emit relocation sections.
+ (elf_link_input_bfd): Compute relocation section contents.
+ (elf_gc_sections): Don't clean relocation sections.
+
+2000-05-16 Catherine Moore <clm@cygnus.com>
+
+ * som.c (som_decode_symclass): Recognize weak symbols.
+
+2000-05-16 Szabolcs Szakacsits <szaka@F-Secure.com>
+
+ * peigen.c (pe_print_idata): Undo part of 2000-05-12 change that
+ read idata section only from dataoff.
+ (pe_print_edata): Correctly check for valid eat_member.
+
+2000-05-16 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * elf32-sh.c (sh_elf_relax_delete_bytes): Handle R_SH_SWITCH8.
+
+2000-05-14 Philip Blundell <philb@gnu.org>
+
+ * config.bfd (armeb-*-elf, arm*b-*-linux-gnu*): New targets.
+
+2000-05-12 Alan Modra <alan@linuxcare.com.au>
+
+ * targets.c (bfd_target_vector): #ifdef BFD64 rs6000coff64_vec
+
+ * peigen.c (pe_print_idata): Look for .idata section and print
+ info even if data directory has zero entries. Read idata section
+ starting from dataoff, and adjust all data offsets to suit. Cast
+ all bfd_vma vars to unsigned long before passing to fprintf.
+ * peigen.c (pe_print_edata): Similarly, look for .edata section
+ and print info even if data directory has zero entries. Cast
+ all bfd_vma vars to unsigned long before passing to fprintf.
+
+ From Szabolcs Szakacsits <szaka@F-Secure.com>
+ * peigen.c (pe_print_idata): Use bfd_section_size rather than data
+ directory size which may be bogus.
+ * peigen.c (pe_print_edata): Similarly.
+
+2000-05-09 Alan Modra <alan@linuxcare.com.au>
+
+ * elf.c (bfd_section_from_shdr): Don't set use_rela_p if rela
+ section is empty.
+ (copy_private_bfd_data): Allow for space possibly taken up by elf
+ headers when calculating segment physical address from lma.
+
+2000-05-08 Alan Modra <alan@linuxcare.com.au>
+
+ * versados.c (versados_scan): Init stringlen and pass_2_done.
+
+ * trad-core.c (trad_unix_core_file_p): Return
+ bfd_error_wrong_format rather than bfd_error_file_truncated.
+
+ * peigen.c (_bfd_pei_swap_aouthdr_out): Pass ImageBase to
+ add_data_entry. DataDirectory virtual address is relative.
+ (pe_print_idata): Account for relative DataDirectory virtual
+ addresses. Don't trash datasize inside POWERPC_LE_PE code.
+ (pe_print_edata): Similarly.
+
+ From Szabolcs Szakacsits <szaka@F-Secure.com>
+ * peigen.c (dir_names): Add Delay Import Directory.
+ (pe_print_idata): Always search for bfd section containing
+ idata address rather than looking up section name. Print this
+ section name rather than .idata.
+ (pe_print_edata): Similarly. Also print some fields as %08lx.
+ (_bfd_pe_print_private_bfd_data_common): Print Reserved1 field as
+ Win32Version.
+
+2000-05-05 Clinton Popetz <cpopetz@cygnus.com>
+
+ * xcoff.h: Rename to xcoff-target.h
+ * Makefile.am: Change all instances of xcoff.h to xcoff-target.h
+ * coff-rs6000.c: Ditto.
+ * coff64-rs6000.c: Ditto.
+ * coff-pmac.c: Ditto.
+ * Makefile.in: Regenerate.
+
+2000-05-05 Clinton Popetz <cpopetz@cygnus.com>
+
+ * coffcode.h (coff_set_arch_mach_hook, coff_set_flags):
+ Change U802TOC64MAGIC to U803XTOCMAGIC.
+
+2000-05-04 Michael Snyder <msnyder@seadog.cygnus.com>
+
+ * elf.c (bfd_elf_get_arch_size): New function, return 32 | 64 | -1.
+ * bfd-in.h: Prototype bfd_elf_get_arch_size.
+ * bfd-in2.h: Prototype bfd_elf_get_arch_size.
+
+2000-05-04 Alan Modra <alan@linuxcare.com.au>
+
+ * libhppa.h (HPPA_R_CONSTANT): Cast argument to bfd_signed_vma.
+
+2000-05-03 Martin v. Löwis <loewis@informatik.hu-berlin.de>
+
+ * elflink.h (elf_link_add_object_symbols): Reset dynindx for
+ hidden and internal symbols.
+ (elf_fix_symbol_flags): Clear NEEDS_PLT for symbols with
+ visibility.
+ * elflink.c (_bfd_elf_link_record_dynamic_symbol): Do not
+ assign a PLT or GOT entry to symbols with hidden and
+ internal visibility.
+
+2000-05-03 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add entry for
+ the .bss section.
+ * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
+
+2000-05-02 H.J. Lu <hjl@gnu.org>
+
+ * elf.c (prep_headers): Use ELFOSABI_NONE instead of
+ ELFOSABI_SYSV.
+
+2000-05-02 Alan Modra <alan@linuxcare.com.au>
+
+ * targets.c (bfd_target_vector): Restore bfd_elf32_hppa_vec.
+ * Makefile.am (BFD32_BACKENDS): Restore elf32-hppa.lo. Regenerate
+ dependencies.
+ * Makefile.in: Regenerate.
+
+2000-05-01 Jim Wilson <wilson@cygnus.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add efi-app-ia32.lo.
+ (BFD32_BACKENDS_CFILES): Add efi-app-ia32.c.
+ (BFD64_BACKENDS): Delete coff-ia64.lo. Add efi-app-ia64.lo.
+ (BFD64_BACKENDS_CFILES): Delete coff-ia64.c. Add efi-app-ia64.c.
+ * Makefile.in: Rebuild.
+
+2000-05-02 Alan Modra <alan@linuxcare.com.au>
+
+ * config.bfd: Re-enable elf32-hppa. It now compiles, even if it
+ doesn't work very well.
+
+ * elf-hppa.h (elf_hppa_internal_shdr): Define.
+ (elf_hppa_fake_sections): hdr is elf_hppa_internal_shdr.
+ Set hdr->s_type to 1 if ARCH_SIZE == 32.
+ (_bfd_elf_hppa_gen_reloc_type): Add prototype.
+ (elf_hppa_info_to_howto): Likewise.
+ (elf_hppa_info_to_howto_rel): Likewise.
+ (elf_hppa_reloc_type_lookup): Likewise.
+ (elf_hppa_is_local_label_name): Likewise.
+ (elf_hppa_fake_sections): Likewise.
+ (elf_hppa_final_write_processing): Likewise.
+ (elf_hppa_howto_table): Fully initialise all entries.
+ (_bfd_elf_hppa_gen_reloc_type): Add ATTRIBUTE_UNUSED to args.
+ (elf_hppa_info_to_howto): Likewise.
+ (elf_hppa_info_to_howto_rel): Likewise.
+ (elf_hppa_reloc_type_lookup): Likewise.
+ (elf_hppa_final_write_processing, elf_hppa_add_symbol_hook,
+ elf_hppa_unmark_useless_dynamic_symbols,
+ elf_hppa_remark_useless_dynamic_symbols,
+ elf_hppa_record_segment_addrs, elf_hppa_final_link,
+ elf_hppa_relocate_section, elf_hppa_final_link_relocate,
+ elf_hppa_relocate_insn): Compile only if ARCH_SIZE == 64 until
+ elf32-hppa.c mess is cleaned up.
+ (elf_hppa_final_link_relocate): Make insn and r_type unsigned
+ int. Delete r_field. In case R_PARISC_PCREL21L, don't set
+ r_field then call hppa_field_adjust inline func with variable
+ r_field arg, instead call hppa_field_adjust with fixed arg.
+ In case R_PARISC_PCREL22F, don't set r_field.
+ (elf_hppa_relocate_insn): Change args and return type to unsigned
+ int. Call re_assemble_* funcs to do the work.
+
+ * elf32-hppa.c (hppa_elf_relocate_insn): Don't assume 32 bit when
+ sign extending.
+
+ * libhppa.h (HPPA_R_CONSTANT): Don't assume 32 bit when sign
+ extending.
+ (sign_extend): Mask first before sign extending.
+ (low_sign_extend): Rewrite without condition expression.
+ (ones, dis_assemble_3, dis_assemble_12, dis_assemble_16,
+ dis_assemble_17, dis_assemble_21, dis_assemble_22): Delete.
+ (assemble_3, assemble_6, assemble_12, assemble_16, assemble_16a,
+ assemble_17, assemble_21, sign_unext, low_sign_unext): Return
+ result as function return value rather than through pointer arg.
+ Accept unsigned int args, and return unsigned int.
+ (re_assemble_3): New. Combines function of dis_assemble_3 with
+ re-assembly of opcode and immediate.
+ (re_assemble_12): Likewise.
+ (re_assemble_16): Likewise.
+ (re_assemble_17): Likewise.
+ (re_assemble_21): Likewise.
+ (re_assemble_22): Likewise.
+ (hppa_field_adjust): Rewrite and document, paying attention to
+ size of types and signed/unsigned issues.
+ (get_opcode): Shift before masking.
+ (FDLW): Rename to FLDW.
+ (bfd_hppa_insn2fmt): Change arg to unsigned int. Delete fmt.
+ (hppa_rebuild_insn): Change args and return value to unsigned
+ int. Make use of re_assemble_*. Correct case 11.
+
+ * dep-in.sed: Handle ../opcodes/.
+ * Makefile.am (SOURCE_HFILES): Add elf-hppa.h, elf32-hppa.h,
+ elf64-hppa.h, hppa_stubs.h, xcoff.h.
+ (BFD32_BACKENDS_CFILES): Restore elf32-hppa.c.
+ Remove elf64-hppa.lo, cpu-ia64.lo, elf64-ia64.lo, elfarm-oabi.lo,
+ elfarm-nabi.lo dependencies outside of auto-dependency area.
+ Regenerate dependencies.
+ * Makefile.in: Regenerate.
+
+ * configure.in (TRAD_HEADER): Test non-null before
+ AC_DEFINE_UNQUOTED.
+ * configure: Regenerate.
+
+ * reloc.c: Fix mis-spelling in comment.
+
+2000-05-01 Alan Modra <alan@linuxcare.com.au>
+
+ * coff-sh.c (bfd_coff_small_swap_table): Fix Fri Apr 28 change.
+ * vms.c (vms_openr_next_archived_file): Return NULL.
+
+2000-04-28 Clinton Popetz <cpopetz@cygnus.com>
+
+ * coffcode.h Copy changes mistakenly done to libcoff.h in
+ 4/24/2000 patch.
+
+2000-04-29 Andreas Jaeger <aj@suse.de>
+
+ * libbfd-in.h: Correctly check GCC version.
+ * bfd-in.h: Likewise.
+ * libhppa.h: Likewise.
+ * libbfd.h: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2000-04-28 Clinton Popetz <cpopetz@cygnus.com>
+
+ * Makefile.am (BFD64_BACKENDS, BFD64_BACKENDS_CFILES): Add
+ coffdu-rs6000.{lo,c}.
+ (coff-pmac.lo, coff-rs6000.lo, coff64-rs6000.lo): Add dependency
+ on xcoff.h
+ * Makefile.in: Regenerate.
+ * xcoff.h: New file.
+ * coff-pmac.c: Use xcoff.h instead of coff-rs6000.c.
+ * coff-rs6000.c: Move all declarations and defines that are
+ common to the xcoff backends into xcoff.h
+ * coff64-rs6000.c: Ditto,
+
+2000-04-28 Clinton Popetz <cpopetz@cygnus.com>
+
+ * coff-mips.c (mips_ecoff_backend_data): Add initialization of
+ _bfd_coff_force_symnames in strings and
+ _bfd_coff_debug_string_prefix_length to their default values.
+ * coff-sh.c: (bfd_coff_small_swap_table): Ditto.
+
+2000-04-28 Clinton Popetz <cpopetz@cygnus.com>
+
+ * coff-alpha.c (alpha_ecoff_backend_data): Add initialization of
+ _bfd_coff_force_symnames in strings and
+ _bfd_coff_debug_string_prefix_length to their default values.
+
+2000-04-27 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return if dynobj NULL.
+ Check local_got_refcounts before dereferencing.
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Check splt != NULL
+ before deciding we don't need R_PPC_PLT32 relocation.
+ (ppc_elf_gc_sweep_hook): Check local_got_refcounts before
+ dereferencing.
+
+ * elflink.h (elf_gc_common_finalize_got_offsets): Fix comment.
+
+ * elf32-i386.c (elf_i386_check_relocs): Reference count .got and
+ .plt entries.
+ (elf_i386_gc_sweep_hook): Garbage collect .got and .plt entries.
+ (elf_i386_adjust_dynamic_symbol): Recognize unused .plt entries.
+ (elf_i386_relocate_section): Allow for .plt to go missing.
+ (elf_i386_finish_dynamic_symbol): Use same test to decide if we
+ can use a relative reloc for got as elf_i386_relocate_section.
+ (bfd_elf32_bfd_final_link): Define to use gc form of final link.
+
+2000-04-26 Clinton Popetz <cpopetz@cygnus.com>
+
+ * config.bfd: Remove extraneous bfd_powerpc_64_arch.
+
+2000-04-24 Clinton Popetz <cpopetz@cygnus.com>
+
+ * Makefile.am (coff64-rs6000.lo): New rule.
+ * Makefile.in: Regenerate.
+ * coff-rs6000.c (xcoff_mkobject, xcoff_copy_private_bfd_data,
+ xcoff_is_local_label_name, xcoff_rtype2howto,
+ xcoff_reloc_type_lookup, xcoff_slurp_armap, xcoff_archive_p,
+ xcoff_read_ar_hdr, xcoff_openr_next_archived_file, xcoff_write_armap,
+ xcoff_write_archive_contents): No longer static, and prefix with _bfd_.
+ (NO_COFF_SYMBOLS): Define.
+ (xcoff64_swap_sym_in, xcoff64_swap_sym_out, xcoff64_swap_aux_in,
+ xcoff64_swap_aux_out): New functions; handle xcoff symbol tables
+ internally.
+ (MINUS_ONE): New macro.
+ (xcoff_howto_tabl, xcoff_reloc_type_lookup): Add 64 bit POS
+ relocation.
+ (coff_SWAP_sym_in, coff_SWAP_sym_out, coff_SWAP_aux_in,
+ coff_SWAP_aux_out): Map to the new functions.
+ * coff64-rs6000.c: New file.
+ * libcoff.h (bfd_coff_backend_data): Add new fields
+ _bfd_coff_force_symnames_in_strings and
+ _bfd_coff_debug_string_prefix_length.
+ (bfd_coff_force_symnames_in_strings,
+ bfd_coff_debug_string_prefix_length): New macros for above fields.
+ * coffcode.h (coff_set_arch_mach_hook): Handle XCOFF64 magic.
+ Set machine to 620 for XCOFF64. Use bfd_coff_swap_sym_in instead
+ of using coff_swap_sym_in directly.
+ (FORCE_SYMNAMES_IN_STRINGS): New macro, defined for XCOFF64.
+ (coff_set_flags) Set magic for XCOFF64.
+ (coff_compute_section_file_positions): Add symbol name length to
+ string section length if bfd_coff_debug_string_prefix_length is
+ true.
+ (coff_write_object_contents): Don't do reloc overflow for XCOFF64.
+ (coff_slurp_line_table): Use bfd_coff_swap_lineno_in instead of
+ using coff_swap_lineno_in directly.
+ (bfd_coff_backend_data): Add _bfd_coff_force_symnames_in_strings
+ and _bfd_coff_debug_string_prefix_length fields.
+ * coffgen.c (coff_fix_symbol_name, coff_write_symbols): Force
+ symbol names into strings table when
+ bfd_coff_force_symnames_in_strings is true.
+ * coffswap.h (MAX_SCNHDR_NRELOC, MAX_SCNHDR_NLNNO, GET_RELOC_VADDR,
+ SET_RELOC_VADDR): New macros.
+ (coff_swap_reloc_in, coff_swap_reloc_out): Use above macros.
+ (coff_swap_aux_in, coff_swap_aux_out): Remove RS6000COFF_C
+ code.
+ (coff_swap_aouthdr_in, coff_swap_aouthdr_out): Handle XCOFF64
+ changes within RS6000COFF_C specific code.
+ (coff_swap_scnhdr_out): Use PUT_SCNHDR_NLNNO, PUT_SCNHDR_NRELOC,
+ MAX_SCNHDR_NRELOC, and MAX_SCNHDR_NLNNO.
+ * reloc.c (bfd_perform_relocation, bfd_install_relocation):
+ Extend existing hack on target name.
+ * xcofflink.c (XCOFF_XVECP): Extend existing hack on
+ target name.
+ * coff-tic54x.c (ticof): Keep up to date with new fields
+ in bfd_coff_backend_data.
+ * config.bfd: Add bfd_powerpc_64_arch to targ_arch and define
+ targ_selvecs to include rs6000coff64_vec for rs6000.
+ * configure.in: Add rs6000coff64_vec case.
+ * cpu-powerpc.c: New bfd_arch_info_type.
+
+2000-04-24 Jeffrey A Law (law@cygnus.com)
+
+ * config.bfd: Only disable elf32-hppa vectors, not all of the
+ BSD and OSF configuration support. Provide (disabled) clauses
+ for PA64 support.
+ * configure.in: Add clause for PA64 support.
+ * configure: Rebuilt.
+
+ * targets.c (bfd_target_vector): Add bfd_elf64_hppa_vec.
+ (bfd_elf64_hppa_vec): Declare.
+
+ * Makefile.am (BFD64_BACKENDS): Add elf64-hppa.lo
+ (BFD64_BACKENDS_CFILES): Add elf64-hppa.c
+ (elf64-hppa.lo): Add dependencies.
+ * Makefile.in: Rebuilt.
+
+ * elf64-hppa.c, elf64-hppa.h: New files with PA64 support.
+
+2000-04-24 Jason Eckhardt <jle@cygnus.com>
+
+ * libhppa.h (dis_assemble_16): New function.
+ (pa_arch): Added pa20w element.
+
+2000-04-24 Ulrich Drepper <drepper@cygnus.com>
+
+ * elf-bfd.h: Add prototypes for bfd_elf32_write_relocs,
+ bfd_elf32_slurp_reloc_table, bfd_elf64_write_relocs, and
+ bfd_elf64_slurp_reloc_table.
+
+ * elfcode.h (elf_write_relocs, elf_slurp_reloc_table): New
+ definitions to get external names.
+ (elf_write_relocs): Renamed from write_relocs and make global.
+ (elf_slurp_reloc_table): Make global.
+ (_bfd_elf,size_info): Use elf_write_relocs instead of write_relocs.
+
+ * archive.c (hpux_uid_gid_encode): New function.
+ (bfd_ar_hdr_from_filesystem): Use it if HPUX_LARGE_AR_IDS is
+ defined and the ID is greater than 99999.
+ (bfd_generic_stat_arch_elt): If HPUX_LARGE_AR_IDS is defined decode
+ special uid/gid fields into 32 bit values.
+
+2000-04-21 Matthew Green <mrg@cygnus.com>
+
+ * config.bfd: Add NetBSD/sparc64 support.
+
+2000-04-21 Richard Henderson <rth@cygnus.com>
+ David Mosberger <davidm@hpl.hp.com>
+ Timothy Wall <twall@cygnus.com>
+ Jim Wilson <wilson@cygnus.com>
+
+ * Makefile.am (ALL_MACHINES): Add cpu-ia64.lo.
+ (ALL_MACHINES_CFILES): Add cpu-ia64.c.
+ (BFD64_BACKENDS): Add elf64-ia64.lo.
+ (BFD64_BACKENDS_CFILES): Add elf64-ia64.c.
+ (cpu-ia64.lo, elf64-ia64.lo): New rules.
+ * Makefile.in: Rebuild.
+ * archures.c (enum bfd_architecture): Add bfd_arch_ia64.
+ (bfd_ia64_arch): Declare.
+ (bfd_archures_list): Add bfd_ia64_arch.
+ * bfd-in2.h: Rebuild.
+ * config.bfd: (ia64*-*-linux-gnu*, ia64*-*-elf*): New targets.
+ * configure: Rebuild.
+ * configure.host: (ia64-*-linux*): New host.
+ * configure.in (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec,
+ bfd_efi_app_ia64_vec, bfd_efi_app_ia64_vec): New vectors.
+ * elf.c (prep_headers): Add bfd_arch_ia64.
+ * libbfd.h: Rebuild.
+ * reloc.c: Add IA-64 relocations.
+ * targets.c (bfd_elf64_ia64_little_vec, bfd_elf64_ia64_big_vec):
+ Declare.
+ (bfd_target_vect): Add bfd_elf64_ia64_little_vec.
+ * cpu-ia64-opc.c, cpu-ia64.c, elf64-ia64.c: New files.
+
+2000-04-21 Richard Henderson <rth@cygnus.com>
+
+ * elf32-d30v.c (bfd_elf_d30v_reloc): Don't modify section
+ contents when performing a partial link.
+ (bfd_elf_d30v_reloc_21): Likewise.
+
+2000-04-20 H.J. Lu <hjl@gnu.org>
+
+ * elf32-i386.c (elf_i386_relocate_section): Restrict 1998-12-10
+ patch to symbols defined by a shared object.
+ * elf32-ppc.c (ppc_elf_relocate_section): Similarly.
+
+2000-04-19 Michael Sokolov <msokolov@ivan.Harhan.ORG>
+
+ K&R compiler fixes.
+ * dwarf2.c (concat_filename): Avoid string literal concatenation.
+ * ieee.c (ieee_get_symtab): Don't initialise union in struct.
+
+2000-04-11 David Mosberger <davidm@hpl.hp.com>
+
+ * Makefile.am (BFD64_BACKENDS): Mention coff-ia64.lo.
+ (BFD64_BACKENDS_CFILES): Mention coff-ia64.c
+ (coff-ia64.lo): Add dependency.
+ * Makefile.in: Regenerate.
+ * coff-ia64.c: New file.
+ * efi-app-ia32.c: Ditto.
+ * efi-app-ia64.c: Ditto.
+ * coffcode.h (coff_set_arch_mach_hook): Handle IA64MAGIC.
+ (coff_set_flags): Ditto.
+ (coff_write_object_contents) [IA64]: Set magic number to ZMAGIC.
+ * config.bfd (i[3456]86-*-linux-gnu*): Mention bfd_efi_app_ia32_vec.
+ * configure.in (elf): Handle bfd_efi_app_ia32 and bfd_efi_app_ia64_vec.
+ * configure: Regenerate.
+ * libpei.h (GET_OPTHDR_IMAGE_BASE): New macro.
+ (PUT_OPTHDR_IMAGE_BASE): Ditto.
+ (GET_OPTHDR_SIZE_OF_STACK_RESERVE): Ditto.
+ (PUT_OPTHDR_SIZE_OF_STACK_RESERVE): Ditto.
+ (GET_OPTHDR_SIZE_OF_STACK_COMMIT): Ditto.
+ (PUT_OPTHDR_SIZE_OF_STACK_COMMIT): Ditto.
+ (GET_OPTHDR_SIZE_OF_HEAP_RESERVE): Ditto.
+ (PUT_OPTHDR_SIZE_OF_HEAP_RESERVE): Ditto.
+ (GET_OPTHDR_SIZE_OF_HEAP_COMMIT): Ditto.
+ (PUT_OPTHDR_SIZE_OF_HEAP_COMMIT): Ditto.
+ (GET_PDATA_ENTRY): Ditto.
+ * peigen.c (_bfd_pei_swap_aouthdr_in) [COFF_WITH_PEP64]: Don't read
+ data_start. Use above macros to read fields that are 64 bit wide for
+ COFF_WITH_PEP64. Don't truncate entry and text_start to 32 bits.
+ (_bfd_pei_swap_aouthdr_out) [PEI_FORCE_MINIMUM_ALIGNMENT]: Force
+ FileAlignment and SectionAlignment to minimum alignment if they
+ are zero.
+ (_bfd_pei_swap_aouthdr_out) [PEI_DEFAULT_TARGET_SUBSYSTEM]: Set
+ Subsystem to default PEI_DEFAULT_TARGET_SUBSYSTEM.
+ (_bfd_pei_swap_aouthdr_out) [COFF_WITH_PEP64]: Don't set data_start.
+ Use above macros to write fields that are 64 bit wide for
+ COFF_WITH_PEP64.
+ (pe_print_pdata): Set PDATA_ROW_SIZE to 3*8 for COFF_WITH_PEP64,
+ 5*4 otherwise. This should be right for IA-32 and IA-64, but may
+ be wrong for platforms. Use PDATA_ROW_SIZE instead of hardcoded
+ value of 20 bytes. Modify printing for COFF_WITH_PEP64 to print
+ begin address, end address, and unwind info address only. Use
+ GET_PDATA_ENTRY() to read .pdata entries. Use fprintf_vma() to
+ print addresses.
+ (tbl): Add SECTION, REL32, RESERVED1, MIPS_JMPADDR16, DIR64, and
+ HIGH3ADJ relocation names.
+ (_bfd_pe_print_private_bfd_data): Print Subsystem name in legible form.
+ * targets.c: Declare bfd_efi_app_ia32_vec and
+ bfd_efi_app_ia64_vec.
+ (bfd_target_vector): Mention bfd_efi_app_ia32_vec and
+ bfd_efi_app_ia64_vec.
+
+2000-04-17 Timothy Wall <twall@cygnus.com>
+
+ * bfd-in2.h: Add prototypes for tic54x load page access.
+ * bfd-in.h: Regenerate.
+ * coff-tic54x.c: Add load page functions; allow bfd_arch_unknown
+ in customized _set_arch_mach function.
+ * coffcode.h (coff_set_alignment_hook): Set section load page if
+ the appropriate macro is defined.
+ (write_object_contents): Read section load page.
+
+2000-04-13 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-hppa.h: Update copyright date.
+
+ * elf32-fr30.c (fr30_elf_i20_reloc): Don't use U suffix.
+ * elf32-mips.c (_bfd_mips_elf_relocate_section): And here.
+
+ * elf32-d30v.c (MAX32): Don't use LL suffix.
+ (MIN32): Define in terms of MAX32.
+ (bfd_elf_d30v_reloc): Make relocation a bfd_signed_vma.
+
+ * coff-a29k.c (SIGN_EXTEND_HWORD): Replace with more concise
+ expression.
+
+ * peicode.h (pe_ILF_build_a_bfd): Remove UL from hex constants.
+
+2000-04-12 Alan Modra <alan@linuxcare.com.au>
+
+ * dep-in.sed: Match space before file name, not after.
+ * Makefile.am: Regenerate dependencies.
+ * Makefile.in: Regenerate.
+
+ * reloc.c (_bfd_relocate_contents): In complain_overflow_bitfield
+ case, allow address wrap-around stupidly removed 2000-03-17. Sign
+ extend without an if statement.
+
+2000-04-11 Alan Modra <alan@linuxcare.com.au>
+
+ * coff-mips.c (mips_gprel_reloc): Test for 16 bit range using
+ signed quantites.
+ * elf32-mips.c (gprel16_with_gp): Likewise.
+ * elf32-hppa.c (elf32_hppa_bfd_final_link_relocate): Test range
+ here using -0x40000, not (int)0xfffc0000.
+ (elf32_hppa_size_of_stub): Likewise.
+
+2000-04-11 Timothy Wall <twall@cygnus.com>
+
+ * coff-tic54x.c: Now builds with all targets.
+ * Makefile.am: Add coff/tic54x.h to coff-tic54x.o dependencies.
+ * Makefile.in: Regenerate.
+ * coffcode.h (coff_set_arch_mach_hook): Eliminate warning on
+ unitialized variable.
+
+2000-04-07 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * configure.in (WARN_CFLAGS): Set to -W -Wall by default. Add
+ --enable-build-warnings option.
+ * Makefile.am (AM_CFLAGS, WARN_CFLAGS): Add definitions.
+ * Makefile.in, configure: Re-generate.
+
+2000-04-07 Nick Clifton <nickc@cygnus.com>
+
+ * reloc.c: Add BFD_RELOC_ARM_PCREL_BLX and
+ BFD_RELOC_THUMB_PCREL_BLX.
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): Handle
+ R_ARM_XPC25 and R_ARM_THM_PC22.
+
+ * elfarm-nabi.c (elf32_arm_howto_): Fix definitions of
+ R_ARM_XPC25 and R_ARM_THM_XPC22.
+ (elf32_arm_reloc_map): Make BFD_RELOC_{ARM|THUMB}_PCREL_BLX to
+ R_ARM_[XPC25|THM_XPC22].
+
+ * elfarm-oabi.c: Define OLD_ARM_ABI and change include from
+ elf/arm-oabi.h to elf/arm.h
+
+ * Makefile.am: Fix dependency for elfarm-oabi.c
+ * Makefile.in: Regenerate.
+
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+
+2000-04-06 Michael Snyder <msnyder@seadog.cygnus.com>
+
+ * elfcore.h (elf_core_file_p): preserve value of tdata at entry,
+ and restore it on failure. Release newly allocated tdata on
+ failure.
+
+2000-04-07 Jim Wilson <wilson@cygnus.com>
+
+ * dwarf2.c (struct dwarf2_debug): New field dwarf_line_size.
+ (decode_line_info): Set it. Report error if unit->line_offset is
+ equal to or larger than it.
+
+2000-04-07 Timothy Wall <twall@cygnus.com>
+
+ * targets.c: Added vecs for tic54x.
+ * reloc.c: Added relocs for tic54x.
+ * libbfd.h: Regenerated.
+ * configure: Add TI COFF vecs for tic54x.
+ * configure.in: Ditto.
+ * config.bfd (targ_cpu): Recognize new tic54x target.
+ * coffcode.h (coff_slurp_symbol_table): Additions for TI COFF handling.
+ * bfd-in2.h: Add tic54x target and relocations.
+ * Makefile.am, Makefile.in: Add tic54x target.
+ * archures.c (bfd_archures_list): Add tic54x target.
+ * coff-tic54x.c: New.
+ * cpu-tic54x.c: New.
+
+2000-04-06 Michael Snyder <msnyder@seadog.cygnus.com>
+
+ * elfcore.h (elf_core_file_p): call backend_object_p which
+ thereby gets an opportunity to update the arch/machine type.
+
+2000-04-06 Timothy Wall <twall@cygnus.com>
+
+ * coffcode.h (coff_slurp_symbol_table): Handle C_STATLAB storage
+ class. Handle SEC_CLINK and SEC_BLOCK flags.
+ * section.c: Add SEC_CLINK and SEC_BLOCK flags.
+ * bfd-in2.h: Add SEC_CLINK and SEC_BLOCK flags.
+
+2000-04-06 Nick Clifton <nickc@cygnus.com>
+
+ * elf32-arm.h (elf32_arm_set_private_flags): Only check for
+ EF_INTERWORK if this is an unknown EABI.
+ (elf32_arm_merge_private_bfd_data): Check EABI version
+ numbers. Only check EF_xxx flags if the EABI version number
+ is unknown.
+ (elf32_arm_check_private_bfd_data): Only check EF_xxx flags
+ if the EABI version number is unknown.
+ (elf32_arm_print_private_bfd_data): Only decode EF_xxx flags
+ if the EABI version number is unknown.
+
+2000-04-05 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * reloc.c (_bfd_relocate_contents): Add BFD_RELOC_SH_LOOP_START and
+ BFD_RELOC_SH_LOOP_END.
+ * elf32-sh.c (sh_elf_howto_tab): Change special_func to
+ sh_elf_ignore_reloc for all entries that sh_elf_reloc used to ignore.
+ Add entries for R_SH_LOOP_START and R_SH_LOOP_END.
+ (sh_elf_reloc_loop): New function.
+ (sh_elf_reloc): No need to test for always-to-be-ignored relocs
+ any more.
+ (sh_rel): Add entries for BFD_RELOC_SH_LOOP_{START,END}.
+ (sh_elf_relocate_section): Handle BFD_RELOC_SH_LOOP_{START,END}.
+ * bfd-in2.h, libbfd.h: Regenerate.
+
+2000-04-04 Alan Modra <alan@linuxcare.com.au>
+
+ * po/bfd.pot: Regenerate.
+
+ * Makefile.am: Remove extraneous mkdep comment.
+ (MKDEP): Use gcc -MM rather than mkdep.
+ (DEP): Quote when passing vars to sub-make. Add warning
+ message to end.
+ (DEP1): Rewrite for "gcc -MM".
+ (CLEANFILES): Add DEP2.
+ Update dependencies.
+ * Makefile.in: Regenerate.
+
+2000-04-03 Kevin Buettner <kevinb@redhat.com>
+
+ * configure.in: Added corefile support for AIX 4.3. In particular,
+ AIX_CORE_DUMPX_CORE will be defined in addition to AIX_CORE when
+ compiling rs6000-core.c.
+ * configure: Regenerated.
+
+2000-04-03 H.J. Lu <hjl@gnu.org>
+
+ * cache.c (bfd_open_file): Unlink the output file only if
+ it has non-zero size.
+
+2000-04-01 Ken Block USG <block@zk3.dec.com>
+
+ * elf64-alpha.c (elf64_alpha_relocate_section): Don't emit
+ relative relocations for non-loaded sections in shared objects.
+ (elf64_alpha_check_relocs): Similarly.
+
+2000-04-03 Hans-Peter Nilsson <hp@axis.com>
+
+ * aoutx.h (NAME(aout,reloc_type_lookup)): Add BFD_RELOC_8 and
+ BFD_RELOC_16 to switch for extended relocs.
+ (MY_swap_ext_reloc_in): New.
+ (MY_swap_ext_reloc_out): New.
+ (NAME(aout,slurp_reloc_table)): Use MY_swap_ext_reloc_in rather
+ than NAME(aout,swap_ext_reloc_in) for extended relocs.
+ (NAME(aout,squirt_out_relocs)): Similarly use
+ MY_swap_ext_reloc_out.
+ (aout_link_reloc_link_order): Use MY_put_ext_reloc if defined.
+
+2000-04-03 Kazu Hirata <kazu@hxi.com>
+
+ * coff-h8300.c (h8300_reloc16_extra_cases): Add bsr:16 -> bsr:8 to
+ the R_PCRWORD_B case.
+
+2000-03-31 Thomas de Lellis <tdel@wrs.com>
+
+ * srec.c : Set CHUNK size to 16 bytes to prevent download failures
+ on some targets.
+ * ihex.c : Ditto.
+
+2000-03-30 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 recent rewrite of m32r_elf_lo16_reloc(), and
+ extends its fixes to the R_M32R_{16,24,32} relocs.
+ The new logic in m32r_elf_lo16_reloc() has been removed, and
+ it instead calls the new routine to obtain that functionality.
+
+2000-03-27 Alan Modra <alan@linuxcare.com.au>
+
+ * elf32-avr.c (elf32_avr_gc_mark_hook, elf32_avr_gc_sweep_hook,
+ elf32_avr_check_relocs, avr_final_link_relocate,
+ elf32_avr_relocate_section, bfd_elf_avr_final_write_processing,
+ elf32_avr_object_p): Add prototypes.
+ (elf32_avr_gc_mark_hook): Add default for h->root.type.
+ (bfd_elf_avr_final_write_processing): Make static.
+
+2000-03-27 Denis Chertykov <denisc@overta.ru>
+
+ * cpu-avr.c: New file. BFD support routines for AVR architecture.
+ * archures.c (bfd_architecture): Add AVR architecture.
+ (bfd_archures_list): Add reference to AVR architecture info.
+ * elf.c (prep_headers): Handle bfd_arch_avr.
+ * reloc.c: Add various AVR relocation enums.
+ * targets.c (bfd_elf32_avr_vec): Declare and add to target vector
+ list.
+ * Makefile.am: Add support for AVR elf.
+ * configure.in: Likewise.
+ * config.bfd: Likewise.
+ * Makefile.in: Regenerate.
+ * configure: This too.
+ * bfd-in2.h: And this.
+ * libbfd.h: And this.
+
+2000-03-24 H.J. Lu <hjl@gnu.org>
+
+ * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Add prototype.
+ (elf64_alpha_find_reloc_at_ofs): Likewise.
+
+2000-03-17 Alan Modra <alan@linuxcare.com.au>
+
+ * reloc.c (bfd_check_overflow): In case complain_overflow_bitfield,
+ flag an overflow if the bitfield is outside -2**n to 2**n-1. The
+ allowable range used to be -2**(n-1) to 2**n-1.
+ * reloc.c (_bfd_relocate_contents): Same here. Also replace
+ "boolean overflow" with "bfd_reloc_status_type flag".
+
+2000-03-14 Doug Evans <dje@casey.transmeta.com>
+
+ * elf32-m32r.c (m32r_elf_lo16_reloc): Rewrite.
+
+2000-03-14 Kazu Hirata <kazu@hxi.com>
+
+ * reloc16.c (bfd_coff_reloc16_relax_section): Count the total number
+ of shrinks properly, including the last reloc.
+
+2000-03-13 Kazu Hirata <kazu@hxi.com>
+
+ * coff-h8300.c (h8300_reloc16_extra_cases): Fix the sanity
+ check for R_MOVL2.
+
+2000-03-11 Alan Modra <alan@linuxcare.com.au>
+
+ * ieee.c (ieee_archive_p): Return bfd_error_wrong_format on
+ a format mismatch rather than an "error" from bfd_read such as
+ bfd_error_file_truncated.
+
+2000-03-10 Geoff Keating <geoffk@cygnus.com>
+
+ * elf32-mips.c (_bfd_mips_elf_relocate_section): Do proper
+ sign-extension and big-endian compensation for
+ R_MIPS_64 even in ld -r.
+
+2000-03-10 Geoffrey Keating <geoffk@cygnus.com>
+
+ * elf32-mips.c (mips_elf_next_relocation): Rename from
+ mips_elf_next_lo16_relocation, and generalize to look
+ for any relocation type.
+ (elf_mips_howto_table): Make R_MIPS_PC16 pcrel_offset.
+ (elf_mips_gnu_rel_hi16): Howto for R_MIPS_GNU_REL_HI16.
+ (elf_mips_gnu_rel_lo16): Howto for R_MIPS_GNU_REL_LO16.
+ (elf_mips_gnu_rel16_s2): Howto for R_MIPS_GNU_REL16_S2.
+ (elf_mips_gnu_pcrel64): Howto for R_MIPS_PC64.
+ (elf_mips_gnu_pcrel32): Howto for R_MIPS_PC32.
+ (bfd_elf32_bfd_reloc_type_lookup): Add new relocs.
+ (mips_rtype_to_howto): Likewise.
+ (mips_elf_calculate_relocation): Handle new relocs.
+ (_bfd_mips_elf_relocate_section): REL_HI16/REL_LO16 relocs
+ are paired. The addend for R_MIPS_GNU_REL16_S2
+ is shifted right two bits.
+
+2000-03-10 Alan Modra <alan@linuxcare.com.au>
+
+ * reloc.c (bfd_perform_relocation): Undo emacs formatting of
+ comment, and ensure it doesn't happen again.
+ (bfd_install_relocation): Same here.
+ (_bfd_relocate_contents): Don't bother assigning unused signmask
+ shift result. Fix typos in comments.
+ Remove trailing whitespace throughout file.
+
+2000-03-07 Doug Evans <dje@casey.transmeta.com>
+
+ * reloc.c (reloc_howto_struct): Fix partial_inplace comment.
+ * bfd-in2.h: Rebuild.
+
+2000-03-06 Nick Clifton <nickc@cygnus.com>
+
+ * peicode.h (struct pe_ILF_vars): Add sym_ptr_table and
+ sym_ptr_ptr fields.
+ (SIZEOF_ILF_SYM_PTR_TABLE): Define.
+ (SIZEOF_ILF_STRINGS): Redefine.
+ (pe_ILF_make_a_symbol-reloc): New function. Creates a symbol
+ relative reloc, as opposed to a section relative reloc.
+ (pe_ILF_make_a_symbol): Set the class of local symbols to C_STAT
+ not C_LABEL.
+ Add length of symbol's prefix to string pointer.
+ Store a pointer to the symbol in the symbol pointer table.
+ (pe_ILF_build_a_bfd): Do not build .idata$2 or .idata$7.
+ Initialise the symbol pointer table.
+ Store the hint in the Hint/Name table.
+ Make the jump reloc be symbol realtive, not section relative.
+ Create an import symbol for imported code.
+
+2000-03-06 Catherine Moore <clm@cygnus.com>
+
+ * elf.c (swap_out_syms): Check for null type_ptr.
+
+2000-03-01 Hans-Peter Nilsson <hp@axis.com>
+
+ * aout-target.h (MY(write_object_contents)): Remove unused
+ and unusable "#if CHOOSE_RELOC_SIZE".
+ * pc532-mach.c (MY(write_object_contents)): Ditto.
+ * netbsd.h (MY(write_object_contents)): Ditto.
+ * hp300hpux.c (MY(write_object_contents)): Ditto.
+ * freebsd.h (MY(write_object_contents)): Ditto.
+ * aout-tic30.c (tic30_aout_write_object_contents): Ditto.
+
+2000-02-29 H.J. Lu <hjl@gnu.org>
+
+ * peicode.h (jtab): Make it static.
+
+ * coff-sh.c (sh_align_load_span): Declared if COFF_WITH_PE is
+ defined and COFF_IMAGE_WITH_PE is not defined.
+ (_bfd_sh_align_load_span): Defined as sh_align_load_span if
+ COFF_WITH_PE is defined and COFF_IMAGE_WITH_PE is not defined.
+
+2000-03-01 Nick Clifton <nickc@cygnus.com>
+
+ * coff-arm.c (bfd_arm_process_before_allocation): Make
+ 'symndx' signed to prevent compile time warning.
+
+ * coff-mcore.c: Remove unused prototype for pe_object_p.
+
+ * coff-sh.c: Add "#ifndef COFF_IMAGE_WITH_PE" around static
+ functions that are not used when COFF_IMAGE_WITH_PE is
+ defined.
+ (struct sh_opcode): Change type of 'flags' field to unsigned
+ long so that it can hold the USESAS flag.
+
+ * coffcode.h (styp_to_sec_flags): Initialise 'target_name'.
+
+ * elf-m10300.c (mn10300_elf_relax_section): Initialise
+ 'sym_sec'.
+
+ * elf32-i370.c: Add ATTRIBUTE_UNUSED to unused function
+ parameters.
+ Remove unusued variables and code.
+ (elf_backend_add_symbol_hook): Fix prototype.
+
+ * elf32-m68k.c (elf_m68k_gc_sweep_hook): Initialise 'sgot' and
+ 'srelgot'.
+
+ * elf32-mcore.c (mcore_elf_relocate_section): Initialise
+ 'oldinst'.
+
+ * elf32-mips.c: Add ATTRIBUTE_UNUSED to unused function
+ parameters.
+ Remove unusued variables and code.
+ (elf_backend_add_symbol_hook): Fix prototype.
+
+ * elf32-sh.c (sh_elf_set_mach_from_flags): Use 'flags'.
+
+ * elflink.h (elf_bfd_link_add_symbols): Add ATTRIBUTE_UNUSED
+ to unused function parameter.
+
+ * pe-mips.c: Add ATTRIBUTE_UNUSED to unused function
+ parameters.
+ Use EMPTY_HOWTO to initialise empty howto slots.
+ Remove unused variables.
+
+ * peicode.h (pe_ILF_build_a_bfd): Initialise id6.
+
+2000-03-01 H.J. Lu <hjl@gnu.org>
+
+ * aoutx.h (aout_link_input_section_std): Pass "true" to
+ the undefined_symbol callback.
+ (aout_link_input_section_ext): Likewise.
+ * bout.c (get_value): Likewise.
+ * coff-a29k.c (coff_a29k_relocate_section): Likewise.
+ * coff-alpha.c (alpha_ecoff_get_relocated_section_conten):
+ Likewise.
+ (alpha_relocate_section): Likewise.
+ * coff-arm.c (coff_arm_relocate_section): Likewise.
+ * coff-i960.c (coff_i960_relocate_section): Likewise.
+ * coff-mcore.c (coff_mcore_relocate_section): Likewise.
+ * coff-mips.c (mips_relocate_section): Likewise.
+ * coff-ppc.c (coff_ppc_relocate_section): Likewise.
+ * coff-sh.c (sh_relocate_section): Likewise.
+ * coff-tic80.c (coff_tic80_relocate_section): Likewise.
+ * cofflink.c (_bfd_coff_generic_relocate_section): Likewise.
+ * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
+ * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
+ * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
+ * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
+ * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
+ * elf32-i370.c (i370_elf_relocate_section): Likewise.
+ * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
+ * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
+ * elf32-sh.c (sh_elf_relocate_section): Likewise.
+ * elf32-v850.c (v850_elf_relocate_section): Likewise.
+ * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
+ * elflink.h (elf_link_output_extsym): Likewise.
+ * pe-mips.c (coff_pe_mips_relocate_section): Likewise.
+ * reloc.c (bfd_generic_get_relocated_section_conten): Likewise.
+ * reloc16.c (_bfd_ppc_xcoff_relocate_section): Likewise.
+
+ * elf-hppa.h (elf_hppa_relocate_section): Pass "false" to the
+ undefined_symbol callback when building shared library with
+ -Bsymbolic and undefined symbols are allowed. Otherwise, pass
+ "true".
+ * elf32-arm.h (elf32_arm_relocate_section): Likewise.
+ * elf32-i386.c (elf_i386_relocate_section): Likewise.
+ * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
+ * elf32-mips.c (mips_elf_calculate_relocation): Likewise.
+ (elf32_mips_get_relocated_section_content): Likewise.
+ * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
+ * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
+ * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
+ * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
+
+2000-02-28 Nick Clifton <nickc@cygnus.com>
+
+ * Makefile.am: Add rules to build pe[i]-{sh|mips}.lo objects.
+ * Makefile.in: Regenerate.
+
+ * configure.in: Add support for mips and sh pe vectors.
+ * configure: regenerate.
+
+ * config.bfd: Add support for arm-wince, mips-pe and sh-pe
+ targets.
+
+ * targets.c: Add mips and sh pe vectors.
+
+ * libpei.h (coff_final_link_postscript): Only define if not
+ already defined.
+
+ * coffcode.h: Add support for WinCE magic numbers.
+
+ * peigen.c (pe_print_reloc): Update comment and rearrange
+ appending of newline character.
+
+ * peicode.h: Add support for Image Library Format.
+ (pe_ILF_vars): Structure containing data used by ILF code.
+ (pe_ILF_make_a_section): New function. Create a section based
+ on ILF data.
+ (pe_ILF_make_a_reloc): New function. Create a reloc based on
+ ILF data.
+ (pe_ILF_make_a_symbol): New function. Create a symbol based
+ on ILF data.
+ (pe_ILF_save_relocs): New function. Store the relocs created
+ by pe_ILF_make_a_reloc in a section.
+ (pe_ILF_build_a_bfd): New function. Create a BFD describing
+ an ILF object.
+ (pe_ILF_object_p): New function. Return a bfd_target pointer
+ for an ILF object.
+ (pe_bfd_object_p): If an ILF object is detected call
+ pe_ILF_object_p on it.
+
+ * coff-arm.c: Add support for WinCE relocs which are different
+ from normal ARM COFF relocs.
+ * pe-arm.c: Unset TARGET_UNDERSCORE for a WinCE target.
+
+ * coff-sh.c: Add support for sh-pe target.
+ * pe-sh.c: New file. Support code for sh-pe target.
+ * pei-sh.c: New file. Support code for sh-pe target.
+
+ * pe-mips.c: New file. Support code for mips-pe target.
+ * pei-mips.c: New file. Support code for mips-pe target.
+
+2000-02-27 Jakub Jelinek <jakub@redhat.com>
+
+ * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Don't bump
+ architecture if the object causing the bump is dynamic.
+ * elf64-sparc.c (sparc64_elf_merge_private_bfd_data): Likewise,
+ and also don't it for memory ordering.
+ (sparc64_elf_write_relocs): Take src_rela out of the loop.
+
+2000-02-27 Ian Lance Taylor <ian@zembu.com>
+
+ * dwarf2.c (read_abbrevs): Use _raw_size directly rather than
+ calling bfd_get_section_size_before_reloc.
+ (decode_line_info): Likewise.
+ (_bfd_dwarf2_find_nearest_line): Likewise.
+
+2000-02-27 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * Makefile.am (stamp-lib): Use $(LIBTOOL) --config to get the
+ name of the libtool directory.
+ * Makefile.in: Rebuild.
+
+2000-02-25 Rodney Brown (RodneyBrown@pmsc.com)
+
+ * som.c (SOM_HOWTO): Define.
+ (som_hppa_howto_table): Use it.
+
+2000-02-25 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+ * config.bfd: Enable 64 bit support for GNU/Linux/sparc.
+
+ * config.bfd: Enable 64 bit support for Solaris7+/sparc.
+
+2000-02-24 Catherine Moore <clm@cygnus.com>
+
+ * som.c (som_misc_symbol_info): Add field
+ secondary_def.
+ (som_bfd_derive_misc_symbol_info): Initialize
+ secondary_def.
+ (som_build_and_write_symbol_table): Keep track
+ of secondary_def field.
+ (som_slurp_symbol_table): Set BSF_WEAK symbol flag
+ if secondary_def field is set.
+ (som_bfd_ar_write_symbol_stuff): Initialize
+ secondary_def.
+
+2000-02-23 Stephane Carrez <stcarrez@worldnet.fr>
+
+ * dwarf2.c (read_address): Read 16-bits addresses.
+ (parse_comp_unit): Accept addr_size == 2.
+
+2000-02-23 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * bfd-in.h: Update copyright date.
+
+2000-02-23 Linas Vepstas <linas@linas.org>
+
+ * cpu-i370.c: New file.
+ * elf32-i370.c: New file.
+ * archures.c (enum bfd_architecture): Add bfd_arch_i370.
+ (bfd_i370_arch): New.
+ (bfd_archures_list): Add bfd_i370_arch.
+ * elf.c (prep_headers): Add bfd_arch_i370.
+ * Makefile.am: Add support for IBM 370 elf.
+ * config.bfd: Likewise.
+ * configure.in: Likewise.
+ * libbfd.h (bfd_reloc_code_real_names): Likewise.
+ * reloc.c (bfd_reloc_code_type): Likewise.
+ * targets.c: Likewise.
+
+ * Makefile.in: Regenerate.
+ * configure: Regenerate.
+ * bfd-in2.h: Regenerate.
+
+2000-02-22 Ian Lance Taylor <ian@zembu.com>
+
+ * elf32-i386.c (elf_i386_info_to_howto_rel): Give a warning for
+ invalid relocation types, and change them to R_386_NONE.
+
+2000-02-22 H.J. Lu <hjl@gnu.org>
+
+ * elflink.h (elf_link_add_object_symbols): If a version symbol is
+ not defined, don't add a second ELF_VER_CHR.
+
+ * elflink.h (elf_bfd_final_link): Call output_extsym for global
+ symbols converted to local symbols even when stripping all
+ symbols.
+ (elf_link_output_extsym): Process global symbols converted to
+ local symbols even if they are being stripped.
+
+2000-02-21 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * archures.c (bfd_octets_per_byte): Return unsigned int.
+ (bfd_arch_mach_octets_per_byte): Ditto.
+ * libbfd.c (bfd_read, bfd_seek): Quell signed vs. unsigned
+ comparison warning.
+ * section.c (bfd_get_section_size_before_reloc): Quell signed
+ vs. unsigned comparison warning.
+ (bfd_get_section_size_after_reloc): Same here. Fix parentheses too.
+ * trad-core.c (trad_unix_core_file_p): Correct 2000-01-27
+ change. What was I thinking?
+ * bfd-in2.h: Regenerate.
+
+ * elflink.h (elf_gc_sweep): Skip non-elf input bfds.
+ (elf_gc_sections): Same here.
+ (elf_gc_common_finalize_got_offsets): And here.
+
+2000-02-21 Ian Lance Taylor <ian@zembu.com>
+
+ ELF HPPA doesn't work at present; remove it until it does.
+ * config.bfd: Comment out setting targ_defvec to
+ bfd_elf32_hppa_vec.
+ * Makefile.am: Rebuild dependencies.
+ (BFD32_BACKENDS): Remove elf32-hppa.lo.
+ (BFD32_BACKENDS_CFILES): Remove elf32-hppa.c.
+ (SOURCE_HFILES): Remove elf32-hppa.h and hppa_stubs.h.
+ * Makefile.in: Rebuild.
+ * targets.c (bfd_target_vector): Comment out bfd_elf32_hppa_vec.
+
+2000-02-18 Geoff Keating <geoffk@cygnus.com>
+
+ * coffcode.h (coff_set_arch_mach_hook): Use free(), because there
+ is no bfd_free(). Revert bfd_free part of previous change.
+
+2000-02-18 Geoff Keating <geoffk@cygnus.com>
+
+ * coffcode.h (coff_set_arch_mach_hook): Don't use variable-size
+ arrays.
+ (coff_compute_section_file_positions): Use bfd_free to pair
+ bfd_malloc.
+ (coff_write_object_contents): Likewise.
+
+ * coff-rs6000.c (xcoff_howto_table_16): New variable.
+ (xcoff_rtype2howto): Handle 16-bit variants of 32-bit relocs.
+
+2000-02-18 Ulrich Drepper <drepper@cygnus.com>
+
+ * coff-rs6000.c (XCOFFARMAGBIG): New macro.
+ (xcoff_ar_file_hdr_big): New structure.
+ (SIZEOF_AR_FILE_HDR_BIG): New macro.
+ (xcoff_ar_hdr_big): New structure.
+ (SIZEOF_AR_HDR_BIG): New macro.
+ (xcoff_big_format_p): New macro.
+ (xcoff_ardata_big): New macro.
+ (arch_xhdr_big): New macro.
+ (xcoff_slurp_armap): Handle large archives.
+ (xcoff_archive_p): Detect large archives.
+ (xcoff_read_ar_hdr): Handle large archives.
+ (xcoff_openr_next_archived_file): Handle large archives.
+ (xcoff_generic_stat_arch_elt): Handle large archives.
+ (xcoff_write_armap_old): Rename from xcoff_write_armap.
+ (xcoff_write_armap_big): New function.
+ (xcoff_write_armap): New function, dispatch to _old or _big.
+ (xcoff_write_archive_contents_old): Rename from
+ xcoff_write_archive_contents.
+ (xcoff_write_archive_contents_big): New function.
+ (xcoff_write_archive_contents): New function, dispatch to _old or
+ _big.
+
+2000-02-18 Richard Henderson <rth@cygnus.com>
+
+ * elf-bfd.h (struct elf_link_hash_table): Remove copy_indirect
+ and hide_symbol members.
+ (elf_link_hash_copy_indirect): Remove.
+ (elf_link_hash_hide_symbol): Remove.
+ (struct elf_backend_data): Add elf_backend_copy_indirect_symbol
+ and elf_backend_hide_symbol.
+ (_bfd_elf_link_hash_copy_indirect): Declare.
+ (_bfd_elf_link_hash_hide_symbol): Declare.
+ * elf.c (_bfd_elf_link_hash_copy_indirect): Remove table argument.
+ (_bfd_elf_link_hash_hide_symbol): Likewise.
+ (_bfd_elf_link_hash_table_init): Don't init killed members.
+ * elflink.h (elf_link_add_object_symbols): Use the bed function
+ pointers not elf_link_hash_{copy_indirect,hide_symbol}.
+ (elf_link_assign_sym_version): Likewise.
+ * elfxx-target.h (elf_backend_copy_indirect_symbol): Default.
+ (elf_backend_hide_symbol): Likewise.
+ (elfNN_bed): Update for new members.
+
+2000-02-17 Kevin Buettner <kevinb@redhat.com>
+
+ * rs6000-core.c (CORE_DATA_SIZE_FIELD, CORE_COMM_FIELD, SAVE_FIELD,
+ STACK_END_ADDR): Define for new core file format.
+ (LOADER_OFFSET_FIELD, LOADER_REGION_SIZE, CORE_DUMP): New defines
+ for handling the vagaries of the various core file structures used
+ by AIX over the years.
+ (rs6000coff_core_p, rs6000coff_core_file_matches_executable,
+ Rs6kCorData): Use above defines to adapt code to use AIX 4.3's
+ core_dumpx structure.
+
+2000-02-17 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * archures.c (bfd_mach_sh2, bfd_mach_sh_dsp): New macros.
+ (bfd_mach_sh3_dsp): Likewise.
+ (bfd_mach_sh4): Reinstate.
+ (bfd_default_scan): Recognize 7410, 7708, 7729 and 7750.
+ * bfd-in2.h: Regenerate.
+ * coff-sh.c (struct sh_opcode): flags is no longer short.
+ (USESAS, USESAS_REG, USESR8, SETSAS, SETSAS_REG): New macros.
+ (sh_opcode41, sh_opcode42): Integrate as sh_opcode41.
+ (sh_opcode01, sh_opcode02, sh_opcode40): Add sh-dsp opcodes.
+ (sh_opcode41, sh_opcode4, sh_opcode80): Likewise.
+ (sh_opcodes): No longer const.
+ (sh_dsp_opcodef0, sh_dsp_opcodef): New arrays.
+ (sh_insn_uses_reg): Check for USESAS and USESR8.
+ (sh_insn_sets_reg, sh_insns_conflict): Check for SETSAS.
+ (_bfd_sh_align_load_span): Return early for SH4.
+ Modify sh_opcodes lookup table for sh-dsp / sh3-dsp.
+ Take into account that field b of a parallel processing insn
+ could be mistaken for a separate insn.
+ * cpu-sh.c (arch_info_struct): New array elements for
+ sh2, sh-dsp and sh3-dsp.
+ Reinstate element for sh4.
+ (SH2_NEXT, SH_DSP_NEXT, SH3_DSP_NEXT): New macros.
+ (SH4_NEXT): Reinstate.
+ (SH3_NEXT, SH3E_NEXT): Adjust.
+ * elf-bfd.h (_sh_elf_set_mach_from_flags): Declare.
+ * elf32-sh.c (sh_elf_set_private_flags): New function.
+ (sh_elf_copy_private_data, sh_elf_set_mach_from_flags): Likewise.
+ (sh_elf_merge_private_data): New function.
+ (elf_backend_object_p, bfd_elf32_bfd_set_private_bfd_flags): Define.
+ (bfd_elf32_bfd_copy_private_bfd_data): Define.
+ (bfd_elf32_bfd_merge_private_bfd_data): Change to
+ sh_elf_merge_private_data.
+
+2000-02-13 Richard Henderson <rth@cygnus.com>
+
+ * elf-bfd.h (struct elf_link_hash_table): Add copy_indirect and
+ hide_symbol members.
+ (elf_link_hash_copy_indirect): New.
+ (elf_link_hash_hide_symbol): New.
+ * elflink.h (elf_link_add_object_symbols): Break out copy from
+ indirect new new symbol to elf.c.
+ (elf_link_assign_sym_version): Break out privatization of
+ non-exported symbol to elf.c.
+ * elf.c (_bfd_elf_link_hash_copy_indirect): New.
+ (_bfd_elf_link_hash_hide_symbol): New.
+ (_bfd_elf_link_hash_table_init): Init copy_indirect and hide_symbol.
+
+2000-02-13 Ian Lance Taylor <ian@zembu.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.
+
+ * bfd-in.h: Move declarations of bfd_get_elf_phdr_upper_bound and
+ bfd_get_elf_phdrs in from bfd-in2.h, correcting patch of
+ 1999-11-29.
+ * bfd-in2.h: Rebuild.
+
+2000-02-10 Timothy Wall <twall@cygnus.com>
+
+ * coffswap.h (coff_swap_sym_in): Add hook SWAP_SYM_IN_POST to
+ allow final modifications of swapped-in symbol.
+ (coff_swap_sym_out): Ditto with SWAP_SYM_OUT_POST.
+ * coffcode.h (coff_write_relocs): Use macro
+ SECTION_RELATIVE_ABSOLUTE_SYMBOL_P if defined to determine whether
+ symbol index should be set to -1.
+
+2000-02-10 Toshiyasu Morita (toshi.morita@sega.com)
+
+ * coff-sh.c (USES1_REG, USES2_REG, SETS1_REG, SETS2_REG,
+ USESF1_REG, USESF2_REG, SETSF1_REG, SETSF2_REG): New macros.
+ * (sh_insn_sets_reg, sh_insn_sets_freg): New prototypes.
+ * (sh_insn_sets_reg, sh_insn_uses_or_sets_reg, sh_insns_sets_freg,
+ sh_insns_uses_or_sets_freg): New functions.
+ * (sh_insn_uses_reg, sh_insn_uses_freg): Use new macros.
+ * (sh_insns_conflict): Use new functions and new macros to
+ detect conflicts when two instructions both set same integer registers,
+ both set same fp register, and both set special register.
+
+2000-02-09 Timothy Wall <twall@cygnus.com>
+
+ * coffgen.c (coff_real_object_p): Set arch/mach info prior to
+ swapping in sections, so that the swapping routines have access to
+ the arch/mach info.
+
+2000-02-08 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * coff-go32.c: Update comment. Update copyright.
+
+2000-01-27 Thomas de Lellis <tdel@windriver.com>
+
+ * syms.c (bfd_decode_symclass)
+ Two new class characters were added - 'V' and 'v'. The
+ meaning of 'W' is now restricted to just weak non-object
+ symbols. This allows differentiation between, for example,
+ weak functions vs weak objects. nm for example now dumps:
+ 'W' = weak global
+ 'w' = weak unresolved
+ 'V' = weak global object
+ 'v' = weak unresolved object
+
+ (bfd_is_undefined_symclass): New function. Return true if the
+ given symbol class represents and undefined/unresolved symbol.
+
+ (bfd_symbol_info): Use bfd_is_undefined_symclass to check for
+ unresolved symbols.
+
+ * bfd-in2.h: Add prototype for bfd_is_undefined_symbol().
+
+ * elf32-arm.h (elf32_arm_get_symbol_type): If a symbol has the
+ STT_ARM_16BIT flag set, but it is not attached to a data object
+ return STT_ARM_16BIT so that it will be treated as code by the
+ disassembler.
+
+2000-01-27 Alan Modra <alan@spri.levels.unisa.edu.au>
+
+ * coff-i386.c (i3coff_object_p): Remove prototype.
+ Update copyright.
+
+ * elflink.c (_bfd_elf_link_record_dynamic_symbol): Add const
+ to name. Update copyright.
+
+ * trad-core.c (trad_unix_core_file_p): Cast core_regsec
+ assignment to avoid warning. Update copyright.
+
+2000-01-24 Robert Lipe (robertl@sco.com)
+
+ * coffcode.h (coff_write_object_contents): Get buff via bfd_malloc
+ instead of using GNU C extension.
+
+2000-01-21 Nick Clifton <nickc@cygnus.com>
+
+ * libbfd.c (bfd_read): Do not attempt to get a negativly sized
+ amount from a bfd_in_memory structure.
+ (bfd_seek): Do not allow seeks past the end of a bfd_in_memory
+ structure.
+
+2000-01-14 Nick Clifton <nickc@cygnus.com>
+
+ * linker.c (default_indirect_link_order): oops - fix incorrectly
+ applied patch from Tim Wall.
+
+2000-01-13 Timothy Wall (twall@tiac.net>
+
+ * coffcode.h: Use bfd_coff_xxx instead of the macro XXX (where xxx
+ = scnhsz, filhsz, relsz, aoutsz, etc)
+
+ * coffswap.h: Ditto.
+
+2000-01-13 Nick Clifton <nickc@cygnus.com>
+
+ * elf32-arm.h (elf32_thumb_to_arm_stub): Fix offset in branch to
+ interwork thumb to arm stub.
+
+2000-01-13 Timothy Wall (twall@tiac.net>
+
+ * archures.c (bfd_octets_per_byte): New function: Return
+ target byte size.
+ (bfd_arch_mach_octets_per_byte): New function: Return target
+ byte size.
+
+ * section.c: Distinguish between octets and bytes for usage of
+ _cooked_size, _raw_size, and output_offset. Clarify
+ description of bfd_set_section_contents.
+
+ * bfd-in2.h: Regenerate.
+
+ * coffgen.c: Indicate that the offset parameter is in bytes, not
+ octets.
+
+ * cofflink.c (bfd_coff_link_input_bfd): Use bfd_octets_per_byte
+ where appropriate to get the octet offset when calling
+ bfd_set_section_contents.
+ (bfd_coff_reloc_link_order): Ditto.
+
+ * linker.c (bfd_generic_reloc_link_order): Ditto.
+ (_bfd_default_link_order): Ditto.
+
+ * reloc.c (bfd_perform_relocation): Distinguish between octets
+ and bytes. Use octets when indexing into octet data; use bytes
+ when calculating target addresses.
+ (bfd_install_relocation): Ditto.
+
+ * srec.c (srec_write_section): Ditto.
+
+2000-01-13 Nick Clifton <nickc@cygnus.com>
+
+ * coff-mcore.c (COFF_DEFAULT_SECTION_ALIGNMENT_POWER): Change from
+ 3 to 2. This allows 4 byte sized sections, which is necessary for
+ dlltool to build functioning DLLs.
+
+2000-01-10 Philip Blundell <pb@futuretv.com>
+
+ * config.bfd (arm*-*-linux-gnu*): Match instead of arm*-*-linux-gnu.
+ (arm*-*-conix*): New target.
+
+2000-01-10 Egor Duda <deo@logos-m.ru>
+
+ * config.bfd: Include elf32_i386 vector to target list for cygwin
+ and mingw.
+
+ * config.in: Undefine HAVE_WIN32_PSTATUS_T.
+ * configure.in: Test for structure win32_pstatus_t in
+ <sys/procfs.h>
+ * configure: Regenerate.
+
+ * elf.c (elfcore_grok_win32pstatus): New function: process
+ win32_pstatus_t notes in elf core file.
+ (elfcore_grok_note): Detect win32_pstatus notes.
+
+2000-01-03 Martin v. Loewis <loewis@informatik.hu-berlin.de>
+
+ * elflink.c (_bfd_elf_link_record_dynamic_symbol): Process symbol
+ visibility.
+ * elflink.h (elf_link_add_object_symbols): Combine visibilities.
+ * elf.c (bfd_elf_print_symbol): Interpret st_other as visibility.
+
+For older changes see ChangeLog-9899
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End: