+2002-05-30 Richard Henderson <rth@redhat.com>
+
+ * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
+ ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
+ (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
+ (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
+ (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
+ (struct alpha_elf_obj_tdata): Rename total_got_entries and
+ n_local_got_entries to total_got_size and local_got_size.
+ (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
+ (alpha_got_entry_size): New.
+ (elf64_alpha_relax_with_lituse): Use it.
+ (elf64_alpha_relax_without_lituse): Likewise.
+ (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
+ (get_got_entry): New.
+ (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
+ (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
+ (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
+ (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
+ (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
+ (elf64_alpha_calc_got_offsets): Likewise.
+ (alpha_dynamic_entries_for_reloc): New.
+ (elf64_alpha_calc_dynrel_sizes): Use it.
+ (elf64_alpha_size_dynamic_sections): Likewise.
+ (elf64_alpha_relocate_section): Handle TLS relocations.
+ * reloc.c: Add Alpha TLS relocations.
+ * bfd-in2.h, libbfd.h: Rebuild.
+
+2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * peXXigen.c (pe_print_idata): Remove double printed
+ import table lines; add Bound-To comment.
+
+2002-05-29 Matt Thomas <matt@3am-software.com>
+
+ * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
+ (BFD32_BACKENDS_CFILES): Add elf32-vax.c.
+ (elf32-vax.lo): New rule.
+ * Makefile.in: Regenerate.
+ * configure.in (bfd_elf32_vax_vec)
+ (vaxnetbsd_vec): New vectors.
+ * configure: Regenerate.
+ * config.bfd (vax-*-netbsdelf*)
+ (vax-*-netbsdaout*)
+ (vax-*-netbsd*): New targets.
+ * elf32-vax.c: New file.
+ * reloc.c: Add VAX relocations.
+ * bfd-in2.h: Regenerate.
+ * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
+
+2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
+ and bfd_elf32_bigarm_vec to targ_selvecs.
+
+2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
+
+ * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
+ with auto-imported symbols.
+
+2002-05-29 Adam Nemet <anemet@lnxw.com>
+
+ * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
+ sections only record bfd.
+ (bfd_elf32_arm_add_glue_sections_to_bfd): New function.
+ * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
+ * bfd-in2.h: Regenerate.
+
+2002-05-28 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * syms.c (_bfd_stab_section_find_nearest_line): Move
+ declaration and initialisation of saw_line and saw_func out of
+ for loop.
+
+2002-05-29 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
+ (bfd_elf64_get_symbol_info): Define.
+ * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
+
+2002-05-29 Andrey Volkov <avolkov@transas.com>
+
+ * cpu-h8300.c: Make default h8300 machine first in machine list.
+
+2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
+
+ * config.bfd: Added DLX configuraton.
+ * Makefile.am: Added DLX configuraton.
+ * configure.in: Added DLX configuraton.
+ * archures.c: Add DLX architecure.
+ * reloc.c: Add DLX relocs.
+ * targets.c: Added DLX target vector.
+ * configure: Regenerate.
+ * Makefile.in: Regenreate.
+ * bfd-in2.h: Regenreate.
+ * elf32-dlx.c: New file: Support DLX target.
+ * cpu-dlx.c: New file: Support DLX target.
+
+2002-05-25 Alan Modra <amodra@bigpond.net.au>
+
+ * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
+
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
+ (ppc64_elf_check_relocs): Don't set up function descriptor symbol
+ strings to point inside function code sym string.
+ (func_desc_adjust): Likewise.
+ (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
+
+2002-05-24 Michal Ludvig <mludvig@suse.cz>
+
+ * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
+ (elf64_x86_64_grok_psinfo): Added.
+
+2002-05-24 TAMURA Kent <kent@netbsd.org>
+
+ * config.bfd: Add a target for i386-netbsdpe.
+
+2002-05-24 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
+ and is_func_descriptor.
+ (func_desc_adjust): Hide function code sym in shared libs unless
+ there is a matching exported function descriptor sym.
+
+2002-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
+ for symbols from SHF_TLS section.
+ (_bfd_elf_print_private_bfd_data): Add PT_TLS.
+ (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
+ (map_sections_to_segments): Build PT_TLS segment if necessary.
+ (assign_file_positions_for_segments): Likewise.
+ (get_program_header_size): Account for PT_TLS segment.
+ (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
+ SEC_THREAD_LOCAL sections to STT_TLS.
+ * reloc.c: Add 386 and IA-64 TLS relocs.
+ * section.c (SEC_THREAD_LOCAL): Define.
+ (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
+ Remove.
+ * elflink.h (elf_link_add_object_symbols): Support .tcommon.
+ (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
+ unconditionally.
+ (struct elf_final_link_info): Add first_tls_sec.
+ (elf_bfd_final_link): Set first_tls_sec.
+ Compute elf_hash_table (info)->tls_segment.
+ (elf_link_output_extsym): Handle STT_TLS symbols.
+ (elf_link_input_bfd): Likewise.
+ * syms.c (BSF_THREAD_LOCAL): Define.
+ * bfd-in2.h: Rebuilt.
+ * libbfd.h: Rebuilt.
+ * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
+ elf_i386_mkobject, elf_i386_object_p): New functions.
+ (elf_howto_table): Add TLS relocs.
+ (elf_i386_reloc_type_lookup): Support TLS relocs.
+ (elf_i386_info_to_howto_rel): Likewise.
+ (struct elf_i386_link_hash_entry): Add tls_type.
+ (struct elf_i386_obj_tdata): New.
+ (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
+ New macros.
+ (struct elf_i386_link_hash_table): Add tls_ldm_got.
+ (link_hash_newfunc): Clear tls_type.
+ (elf_i386_check_relocs): Support TLS relocs.
+ (elf_i386_gc_sweep_hook): Likewise.
+ (allocate_dynrelocs): Likewise.
+ (elf_i386_size_dynamic_sections): Likewise.
+ (elf_i386_relocate_section): Likewise.
+ (elf_i386_finish_dynamic_symbol): Likewise.
+ (bfd_elf32_mkobject, elf_backend_object_p): Define.
+ * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
+ dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
+ want_tprel, want_dtpmod, want_dtprel.
+ (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
+ (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
+ R_IA64_LTOFF_TPREL22.
+ (elf_code_to_howto_index): Add TLS relocs.
+ (elfNN_ia64_check_relocs): Support TLS relocs.
+ (allocate_global_data_got): Account for TLS .got data.
+ (allocate_dynrel_entries): Account for TLS dynamic relocations.
+ (elfNN_ia64_install_value): Supprt TLS relocs.
+ (set_got_entry): Support TLS relocs.
+ (elfNN_ia64_relocate_section): Likewise.
+
+2002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
+ BLX reloc round the relocation up rather than down.
+ * coff-arm.c (coff_arm_relocate_section): Likewise.
+
+2002-05-21 H.J. Lu (hjl@gnu.org)
+
+ * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
+ definition.
+
+2002-05-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
+ (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
+
+2002-05-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
+ unresolved relocs.
+ (ppc64_elf_size_dynamic_sections): Check for splt NULL.
+
+2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * bfd/bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
+ non-ELF targets.
+
+2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
+ an error value.
+ * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
+ return with false on error.
+ (elf_link_input_bfd): Check reloc_emitter return value.
+
+2002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * config.bfd (armeb-*-netbsdelf*): New target.
+
+2002-05-20 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
+ at the plt call stub.
+
+2002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
+
+ * cpu-mips.c (mips_compatible): Don't try to check machine
+ compatibility.
+
2002-05-18 Tom Rix <trix@redhat.com>
* coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
2002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
* aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
- bfd_bread.
- (xcoff64_core_file_matches_executable_p): Replace bfd_read
- with bfd_bread.
+ bfd_bread.
+ (xcoff64_core_file_matches_executable_p): Replace bfd_read
+ with bfd_bread.
2002-05-15 Alan Modra <amodra@bigpond.net.au>
2002-05-10 Tom Rix <trix@redhat.com>
- * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
+ * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
xcoff64_ppc_relocate_section.
* coff-rs6000.c : Extern common xcoff_reloc_type functions.
* libxcoff.h: Common xcoff_reloc_type function declaration.
* elf32-ppc.c (ppc_elf_create_got): New function.
(ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
- _bfd_elf_create_dynamic_sections. Correct .plt flags.
+ _bfd_elf_create_dynamic_sections. Correct .plt flags.
(ppc_elf_check_relocs): Use ppc_elf_create_got in place of
_bfd_elf_create_got_section.
(xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
case some 16 bit relocs. Add reloc value to output.
(xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
- R_RBR. Improve names.
+ R_RBR. Improve names.
(_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
(bfd_xcoff_backend_data): Update with new reloc swap names.
(bfd_pmac_xcoff_backend_data) : Same.
* coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
(xcoff64_swap_reloc_out): Same.
- (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
+ (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
R_POS. Add reloc value to output.
- (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16
- bit R_RBR. Improve names, masks.
+ (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16
+ bit R_RBR. Improve names, masks.
(xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
(bfd_xcoff_backend_data): Update with new reloc swap names.
(bfd_xcoff_aix5_backend_data) : Same.
(mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
to hide a global symbol.
(_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
- forced_local to true.
+ forced_local to true.
2002-05-02 Richard Henderson <rth@redhat.com>
* elf64-ppc.h (ppc64_elf_set_toc): Delete.
(ppc64_elf_toc): Declare.
(ppc64_elf_next_input_section): Update.
-
+
2002-05-01 Alan Modra <amodra@bigpond.net.au>
* syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
2002-04-28 Tom Rix <trix@redhat.com>
* coff-rs6000.c (xcoff_calculate_relocation) : Function table for
- calulating relocations.
+ calulating relocations.
(xcoff_complain_overflow) : Function table for relocation errors.
- (xcoff_ppc_relocate_section): Use relocation and complain function
- tables.
- (xcoff_complain_overflow_unsigned_func): New complain function.
+ (xcoff_ppc_relocate_section): Use relocation and complain function
+ tables.
+ (xcoff_complain_overflow_unsigned_func): New complain function.
(xcoff_complain_overflow_signed_func): Same.
(xcoff_complain_overflow_bitfield_func): Same.
(xcoff_complain_overflow_dont_func): Same.
(xcoff_reloc_type_noop): Same.
* libxcoff.h : Declare common parts for xcoff64.
* coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
- and complain function tables.
+ and complain function tables.
2002-04-28 Alan Modra <amodra@bigpond.net.au>
insert_thumb_branch, record_thumb_to_arm_glue): Suppress
definition of these functions for ARM_WINCE builds as they are
not used.
- (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
+ (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
for ARM_WINCE builds.
2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
- * coff-arm.c (bfd_arm_process_before_allocation):
+ * coff-arm.c (bfd_arm_process_before_allocation):
2002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
2002-03-20 Tom Rix <trix@redhat.com>
- * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
+ * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
_bfd_xcoff_generic_stat_arch_elt. Fix format check.
- * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
+ * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
2002-03-19 Tom Rix <trix@redhat.com>
- * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
+ * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
dynamic objects in archives.
2002-03-19 Hans-Peter Nilsson <hp@bitrange.com>
(xcoff_write_archive_contents_big) : Use do_shared_object_padding,
do_copy and do_pad.
* coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
- bfd_xcoff_magic_number.
+ bfd_xcoff_magic_number.
(xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
fop.
(xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
(bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
(aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
* rs6000-core.c : Update copyright date.
- * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
+ * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
csectpp.
* coffcode.h (coff_new_section_hook) : Use new accessor macros.
(coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.