Fix compile time warning messages about variables being used before they are initialised.
[deliverable/binutils-gdb.git] / bfd / ChangeLog
index 84fbc0b7e4ff99fc06623fd22ef959ceac2031a8..87e22c2d6e6cc1d14c1686d714702c3689358cab 100644 (file)
@@ -1,3 +1,387 @@
+2015-04-24  Nick Clifton  <nickc@redhat.com>
+
+       PR 18313
+       * compress.c (decompress_contents): Zero initialse the z_stream
+       structure.
+
+2015-04-24  Nick Clifton  <nickc@redhat.com>
+
+       * elf.c (_bfd_elf_is_local_label_name): Extend test for assembler
+       local labels to include local labels with a numeric suffix and
+       fake symbols.
+
+2015-04-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/18316
+       * section.c (SEC_MEP_VLIW): New.
+       * bfd-in2.h: Regenerated.
+
+2015-04-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/18277
+       * compress.c (bfd_compress_section_contents): Remove the
+       write_compress argument.
+       (bfd_init_section_compress_status): Updated.
+       (bfd_compress_section): Likewise.
+       * elf.c (_bfd_elf_set_reloc_sh_name): New.
+       (_bfd_elf_init_reloc_shdr): Add delay_st_name_p.  Set sh_name
+       to (unsigned int) -1 if delay_st_name_p is TRUE.  Use
+       _bfd_elf_set_reloc_sh_name.
+       (elf_fake_sections): Don't rename DWARF debug section for
+       linker output if it will be compressed.  Instead, set
+       delay_st_name_p to TRUE and pass it to _bfd_elf_init_reloc_shdr.
+       (assign_section_numbers): Call _bfd_elf_strtab_addref only if
+       sh_name != (unsigned int) -1.  Don't finalize nor assign
+       shstrtab section here.  Delay setting output section names to
+       _bfd_elf_write_object_contents.
+       (_bfd_elf_compute_section_file_positions): Update comments on
+       sh_offset for shstrtab section.
+       (assign_file_positions_for_non_load_sections): Set sh_offset to
+       -1 for shstrtab section.
+       (assign_file_positions_except_relocs): Likewise.
+       (_bfd_elf_assign_file_positions_for_non_load): Set up sh_name
+       when compressing DWARF debug sections.  Place shstrtab section
+       after DWARF debug sections have been compressed.
+       (_bfd_elf_write_object_contents): Setting sh_name for output
+       sections.
+
+2015-04-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/18209
+       * bfd.c (bfd): Add is_linker_input.
+       * elf.c (convert_debug_to_zdebug): New.
+       (convert_zdebug_to_debug): Likewise.
+       (_bfd_elf_make_section_from_shdr): Don't convert .debug_* to
+       .zdebug_* here.  Use convert_zdebug_to_debug.  Set SEC_ELF_RENAME.
+       (_bfd_elf_init_reloc_shdr): Pass a pointer to section name
+       instead of a pointer to section.
+       (elf_fake_sections): Rename the section name if SEC_ELF_RENAME
+       is set.
+       * section.c (SEC_ELF_RENAME): New.
+       * bfd-in2.h: Regenerated.
+
+2015-04-23  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (TOC_BASE_ALIGN): Define.
+       (ppc64_elf_next_toc_section): Align multi-got toc base.
+       (ppc64_elf_set_toc): Likewise initial toc base and .TOC. symbol.
+
+2015-04-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/18289
+       * elf32-i386.c (elf_i386_link_hash_entry): Add gotoff_ref.
+       (elf_i386_link_hash_newfunc): Initialize gotoff_ref to 0.
+       (elf_i386_create_dynamic_sections): Always allow copy relocs for
+       building executables.
+       (elf_i386_copy_indirect_symbol): Also copy gotoff_ref.
+       (elf_i386_check_relocs): Set gotoff_ref for R_386_GOTOFF.
+       (elf_i386_adjust_dynamic_symbol): Also allocate copy relocs for
+       PIE and R_386_GOTOFF.
+       (elf_i386_relocate_section): Allow R_386_GOTOFF in executable.
+
+2015-04-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf.c (assign_section_numbers): Always set up sh_name.
+
+2015-04-20  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf.c (assign_file_positions_for_non_load_sections): Iterate
+       sections by pointer.
+       (_bfd_elf_assign_file_positions_for_non_load): Likewise.
+
+2015-04-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * bfd-in.h (compressed_debug_section_type): New.
+       * compress.c (bfd_compress_section_contents): Add an argument
+       for linker write compression and always generate .zdebug_*
+       section when linking.
+       (bfd_init_section_compress_status): Pass FALSE to
+       bfd_compress_section_contents.
+       (bfd_compress_section): New function.
+       * elf.c (elf_fake_sections): For linking, set SEC_ELF_COMPRESS
+       on DWARF debug sections if COMPRESS_DEBUG is set and rename
+       section if COMPRESS_DEBUG_GABI_ZLIB isn't set.
+       (assign_file_positions_for_non_load_sections): Set sh_offset
+       to -1 if SEC_ELF_COMPRESS is set.
+       (assign_file_positions_except_relocs): Likwise.
+       (_bfd_elf_assign_file_positions_for_relocs): Renamed to ...
+       (_bfd_elf_assign_file_positions_for_non_load): This.  Change
+       return time to bfd_boolean.  Compress the section if
+       SEC_ELF_COMPRESS is set.
+       (_bfd_elf_write_object_contents): Updated.
+       (_bfd_elf_set_section_contents): Write section contents to
+       the buffer if SEC_ELF_COMPRESS is set.
+       * merge.c: Include "elf-bfd.h".
+       (sec_merge_emit): Add arguments for contents and offset.  Write
+       to contents with offset if contents isn't NULL.
+       (_bfd_write_merged_section): Write section contents to the
+       buffer if SEC_ELF_COMPRESS is set.  Pass contents and
+       output_offset to sec_merge_emit.
+       * elflink.c (bfd_elf_final_link): Allocate the buffer for
+       output section contents if SEC_ELF_COMPRESS is set.
+       * section.c (SEC_ELF_COMPRESS): New.
+       * bfd-in2.h: Regenerated.
+
+2015-04-15  Alan Modra  <amodra@gmail.com>
+
+       * elf32-rl78.c (rl78_elf_relocate_section): Typo fix.
+
+2015-04-14  Nick Clifton  <nickc@redhat.com>
+
+       * elf32-rl78.c (RL78_OP_REL): New macro.
+       (rl78_elf_howto_table): Use it for complex relocs.
+       (get_symbol_value): Handle the cases when the info or status
+       arguments are NULL.
+       (get_romstart): Cache the status returned by get_symbol_value.
+       (get_ramstart): Likewise.
+       (RL78_STACK_PUSH): Generate an error message if the stack
+       overflows.
+       (RL78_STACK_POP): Likewise for underflows.
+       (rl78_compute_complex_reloc): New function.  Contains the basic
+       processing code for all RL78 complex relocs.
+       (rl78_special_reloc): New function.  Provides special reloc
+       handling for complex relocs.
+       (rl78_elf_relocate_section): Use rl78_compute_complex_reloc.
+       (rl78_offset_for_reloc): Likewise.
+
+2015-04-14  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/pr17709
+       * elflink.c (_bfd_elf_adjust_dynamic_copy): Check
+       info->extern_protected_data when warning copy relocs against
+       protected symbols.
+       (_bfd_elf_symbol_refs_local_p): Check info->extern_protected_data
+       when checking protected non-function symbols.
+
+2015-04-13  John Baldwin  <jhb@FreeBSD.org>
+
+       * elf.c (elfcore_grok_note): Recognize NT_X86_XSTATE on
+       FreeBSD.
+       (elfcore_write_xstatereg): Use correct note name on FreeBSD.
+
+2015-04-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/18250
+       * elflink.c (elf_link_is_defined_archive_symbol): Return FALSE
+       if the object has been claimed by plugin.
+
+2015-04-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf32-i386.c (elf_i386_relocate_section): Replace SYMBOLIC_BIND
+       with SYMBOL_REFERENCES_LOCAL when checking R_386_GOTOFF against
+       protected data symbol when building shared library.
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Check
+       R_X86_64_GOTOFF64 against undefined symbol and replace
+       SYMBOLIC_BIND with SYMBOL_REFERENCES_LOCAL when checking
+       R_X86_64_GOTOFF64 against protected data symbol when building
+       shared library.
+
+2015-04-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/pr17709
+       * elf32-i386.c (elf_i386_relocate_section): Also check R_386_GOTOFF
+       against protected data symbol when building shared library.
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
+       R_X86_64_GOTOFF64 against protected data symbol when building
+       shared library.
+
+2015-04-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/pr15228
+       PR ld/pr17709
+       * elf-bfd.h (elf_backend_data): Add extern_protected_data.
+       * elf32-i386.c (elf_backend_extern_protected_data): New.
+       Defined to 1.
+       * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
+       * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't error on
+       copy relocs against protected symbols if extern_protected_data
+       is true.
+       (_bfd_elf_symbol_refs_local_p): Don't return true on protected
+       non-function symbols if extern_protected_data is true.
+       * elfxx-target.h (elf_backend_extern_protected_data): New.
+       Default to 0.
+       (elfNN_bed): Initialize extern_protected_data with
+       elf_backend_extern_protected_data.
+
+2015-04-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * compress.c (bfd_compress_section_contents): Replace bfd_malloc
+       and free with bfd_alloc and bfd_release on compressed buffer.
+       Release buffer if compressed section isn't smaller.
+
+2015-04-10  Alan Modra  <amodra@gmail.com>
+
+       PR ld/18222
+       * elflink.c (_bfd_elf_adjust_dynamic_copy): Don't report an error
+       on adding a protected visibility variable to .dynbss.
+
+2015-04-10  Alan Modra  <amodra@gmail.com>
+
+       Revert 2015-03-05  H.J. Lu  <hongjiu.lu@intel.com>
+       PR ld/pr15228
+       PR ld/pr17709
+       * elf-bfd.h (elf_backend_data): Delete extern_protected_data.
+       * elf32-i386.c (elf_backend_extern_protected_data): Delete.
+       * elf64-x86-64.c (elf_backend_extern_protected_data): Likewise.
+       * elflink.c (_bfd_elf_adjust_dynamic_copy): Remove
+       extern_protected_data test.
+       (_bfd_elf_symbol_refs_local_p): Likewise.
+       * elfxx-target.h (elf_backend_extern_protected_data): Delete.
+       (elfNN_bed): Delete elf_backend_extern_protected_data init.
+
+2015-04-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * compress.c (bfd_compress_section_contents): Update comments.
+       (bfd_init_section_decompress_status): Likewise.
+       (bfd_init_section_compress_status): Likewise.
+
+2015-04-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elfxx-target.h (TARGET_BIG_SYM): Add BFD_COMPRESS_GABI to
+       object_flags.
+       (TARGET_LITTLE_SYM): Likewise.
+
+2015-04-09  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * elf32-xtensa.c (splay-tree.h): include header.
+       (text_action_struct): drop next pointer.
+       (text_action_list_struct): drop head pointer, add count and
+       tree fields.
+       (find_fill_action): instead of linear search in text_action_list
+       search in the tree.
+       (text_action_compare, action_first, action_next): new functions.
+       (text_action_add, text_action_add_literal): instead of linear
+       search and insertion insert new node into the tree.
+       (removed_by_actions): pass additional parameter: action_list,
+       use it to traverse the tree.
+       (offset_with_removed_text): pass additional action_list parameter
+       to removed_by_actions.
+       (map_action_fn_context): new typedef.
+       (map_action_fn_context_struct): new structure.
+       (map_action_fn): new function.
+       (map_removal_by_action): use splay_tree_foreach to build map.
+       (find_insn_action): replace linear search in text_action_list
+       with series of splay_tree_lookups.
+       (print_action, print_action_list_fn): new functions.
+       (print_action_list): use splay_tree_foreach.
+       (init_xtensa_relax_info): drop action_list.head initialization.
+       Initialize the tree.
+       (compute_text_actions): use non-zero action_list_count instead of
+       non-NULL action list.
+       (xlate_map_context): new typedef.
+       (xlate_map_context_struct): new structure.
+       (xlate_map_fn): new function.
+       (build_xlate_map): use splay_tree_foreach to build map.
+       (action_remove_bytes_fn): new function.
+       (relax_section): use zero action_list_count instead of NULL
+       action list. Use splay_tree_foreach to count final section size.
+       Drop unused variable 'removed'.
+
+2015-04-09  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * elf32-xtensa.c (removed_literal_map_entry): new typedef.
+       (removed_literal_map_entry_struct): new structure.
+       (removed_literal_list_struct): add new fields: n_map and map.
+       (map_removed_literal, removed_literal_compare): new functions.
+       (find_removed_literal): build index array for literals ordered
+       by VMA, use binary search to find removed literal.
+
+2015-04-09  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * elf32-xtensa.c (removal_by_action_entry_struct,
+       removal_by_action_map_struct): new structures.
+       (removal_by_action_entry, removal_by_action_map): new typedefs.
+       (text_action_list_struct): add new field: map.
+       (map_removal_by_action, removed_by_actions_map,
+       offset_with_removed_text_map): new functions.
+       (relax_section): replace offset_with_removed_text with
+       offset_with_removed_text_map.
+       (translate_reloc, relax_property_section, relax_section_symbols):
+       replace removed_by_actions with removed_by_actions_map.
+
+2015-04-09  Max Filippov  <jcmvbkbc@gmail.com>
+
+       * elf32-xtensa.c (reloc_range_list, reloc_range_list_entry,
+       reloc_range): new typedef.
+       (reloc_range_list_struct, reloc_range_list_entry_struct,
+       reloc_range_struct): new structures.
+       (reloc_range_compare, build_reloc_ranges,
+       reloc_range_list_append, reloc_range_list_remove,
+       reloc_range_list_update_range, free_reloc_range_list): new
+       functions.
+       (compute_text_actions): precompute relocation opcodes before the
+       loop. Add relevant_relocs variable, initialize it before the
+       loop, pass it to the check_section_ebb_pcrels_fit.
+       (check_section_ebb_pcrels_fit): add new parameter:
+       relevant_relocs. Update address range in the relevant_relocs if
+       it's non-NULL and iterate only over relevant relocations.
+
+2015-04-09  Nick Clifton  <nickc@redhat.com>
+
+       * elf32-rx.c (describe_flags): Report the settings of the string
+       insn using bits.
+       (rx_elf_merge_private_bfd_data): Handle merging of the string insn
+       using bits.
+
+2015-04-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * compress.c (bfd_compress_section_contents): Work around a GCC
+       uninitialized warning bug fixed in GCC 4.7.
+
+2015-04-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * archive.c (_bfd_get_elt_at_filepos): Also copy BFD_COMPRESS_GABI
+       bit.
+       * bfd.c (bfd::flags): Increase size to 18 bits.
+       (BFD_COMPRESS_GABI): New.
+       (BFD_FLAGS_SAVED): Add BFD_COMPRESS_GABI.
+       (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
+       (bfd_update_compression_header): New fuction.
+       (bfd_check_compression_header): Likewise.
+       (bfd_get_compression_header_size): Likewise.
+       (bfd_is_section_compressed_with_header): Likewise.
+       * compress.c (MAX_COMPRESSION_HEADER_SIZE): New.
+       (bfd_compress_section_contents): Return the uncompressed size if
+       the full section contents is compressed successfully.  Support
+       converting from/to .zdebug* sections.
+       (bfd_get_full_section_contents): Call
+       bfd_get_compression_header_size to get compression header size.
+       (bfd_is_section_compressed): Renamed to ...
+       (bfd_is_section_compressed_with_header): This.  Add a pointer
+       argument to return compression header size.
+       (bfd_is_section_compressed): Use it.
+       (bfd_init_section_decompress_status): Call
+       bfd_get_compression_header_size to get compression header size.
+       Return FALSE if uncompressed section size is 0.
+       * elf.c (_bfd_elf_make_section_from_shdr): Support converting
+       from/to .zdebug* sections.
+       * bfd-in2.h: Regenerated.
+
+2015-04-07  Alan Modra  <amodra@gmail.com>
+
+       * elf.c (_bfd_elf_get_reloc_section): Allow for .got.plt being
+       mapped to output .got section.
+
+2015-04-07  Alan Modra  <amodra@gmail.com>
+
+       * elf32-ppc.c (struct ppc_elf_link_hash_entry): Add has_addr16_ha
+       and has_addr16_lo.  Make has_sda_refs a bitfield.
+       (ppc_elf_check_relocs): Set new flags.
+       (ppc_elf_link_hash_table_create): Update default_params.
+       (ppc_elf_adjust_dynamic_symbol): Clear protected_def in cases
+       where we won't be making .dynbss entries or editing code.  Set
+       params->pic_fixup when we'll edit code for protected var access.
+       (allocate_dynrelocs): Allocate got entry for edited code and
+       discard dyn_relocs.
+       (struct ppc_elf_relax_info): Add picfixup_size.
+       (ppc_elf_relax_section): Rename struct one_fixup to struct
+       one_branch_fixup.  Rename fixups to branch_fixups.  Size space for
+       pic fixups.
+       (ppc_elf_relocate_section): Edit non-PIC accessing protected
+       visibility variables to PIC.  Don't emit dyn_relocs for code
+       we've edited.
+       * elf32-ppc.h (struct ppc_elf_params): Add pic_fixup.
+
 2015-04-07  Nick Clifton  <nickc@redhat.com>
 
        * elf.c (_bfd_elf_is_local_label_name): Treat assembler generated
This page took 0.031242 seconds and 4 git commands to generate.