X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gold%2FChangeLog;h=d8d67e10a3ac03e9462008f3babafc115577d1f4;hb=5430098f1807e084fe4ff5057040d68435f3d8a2;hp=bf834f8da4e511cce2dde96ea038db4f244d1a1e;hpb=f159cdb61155d699f5aff2a9fbad8b787a7fe10c;p=deliverable%2Fbinutils-gdb.git diff --git a/gold/ChangeLog b/gold/ChangeLog index bf834f8da4..d8d67e10a3 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,215 @@ +2017-03-15 Vladimir Radosavljevic + + * mips.cc (Mips_got_entry::hash()): Shift addend to reduce + possibility of collisions. + (Mips_got_entry::equals): Fix case for GOT_TLS_LDM + entries. + +2017-03-15 Vladimir Radosavljevic + + * mips.cc (Mips_relobj::merge_processor_specific_data_): New data + member. + (Mips_relobj::merge_processor_specific_data): New method. + (Mips_relobj::do_read_symbols): Set merge_processor_specific_data_ + to false, only if the input file is a binary or if object has no + contents except the section name string table and an empty symbol + table with the undefined symbol. + (Target_mips::do_finalize_sections): Refactor. Skip empty object files + for merging processor-specific data. + +2017-03-15 Vladimir Radosavljevic + + * mips.cc (Target_mips::Relocate::calculated_value_): New data + member. + (Target_mips::Relocate::calculate_only_): Likewise. + (Target_mips::Relocate::relocate): Handle multiple consecutive + relocations with the same offset. + +2017-03-15 Vladimir Radosavljevic + + * mips.cc (Target_mips::Relocate::relocate): Remove redundant + checks for relocatable link. + (Mips_relocate_functions::reljalr): Likewise. + +2017-03-15 Vladimir Radosavljevic + + * mips.cc (class Mips_output_section_options): New class. + (Target_mips::do_make_output_section): New method. + +2017-03-15 Vladimir Radosavljevic + + * mips.cc (Mips_relocate_functions::rel26): Don't print relocation + overflow error message. + (Target_mips::relocate_special_relocatable): Improve relocation + overflow error message. + (Target_mips::Relocate::relocate): Likewise. + +2017-03-15 Vladimir Radosavljevic + + * mips.cc (symbol_refs_local): Return false if a symbol + is from a dynamic object. + (Target_mips::got_section): Make _GLOBAL_OFFSET_TABLE_ STV_HIDDEN. + (Target_mips::set_gp): Refactor. Make _gp STT_NOTYPE and + STB_LOCAL. + (Target_mips::do_finalize_sections): Set _gp after all the checks + for creating .got are done. + (Target_mips::Scan::global): Remove unused code. + +2017-02-22 Alan Modra + + * powerpc.cc (Target_powerpc::make_iplt_section): Check that + output_section exists before attempting add_output_section_data. + (Target_powerpc::make_brlt_section): Likewise. + +2017-02-15 Vladimir Radosavljevic + + * mips.cc (Target_mips::Scan::get_reference_flags): Remove + gold_unreachable from default case. + +2017-02-15 Vladimir Radosavljevic + + PR gold/21111 + * mips.cc (Mips_relocate_functions::relhigher): New method. + (Mips_relocate_functions::relhighest): Likewise. + (mips_get_size_for_reloc): Add support for relocs: R_MIPS_HIGHER and + R_MIPS_HIGHEST. + (Target_mips::Scan::local): Add support for relocs: R_MIPS_HIGHER, + R_MIPS_HIGHEST, R_MICROMIPS_HIGHER and R_MICROMIPS_HIGHEST. + (Target_mips::Scan::global): Likewise. + (Target_mips::Scan::get_reference_flags): Likewise. + (Target_mips::Relocate::relocate): Call static methods for resolving + HIGHER and HIGHEST relocations. + +2017-02-03 Rahul Chaudhry + + * x86_64.cc (Target_x86_64::do_can_check_for_function_pointers): + Return true even when building pie binaries. + (Target_x86_64::possible_function_pointer_reloc): Check opcode + for R_X86_64_PC32 relocations. + (Target_x86_64::local_reloc_may_be_function_pointer): Pass + extra arguments to local_reloc_may_be_function_pointer. + (Target_x86_64::global_reloc_may_be_function_pointer): Likewise. + * gc.h (gc_process_relocs): Add check for STT_FUNC. + * testsuite/Makefile.am (icf_safe_pie_test): New test case. + * testsuite/Makefile.in: Regenerate. + * testsuite/icf_safe_pie_test.sh: New shell script. + +2017-02-03 Alan Modra + + * powerpc.cc (Powerpc_relobj::make_toc_relative): Don't crash + when no .toc section exists. + +2017-01-31 Cary Coutant + + PR gold/21090 + * x86_64.cc (Target_x86_64::can_convert_mov_to_lea): Add check + for predefined symbol. + (Target_x86_64::Relocate::relocate): Fix formatting. + +2017-01-23 Rahul Chaudhry + + * testsuite/icf_safe_so_test.sh: Use "set -e". + * testsuite/icf_safe_test.sh: Likewise. + * testsuite/icf_test.sh: Likewise. + +2017-01-23 Vladimir Radosavljevic + + * mips.cc (Mips_output_data_plt::rel_plt): Remove const from return + type. + (Target_mips::make_plt_entry): Make the sh_info field of .rel.plt + point to .plt. + +2017-01-23 Vladimir Radosavljevic + + PR gold/21054 + * mips.cc (Mips_got_info::record_global_got_symbol): Don't add symbol + to the dynamic symbol table if it is forced to local visibility. + (Target_mips::do_finalize_sections): Don't add __RLD_MAP symbol to the + dynamic symbol table if it is forced to local visibility. + +2017-01-20 Nick Clifton + + * aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS + from a pointer to an array. + +2017-01-13 H.J. Lu + + PR gold/21040 + * powerpc.cc (Powerpc_relobj::make_toc_relative): + Cast 0x80008000 to uint64_t. + +2017-01-12 Cary Coutant + + * object.cc (Sized_relobj_file): Fix byte counts for calls to memmem. + +2017-01-11 Cary Coutant + + PR gold/21040 + * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry): + Remove unnecessary 'typename' keyword. + (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise. + (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise. + (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise. + (Output_data_plt_x86_64_bnd::do_write): Likewise. + +2017-01-11 Cary Coutant + + PR gold/21040 + * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry): + Remove unnecessary 'typename' keyword. + (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise. + (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise. + (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise. + * testsuite/copy_test_relro_1.cc (p, b, c, q): Add separate extern + declarations. + +2017-01-11 Cary Coutant + + PR gold/21039 + * testsuite/script_test_13.sh: Adjust patterns to work for i386. + * testsuite/script_test_15a.sh: Likewise. + * testsuite/script_test_15b.sh: Likewise. + * testsuite/script_test_15c.sh: Likewise. + +2017-01-11 Alan Modra + + * powerpc.cc (class Powerpc_copy_relocs): New. + (Powerpc_copy_relocs::emit): New function. + (Powerpc_relobj::relatoc_, toc_, no_toc_opt_): New variables. + (Powerpc_relobj::toc_shndx, set_no_toc_opt, no_toc_opt): New inlines. + (Powerpc_relobj::do_relocate_sections): New function. + (Powerpc_relobj::make_toc_relative): Likewise. + (Powerpc_relobj::do_find_special_sections): Stash away .rela.toc + and .toc too. + (ok_lo_toc_insn): Move earlier, and handle more insns. + (Target_powerpc::Scan::local): If optimizing toc accesses, set + no_toc_opt for entries we can't edit. Check insn validity. + Emit "toc optimization is not supported" warning, downgraded + from error. + (Target_powerpc::Scan::global): Likewise. + (Target_powerpc::Relocate::relocate): Edit TOC indirect code + to TOC relative. Don't emit "toc optimization is not supported" + error here. + +2017-01-10 Cary Coutant + + * aarch64.cc (AArch64_relobj::do_relocate_sections): Call + Sized_relobj_file::relocate_section_range(). + * arm.cc (Arm_relobj::do_relocate_sections): Likewise. + * object.h (Sized_relobj_file::relocate_section_range): New method. + * reloc.cc (Sized_relobj_file::do_relocate_sections): Move + implementation... + (Sized_relobj_file::relocate_section_range): ...to new method. + +2017-01-10 Alan Modra + + * testsuite/ver_test_8.sh: Accept .TOC. in lieu of + _GLOBAL_OFFSET_TABLE_. Allow zero count. + * testsuite/copy_test_relro_1.cc (c, q): New vars. + * testsuite/copy_test_relro.cc: Rewrite to test read-only + status of variables directly. Reference new vars in + read-only data. + 2017-01-10 Alan Modra * options.h: Add --secure-plt option.