+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..
+ (elf32_hppa_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.
+ * bfd0in2.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
2001-02-06 H.J. Lu <hjl@gnu.org>
- * bfd/peicode.h (coff_swap_filehdr_in): Remove the e_magic
+ * 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.
(_bfd_mips_elf_final_write_processing): Add cases for
bfd_mach_mips5 and bfd_mach_mips64.
- * bfd/aoutx.h (NAME(aout,machine_type)): Add a
+ * aoutx.h (NAME(aout,machine_type)): Add a
bfd_mach_mips_sb1 case.
- * bfd/archures.c (bfd_mach_mips_sb1): New constant.
- * bfd/bfd-in2.h (bfd_mach_mips_sb1): New constant.
- * bfd/cpu-mips.c (I_sb1): New constant.
+ * 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.
- * bfd/elf32-mips.c (elf_mips_mach): Add case for
+ * 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.
* elf.c (elf_fake_sections): Do not mark the section SHT_NOBITS if
is has the SEC_HAS_CONTENTS flag set.
-2000-09-28 Vrjan Friberg <orjanf@axis.com>
+2000-09-28 \81Örjan Friberg <orjanf@axis.com>
Hans-Peter Nilsson <hp@axis.com>
* aout-cris.c (N_TXTADDR): Define.
2000-09-15 Kenneth Block <Kenneth.Block@compaq.com>
- * bfd/elf64-alpha.c (elf64_alpha_relax_with_lituse): ld performs
+ * 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)
* section.c (SEC_HAS_GOT_REF): Define new flag for asection.
(bfd_get_unique_section_name): New function.
- * bfd_in2.h: Regenerate.
+ * 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
2000-08-05 Jason Eckhardt <jle@cygnus.com>
- * elf32-i860 (elf32_i860_howto_table): New structure.
+ * 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.
* trad-core.c: From hpux-core.c, include <dirent.h> or
<sys/ndir.h> when possible.
-2000-05-31 Nick Clifton <nickc@cygnus.com>
-
- * opintl.h (_(String)): Explain why dgettext is used instead
- of gettext.
-
2000-05-31 Ulrich Drepper <drepper@redhat.com>
* elf.c (_bfd_elf_slurp_version_tables): Correct reading of version
* libhppa.h (HPPA_R_CONSTANT): Cast argument to bfd_signed_vma.
-2000-05-03 Martin v. Lvwis <loewis@informatik.hu-berlin.de>
+2000-05-03 Martin v. L\81öwis <loewis@informatik.hu-berlin.de>
* elflink.h (elf_link_add_object_symbols): Reset dynindx for
hidden and internal symbols.
2000-05-03 Mark Elbrecht <snowball3@bigfoot.com>
- * bfd/coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add entry for
+ * coff-go32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Add entry for
the .bss section.
- * bfd/coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
+ * coff-stgo32.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
2000-05-02 H.J. Lu <hjl@gnu.org>