1 2017-04-27 Alan Modra <amodra@gmail.com>
3 * testsuite/plugin_section_order.c (onload): Add missing break.
5 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
7 * mips.cc (Mips_got_entry::hash()): Shift addend to reduce
8 possibility of collisions.
9 (Mips_got_entry::equals): Fix case for GOT_TLS_LDM
12 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
14 * mips.cc (Mips_relobj::merge_processor_specific_data_): New data
16 (Mips_relobj::merge_processor_specific_data): New method.
17 (Mips_relobj::do_read_symbols): Set merge_processor_specific_data_
18 to false, only if the input file is a binary or if object has no
19 contents except the section name string table and an empty symbol
20 table with the undefined symbol.
21 (Target_mips::do_finalize_sections): Refactor. Skip empty object files
22 for merging processor-specific data.
24 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
26 * mips.cc (Target_mips::Relocate::calculated_value_): New data
28 (Target_mips::Relocate::calculate_only_): Likewise.
29 (Target_mips::Relocate::relocate): Handle multiple consecutive
30 relocations with the same offset.
32 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
34 * mips.cc (Target_mips::Relocate::relocate): Remove redundant
35 checks for relocatable link.
36 (Mips_relocate_functions::reljalr): Likewise.
38 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
40 * mips.cc (class Mips_output_section_options): New class.
41 (Target_mips::do_make_output_section): New method.
43 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
45 * mips.cc (Mips_relocate_functions::rel26): Don't print relocation
46 overflow error message.
47 (Target_mips::relocate_special_relocatable): Improve relocation
48 overflow error message.
49 (Target_mips::Relocate::relocate): Likewise.
51 2017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
53 * mips.cc (symbol_refs_local): Return false if a symbol
54 is from a dynamic object.
55 (Target_mips::got_section): Make _GLOBAL_OFFSET_TABLE_ STV_HIDDEN.
56 (Target_mips::set_gp): Refactor. Make _gp STT_NOTYPE and
58 (Target_mips::do_finalize_sections): Set _gp after all the checks
59 for creating .got are done.
60 (Target_mips::Scan::global): Remove unused code.
62 2017-02-22 Alan Modra <amodra@gmail.com>
64 * powerpc.cc (Target_powerpc::make_iplt_section): Check that
65 output_section exists before attempting add_output_section_data.
66 (Target_powerpc::make_brlt_section): Likewise.
68 2017-02-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
70 * mips.cc (Target_mips::Scan::get_reference_flags): Remove
71 gold_unreachable from default case.
73 2017-02-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
76 * mips.cc (Mips_relocate_functions::relhigher): New method.
77 (Mips_relocate_functions::relhighest): Likewise.
78 (mips_get_size_for_reloc): Add support for relocs: R_MIPS_HIGHER and
80 (Target_mips::Scan::local): Add support for relocs: R_MIPS_HIGHER,
81 R_MIPS_HIGHEST, R_MICROMIPS_HIGHER and R_MICROMIPS_HIGHEST.
82 (Target_mips::Scan::global): Likewise.
83 (Target_mips::Scan::get_reference_flags): Likewise.
84 (Target_mips::Relocate::relocate): Call static methods for resolving
85 HIGHER and HIGHEST relocations.
87 2017-02-03 Rahul Chaudhry <rahulchaudhry@google.com>
89 * x86_64.cc (Target_x86_64::do_can_check_for_function_pointers):
90 Return true even when building pie binaries.
91 (Target_x86_64::possible_function_pointer_reloc): Check opcode
92 for R_X86_64_PC32 relocations.
93 (Target_x86_64::local_reloc_may_be_function_pointer): Pass
94 extra arguments to local_reloc_may_be_function_pointer.
95 (Target_x86_64::global_reloc_may_be_function_pointer): Likewise.
96 * gc.h (gc_process_relocs): Add check for STT_FUNC.
97 * testsuite/Makefile.am (icf_safe_pie_test): New test case.
98 * testsuite/Makefile.in: Regenerate.
99 * testsuite/icf_safe_pie_test.sh: New shell script.
101 2017-02-03 Alan Modra <amodra@gmail.com>
103 * powerpc.cc (Powerpc_relobj::make_toc_relative): Don't crash
104 when no .toc section exists.
106 2017-01-31 Cary Coutant <ccoutant@gmail.com>
109 * x86_64.cc (Target_x86_64::can_convert_mov_to_lea): Add check
110 for predefined symbol.
111 (Target_x86_64::Relocate::relocate): Fix formatting.
113 2017-01-23 Rahul Chaudhry <rahulchaudhry@google.com>
115 * testsuite/icf_safe_so_test.sh: Use "set -e".
116 * testsuite/icf_safe_test.sh: Likewise.
117 * testsuite/icf_test.sh: Likewise.
119 2017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
121 * mips.cc (Mips_output_data_plt::rel_plt): Remove const from return
123 (Target_mips::make_plt_entry): Make the sh_info field of .rel.plt
126 2017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
129 * mips.cc (Mips_got_info::record_global_got_symbol): Don't add symbol
130 to the dynamic symbol table if it is forced to local visibility.
131 (Target_mips::do_finalize_sections): Don't add __RLD_MAP symbol to the
132 dynamic symbol table if it is forced to local visibility.
134 2017-01-20 Nick Clifton <nickc@redhat.com>
136 * aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS
137 from a pointer to an array.
139 2017-01-13 H.J. Lu <hongjiu.lu@intel.com>
142 * powerpc.cc (Powerpc_relobj<size, big_endian>::make_toc_relative):
143 Cast 0x80008000 to uint64_t.
145 2017-01-12 Cary Coutant <ccoutant@gmail.com>
147 * object.cc (Sized_relobj_file): Fix byte counts for calls to memmem.
149 2017-01-11 Cary Coutant <ccoutant@gmail.com>
152 * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
153 Remove unnecessary 'typename' keyword.
154 (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
155 (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
156 (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
157 (Output_data_plt_x86_64_bnd::do_write): Likewise.
159 2017-01-11 Cary Coutant <ccoutant@gmail.com>
162 * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
163 Remove unnecessary 'typename' keyword.
164 (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
165 (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
166 (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
167 * testsuite/copy_test_relro_1.cc (p, b, c, q): Add separate extern
170 2017-01-11 Cary Coutant <ccoutant@gmail.com>
173 * testsuite/script_test_13.sh: Adjust patterns to work for i386.
174 * testsuite/script_test_15a.sh: Likewise.
175 * testsuite/script_test_15b.sh: Likewise.
176 * testsuite/script_test_15c.sh: Likewise.
178 2017-01-11 Alan Modra <amodra@gmail.com>
180 * powerpc.cc (class Powerpc_copy_relocs): New.
181 (Powerpc_copy_relocs::emit): New function.
182 (Powerpc_relobj::relatoc_, toc_, no_toc_opt_): New variables.
183 (Powerpc_relobj::toc_shndx, set_no_toc_opt, no_toc_opt): New inlines.
184 (Powerpc_relobj::do_relocate_sections): New function.
185 (Powerpc_relobj::make_toc_relative): Likewise.
186 (Powerpc_relobj::do_find_special_sections): Stash away .rela.toc
188 (ok_lo_toc_insn): Move earlier, and handle more insns.
189 (Target_powerpc::Scan::local): If optimizing toc accesses, set
190 no_toc_opt for entries we can't edit. Check insn validity.
191 Emit "toc optimization is not supported" warning, downgraded
193 (Target_powerpc::Scan::global): Likewise.
194 (Target_powerpc::Relocate::relocate): Edit TOC indirect code
195 to TOC relative. Don't emit "toc optimization is not supported"
198 2017-01-10 Cary Coutant <ccoutant@gmail.com>
200 * aarch64.cc (AArch64_relobj::do_relocate_sections): Call
201 Sized_relobj_file::relocate_section_range().
202 * arm.cc (Arm_relobj::do_relocate_sections): Likewise.
203 * object.h (Sized_relobj_file::relocate_section_range): New method.
204 * reloc.cc (Sized_relobj_file::do_relocate_sections): Move
206 (Sized_relobj_file::relocate_section_range): ...to new method.
208 2017-01-10 Alan Modra <amodra@gmail.com>
210 * testsuite/ver_test_8.sh: Accept .TOC. in lieu of
211 _GLOBAL_OFFSET_TABLE_. Allow zero count.
212 * testsuite/copy_test_relro_1.cc (c, q): New vars.
213 * testsuite/copy_test_relro.cc: Rewrite to test read-only
214 status of variables directly. Reference new vars in
217 2017-01-10 Alan Modra <amodra@gmail.com>
219 * options.h: Add --secure-plt option.
220 * powerpc.cc (Target_powerpc::Scan::local): Detect and error
221 on -fPIC -mbss-plt code.
222 (Target_powerpc::Scan::global): Likewise.
224 2017-01-09 Alan Modra <amodra@gmail.com>
226 * powerpc.cc (Target_powerpc::make_plt_section): Point sh_info of
227 ".rela.plt" at ".plt".
229 2017-01-07 Alan Modra <amodra@gmail.com>
231 * powerpc.cc: Use shorter equivalent elfcpp typedef for
232 Reltype and reloc_size throughout.
233 (Target_powerpc::symval_for_branch): Exclude dynamic symbols.
234 (Target_powerpc::Scan::local): Use local var r_sym.
235 (Target_powerpc::Scan::global: Likewise.
236 (Target_powerpc::Relocate::relocate): Delete shadowing r_sym.
238 2017-01-02 Alan Modra <amodra@gmail.com>
240 Update year range in copyright notice of all files.
242 For older changes see ChangeLog-2016
244 Copyright (C) 2017 Free Software Foundation, Inc.
246 Copying and distribution of this file, with or without modification,
247 are permitted in any medium without royalty provided the copyright
248 notice and this notice are preserved.
254 version-control: never