bfd/
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 690c46d8ba27f4c8d736c4f90cbc68fcfd06aa91..54c909bd92ebbd9d746d944760ab922dc23c766d 100644 (file)
@@ -1,3 +1,667 @@
+2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * elf-bfd.h (eh_cie_fde): Add u.cie.  Document how u.fde.cie_inf
+       changes when removed == 0.
+       (eh_frame_hdr_info): Add parsed_eh_frames.
+       (_bfd_elf_begin_eh_frame_parsing): Declare.
+       (_bfd_elf_parse_eh_frame): Declare.
+       (_bfd_elf_end_eh_frame_parsing): Declare.
+       * elf-eh-frame.c (_bfd_elf_begin_eh_frame_parsing): New function.
+       (_bfd_elf_parse_eh_frame): New function, split out from
+       _bfd_elf_discard_section_eh_frame.  Make a first pass through the
+       buffer to calculate the number of entries and CIEs.  Allocate memory
+       for them before the main loop.  Replace current extended cie
+       representation with a pair of pointers, one to the local eh_cie_fde
+       and one to the full struct cie.  Allocate a separate array of struct
+       cies if not merging.  Merge CIEs during the main loop and set up each
+       u.cie.merged field.  Point an FDE's cie_inf field directly at the
+       local CIE.  Initially assume that all entries should be removed.
+       (_bfd_elf_end_eh_frame_parsing): New function.
+       (_bfd_elf_discard_section_eh_frame): Assume that the section has
+       already been parsed.  Use a separate pass to mark entries that
+       need to be kept.  Use the u.cie.merged field to track a CIE's
+       group representative.
+       * elflink.c (bfd_elf_discard_info): Call _bfd_elf_parse_eh_frame
+       before _bfd_elf_discard_section_eh_frame.  Wrap loop with calls to
+       _bfd_elf_begin_eh_frame_parsing and _bfd_elf_end_eh_frame_parsing.
+
+2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * elf-bfd.h (eh_cie_fde): Put cie_inf in a union.  Add a reloc_index
+       field.  Use bitfields for fde_encoding, lsda_encoding and lsda_offset.
+       * elf-eh-frame.c (extra_augmentation_data_bytes): Adjust cie_inf
+       accesses after the above change.
+       (_bfd_elf_eh_frame_section_offset): Likewise.
+       (_bfd_elf_write_section_eh_frame): Likewise.
+       (_bfd_elf_discard_section_eh_frame): Likewise.  Set up reloc_index.
+
+2007-12-15  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * elf-bfd.h (_bfd_elf_gc_mark_rsec, _bfd_elf_gc_mark_reloc): Declare.
+       (_bfd_elf_gc_mark): Use elf_gc_mark_hook_fn.
+       * elflink.c (init_reloc_cookie, fini_reloc_cookie)
+       (init_reloc_cookie_rels, fini_reloc_cookie_rels): New functions,
+       split out from...
+       (bfd_elf_discard_info): ...here.
+       (init_reloc_cookie_for_section): New function.
+       (fini_reloc_cookie_for_section): Likewise.
+       (_bfd_elf_gc_mark_rsec, _bfd_elf_gc_mark_reloc): New functions,
+       split out from...
+       (_bfd_elf_gc_mark): ...here.  Use init_reloc_cookie_for_section
+       and fini_reloc_cookie_for_section.
+
+2007-12-12  Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (elf_xtensa_do_reloc): Update self_address along with
+       address.
+       (print_action_list): Fix name for ta_convert_longcall.
+
+2007-12-11  Catherine Moore  <clm@codesourcery.com>
+
+        * elf.c (_bfd_elf_copy_private_symbol_data): Don't copy shndx if
+        the symbol's section is the undefined section.
+
+2007-12-11  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (elf_fake_sections): Add "warning:" to "..changed to PROGBITS"
+       message.
+
+2007-12-07  Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (elf_howto_table): Add R_XTENSA_32_PCREL.
+       (elf_xtensa_reloc_type_lookup): Handle BFD_RELOC_32_PCREL.
+       (elf_xtensa_check_relocs): Use default case for all relocations that
+       need nothing done here.
+       (elf_xtensa_do_reloc): Compute self_address for all relocation types.
+       Handle R_XTENSA_32_PCREL.
+       (elf_xtensa_relocate_section): Check for R_XTENSA_32_PCREL for dynamic
+       symbols.
+       (check_section_ebb_pcrels_fit): Ignore R_XTENSA_32_PCREL relocations.
+       
+2007-12-05  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-spu.c (spu_elf_size_stubs): Do consider branches to
+       non-function symbols for overlay stubs.
+
+2007-12-04  Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Create DT_PLTGOT
+       entry for all dynamic objects.
+
+2007-12-04  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-spu.c (spu_elf_size_stubs): Correct section alignment.
+
+2007-11-30  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use the
+       ELF header to choose between 32-bit and 64-bit relocation structures.
+
+2007-11-29  Mark Shinwell  <shinwell@codesourcery.com>
+
+       * archures.c (bfd_mach_mips_loongson_2e): New.
+       (bfd_mach_mips_loongson_2f): New.
+       * bfd-in2.h (bfd_mach_mips_loongson_2e): New.
+       (bfd_mach_mips_loongson_2f): New.
+       * cpu-mips.c: Add I_loongson_2e and I_loongson_2f to
+       anonymous enum.
+       (arch_info_struct): Add Loongson-2E and Loongson-2F entries.
+       * elfxx-mips.c (_bfd_elf_mips_mach): Handle Loongson-2E
+       and Loongson-2F flags.
+       (mips_set_isa_flags): Likewise.
+       (mips_mach_extensions): Add Loongson-2E and Loongson-2F
+       entries. 
+
+2007-11-29  Nick Clifton  <nickc@redhat.com>
+
+       PR ld/5398
+       * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Do not
+       complain if there is no glue bfd, just return.
+
+2007-11-28  Nick Clifton  <nickc@redhat.com>
+
+       * elf-m10300.c (mn10300_elf_relax_section): Extend previous fix to
+       cover forward jumps.
+
+2007-11-21  Nick Clifton  <nickc@redhat.com>
+
+       * elf-m10300.c (mn10300_elf_relax_section): Allow for alignment
+       relocs when computing whether instructions can be relaxed.
+
+2007-11-16  Tristan Gingold  <gingold@adacore.com>
+
+       * elflink.c (elf_link_output_extsym): Weaken assertion: if
+       --gc-section is set, there may be no TLS segment.
+
+2007-11-19  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
+       * elflink.c (bfd_elf_perform_complex_relocation): Return status.
+       Don't print reloc overflow message.
+       * elf32-mep.c (mep_elf_relocate_section): Handle status from
+       bfd_elf_perform_complex_relocation.
+
+2007-11-17  Thiemo Seufer  <ths@mips.com>
+
+       * elfxx-mips.c (mips_elf_merge_obj_attributes): Handle -mips32r2
+       -mfp64 attribute.
+
+2007-11-16  Nick Clifton  <nickc@redhat.com>
+
+       * elf-m10300.c (mn10300_elf_check_relocs): Fix memory leak and
+       check that bfd_elf_get_elf_syms is only called once.
+
+2007-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Set udata.p of
+       synthetic symbol to point to the ELF symbol it was derived from.
+
+2007-11-15  Alan Modra  <amodra@bigpond.net.au>
+
+       PR 5328
+       * opncls.c (separate_debug_file_exists): Use fopen/fread
+       rather than open/read and open in binary mode.
+
+2007-11-14  Richard Sandiford  <richard@codesourcery.com>
+
+       * elfxx-mips.c (mips_got_page_range): New structure.
+       (mips_got_page_entry): Likewise.
+       (mips_got_info): Add page_gotno and got_page_entries fields.
+       (mips_elf_got_per_bfd_arg): Add max_pages field.  Delete
+       primary_count and current_count fields.
+       (mips_got_page_entry_hash, mips_got_page_entry_eq): New functions.
+       (mips_elf_pages_for_range, mips_elf_record_got_page_entry): Likewise.
+       (mips_elf_get_got_for_bfd): New function, split out from
+       mips_elf_make_got_per_bfd.  Initialize the page_gotno and
+       got_page_entries fields when creating a new GOT structure.
+       (mips_elf_make_got_pages_per_bfd): New function.
+       (mips_elf_merge_got_with): New function, split out from
+       mips_elf_make_got_per_bfd.  Merge page entries as well as
+       non-page entries.  Use the minimum of max_pages and the sum
+       of the page_gotnos to estimate the number of page entries.
+       (mips_elf_merge_gots): Use the minimum of max_pages and the
+       bfd's page_gotno to estimate the number of page entries.
+       Use the above functions.
+       (mips_elf_multi_got): Add page entries as well as non-page entries
+       to the individual per-bfd GOTs.  Initialize got_per_bfd_arg.max_pages.
+       Initialize the page_gotno and got_page_entries fields when creating
+       a new primary GOT.  Use the minimum of pages and page_gotno when
+       adding the number of pages entries to local_gotno.
+       (mips_elf_create_got_section): Initialize the page_gotno and
+       got_page_entries fields of the GOT structure.
+       (mips_elf_rel_relocation_p, mips_elf_read_rel_addend)
+       (mips_elf_add_lo16_rel_addend, mips_elf_get_section_contents): New
+       functions, split out from...
+       (_bfd_mips_elf_relocate_section): ...here.
+       (_bfd_mips_elf_check_relocs): Record GOT page entries too.
+       (_bfd_mips_relax_section): Use mips_elf_get_section_contents.
+       (_bfd_mips_elf_always_size_sections): Use the smaller of the
+       loadable_size- and page_gotno-derived estimates.
+
+2007-11-14  Thiemo Seufer  <ths@mips.com>
+
+       * elfxx-mips.c (mips_elf_merge_obj_attributes): Prevent
+       unwanted fallthroughs in case statement.
+
+2007-11-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/5307
+       * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't
+       copy input subsystem if output is different from input.
+
+2007-11-13  Nick Clifton  <nickc@redhat.com>
+
+       * elf-m10300.c (mn10300_elf_final_link_relocate): Prevent the
+       accidental termination of DWARF location list entries.
+       (mn10300_elf_relax_delete_bytes): Stop deletion if an align reloc
+       is encountered that is larger than or not a mutliple of the number
+       of bytes being deleted.
+       When adjusting symbols, any symbols inside the region being
+       deleted must be moved to the end of the region.
+       Move align relocs forward if there is room for them after the
+       deletion of the region.
+
+2007-11-13  Alan Modra  <amodra@bigpond.net.au>
+
+       PR 5233
+       * elf.c (rewrite_elf_program_header): Formatting.  Add
+       first_matching_lma and first_suggested_lma booleans and use
+       instead of testing matching_lma and suggested_lma for zero.
+
+2007-11-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/5299
+       * peicode.h (pe_bfd_object_p): Save and restore previous bfd
+       state when calling coff_object_p.
+
+2007-11-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (_bfd_elf_get_synthetic_symtab): Only bump the symbol
+       pointer when we have a valid symbol.  Init udata.p to NULL.
+
+2007-11-09  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * elf-vxworks.c (elf_vxworks_emit_relocs): Don't clobber
+       rel_hash.  Move loop inside if test.
+
+2007-11-08  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * elf-vxworks.h (elf_vxworks_add_dynamic_entries): Declare.
+       (elf_vxworks_finish_dynamic_entry): Declare.
+       * elf-vxworks.c: Include elf/vxworks.h.
+       (elf_vxworks_add_dynamic_entries): New.
+       (elf_vxworks_finish_dynamic_entry): New.
+       * Makefile.am (elf-vxworks.lo): Add dependency.
+       * Makefile.in (elf-vxworks.lo): Add dependency.
+       * elf32-i386.c (elf_i386_size_dynamic_sections,
+       elf_i386_finish_dynamic_sections): Call
+       elf_vxworks_add_dynamic_entries and
+       elf_vxworks_finish_dynamic_entry.
+       * elf32-ppc.c (ppc_elf_size_dynamic_sections,
+       ppc_elf_finish_dynamic_sections): Likewise.
+       * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections,
+       sparc_finish_dyn): Likewise.
+       * elf32-sh.c (sh_elf_size_dynamic_sections,
+       sh_elf_finish_dynamic_sections): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections,
+       _bfd_mips_elf_finish_dynamic_sections): Likewise.
+       * elf32-arm.c (elf32_arm_size_dynamic_sections,
+       elf32_arm_finish_dynamic_sections): Likewise.
+
+2007-11-07  Olivier Hainque  <hainque@adacore.com>
+
+       * bfd/elfxx-mips.c (_bfd_mips_elf_fake_sections): Force
+       SHF_MIPS_NOSTRIP on .debug_frame for Irix.
+
+2007-11-06  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc64_elf_check_relocs): Don't refcount tlsld_got here..
+       (ppc64_elf_gc_sweep_hook): ..or here..
+       (ppc64_elf_tls_optimize): ..or here.  Make two passes through the
+       relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
+       (allocate_dynrelocs): Refcount tlsld_got here.
+       (ppc64_elf_size_dynamic_sections): Allocate local got and call
+       allocate_dynrelocs before allocating tlsld_got.
+       (ppc64_elf_relocate_section): Remove check that a tls_get_addr
+       call follows gd and ld relocs.
+
+       * elf32-ppc.c (ppc_elf_check_relocs): Don't refcount tlsld_got here..
+       (ppc_elf_gc_sweep_hook): ..or here..
+       (ppc_elf_tls_optimize): ..or here.  Make two passes through the
+       relocs, ensuring that tls_get_addr calls follow gd and ld relocs.
+       (allocate_dynrelocs): Refcount tlsld_got here.
+       (ppc_elf_size_dynamic_sections): Call allocate_dynrelocs before
+       allocating tlsld_got.
+       (ppc_elf_relocate_section): Remove check that a tls_get_addr
+       call follows gd and ld relocs.
+
+2007-11-05  Alan Modra  <amodra@bigpond.net.au>
+
+       * merge.c (sec_merge_hash_lookup): Revert last change.
+       (record_section): Likewise.
+       (_bfd_merge_sections): Likewise.
+       (_bfd_merged_section_offset): Properly handle NULL secinfo.
+       (_bfd_add_merge_section): Allocate extra space for a zero
+       terminator on SEC_STRINGS sections.
+
+2007-11-05  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Let .data, .text
+        and .bss section use the default.
+       * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
+
+2007-11-01  Joseph Myers  <joseph@codesourcery.com>
+
+       * merge.c (sec_merge_hash_lookup): Add parameter sec_end.  Check
+       for unterminated strings.  All callers changed.
+       (record_section): Add parameter abfd.  Give error message for
+       unterminated strings.
+       (_bfd_merge_sections): Update call to record_section.
+       (_bfd_write_merged_section, _bfd_merged_section_offset): Handle
+       NULL secinfo from merge failures.
+
+2007-10-31  Nick Clifton  <nickc@redhat.com>
+
+       * elf-m10300.c (mn10300_elf_relax_delete_bytes): Do not look for
+       align relocs when there are no relocs attached to the section.
+
+2007-10-31  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf-bfd.h (bfd_elf_match_symbols_in_sections): Don't declare.
+       * elflink.c (bfd_elf_match_symbols_in_sections): Make static.
+       Remove section name comparisons.
+
+2007-10-30  Nick Clifton  <nickc@redhat.com>
+
+       * reloc.c (BFD_RELOC_MN10300_ALIGN): Add.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regnerate.
+       * elf-m10300.h: Handle R_MN10300_ALIGN relocs.
+       (mn10300_elf_relax_delete_bytes): Honour R_MN10300_ALIGN relocs.
+       Re-fix off by one error in comparisons.
+  
+2007-10-25  Pedro Alves  <pedro_alves@portugalmail.pt>
+
+       * bfd-in.h (STRING_COMMA_LEN): Don't handle NULL STR case.
+       * bfd-in2.h: Regenerate.
+
+2007-10-25  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for
+       Tag_GNU_Power_ABI_Vector.
+
+2007-10-25  Joseph Myers  <joseph@codesourcery.com>
+
+       * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Do not add
+       PT_NULL header when not linking.
+
+2007-10-25  Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>
+
+       * elf.c (elfcore_grok_ppc_vmx): New function.
+       (elfcore_grok_note): Handle NT_PPC_VMX.
+       (elfcore_write_ppc_vmx): New function.
+       * elf-bfd.h (elfcore_write_ppc_vmx): Declare.
+
+2007-10-24  Alan Modra  <amodra@bigpond.net.au>
+
+       * Makefile.am: Run "make dep-am".
+       * Makefile.in: Regenerate.
+       * po/SRC-POTFILES.in: Regenerate.
+
+2007-10-23  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf64-ppc.c (ppc_build_one_stub): Don't duplicate relocs
+       emitted for ".brlt" entries.
+       (toc_adjusting_stub_needed): Don't treat ".fixup" specially here..
+       (ppc64_elf_next_input_section): ..instead do so here.
+
+2007-10-19  Nick Clifton  <nickc@redhat.com>
+
+       * config.bfd: Recognise am34-linux-gnu target.
+       * reloc.c: Add BFD_RELOC_MN10300_SYM_DIFF relocation.
+       * bfd-in2.h: Regenerate.
+       * libbfd.h: Regenerate.
+       * elf-m10300.c (elf_mn10300_howto): Add R_MN10300_SYM_DIFF.
+       (mn10300_reloc_map): Likewise.
+       (mn10300_elf_check_relocs): Do not create dynamic relocs for
+       symbol differences or relocations against absolute symbols.
+       (mn10300_elf_final_link_relocate): Likewise.
+       Handle R_MN10300_SYM_DIFF relocs. 
+       (mn10300_elf_relocate_section): Fix for creating local copys of
+       dynamic relocs.
+       (mn10300_elf_relax_delete_bytes): Adjust symbols at the end of the
+       region.  Adjust the size of function symbols.
+       (mn10300_elf_relax_section): Ignore symbols that are in discarded
+       sections.
+
+2007-10-19  Nick Clifton  <nickc@redhat.com>
+
+       * elf-m10300.c: Convert to ISO C.
+
+2007-10-18  H.J. Lu  <hongjiu.lu@intel.com>
+           Alan Modra  <amodra@bigpond.net.au>
+
+       PR ld/4424
+       * config.bfd (targ_selvecs): Add bfd_elf64_alpha_vec for
+       alpha/FreeBSD.  Add bfd_elf64_sparc_vec for sparc64/FreeBSD.
+       Add bfd_elf32_i386_vec and bfd_efi_app_ia32_vec for i386/FreeBSD.
+       (targ64_selvecs): Set for i386/FreeBSD.
+       * elf-bfd.h (elf_backend_data): Add relocs_compatible.
+       (_bfd_elf_default_relocs_compatible): Declare.
+       (_bfd_elf_relocs_compatible): Declare.
+       * elfxx-target.h (elf_backend_relocs_compatible): Define.
+       (elfNN_bed): Init new relocs_compatible field.
+       * elflink.c (_bfd_elf_default_relocs_compatible): New function.
+       (_bfd_elf_relocs_compatible): New function.
+       (elf_link_add_object_symbols): Call bed->relocs_compatible.
+       * elf32-i386.c (elf_backend_relocs_compatible): Define.
+       * elf64-alpha.c: Likewise.
+       * elf64-sparc.c: Likewise.
+       * elf64-x86-64.c: Likewise.
+
+2007-10-16  Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (relax_section): Check for a reference to a discarded
+       DWARF section and anticipate its replacement with the kept section.
+       
+2007-10-16  Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (elf_xtensa_discard_info_for_section): Remove
+       unnecessary size variables.  Set sec->rawsize.
+       (relax_section, relax_property_section): Likewise.
+       
+2007-10-16  Bob Wilson  <bob.wilson@acm.org>
+
+       * section.c (struct bfd_section): Clarify comment for rawsize field.
+       * bfd-in2.h: Regenerate.
+       
+2007-10-16  Bob Wilson  <bob.wilson@acm.org>
+
+       * elflink.c (_bfd_elf_check_kept_section): Use the section rawsize
+       values if they are set.
+       
+2007-10-16  Nick Clifton  <nickc@redhat.com>
+
+       PR 5146
+       * configure.in (AC_CHECK_HEADERS): Add alloca.h
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * som.c: Replace alloca-conf.h inclusion with code recommended in
+       autoconf documentation.
+       * elf64-hppa.c: Likewise.
+
+2007-10-16  Nick Clifton  <nickc@redhat.com>
+
+       * configure.in (--enable-elf-stt-common): New configure
+       option.  If enabled then the tools can generate symbols with
+       the ELF STT_COMMON type.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+       * elf.c (swap_out_syms): If USE_STT_COMMON is defined then set
+       the type of emitted common symbols to STT_COMMON.
+       * elfcode.h (elf_slurp_symbol_table): Accept STT_COMMON symbol
+       types.
+       
+2007-10-15  Alan Modra  <amodra@bigpond.net.au>
+
+       * coff-arm.c (arm_emit_base_file_entry): Check fwrite return value.
+       Return status.  Adjust callers.
+       * coff-mcore.c (mcore_emit_base_file_entry): Likewise.
+       * coff-ppc.c (write_base_file_entry): New function.
+       (coff_ppc_relocate_section): Use it.
+       * elf32-arm.c (find_thumb_glue): Check asprintf return status.
+       (find_arm_glue): Likewise.
+       * vms-misc.c (_bfd_vms_output_flush): Check fwrite return value.
+
+2007-10-12  Nick Clifton  <nickc@redhat.com>
+
+       PR 5160
+       * elflink.c (eval_symbol): Remove bufsz variable and use
+       sizeof(symbuf) where necessary.
+
+2007-10-12  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
+
+       * elf32-cr16.c (elf32_cr16_relax_section): Fix condition check typo.
+
+2007-10-12  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * elfxx-mips.c (mips_elf_sort_hash_table_f): Handle forced
+       local symbols specially.
+       (mips_elf_set_global_got_offset): Skip forced local symbols.
+
+2007-10-12  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf.c (elfcore_grok_prxfpreg): Fix comment typo.
+
+2007-10-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf.c (get_program_header_size): Always add a PT_GNU_RELRO
+       segment for -z relro.
+       (_bfd_elf_map_sections_to_segments): Make a PT_GNU_RELRO
+       segment only when needed.
+
+2007-10-05  Bob Wilson  <bob.wilson@acm.org>
+       
+       * elf32-xtensa.c (relax_section): Call pin_internal_relocs when
+       changing a relocation's offset.  Adjust call to translate_reloc.  Do
+       not add a fix record for a DIFF reloc.  For other relocs, only add a
+       fix record if the translated target is in a different object file;
+       otherwise, just update the relocation.  Call pin_internal_relocs when
+       updating a reloc but not when adding a fix record.
+       (translate_reloc): Get the target section from a new argument, not
+       from the relocation.  Change check for relaxable sections to an
+       assertion.  Compute separate offset adjustments for the base symbol
+       and the addend, and set the new relocation's addend correctly.  Return
+       the new target section.
+       
+2007-10-05  Bob Wilson  <bob.wilson@acm.org>
+       
+       * elf32-xtensa.c (elf_xtensa_relocate_section): Remove updates of
+       r_type and howto after calling do_fix_for_relocateable_link and
+       do_fix_for_final_link.
+       
+2007-10-05  Bob Wilson  <bob.wilson@acm.org>
+       
+       * elf32-xtensa.c (removed_by_actions): New.
+       (offset_with_removed_text): Reimplement using removed_by_actions.
+       (offset_with_removed_text_before_fill): Delete.
+       (relax_property_section): Use removed_by_actions.  Rearrange logic.
+       (relax_section_symbols): Likewise.
+       
+2007-10-04  Bob Wilson  <bob.wilson@acm.org>
+
+       * elf32-xtensa.c (reloc_bfd_fix_struct): Delete target_abfd field.
+       (reloc_bfd_fix_init): Remove target_abfd argument.
+       (relax_section, move_literal): Adjust calls to reloc_bfd_fix_init.
+
+2007-10-04  Nick Clifton  <nickc@redhat.com>
+
+       PR linker/5099
+       * elf64-x86-64.c (elf64_x86_64_check_relocs): Add missing
+       apostrophe to error message.
+
+2007-10-01  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
+
+       * elf32-cr16.c: Fixed DISP8, DISP20 and IMM20 relocations at
+       final relocation phase.
+       Added the below relaxations: IMM32 -> IMM20/IM16 -> IMM4.
+       * reloc.c: Added 3 new relocations: R_CR16_SWITCH8,
+       R_CR16_SWITCH16, R_CR16_SWITCH32.
+       * libbfd.h: Regenerate.
+       * bfd-in2.h: Regenerate.
+
+2007-09-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c: Formatting.
+
+2007-09-29  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c (resolve_symbol): Handle symbols in SEC_MERGE
+       sections.  Don't test symbol st_shndx.  Don't bother with
+       bfd_link_hash_common symbols.  Print longs rather than ints
+       in debug messages.
+       (eval_symbol): Replace "sym" and "advanced" params with "symp".
+       Replace "addr" and "section_offset" params with "dot".  Don't
+       cast bfd_vma values to signed, cast them to bfd_signed_vma.
+       (bfd_elf_perform_complex_relocation): Delete "output_bfd", "info",
+       "local_syms" and "local_sections" params.  Add "relocation".
+       Delete code calculating relocation value.
+       (evaluate_complex_relocation_symbols): Delete function.  Fold into..
+       (elf_link_input_bfd): ..existing code examining relocs.
+       * elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
+       * elf32-mep.c (mep_elf_check_relocs): Delete function.
+       (mep_elf_gc_sweep_hook, mep_elf_gc_mark_hook): Likewise.
+       (mep_elf_object_p): Don't set elf_bad_symtab.
+       (elf_backend_check_relocs): Don't define.
+       (elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): Likewise.
+       (elf_backend_can_gc_sections, USE_RELA): Likwise.
+       (mep_elf_relocate_section): Move bfd_elf_perform_complex_relocation
+       call after we have calculated reloc value.  Delete local sym
+       debug code.  Use RELOC_FOR_GLOBAL_SYMBOL.  Delete addend
+       adjusting code..
+       (elf_backend_rela_normal): ..instead define this.
+
+2007-09-28  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf-m10300.c (mn10300_elf_check_relocs): Delete dead code.
+       * elf32-arm.c (elf32_arm_check_relocs): Likewise.
+       * elf32-avr.c (elf32_avr_check_relocs): Likewise.
+       * elf32-bfin.c (bfinfdpic_check_relocs): Likewise.
+       * elf32-cris.c (cris_elf_check_relocs): Likewise.
+       * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
+       * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
+       * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
+       * elf32-frv.c (_frvfdpic_check_discarded_relocs): Likewise.
+       (elf32_frv_check_relocs): Likewise.
+       * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
+       * elf32-m32c.c (m32c_elf_check_relocs): Likewise.
+       * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
+       * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
+       * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
+       * elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
+       * elf32-mt.c (mt_elf_check_relocs): Likewise.
+       * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
+       * elf32-sh.c (sh_elf_check_relocs): Likewise.
+       * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
+       * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
+       * elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
+       (score_elf_local_relocation_p): Likewise.
+       (_bfd_score_elf_relocate_section): Likewise.
+       (score_elf_final_link_relocate): Likewise.
+
+2007-09-26  Jan Beulich  <jbeulich@novell.com>
+
+       * elf32-i386.c (elf_i386_check_relocs): Revert NULL pointer
+       check for R_386_GNU_VTINHERIT.
+       * elf-m10300.c (mn10300_elf_check_relocs): Check for NULL
+       pointer for R_xxx_GNU_VTENTRY.
+       * elf32-arm.c (elf32_arm_check_relocs): Likewise.
+       * elf32-bfin.c (bfin_check_relocs): Likewise.
+       (bfinfdpic_check_relocs): Likewise.
+       * elf32-cris.c (cris_elf_check_relocs): Likewise.
+       * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
+       * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
+       * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
+       * elf32-frv.c (elf32_frv_check_relocs): Likewise.
+       * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
+       * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
+       * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
+       * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
+       * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
+       * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
+       * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
+       * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
+       * elf32-s390.c (elf_s390_check_relocs): Likewise.
+       * elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
+       * elf32-sh.c (sh_elf_check_relocs): Likewise.
+       * elf32-v850.c (v850_elf_check_relocs): Likewise.
+       * elf32-vax.c (elf_vax_check_relocs): Likewise.
+       * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
+       * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
+       * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
+       * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
+       * elf64-s390.c (elf_s390_check_relocs): Likewise.
+       * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
+       * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
+       * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
+
+2007-09-26  Alan Modra  <amodra@bigpond.net.au>
+
+       * elflink.c (set_symbol_value): Add isymbuf and locsymcount
+       params.  Change symidx to a size_t.  Don't access past end
+       of symbol buffer.
+       (resolve_symbol): Add isymbuf param and use instead of
+       finfo->internal_syms.
+       (eval_symbol, evaluate_complex_relocation_symbols): Likewise.
+       (elf_link_input_bfd): Don't read symbols specially for
+       evaluate_complex_relocation_symbols.
+
+2007-09-26  Tristan Gingold  <gingold@adacore.com>
+
+       * som.c (som_get_reloc_upper_bound): If there are no relocs return
+       enough space to hold a NULL pointer.
+
 2007-09-26  Alan Modra  <amodra@bigpond.net.au>
 
        * elf64-ppc.c (ppc_build_one_stub): Correct rel_hdr.sh_size.
        (read_rangelist): Change interface to accept a callback and data to
        allow caller to select the action peformed on a new range list read.
        (scan_unit_for_symbols): Use new interface of read_rangelist.
-       (parse_comp_unit): Create an arange set for each new comp unit.  Use new
-       interface of read_rangelist.  Replace call to arange_add with that to
-       dwarf2_comp_unit_arange_add.
+       (parse_comp_unit): Create an arange set for each new comp unit.
+       Use new interface of read_rangelist.  Replace call to arange_add
+       with that to dwarf2_comp_unit_arange_add.
        (comp_unit_contains_address): Replace sequential search with a call to
        arange_set_lookup_address, which can handles large set efficiently.
        (stash_copy_local_aranges, stash_maybe_enable_arange_set,
This page took 0.032668 seconds and 4 git commands to generate.