2017-03-16 07:49:16 +08:00
|
|
|
|
2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* 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-16 07:46:26 +08:00
|
|
|
|
2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* 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-16 07:41:48 +08:00
|
|
|
|
2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* 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-16 06:47:58 +08:00
|
|
|
|
2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
|
|
|
|
|
|
2017-03-16 06:52:12 +08:00
|
|
|
|
* mips.cc (Target_mips::Relocate::relocate): Remove redundant
|
|
|
|
|
checks for relocatable link.
|
|
|
|
|
(Mips_relocate_functions::reljalr): Likewise.
|
2017-03-16 06:47:58 +08:00
|
|
|
|
|
2017-03-16 06:43:25 +08:00
|
|
|
|
2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
|
|
|
|
|
|
2017-03-16 06:52:12 +08:00
|
|
|
|
* mips.cc (class Mips_output_section_options): New class.
|
|
|
|
|
(Target_mips::do_make_output_section): New method.
|
2017-03-16 06:43:25 +08:00
|
|
|
|
|
2017-03-16 06:35:15 +08:00
|
|
|
|
2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
|
|
|
|
|
|
2017-03-16 06:52:12 +08:00
|
|
|
|
* 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 <Vladimir.Radosavljevic@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* 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-03-16 06:35:15 +08:00
|
|
|
|
|
2017-02-22 05:40:58 +08:00
|
|
|
|
2017-02-22 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* 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 16:55:04 +08:00
|
|
|
|
2017-02-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* mips.cc (Target_mips::Scan::get_reference_flags): Remove
|
|
|
|
|
gold_unreachable from default case.
|
|
|
|
|
|
2017-02-15 16:47:36 +08:00
|
|
|
|
2017-02-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
|
|
|
|
|
|
|
|
|
|
PR gold/21111
|
2017-02-15 16:55:04 +08:00
|
|
|
|
* 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-15 16:47:36 +08:00
|
|
|
|
|
2017-02-15 16:37:10 +08:00
|
|
|
|
2017-02-03 Rahul Chaudhry <rahulchaudhry@google.com>
|
|
|
|
|
|
|
|
|
|
* 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 16:48:37 +08:00
|
|
|
|
2017-02-03 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* powerpc.cc (Powerpc_relobj::make_toc_relative): Don't crash
|
|
|
|
|
when no .toc section exists.
|
|
|
|
|
|
2017-02-01 08:32:59 +08:00
|
|
|
|
2017-01-31 Cary Coutant <ccoutant@gmail.com>
|
|
|
|
|
|
|
|
|
|
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-24 09:34:14 +08:00
|
|
|
|
2017-01-23 Rahul Chaudhry <rahulchaudhry@google.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/icf_safe_so_test.sh: Use "set -e".
|
|
|
|
|
* testsuite/icf_safe_test.sh: Likewise.
|
|
|
|
|
* testsuite/icf_test.sh: Likewise.
|
|
|
|
|
|
2017-01-24 09:18:00 +08:00
|
|
|
|
2017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
|
|
|
|
|
|
|
|
|
|
* 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-24 09:12:10 +08:00
|
|
|
|
2017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
|
|
|
|
|
|
|
|
|
|
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 18:21:17 +08:00
|
|
|
|
2017-01-20 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS
|
|
|
|
|
from a pointer to an array.
|
|
|
|
|
|
2017-01-13 23:46:14 +08:00
|
|
|
|
2017-01-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gold/21040
|
|
|
|
|
* powerpc.cc (Powerpc_relobj<size, big_endian>::make_toc_relative):
|
|
|
|
|
Cast 0x80008000 to uint64_t.
|
|
|
|
|
|
2017-01-13 03:51:18 +08:00
|
|
|
|
2017-01-12 Cary Coutant <ccoutant@gmail.com>
|
|
|
|
|
|
|
|
|
|
* object.cc (Sized_relobj_file): Fix byte counts for calls to memmem.
|
|
|
|
|
|
2017-01-12 05:42:24 +08:00
|
|
|
|
2017-01-11 Cary Coutant <ccoutant@gmail.com>
|
|
|
|
|
|
|
|
|
|
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-12 03:47:27 +08:00
|
|
|
|
2017-01-11 Cary Coutant <ccoutant@gmail.com>
|
|
|
|
|
|
|
|
|
|
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-12 03:26:26 +08:00
|
|
|
|
2017-01-11 Cary Coutant <ccoutant@gmail.com>
|
|
|
|
|
|
|
|
|
|
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 05:11:53 +08:00
|
|
|
|
2017-01-11 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* 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 23:46:30 +08:00
|
|
|
|
2017-01-10 Cary Coutant <ccoutant@gmail.com>
|
|
|
|
|
|
|
|
|
|
* 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 07:58:20 +08:00
|
|
|
|
2017-01-10 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* 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 07:54:09 +08:00
|
|
|
|
2017-01-10 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* options.h: Add --secure-plt option.
|
|
|
|
|
* powerpc.cc (Target_powerpc::Scan::local): Detect and error
|
|
|
|
|
on -fPIC -mbss-plt code.
|
|
|
|
|
(Target_powerpc::Scan::global): Likewise.
|
|
|
|
|
|
2017-01-09 08:16:23 +08:00
|
|
|
|
2017-01-09 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* powerpc.cc (Target_powerpc::make_plt_section): Point sh_info of
|
|
|
|
|
".rela.plt" at ".plt".
|
|
|
|
|
|
2017-01-06 13:17:33 +08:00
|
|
|
|
2017-01-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* powerpc.cc: Use shorter equivalent elfcpp typedef for
|
|
|
|
|
Reltype and reloc_size throughout.
|
|
|
|
|
(Target_powerpc::symval_for_branch): Exclude dynamic symbols.
|
|
|
|
|
(Target_powerpc::Scan::local): Use local var r_sym.
|
|
|
|
|
(Target_powerpc::Scan::global: Likewise.
|
|
|
|
|
(Target_powerpc::Relocate::relocate): Delete shadowing r_sym.
|
|
|
|
|
|
2017-01-02 11:36:43 +08:00
|
|
|
|
2017-01-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
Update year range in copyright notice of all files.
|
|
|
|
|
|
2017-01-02 11:25:05 +08:00
|
|
|
|
For older changes see ChangeLog-2016
|
2016-01-01 18:44:31 +08:00
|
|
|
|
|
2017-01-02 11:25:05 +08:00
|
|
|
|
Copyright (C) 2017 Free Software Foundation, Inc.
|
2016-01-01 18:44:31 +08:00
|
|
|
|
|
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
|
notice and this notice are preserved.
|
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
|
|
|
|
End:
|