oops - omitted from previous delta
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 5bdd8fd8eff290b336ac23c425e52f863a4fb875..3594e2550b5c70c836d6f317bb8fcf54950a3262 100644 (file)
@@ -1,3 +1,148 @@
+2009-09-28  Nick Clifton  <nickc@redhat.com>
+
+       PR 10478: Accepting Solaris binaries.
+       * elf.c (bfd_section_from_shdr): Allow SHN_BEFORE and SHN_AFTER
+       section link values in x86 binaries.
+       * elfcode.h (elf_object_p): Likewise.
+
+2009-09-28  Philippe De Muyter  <phdm@macqel.be>
+
+       * elf32-m68k.c (elf_m68k_final_write_processing): New function.
+       (elf_backend_final_write_processing): Macro defined as above function.
+
+2009-09-25  Martin Thuresson  <martint@google.com>
+
+       Update soruces to make alpha and arm targets compile cleanly with
+       -Wc++-compat:
+       * ecoff.c: Add casts.
+       * ecofflink.c: Add casts.
+       * elf64-alpha.c: Add casts.
+       (struct alpha_elf_got_entry, struct alpha_elf_reloc_entry): Move
+       to top level.
+       (SKIP_HOWTO): Use enum name.
+       * elf32-arm.c: Add casts.
+       (elf32_arm_vxworks_bed): Update code to avoid multiple
+       declarations.
+       (struct map_stub): Move to top level.
+
+2009-09-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/10630
+       * elflink.c (elf_link_output_extsym): Turn off visibility on
+       local symbol.
+       (bfd_elf_final_link): Turn off visibility on dynamic local
+       symbol.
+
+2009-09-24  Alan Modra  <amodra@bigpond.net.au>
+
+       PR binutils/10654
+       * dwarf2.c (lookup_address_in_line_info_table): Remove workaround
+       for invalid location lists generated by gcc-2.95 and Intel 6.0 C++.
+       Remove "function" parm, adjust caller.
+
+2009-09-23  Matt Rice  <ratmice@gmail.com>
+
+       * bfd-in.h (bfd_elf_size_dynamic_sections): Add audit and depaudit
+       arguments.
+       * elflink.c (bfd_elf_size_dynamic_sections): Generate DT_AUDIT,
+       DT_DEPAUDIT from audit/depaudit arguments.
+       (elf_finalize_dynstr): Finalize DT_AUDIT and DT_DEPAUDIT strtab entries.
+       (elf_link_add_object_symbols): Set dt_audit target data when finding a
+       DT_AUDIT.
+       * bfd-in2.h: Regenerate.
+       * bfd-elf.h: Add dt_audit to elf_obj_tdata, and elf_dt_audit macro.
+
+2009-09-23  Jie Zhang  <jie.zhang@analog.com>
+
+       * elf32-bfin.c (_bfinfdpic_size_got_plt): Make sure empty
+       .rel.plt and .plt sections are removed.
+       (elf32_bfinfdpic_size_dynamic_sections): Remove empty .dynbss
+       section.  Remove the duplicated removing of empty .rel.plt
+       section.
+
+2009-09-21  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Extend previous
+       patch to handle the new personality relaxation.
+
+2009-09-21  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * elf-eh-frame.c (make_pc_relative): New function.
+       (_bfd_elf_write_section_eh_frame): Use it.
+
+2009-09-21  Alan Modra  <amodra@bigpond.net.au>
+
+       * elf32-ppc.c (TLS_GET_ADDR_GLINK_SIZE): Define.
+       (ADD_3_12_2, BEQLR, CMPWI_11_0, LWZ_11_3, LWZ_12_3): Define.
+       (MR_0_3, MR_3_0): Define.
+       (struct ppc_elf_link_hash_table): Add no_tls_get_addr_opt.
+       (ppc_elf_select_plt_layout): Save emit_stub_syms param earlier.
+       (ppc_elf_tls_setup): Add no_tls_get_addr_opt param and save to hash
+       table.  Check for presense of __tls_get_addr_opt
+       (allocate_dynrelocs): Increase glink entry size for __tls_get_addr.
+       (ppc_elf_size_dynamic_sections): Add DT_PPC_TLS_OPT tag.
+       (write_glink_stub): Add param p.
+       (ppc_elf_relocate_section): Adjust write_glink_stub call.
+       (ppc_elf_finish_dynamic_symbol): Emit special glink call stub for
+       __tls_get_addr.
+       * elf32-ppc.h (ppc_elf_tls_setup): Update prototype.
+       * elf64-ppc.c (struct ppc_link_hash_table): Add no_tls_get_addr_opt.
+       (ppc64_elf_tls_setup): Add no_tls_get_addr_opt param and save to hash
+       table.  Check for presense of __tls_get_addr_opt.
+       (ppc64_elf_size_dynamic_sections): Add DT_PPC64_TLS_OPT tag.
+       (LD_R11_0R3, LD_R12_0R3, MR_R0_R3, CMPDI_R11_0, ADD_R3_R12_R13,
+       BEQLR, MR_R3_R0, MFLR_R11, STD_R11_0R1, BCTRL, LD_R11_0R1,
+       LD_R2_0R1, MTLR_R11): Define.
+       (build_tls_get_addr_stub): New function.
+       (ppc_build_one_stub): Call it.
+       (ppc_size_one_stub): Add extra size for __tls_get_addr stub.
+       (ppc64_elf_relocate_section): Don't change nop to ld 2,40(1) for
+       __tls_get_addr plt call.
+       * elf64-ppc.h (ppc64_elf_tls_setup): Update prototype.
+
+2009-09-19  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * elf-bfd.h (eh_cie_fde): Add personality_offset and
+       make_per_encoding_relative to the CIE structure.  Add a padding field.
+       * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Use 0x70
+       rather than 0xf0 when masking out the base address encoding
+       Record the offset of personality data from the start of the CIE.
+       Remove a repeated elf_backend_can_make_relative_eh_frame check.
+       (find_merged_cie): Take an info argument.  If the personality
+       binds locally, try converting an absolute personality into
+       a local one.
+       (_bfd_elf_discard_section_eh_frame): Use 0x70 rather than 0xf0
+       when masking out the base address encoding.  Update the call to
+       find_merged_cie.
+       (_bfd_elf_eh_frame_section_offset): Discard relocations against
+       the personality data if we are converting into PC-relative form.
+       (_bfd_elf_write_section_eh_frame): Use 0x70 rather than 0xf0
+       when masking out the base address encoding.  Handle
+       make_per_encoding_relative.
+
+2009-09-18  Alan Modra  <amodra@bigpond.net.au>
+
+       PR ld/10406
+       * elf32-ppc.c (ppc_elf_howto_raw): Make R_PPC_EMB_SDAI16 and
+       R_PPC_EMB_SDA2I16 complain_overflow_signed.
+       (create_sdata_sym): Pass info rather than htab.
+       Update all callers.  Ensure symbols are hidden.
+       (ppc_elf_check_relocs): Allow SDAREL16 when shared.
+       (ppc_elf_size_dynamic_sections): When shared, equate _SDA_BASE_ to
+       _GLOBAL_OFFSET_TABLE_.
+       (elf_finish_pointer_linker_section): Don't assume that sdata base
+       symbol is always at 0x8000 offset.  Don't subtract the addend here.
+       (is_static_defined): New function.
+       (ppc_elf_relocate_section): Verify symbol base used in SDA relocs
+       is statically defined.  Clear addend for EMB_SDAI16 and EMB_SDA2I16
+       relocs.  Downgrade error on unexpected section for EMB_SDA2REL
+       reloc symbols to a warning.
+
+2009-09-18  Nick Clifton  <nickc@redhat.com>
+
+       * po/es.po: Updated Spanish translation.
+       * po/vi.po: Updated Vietnamese translation.
+
 2009-09-18  Alan Modra  <amodra@bigpond.net.au>
 
        * elf64-ppc.c (follow_link, elf_follow_link, ppc_follow_link): New
        assignments in test.
 
 2009-09-16  Tristan Gingold  <gingold@adacore.com>
