X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bfd%2FChangeLog;h=02111e64f8bab95c28e3153f6949fc0c021431b8;hb=ec240384701a1f12fe569206408a6df8fca9bce4;hp=3f81ba49c9839f8ec47c8399ee2395f9ce5dd50e;hpb=29a9f53e857c5d55df852d0a5d5c41a9247c16a2;p=platform%2Fupstream%2Fbinutils.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3f81ba4..02111e6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,821 @@ +2014-11-24 Alan Modra + + * elf64-ppc.c (plt_stub_pad): Correct. + +2014-11-20 Alan Modra + + * elf64-ppc.c (group_sections): Init stub14_group_size from + --stub-group-size parameter divided by 1024. + +2014-11-20 Alan Modra + + * elf32-ppc.c (ppc_elf_relax_section): Correct ppc476 workaround + alignment calculation. + +2014-11-20 Alan Modra + + * elf64-ppc.c (ppc64_elf_size_stubs): Add __go_go to thread_starters. + +2014-11-18 Igor Zamyatin + + * elf64-x86-64.c (elf_x86_64_check_relocs): Enable MPX PLT only + for -z bndplt. + +2014-11-17 Nick Clifton + + Apply trunk patches: + + 2014-11-14 Nick Clifton + + PR binutils/17597 + * opncls.c (bfd_get_debug_link_info): Avoid reading off the end of + the section. + (bfd_get_alt_debug_link_info): Likewise. + + 2014-11-14 Nick Clifton + + PR binutils/17512 + * ieee.c (ieee_archive_p) Skip processing if no bytes are read at + all. + (ieee_object_p): Likewise. + + 2014-11-13 H.J. Lu + + * coffcode.h (coff_slurp_line_table): Add cast to unsigned int. + + 2014-11-13 H.J. Lu + + * coffcode.h (coff_pointerize_aux_hook): Fix a typo. + + 2014-11-13 Nick Clifton + + PR binutils/17512 + * coffcode.h (coff_ptr_struct): Add is_sym field. + (coff_new_section_hook): Set the is_sym field. + (coff_pointerize_aux_hook): Check the is_sym field. + (coff_print_aux): Likewise. + (coff_compute_section_file_positions): Likewise. + (coff_write_object_contents): Likewise. + (coff_slurp_line_table): Likewise. + (coff_slurp_symbol_table): Likewise. + (CALC_ADDEND): Likewise. + * coffgen.c (coff_renumber_symbols): Likewise. + (coff_mangle_symbols): Likewise. + (coff_fix_symbol_name): Likewise. + (coff_write_symbol): Likewise. + (coff_write_alien_symbol): Likewise. + (coff_write_native_symbol): Likewise. + (coff_write_symbols): Likewise. + (coff_write_linenumbers): Likewise. + (coff_pointerize_aux): Likewise. + (coff_get_normalized_symtab): Likewise. + (coff_get_symbol_info): Likewise. + (bfd_coff_get_syment): Likewise. + (bfd_coff_get_auxent): Likewise. + (coff_print_symbol): Likewise. + (coff_find_nearest_line_with_names): Likewise. + (bfd_coff_set_symbol_class): Likewise. + (coff_make_empty_symbol): Set the is_sym field. + (coff_bfd_make_debug_symbol): Likewise. + * peicode.h (pe_ILF_make_a_symbol): Likewise. + * libcoff.h: Regenerate. + * libcoff-in.h: Regenerate. + + 2014-11-12 Nick Clifton + + PR binutils/17512 + * coffcode.h (coff_slurp_line_table): Set the line number of + corrupt entries to -1. + (coff_slurp_symbol_table): Alway initialise the value of the + symbol. + * coffgen.c (coff_print_symbol): Check that the combined pointer + is valid. + (coff_print_symbol): Do not print negative line numbers. + * peXXigen.c (pe_print_idata): Add range checking displaying + member names. + + 2014-11-12 Alan Modra + + PR binutils/17512 + * coffcode.h (coff_slurp_line_table): Drop line number info + not preceded by a valid function entry. Revert last change. + + 2014-11-11 Nick Clifton + + PR binutils/17512 + * coffcode.h (coff_slurp_line_table): Initialise the parts of the + line number cache that would not be initialised by the copy from + the new line number table. + (coff_classify_symbol): Allow for _bfd_coff_internal_syment_name + returning NULL. + * coffgen.c (coff_get_normalized_symbols): Get the external + symbols before allocating space for the internal symbols, in case + the get fails. + * elf.c (_bfd_elf_slurp_version_tables): Only allocate a verref + array if one is needed. Likewise with the verdef array. + * peXXigen.c (_bfd_XXi_swap_sym_in): Replace abort()'s with error + messages. + (_bfd_XXi_swap_aux_in): Make sure that all fields of the aux + structure are initialised. + (pe_print_edata): Avoid reading off the end of the data buffer. + + 2014-11-11 Alan Modra + + PR binutils/17512 + * coffcode.h (coff_slurp_line_table): Use updated lineno_count + when building func_table. + + 2014-11-11 Alan Modra + + PR binutils/17512 + * coffcode.h (coff_slurp_line_table): Don't bfd_zalloc, just + memset the particular bits we need. Update src after hitting loop + "continue". Don't count lineno omitted due to invalid symbols in + nbr_func, and update lineno_count. Init entire terminating + lineno. Don't both allocating terminator in n_lineno_cache. + Redirect sym->lineno pointer to where n_lineno_cache will be + copied, and free n_lineno_cache. + * pe-mips.c (NUM_HOWTOS): Typo fix. + + 2014-11-10 Nick Clifton + + PR binutils/17521 + * coff-i386.c (NUM_HOWTOS): New define. + (RTYPE2HOWTO): Use it. + (coff_i386_rtype_to_howto): Likewise. + (coff_i386_reloc_name_lookup): Likewise. + (CALC_ADDEND): Check that reloc r_type field is valid. + * coff-x86_64.c (NUM_HOWTOS): New define. + (RTYPE2HOWTO): Use it. + (coff_amd64_rtype_to_howto): Likewise. + (coff_amd64_reloc_name_lookup): Likewise. + (CALC_ADDEND): Check that reloc r_type field is valid. + * coffcode.h (coff_slurp_line_table): Check for symbol table + indexing underflow. + (coff_slurp_symbol_table): Use zalloc to ensure that all table + entries are initialised. + * coffgen.c (_bfd_coff_read_string_table): Initialise unused bits + in the string table. Also ensure that the table is 0 terminated. + (coff_get_normalized_symtab): Check for symbol table indexing + underflow. + * opncls.c (bfd_alloc): Catch the case where a small negative size + can result in only 1 byte being allocated. + (bfd_alloc2): Use bfd_alloc. + * pe-mips.c (NUM_HOWTOS): New define. + (coff_mips_reloc_name_lookup): Use it. + (CALC_ADDEND): Check that reloc r_type field is valid. + * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Initialise unused entries + in the DataDirectory. + (pe_print_idata): Avoid reading beyond the end of the data block + wen printing strings. + (pe_print_edata): Likewise. + Check for table indexing underflow. + * peicode.h (pe_mkobject): Initialise the pe_opthdr field. + (pe_bfd_object_p): Allocate and initialize enough space to hold a + PEAOUTHDR, even if the opt_hdr field specified less. + + 2014-11-08 Alan Modra + + * peXXigen.c (pe_print_idata): Revert last patch, cast lhs instead. + + 2014-11-07 H.J. Lu + + * peXXigen.c (pe_print_idata): Cast to unsigned long in range + checks. + + 2014-11-07 Alan Modra + + * tekhex.c (tekhex_set_arch_mach): Ignore unknown arch errors. + + 2014-11-07 Alan Modra + + * tekhex.c (CHUNK_SPAN): Define. + (struct data_struct ): Use one byte per span, update + all code accessing this field. + (find_chunk): Add create param, don't create new entry unless set. + (insert_byte): Don't save zeros. + (first_phase): Set section SEC_CODE or SEC_DATA flag depending + on symbol type. Create an alternate section if both types of + symbol are given. Attach type '2' and '6' symbols to absolute + section. + (move_section_contents): Fix caching of chunk. Don't create chunk + when reading, or for writing zeros. + (tekhex_set_section_contents): Don't create initial chunks. + (tekhex_write_object_contents): Use CHUNK_SPAN. + + 2014-11-07 Alan Modra + + * aoutx.h (aout_get_external_symbols): Tidy allocation of symbol buffer. + + 2014-11-07 Alan Modra + + * archive.c (_bfd_slurp_extended_name_table): Revert bfd_get_size check. + * coffcode.h (coff_set_alignment_hook): Likewise. + (coff_slurp_line_table): Likewise. + * coffgen.c (coff_get_normalized_symtab): Likewise. + (_bfd_coff_get_external_symbols): Likewise. + * elf.c (bfd_elf_get_str_section): Likewise. + * tekhex.c (first_phase): Likewise. + + 2014-11-06 Nick Clifton + + * aoutx.h (slurp_symbol_table): Revert previous delta. + (slurp_reloc_table): Likewise. + * compress.c (bfd_get_full_section_contents): Remove file size + test. + * coffgen.c (coff_get_normalized_symtab): Allow zero-sized symtabs + and do not complain about linker generated files. + + 2014-11-04 Nick Clifton + + PR binutils/17512 + * coffcode.h (handle_COMDAT): Replace abort with BFD_ASSERT. + Replace another abort with an error message. + (coff_slurp_line_table): Add more range checking. + * peXXigen.c (pe_print_debugdata): Add range checking. + + 2014-11-05 Nick Clifton + + PR binutils/17512 + * coffcode.h (coff_set_alignment_hook): Warn if the file lies + about the number of relocations it contains. + (coff_sort_func_alent): Return 0 if the pointers are NULL. + (coff_slurp_line_table): Add more range checks. Do not free new + tables created when sorting line numbers. + * peXXigen.c (pe_print_idata): Add range checks. + (pe_print_edata): Likewise. + (rsrc_print_resource_entries): Likewise. Avoid printing control + characters. Terminate priniting if corruption is detected. + (rsrc_print_resource_directory): Terminate printing if an unknown + directory type is encountered. + (pe_print_debugdata): Fix off-by-one error. + (rsrc_count_entries): Add range checking. + (rsrc_parse_entry): Likewise. + + 2014-11-04 Nick Clifton + + PR binutils/17512 + * compress.c (bfd_get_full_section_contents): Improve test for + linker created objects. + + PR binutils/17533 + * archive.c (_bfd_slurp_extended_name_table): Handle archives with + corrupt extended name tables. + + 2014-11-03 Nick Clifton + + PR binutils/17512 + * aoutx.h (slurp_symbol_table): Check that computed table size is + not bigger than the file from which is it being read. + (slurp_reloc_table): Likewise. + * coffcode.h (coff_slurp_line_table): Remove unneeded local + 'warned'. Do not try to print the details of a symbol with an + invalid index. + * coffgen.c (make_a_sectiobn_from_file): Check computed string + index against length of string table. + (bfd_coff_internal_syment_name): Check read in string offset + against length of string table. + (build_debug_section): Return a pointer to the section used. + (_bfd_coff_read_string_table): Store the length of the string + table in the coff_tdata structure. + (bfd_coff_free_symbols): Set the length of the string table to + zero when it is freed. + (coff_get_normalized_symtab): Check offsets against string table + or data table lengths as appropriate. + * cofflink.c (_bfd_coff_link_input_bfd): Check offset against + length of string table. + * compress.c (bfd_get_full_section_contents): Check computed size + against the size of the file. + * libcoff-in.h (obj_coff_strings_len): Define. + (struct coff_tdata): Add strings_len field. + * libcoff.h: Regenerate. + * peXXigen.c (pe_print_debugdata): Do not attempt to print the + data if the debug section is too small. + * xcofflink.c (xcoff_link_input_bfd): Check offset against + length of string table. + + 2014-10-31 Nick Clifton + + PR binutils/17512 + * coffgen.c (_bfd_coff_get_external_symbols): Do not try to load a + symbol table bigger than the file. + * elf.c (bfd_elf_get_str_section): Do not try to load a string + table bigger than the file. + * tekhex.c (first_phase): Check that the section range is sane. + +2014-11-11 Alan Modra + + * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Adjust section + size check to account for possible zero terminator. + +2014-11-10 Matthew Fortune + + Apply trunk patch: + * elfxx-mips.c (update_mips_abiflags_isa): Add E_MIPS_ARCH_32R6 + and E_MIPS_ARCH_64R6 support. + +2014-11-07 H.J. Lu + + Apply trunk patch: + 2014-11-07 H.J. Lu + + PR ld/17482 + * elf64-x86-64.c (elf_x86_64_relocate_section): Update comments + for IE->LE transition. + +2014-11-04 Tristan Gingold + + * development.sh: Set development to false. + +2014-11-03 Nick Clifton + + * po/fi.po: Updated Finnish translation. + +2014-10-31 Nick Clifton + + Apply trunk patch: + + 2014-10-30 Nick Clifton + PR binutils/17512 + * ihex.c (ihex_scan): Fix typo in invocation of ihex_bad_byte. + * coffgen.c (coff_get_normalized_symtab): Prevent buffer overrun. + +2014-10-30 Nick Clifton + + Appy trunk patch: + + 2014-10-29 Nick Clifton + * elf.c (bfd_section_from_shdr): Fix heap use after free memory + leak. + +2014-10-28 Matthew Fortune + + Apply trunk patches: + + 2014-10-22 Matthew Fortune + * elfxx-mips.c (print_mips_ases): Print unknown ASEs. + (print_mips_isa_ext): Print the value of an unknown extension. + +2014-10-28 Nick Clifton + + Apply trunk patches: + + 2014-10-28 Nick Clifton + PR binutils/17512 + * elf.c (bfd_section_from_shdr): Allocate and free the recursion + detection table on a per-bfd basis. + * peXXigen.c (pe_print_edata): Handle binaries with a truncated + export table. + + 2014-10-28 Andreas Schwab + Nick Clifton + PR binutils/17510 + * srec.c (srec_bad_byte): Increase size of buf to allow for + negative values. + (srec_scan): Use an unsigned char buffer to hold header bytes. + + 2014-10-27 Nick Clifton + PR binutils/17512 + * elf.c (bfd_section_from_shdr): Detect and warn about ELF + binaries with a group of sections linked by the string table + indicies. + * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Handle corrupt binaries + with an invalid value for NumberOfRvaAndSizes. + (pe_print_edata): Detect out of range rvas and entry counts for + the Export Address table, Name Pointer table and Ordinal table. + + PR binutils/17510 + * elf.c (setup_group): Improve handling of corrupt group + sections. + +2014-10-28 Alan Modra + + Apply trunk patches: + + 2014-10-21 Alan Modra + * elf64-ppc.c (ppc64_elf_tls_optimize): Ignore relocs against toc + entries that aren't a multiple of 8 rather than failing assertion. + + 2014-10-21 Alan Modra + * elf64-ppc.c (ppc64_elf_size_stubs): Add gcc-4.9 libgomp functions + to thread_starter. + + 2014-10-18 Alan Modra + * elf64-ppc.c (ppc64_elf_add_symbol_hook): If function code + section for function symbols defined in .opd is discarded, let + the symbol appear to be undefined. + (opd_entry_value): Ensure the result section is that for the + function code section in the same object as the OPD entry. + + 2014-10-16 Alan Modra + PR 17492 + * elf32-arm.c (elf32_arm_add_symbol_hook): Only set has_gnu_symbols + on ELF output bfd. + * elf32-i386.c (elf_i386_add_symbol_hook): Likewise. + * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. + * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. + * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. + * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. + * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. + * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise. + * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. + * elf-s390-common.c (elf_s390_add_symbol_hook): Likewise. Handle + STB_GNU_UNIQUE too. + + 2014-10-16 Alan Modra + * elf64-ppc.c (ppc64_elf_before_check_relocs): Do .opd processing + even when output is not ppc64 ELF. Remove redundant tests on + type of input bfd. + + 2014-10-15 Alan Modra + PR 17481 + * aoutx.h (NAME (aout, find_nearest_line)): Add "discriminator_ptr" + param, group "section" and "offset" params. Zero discriminator. + * bfd.c (bfd_find_nearest_line): Implement with new + _bfd_find_nearest_line. + (bfd_find_nearest_line_discriminator): Likewise. + * coff-i386.c (_bfd_generic_find_nearest_line_discriminator): Don't + define. + * coff-rs6000.c (xcoff_find_nearest_line, + xcoff_find_nearest_line_discriminator): Delete. + (_bfd_xcoff_find_nearest_line): Don't define. + (_bfd_xcoff_find_nearest_line): Define as coff_find_nearest_line. + * coff-x86_64.c (_bfd_generic_find_nearest_line_discriminator): Don't + define. + * coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Adjust. + * coffgen.c (coff_find_nearest_line_with_names): Reorder params, + adjust _bfd_dwarf2_find_nearest_line call. + (coff_find_nearest_line): Add "discriminator_ptr" param, reorder + others. Set discriminator. Adjust call. + (coff_find_nearest_line_discriminator): Delete. + * dwarf1.c (_bfd_dwarf1_find_nearest_line): Reorder params. + * dwarf2.c (find_line): Rename to.. + (_bfd_dwarf2_find_nearest_line): ..this, reordering params. + Simplify setting of do_line. Delete old function. + (_bfd_dwarf2_find_line): Delete. + * ecoff.c (_bfd_ecoff_find_nearest_line): Reorder params, add + discriminator_ptr and set it. + * elf-bfd.h (_bfd_elf_find_nearest_line): Update prototype. + (_bfd_elf_find_nearest_line_discriminator): Delete. + (_bfd_elf_find_line_discriminator): Delete. + (_bfd_generic_find_nearest_line_discriminator): Don't define. + * elf.c (elf_find_function): Reorder params. + (_bfd_elf_find_nearest_line): Reorder params, add discriminator_ptr. + Adjust calls. + (_bfd_elf_find_nearest_line_discriminator): Delete. + (_bfd_elf_find_line): Adjust call. + * elf32-arm.c (arm_elf_find_function): Reorder params. + (elf32_arm_find_nearest_line): Reorder params, add discriminator_ptr. + Adjust calls. + * elf64-alpha.c (elf64_alpha_find_nearest_line): Similarly. + * elfnn-aarch64.c (aarch64_elf_find_function): Reorder params. + (elfNN_aarch64_find_nearest_line): Reorder params, add + discriminator_ptr. Adjust calls. + * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Similarly. + * elfxx-mips.h (_bfd_mips_elf_find_nearest_line): Update prototype. + * libaout.h (NAME (aout, find_nearest_line)): Update prototype. + * libbfd-in.h (_bfd_nosymbols_find_nearest_line): Update. + (_bfd_dwarf1_find_nearest_line): Likewise. + (_bfd_dwarf2_find_nearest_line): Likewise. + (_bfd_dwarf2_find_line): Delete. + (_bfd_generic_find_nearest_line_discriminator): Delete. + * libbfd.c (_bfd_generic_find_nearest_line_discriminator): Delete. + * libcoff-in.h (coff_find_nearest_line): Update prototype. + (coff_find_nearest_line_discriminator): Delete. + (coff_find_nearest_line_with_names): Update prototype. + * libecoff.h (_bfd_ecoff_find_nearest_line): Update prototype. + * mach-o.c (bfd_mach_o_find_nearest_line): Reorder params, add + discriminator_ptr. Adjust calls. + * mach-o.h (bfd_mach_o_find_nearest_line): Update prototype. + * pdp11.c (NAME (aout, find_nearest_line)): Reorder params, add + discriminator_ptr and set. + * som.c (som_find_nearest_line): Similarly. + * targets.c (BFD_JUMP_TABLE_SYMBOLS): Delete entry for + _bfd_find_nearest_line_discriminator. + (struct bfd_target <_bfd_find_nearest_line>): Adjust prototype. + (struct bfd_target <_bfd_find_nearest_line_discriminator>): Delete. + * vms-alpha.c (_bfd_vms_find_nearest_dst_line): Rename to.. + (_bfd_vms_find_nearest_line): ..this. Reorder params, add + "discriminator" and set. + (_bfd_vms_find_nearest_line_discriminator): Delete. + (_bfd_generic_find_nearest_line_discriminator): Don't define. + (alpha_vms_find_nearest_line): Update define. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * libcoff.h: Regenerate. + + 2014-10-15 Alan Modra + * targets.c (BFD_JUMP_TABLE_SYMBOLS): Use NAME##_find_line. + * aout-adobe.c (aout_32_find_line): Define. + (aout_32_bfd_make_debug_symbol, aout_32_bfd_reloc_type_lookup, + aout_32_bfd_reloc_name_lookup): Define using _bfd_nosymbols define. + * aout-target.h (MY_find_line): Define. + * aout-tic30.c (MY_find_line): Define. + * binary.c (binary_find_line): Define. + * bout.c (aout_32_find_line): Define. + * coff-rs6000.c (_bfd_xcoff_find_line): Define. + * coff64-rs6000.c (rs6000_xcoff64_vec): Use coff_find_line. + (rs6000_xcoff64_aix_vec): Likewise. + * elf-bfd.h (_bfd_generic_find_line): Don't define. + * elfxx-target.h (bfd_elfNN_find_line): Define. + * i386msdos.c (msdos_find_line): Define. + * i386os9k.c (aout_32_find_line): Define. + * ieee.c (ieee_find_nearest_line, ieee_find_inliner_info): Delete func. + (ieee_find_nearest_line, ieee_find_line, + ieee_find_inliner_info): Define. + * ihex.c (ihex_find_line): Define. + * libbfd-in.h (_bfd_nosymbols_find_line): Define. + (_bfd_generic_find_line): Don't define. + * libbfd.c (_bfd_generic_find_line): Delete. + * libcoff-in.h (coff_find_line): Define. + * libecoff.h (_bfd_ecoff_find_line): Define. + * mach-o.h (bfd_mach_o_find_line): Define. + * mmo.c (mmo_find_line): Define. + * nlm-target.h (nlm_find_line): Define. + * oasys.c (oasys_find_nearest_line, oasys_find_inliner_info): Delete. + (oasys_find_nearest_line, oasys_find_line, + oasys_find_inliner_info): Define. + * pef.c (bfd_pef_find_line): Define. + * plugin.c (bfd_plugin_find_line): Define. + * ppcboot.c (ppcboot_find_line): Define. + * som.c (som_find_line): Define. + * srec.c (srec_find_line): Define. + * tekhex.c (tekhex_find_line): Define. + * versados.c (versados_find_line): Define. + * vms-alpha.c (alpha_vms_find_line): Define. + * xsym.c (bfd_sym_find_line): Define. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * libcoff.h: Regenerate. + +2014-10-24 Tejas Belagod + + * bfd-in.h (bfd_elf64_aarch64_set_options): Add a parameter. + * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise. + * elfnn-aarch64.c (aarch64_erratum_835769_stub): New. + (elf_aarch64_stub_type): Add new type + aarch64_stub_erratum_835769_veneer. + (elf_aarch64_stub_hash_entry): New fields for erratum 835769. + (aarch64_erratum_835769_fix): New data struct to record erratum + 835769. + (elf_aarch64_link_hash_table: Global flags for 835769. + (aarch64_build_one_stub): Add case for 835769. + (aarch64_size_one_stub): Likewise. + (aarch64_mem_op_p, aarch64_mlxl_p, + aarch64_erratum_sequence,erratum_835769_scan): + New. Decode and scan functions for erratum 835769. + (elf_aarch64_create_or_find_stub_sec): New. + (elfNN_aarch64_size_stubs): Look for erratum 835769 and record + them. + (bfd_elfNN_aarch64_set_options: Set global flag for 835769. + (erratum_835769_branch_to_stub_data, + make_branch_to_erratum_835769_stub):New. Connect up all the + erratum stubs to occurances by branches. + (elfNN_aarch64_write_section): New hook. + (aarch64_map_one_stub): Output erratum stub symbol. + (elfNN_aarch64_size_dynamic_sections): Init mapping symbol + information for erratum 835769. + (elf_backend_write_section): Define. + +2014-10-14 Tristan Gingold + + * version.m4: Bump version to 2.24.90 + * configure: Regenerate. + +2014-10-14 Alan Modra + + PR 17453 + * libbfd.c (COERCE16, COERCE32, COERCE64): Use unsigned types. + (EIGHT_GAZILLION): Delete. + +2014-10-13 Alan Modra + + PR 17467 + * elf-eh-frame.c (ENSURE_NO_RELOCS): Don't stop at first NONE reloc. + (_bfd_elf_parse_eh_frame): When relocatable output, don't set + flags enabling conversion of CIEs and FDEs to use relative encoding. + (find_merged_cie): Similarly. + (_bfd_elf_write_section_eh_frame): Don't edit FDEs when + relocatable, except for CIE pointer. + * elflink.c (bfd_elf_reloc_symbol_deleted_p): Return true for + relocs against symbols in dropped comdat group sections. + (bfd_elf_discard_info): Do some eh_frame optimisation when + relocatable. + +2014-10-09 Jose E. Marchesi + + * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Handle + the hwcaps2 object attribute. + +2014-10-04 Alan Modra + + PR 17447 + * elf-bfd.h (struct eh_cie_fde): Comment re NULL u.fde.cie_inf. + * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Mark zero address + range FDEs for discarding. + (vma_compare): Sort on range after address. + (_bfd_elf_gc_mark_fdes): Test for NULL u.fde.cie_inf. + (_bfd_elf_discard_section_eh_frame): Likewise. Write "FDE" in + error message rather than "fde". + (_bfd_elf_write_section_eh_frame_hdr): Write "PC" and "FDE" in + error message. + +2014-09-29 H.J. Lu + + PR ld/17440 + * elf32-i386.c (elf_i386_fbsd_post_process_headers): Fix build + for OLD_FREEBSD_ABI_LABEL. + +2014-09-24 Markus Trippelsdorf + + PR 17422 + * plugin.c (try_claim): New function. Moved from + bfd_plugin_object_p. + (try_load_plugin): Pass through bfd. Add test. + (load_plugin): Pass through bfd. + (bfd_plugin_object_p): Move logic to try_claim. + +2014-09-23 Sterling Augustine + + * elf32-xtensa.c (is_resolvable_asm_expansion): for cross-section + call relaxation use furthermost addresses where call source and + destination can be to check whether it's in the range of a direct + call. + +2014-09-22 Alan Modra + + * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Don't return + false for overflow or overlapping FDEs. Give more detail in + error messages. + +2014-09-22 Andrew Bennett + + * elfxx-mips.c (mips_elf_calculate_relocation): Don't sign extend + the addend if relocations are RELA. + +2014-09-22 Kuan-Lin Chen + + * elf32-nds32.c (nds32_elf_ex9_build_hash_table, + nds32_elf_ex9_relocation_check): Synchronize the argument type. + +2014-09-19 Andreas Krebbel + + * elf32-s390.c: Don't replace R_390_TLS_LE32 with R_390_TLS_TPOFF + for PIE. + * elf64-s390.c: Don't replace R_390_TLS_LE64 with R_390_TLS_TPOFF + for PIE. + +2014-09-18 Jan Kratochvil + + PR gdb/17407 + * elfcode.h (bfd_from_remote_memory): Use SIZE for HIGH_OFFSET. + +2014-09-16 Terry Guo + + * elf32-arm.c (elf32_arm_merge_eabi_attributes): Return false if + failed to merge. + +2014-09-16 Kuan-Lin Chen + + * bfd-in2.h: Regenerate. + * elf32-nds32.c (nds32_elf_mkobject): Hook bfd_elf32_mkobject. + (nds32_elf_relax_section): Code refactoring. + (nds32_elf_relax_longcall1, nds32_elf_relax_longcall2, + nds32_elf_relax_longcall3, nds32_elf_relax_longcall4, + nds32_elf_relax_longcall5, nds32_elf_relax_longcall6): Relax call + pattern. The first three is moved from nds32_elf_relax_section, + and the last three is new function. + (nds32_elf_relax_longjump1, nds32_elf_relax_longjump2, + nds32_elf_relax_longjump3, nds32_elf_relax_longjump4, + nds32_elf_relax_longjump5, nds32_elf_relax_longjump6, + nds32_elf_relax_longjump7): Relax condition branch pattern. The first + three is moved from nds32_elf_relax_section, and the last four + is new function. + (nds32_elf_relax_loadstore, nds32_elf_relax_lo12): Relax load-store + pattern and address setting pattern. + (nds32_elf_relax_piclo12, nds32_elf_relax_ptr, + nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff, + nds32_elf_relax_gotoff_suff): Relax pic pattern. + (nds32_elf_relax_letlslo12, nds32_elf_relax_letlsadd, + nds32_elf_relax_letlsls): Relax TLS pattern. + (nds32_relax_adjust_label): Adjust alignment and nop. + (nds32_elf_pick_relax): Choose relaxation optimization. + (nds32_elf_get_relocated_section_contents): New hook. + (nds32_elf_order_insn_times, nds32_elf_ex9_build_itable): Release ex9 + table 234th entry. + * elf32-nds32.h: Declare. + * libbfd.h: Regenerate. + * reloc.c: Add nds32 new relocations. + +2014-09-15 Chen Gang + + * dwarf2.c (find_abstract_instance_name): Use 'form' instead of + 'name' for the typo issue, which related with commit + 60d77146a249ae9b51d7ce98930cdbedb2cfa352. + +2014-09-15 Andrew Bennett + Matthew Fortune + + * aoutx.h (NAME (aout, machine_type)): Add mips32r6 and mips64r6. + * archures.c (bfd_architecture): Likewise. + * bfd-in2.h (bfd_architecture): Likewise. + (bfd_reloc_code_real): Add relocs BFD_RELOC_MIPS_21_PCREL_S2, + BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and + BFD_RELOC_MIPS_19_PCREL_S2. + * cpu-mips.c (arch_info_struct): Add mips32r6 and mips64r6. + * elf32-mips.c: Define relocs R_MIPS_PC21_S2, R_MIPS_PC26_S2 + R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 and R_MIPS_PCLO16. + (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2, + BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3, + BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and + BFD_RELOC_LO16_PCREL. + * elf64-mips.c: Define REL, and RELA relocations R_MIPS_PC21_S2, + R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, R_MIPS_PCHI16 + and R_MIPS_PCLO16. + (mips_reloc_map): Add entries for BFD_RELOC_MIPS_21_PCREL_S2, + BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3, + BFD_RELOC_MIPS_19_PCREL_S2, BFD_RELOC_HI16_S_PCREL and + BFD_RELOC_LO16_PCREL. + * elfn32-mips.c: Likewise. + * elfxx-mips.c (MIPSR6_P): New define. + (mipsr6_exec_plt_entry): New array. + (hi16_reloc_p): Add support for R_MIPS_PCHI16. + (lo16_reloc_p): Add support for R_MIPS_PCLO16. + (aligned_pcrel_reloc_p): New function. + (mips_elf_relocation_needs_la25_stub): Add support for relocs: + R_MIPS_PC21_S2 and R_MIPS_PC26_S2. + (mips_elf_calculate_relocation): Add support for relocs: + R_MIPS_PC21_S2, R_MIPS_PC26_S2, R_MIPS_PC18_S3, R_MIPS_PC19_S2, + R_MIPS_PCHI16 and R_MIPS_PCLO16. + (_bfd_elf_mips_mach): Add support for mips32r6 and mips64r6. + (mips_elf_add_lo16_rel_addend): Add support for R_MIPS_PCHI16. + (_bfd_mips_elf_check_relocs): Add support for relocs: + R_MIPS_PC21_S2 and R_MIPS_PC26_S2. + (_bfd_mips_elf_relocate_section): Add a check for unaligned + pc relative relocs. + (_bfd_mips_elf_finish_dynamic_symbol): Add support for MIPS r6 + plt entry. + (mips_set_isa_flags): Add support for mips32r6 and mips64r6. + (_bfd_mips_elf_print_private_bfd_data): Likewise. + (mips_32bit_flags_p): Add support for mips32r6. + * libbfd.h (bfd_reloc_code_real_names): Add entries for + BFD_RELOC_MIPS_21_PCREL_S2, BFD_RELOC_MIPS_26_PCREL_S2, + BFD_RELOC_MIPS_18_PCREL_S3 and BFD_RELOC_MIPS_19_PCREL_S2. + * reloc.c: Document relocs BFD_RELOC_MIPS_21_PCREL_S2, + BFD_RELOC_MIPS_26_PCREL_S2, BFD_RELOC_MIPS_18_PCREL_S3 and + BFD_RELOC_MIPS_19_PCREL_S2. + * config.bfd: Add mips*-img-elf* target triple. + +2014-09-12 Andrew Bennett + + * config.bfd: Add mips*-img-elf* target triple. + +2014-09-12 Alan Modra + + * elf-bfd.h (struct eh_frame_array_ent): Add "range". + * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Stash address + range of FDEs to hdr_info->array. + (_bfd_elf_write_section_eh_frame_hdr): Report overflow in + .eh_frame_hdr entries, and overlapping FDEs. + +2014-09-10 Alan Modra + + * elf.c (assign_file_positions_except_relocs): Move section header + placement to.. + (_bfd_elf_assign_file_positions_for_relocs): ..here. Make static. + * elf-bfd.h (_bfd_elf_assign_file_positions_for_relocs): Delete. + * elflink.c (bfd_elf_final_link): Don't call above function. + +2014-08-30 Alan Modra + + * elf32-ppc.c (ppc_elf_relax_section): Fix off by one error. + +2014-08-29 Alan Modra + + * elf64-ppc.c (ppc64_elf_relocate_section): Report a different + error for calls via a toc adjusting stub without a nop. + +2014-08-29 Alan Modra + + * vms-alpha.c (alpha_vma_object_p): Don't return file_truncated + error. Remove redundant bfd_set_error. + +2014-08-29 Alan Modra + + * srec.c (srec_scan): Revert last change. Report an error for + S-records with less than the miniumum byte count. + +2014-08-28 H.J. Lu + + * srec.c (srec_scan): Return error for 0 size. + +2014-08-27 H.J. Lu + + PR ld/17306 + * elf32-i386.c (elf_i386_convert_mov_to_lea): Use bfd_is_abs_section + to check discarded input section. + * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Likewise. + 2014-08-27 H.J. Lu PR ld/17313 @@ -258,7 +1076,7 @@ 2014-07-21 Joel Sherrill Add or reactivate or1k-*-rtems* - * bfd/config.bfd (or1k-*-rtems*): Reactivate. + * config.bfd (or1k-*-rtems*): Reactivate. 2014-07-16 H.J. Lu @@ -565,7 +1383,7 @@ PR ld/16910 * linker.c (unwrap_hash_lookup): New function. - * elf-bfd (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup. + * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Call unwrap_hash_lookup. * elf32-i370.c (i370_elf_relocate_section): Likewise. * elf32-m32c.c (m32c_elf_relocate_section): Likewise. * elf32-m32r.c (m32r_elf_relocate_section): Likewise. @@ -624,7 +1442,7 @@ 2014-05-27 DJ Delorie - * bfd/elf32-rx.c (get_symbol_value_maybe): New. + * elf32-rx.c (get_symbol_value_maybe): New. (rx_elf_relocate_section): If we find a reloc against $tableentry$default$, redirect it to the appropriate $tableentry$$. @@ -636,7 +1454,7 @@ (rx_table_map): New. (rx_additional_link_map_text): New. Called to dump tables to the map file. - * bfd/elf32-rx.h: New. + * elf32-rx.h: New. 2014-05-20 DJ Delorie