* bfd/config.bfd (targ_cpu): Add arm9e-*-elf.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 87b9b79a5973a53959c5e818d80dd017a54fb2b4..aad8211e06d2d10750e841fbc2cf87edfcbe986d 100644 (file)
@@ -1,5 +1,335 @@
+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 (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.
This page took 0.027011 seconds and 4 git commands to generate.