-       
+
        * mach-o.h (bfd_mach_o_filetype): Add new constants from darwin10.
        Reindent.
        * mach-o.c (bfd_mach_o_cpu_name): Reindent.
        bfinfdpic_gc_sweep_hook, bfinfdpic_check_relocs,
        bfin_finish_dynamic_symbol, bfd_bfin_elf32_create_embedded_relocs):
        Adjust to match the renamed reloc definitions.
-       
+
 2009-08-08  Alan Modra  <amodra@bigpond.net.au>
 
        PR 10494
 
 2009-07-22  H.J. Lu  <hongjiu.lu@intel.com>
 
-        * elflink.c (elf_link_output_extsym): Revert the last change.
+       * elflink.c (elf_link_output_extsym): Revert the last change.
 
 2009-07-22  H.J. Lu  <hongjiu.lu@intel.com>
 
-        PR ld/10433
-        * elflink.c (elf_link_output_extsym): Special case ifunc syms
-        when ref_regular, not def_regular.
+       PR ld/10433
+       * elflink.c (elf_link_output_extsym): Special case ifunc syms
+       when ref_regular, not def_regular.
 
 2009-07-21  H.J. Lu  <hongjiu.lu@intel.com>
 
-        PR ld/10426
-        * elflink.c (elf_link_add_object_symbols): Turn an IFUNC symbol
-        from a DSO into a normal FUNC symbol.
-        (elf_link_output_extsym): Turn an undefined IFUNC symbol into
-        a normal FUNC symbol.
+       PR ld/10426
+       * elflink.c (elf_link_add_object_symbols): Turn an IFUNC symbol
+       from a DSO into a normal FUNC symbol.
+       (elf_link_output_extsym): Turn an undefined IFUNC symbol into
+       a normal FUNC symbol.
 
 2009-07-17  Chao-ying Fu  <fu@mips.com>
 
        * coffcode.h (sec_to_styp_flags):  Partially revert (functional
        changes only) earlier patch:-
 
