PowerPC64 localentry:0 plt calls
[deliverable/binutils-gdb.git] / gold / ChangeLog
CommitLineData
69431bab
EC
12017-06-20 Eric Christopher <echristo@gmail.com>
2
3 * aarch64.cc (scan_reloc_for_stub): Use plt_address_for_global to
4 calculate the symbol value.
5 (scan_reloc_section_for_stubs): Allow stubs to be created for
6 section symbols.
7 (maybe_apply_stub): Handle creating stubs for weak symbols to
8 match the code in scan_reloc_for_stub.
9
94de2a2c
JC
102017-06-20 James Clarke <jrtc27@jrtc27.com>
11
12 * powerpc.cc (Stub_table::define_stub_syms): Always include object's
13 uniq_ value.
14
c092b67b
EC
152017-06-15 Eric Christopher <echristo@gmail.com>
16
17 * aarch64.cc: Fix a few typos and grammar-os.
18
37de058a
JW
192017-06-15 Jiong Wang <jiong.wang@arm.com>
20
21 * aarch64.cc (Insn_utilities::is_mrs_tpidr_el0): New method.
22 (AArch64_relobj<size, big_endian>::try_fix_erratum_843419_optimized):
23 Return ture for some TLS relaxed sequences.
24
81b6fe3b
EC
252017-06-07 Eric Christopher <echristo@gmail.com>
26
27 * aarch64.cc (maybe_apply_stub): Add debug logging for looking
28 up stubs to undefined symbols and early return rather than
29 fail to look them up.
30 (scan_reloc_for_stub): Add debug logging for no stub creation
31 for undefined symbols.
32
590b87ff
AM
332017-05-23 Alan Modra <amodra@gmail.com>
34
35 PR 21503
36 * options.h: Add --emit-stub-syms option.
37 * powerpc.cc (object_id): New.
38 (Powerpc_relobj): Add uniq_ and accessor. Sort variables for
39 better packing.
40 (Powerpc_dynobj): Sort variables for better packing.
41 (Target_powerpc::define_local): New function.
42 (Target_powerpc::group_sections): Pass stub table size to
43 Stub_table constructor.
44 (Target_powerpc::do_relax): Define stub and glink symbols.
45 (Stub_table): Add uniq_ variable, and id param to constructor.
46 (Stub_table::Plt_stub_ent): Add indx_ variable.
47 (Stub_table::Branch_stub_entries): Move typedef earlier.
48 (Stub_table::branch_stub_size): Replace "to" parameter with a
49 Branch_stub_entries iterator.
50 (Stub_table::add_long_branch_entry): Adjust to suit.
51 (Stub_table::add_plt_call_entry): Set indx_.
52 (Stub_table::define_stub_syms): New function.
53
0c38a3d1
EC
542017-05-15 Eric Christopher <echristo@gmail.com>
55
56 * layout.cc (Layout::segment_precedes): Add a case for testing
57 pointer equality when determining which segment precedes
58 another.
59
67f46fed
JC
602017-05-13 James Clarke <jrtc27@jrtc27.com>
61
62 PR gold/21444
63 * gold.cc (Target_sparc::Relocate::relocate_tls): Local
64 variables are final for position-independent executables. This
65 has to be consistent with Target_sparc::Scan::local otherwise
66 they will disagree as to whether local-exec is used.
67
6bf56e74
IK
682017-05-12 Igor Kudrin <ikudrin@accesssoftek.com>
69
70 PR gold/21430
71 * aarch64.cc
72 (AArch64_relobj::convert_input_section_to_relaxed_section):
73 Set the section offset to -1ULL.
74 (Target_aarch64::relocate_section): Adjust the view in case
75 of a relaxed input section.
76 * testsuite/Makefile.am (pr21430): New test.
77 * testsuite/Makefile.in: Regenerate
78 * testsuite/pr21430.s: New test source file.
79 * testsuite/pr21430.sh: New test script.
80
a61d92b7
AM
812017-04-27 Alan Modra <amodra@gmail.com>
82
83 * testsuite/plugin_section_order.c (onload): Add missing break.
84
aab2c177
VR
852017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
86
87 * mips.cc (Mips_got_entry::hash()): Shift addend to reduce
88 possibility of collisions.
89 (Mips_got_entry::equals): Fix case for GOT_TLS_LDM
90 entries.
91
4d78db49
VR
922017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
93
94 * mips.cc (Mips_relobj::merge_processor_specific_data_): New data
95 member.
96 (Mips_relobj::merge_processor_specific_data): New method.
97 (Mips_relobj::do_read_symbols): Set merge_processor_specific_data_
98 to false, only if the input file is a binary or if object has no
99 contents except the section name string table and an empty symbol
100 table with the undefined symbol.
101 (Target_mips::do_finalize_sections): Refactor. Skip empty object files
102 for merging processor-specific data.
103
152c92b2
VR
1042017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
105
106 * mips.cc (Target_mips::Relocate::calculated_value_): New data
107 member.
108 (Target_mips::Relocate::calculate_only_): Likewise.
109 (Target_mips::Relocate::relocate): Handle multiple consecutive
110 relocations with the same offset.
111
1728969e
VR
1122017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
113
1e1247c8
VR
114 * mips.cc (Target_mips::Relocate::relocate): Remove redundant
115 checks for relocatable link.
116 (Mips_relocate_functions::reljalr): Likewise.
1728969e 117
c3847462
VR
1182017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
119
1e1247c8
VR
120 * mips.cc (class Mips_output_section_options): New class.
121 (Target_mips::do_make_output_section): New method.
c3847462 122
453018bf
VR
1232017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
124
1e1247c8
VR
125 * mips.cc (Mips_relocate_functions::rel26): Don't print relocation
126 overflow error message.
127 (Target_mips::relocate_special_relocatable): Improve relocation
128 overflow error message.
129 (Target_mips::Relocate::relocate): Likewise.
130
1312017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
132
133 * mips.cc (symbol_refs_local): Return false if a symbol
134 is from a dynamic object.
135 (Target_mips::got_section): Make _GLOBAL_OFFSET_TABLE_ STV_HIDDEN.
136 (Target_mips::set_gp): Refactor. Make _gp STT_NOTYPE and
137 STB_LOCAL.
138 (Target_mips::do_finalize_sections): Set _gp after all the checks
139 for creating .got are done.
140 (Target_mips::Scan::global): Remove unused code.
453018bf 141
6528b6eb
AM
1422017-02-22 Alan Modra <amodra@gmail.com>
143
144 * powerpc.cc (Target_powerpc::make_iplt_section): Check that
145 output_section exists before attempting add_output_section_data.
146 (Target_powerpc::make_brlt_section): Likewise.
147
f9029569
VR
1482017-02-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
149
150 * mips.cc (Target_mips::Scan::get_reference_flags): Remove
151 gold_unreachable from default case.
152
e242ece1
VR
1532017-02-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
154
155 PR gold/21111
f9029569
VR
156 * mips.cc (Mips_relocate_functions::relhigher): New method.
157 (Mips_relocate_functions::relhighest): Likewise.
158 (mips_get_size_for_reloc): Add support for relocs: R_MIPS_HIGHER and
159 R_MIPS_HIGHEST.
160 (Target_mips::Scan::local): Add support for relocs: R_MIPS_HIGHER,
161 R_MIPS_HIGHEST, R_MICROMIPS_HIGHER and R_MICROMIPS_HIGHEST.
162 (Target_mips::Scan::global): Likewise.
163 (Target_mips::Scan::get_reference_flags): Likewise.
164 (Target_mips::Relocate::relocate): Call static methods for resolving
165 HIGHER and HIGHEST relocations.
e242ece1 166
4aebb631
RC
1672017-02-03 Rahul Chaudhry <rahulchaudhry@google.com>
168
169 * x86_64.cc (Target_x86_64::do_can_check_for_function_pointers):
170 Return true even when building pie binaries.
171 (Target_x86_64::possible_function_pointer_reloc): Check opcode
172 for R_X86_64_PC32 relocations.
173 (Target_x86_64::local_reloc_may_be_function_pointer): Pass
174 extra arguments to local_reloc_may_be_function_pointer.
175 (Target_x86_64::global_reloc_may_be_function_pointer): Likewise.
176 * gc.h (gc_process_relocs): Add check for STT_FUNC.
177 * testsuite/Makefile.am (icf_safe_pie_test): New test case.
178 * testsuite/Makefile.in: Regenerate.
179 * testsuite/icf_safe_pie_test.sh: New shell script.
180
e666304e
AM
1812017-02-03 Alan Modra <amodra@gmail.com>
182
183 * powerpc.cc (Powerpc_relobj::make_toc_relative): Don't crash
184 when no .toc section exists.
185
ed35cc4a
CC
1862017-01-31 Cary Coutant <ccoutant@gmail.com>
187
188 PR gold/21090
189 * x86_64.cc (Target_x86_64::can_convert_mov_to_lea): Add check
190 for predefined symbol.
191 (Target_x86_64::Relocate::relocate): Fix formatting.
192
741bcbe9
RC
1932017-01-23 Rahul Chaudhry <rahulchaudhry@google.com>
194
195 * testsuite/icf_safe_so_test.sh: Use "set -e".
196 * testsuite/icf_safe_test.sh: Likewise.
197 * testsuite/icf_test.sh: Likewise.
198
04bc2a28
VR
1992017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
200
201 * mips.cc (Mips_output_data_plt::rel_plt): Remove const from return
202 type.
203 (Target_mips::make_plt_entry): Make the sh_info field of .rel.plt
204 point to .plt.
205
c1f59f8f
VR
2062017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
207
208 PR gold/21054
209 * mips.cc (Mips_got_info::record_global_got_symbol): Don't add symbol
210 to the dynamic symbol table if it is forced to local visibility.
211 (Target_mips::do_finalize_sections): Don't add __RLD_MAP symbol to the
212 dynamic symbol table if it is forced to local visibility.
213
a24df305
NC
2142017-01-20 Nick Clifton <nickc@redhat.com>
215
216 * aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS
217 from a pointer to an array.
218
857e829e
L
2192017-01-13 H.J. Lu <hongjiu.lu@intel.com>
220
221 PR gold/21040
222 * powerpc.cc (Powerpc_relobj<size, big_endian>::make_toc_relative):
223 Cast 0x80008000 to uint64_t.
224
aca5eec6
CC
2252017-01-12 Cary Coutant <ccoutant@gmail.com>
226
227 * object.cc (Sized_relobj_file): Fix byte counts for calls to memmem.
228
6624f3a1
CC
2292017-01-11 Cary Coutant <ccoutant@gmail.com>
230
231 PR gold/21040
232 * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
233 Remove unnecessary 'typename' keyword.
234 (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
235 (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
236 (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
237 (Output_data_plt_x86_64_bnd::do_write): Likewise.
238
976e204b
CC
2392017-01-11 Cary Coutant <ccoutant@gmail.com>
240
241 PR gold/21040
242 * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
243 Remove unnecessary 'typename' keyword.
244 (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
245 (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
246 (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
247 * testsuite/copy_test_relro_1.cc (p, b, c, q): Add separate extern
248 declarations.
249
1fa5f68b
CC
2502017-01-11 Cary Coutant <ccoutant@gmail.com>
251
252 PR gold/21039
253 * testsuite/script_test_13.sh: Adjust patterns to work for i386.
254 * testsuite/script_test_15a.sh: Likewise.
255 * testsuite/script_test_15b.sh: Likewise.
256 * testsuite/script_test_15c.sh: Likewise.
257
5edad15d
AM
2582017-01-11 Alan Modra <amodra@gmail.com>
259
260 * powerpc.cc (class Powerpc_copy_relocs): New.
261 (Powerpc_copy_relocs::emit): New function.
262 (Powerpc_relobj::relatoc_, toc_, no_toc_opt_): New variables.
263 (Powerpc_relobj::toc_shndx, set_no_toc_opt, no_toc_opt): New inlines.
264 (Powerpc_relobj::do_relocate_sections): New function.
265 (Powerpc_relobj::make_toc_relative): Likewise.
266 (Powerpc_relobj::do_find_special_sections): Stash away .rela.toc
267 and .toc too.
268 (ok_lo_toc_insn): Move earlier, and handle more insns.
269 (Target_powerpc::Scan::local): If optimizing toc accesses, set
270 no_toc_opt for entries we can't edit. Check insn validity.
271 Emit "toc optimization is not supported" warning, downgraded
272 from error.
273 (Target_powerpc::Scan::global): Likewise.
274 (Target_powerpc::Relocate::relocate): Edit TOC indirect code
275 to TOC relative. Don't emit "toc optimization is not supported"
276 error here.
277
98461510
CC
2782017-01-10 Cary Coutant <ccoutant@gmail.com>
279
280 * aarch64.cc (AArch64_relobj::do_relocate_sections): Call
281 Sized_relobj_file::relocate_section_range().
282 * arm.cc (Arm_relobj::do_relocate_sections): Likewise.
283 * object.h (Sized_relobj_file::relocate_section_range): New method.
284 * reloc.cc (Sized_relobj_file::do_relocate_sections): Move
285 implementation...
286 (Sized_relobj_file::relocate_section_range): ...to new method.
287
f7fd19e2
AM
2882017-01-10 Alan Modra <amodra@gmail.com>
289
290 * testsuite/ver_test_8.sh: Accept .TOC. in lieu of
291 _GLOBAL_OFFSET_TABLE_. Allow zero count.
292 * testsuite/copy_test_relro_1.cc (c, q): New vars.
293 * testsuite/copy_test_relro.cc: Rewrite to test read-only
294 status of variables directly. Reference new vars in
295 read-only data.
296
f159cdb6
AM
2972017-01-10 Alan Modra <amodra@gmail.com>
298
299 * options.h: Add --secure-plt option.
300 * powerpc.cc (Target_powerpc::Scan::local): Detect and error
301 on -fPIC -mbss-plt code.
302 (Target_powerpc::Scan::global): Likewise.
303
3254d32c
AM
3042017-01-09 Alan Modra <amodra@gmail.com>
305
306 * powerpc.cc (Target_powerpc::make_plt_section): Point sh_info of
307 ".rela.plt" at ".plt".
308
0e123f69
AM
3092017-01-07 Alan Modra <amodra@gmail.com>
310
311 * powerpc.cc: Use shorter equivalent elfcpp typedef for
312 Reltype and reloc_size throughout.
313 (Target_powerpc::symval_for_branch): Exclude dynamic symbols.
314 (Target_powerpc::Scan::local): Use local var r_sym.
315 (Target_powerpc::Scan::global: Likewise.
316 (Target_powerpc::Relocate::relocate): Delete shadowing r_sym.
317
2571583a
AM
3182017-01-02 Alan Modra <amodra@gmail.com>
319
320 Update year range in copyright notice of all files.
321
5c1ad6b5 322For older changes see ChangeLog-2016
3499769a 323\f
5c1ad6b5 324Copyright (C) 2017 Free Software Foundation, Inc.
3499769a
AM
325
326Copying and distribution of this file, with or without modification,
327are permitted in any medium without royalty provided the copyright
328notice and this notice are preserved.
329
330Local Variables:
331mode: change-log
332left-margin: 8
333fill-column: 74
334version-control: never
335End:
This page took 0.102808 seconds and 4 git commands to generate.