-  2009-06-25  Kai Tietz  <kai.tietz@onevision.com>
+2009-06-25  Kai Tietz  <kai.tietz@onevision.com>
 
-         * coffcode.h (sec_to_styp_flags): Set discardable for .reloc and
-         give .debug and .reloc data characteristics.
-         (DOT_RELOC): New define for .reloc section string.
-         (coff_write_object_contents): Use DOT_RELOC instead of string.
+       * coffcode.h (sec_to_styp_flags): Set discardable for .reloc and
+       give .debug and .reloc data characteristics.
+       (DOT_RELOC): New define for .reloc section string.
+       (coff_write_object_contents): Use DOT_RELOC instead of string.
 
 2009-07-02  Tom Tromey  <tromey@redhat.com>
 
        (bfd_mach_o_print_thread): Define.
 
        * mach-o.c (text_section_names_xlat): Add an entry for __const.
-       (bfd_mach_o_canonicalize_one_reloc, bfd_mach_o_canonicalize_relocs): 
+       (bfd_mach_o_canonicalize_one_reloc, bfd_mach_o_canonicalize_relocs):
        New functions extracted from ...
        (bfd_mach_o_canonicalize_reloc): ... This.  Simplified.
        (bfd_mach_o_get_dynamic_reloc_upper_bound): New function.
        (bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
        (bfd_mach_o_get_reloc_upper_bound): New prototype.
        (bfd_mach_o_canonicalize_reloc): Ditto.
-       
+
        * mach-o-target.c (bfd_mach_o_bfd_is_local_label_name): Remove
        duplicated macro.  Now defined to _bfd_generic_is_local_label.
        (TARGET_NAME_BACKEND): New macro...
        Clean up copyright notice.
 
 2009-06-10  Paul Pluzhnikov  <ppluzhnikov@google.com>
-       
+
        * bfd-in2.h: bfd_mmap prototype.
        * bfdio.c (bfd_mmap): New function.
        * libbfd.h (bfd_iovec): Add bmmap.
        * cache.c (cache_bmmap): New function.
        (cache_iovec): Initialize bmmap member.
        * opencls.c (opncls_bmmap): New function.
-       (opncls_iovec): Initialize bmmap member.        
-       
+       (opncls_iovec): Initialize bmmap member.
+
 2009-06-09  Tristan Gingold  <gingold@adacore.com>
 
        * mach-o.h (bfd_mach_o_symtab_command): Remove stabs_segment
 
 2009-05-24  Alan Modra  <amodra@bigpond.net.au>
 
-       * bfdio.c (bfd_seek): Formatting.  Ensure newly allocated memory
-       for BFD_IN_MEMORY is cleared.
-       (bfd_bwrite): Zero excess memory allocated.
+       * bfdio.c (bfd_seek): Formatting.  Ensure newly allocated memory
+       for BFD_IN_MEMORY is cleared.
+       (bfd_bwrite): Zero excess memory allocated.
 
 2009-05-22  Julian Brown  <julian@codesourcery.com>
 
This page took 0.026674 seconds and 4 git commands to generate.