Disallow --incremental with -pie and force -no-pie for incremental tests.
[deliverable/binutils-gdb.git] / gold / ChangeLog
CommitLineData
158600eb
CC
12017-12-01 Cary Coutant <ccoutant@gmail.com>
2
3 PR gold/21090
4 * incremental.cc (Sized_relobj_incr::do_relocate): Fix comment.
5 * options.cc (General_options::finalize): Disallow -pie with
6 incremental linking.
7 * x86_64.cc (Target_x86_64::Scan::local): Don't do mov-to-lea
8 or callq-to-direct optimizations for incremental links.
9 (Target_x86_64::Scan::global): Likewise.
10 (Target_x86_64::Relocate::relocate): Likewise.
11 * testsuite/Makefile.am (incremental_test): Force -no-pie.
12 (incremental_test_2): Likewise.
13 (incremental_test_3): Likewise.
14 (incremental_test_4): Likewise.
15 (incremental_test_5): Likewise.
16 (incremental_test_6): Likewise.
17 (incremental_copy_test): Likewise.
18 (incremental_common_test_1): Likewise.
19 (incremental_comdat_test_1): Likewise.
20 * testsuite/Makefile.in: Regenerate.
21
0af4ccfc
CC
222017-12-01 Cary Coutant <ccoutant@gmail.com>
23
24 PR gold/21841
25 * testsuite/debug_msg.sh: Adjust expected line numbers.
26 * testsuite/odr_violation2.cc (DummyFunction): New function.
27
059256c7
CC
282017-12-01 Cary Coutant <ccoutant@gmail.com>
29
30 PR gold/22309
31 * testsuite/Makefile.am (two_file_test_1_v1_ndebug.o): Compile with
32 no EH information.
33 (two_file_test_1_ndebug.o): Likewise.
34 * testsuite/Makefile.in: Regenerate.
35 * testsuite/two_file_test_1.cc: Touch to force recompilation with new
36 flags.
37 * testsuite/two_file_test_1_v1.cc: Likewise.
38
7ef67ba5
CC
392017-12-01 Cary Coutant <ccoutant@gmail.com>
40
41 PR gold/22042
42 * options.h (-fuse-ld): Use NULL instead of empty string.
43
bd2e3511
BP
442017-12-01 Benjamin Peterson <bp@benjamin.pe>
45
46 PR gold/22406
47 * gold.cc (queue_initial_tasks) Check for number of real input files.
48 * options.cc (Command_line::process) Check for unterminated --start-lib
49 options.
50 * testsuite/Makefile.am: Add new test script.
51 * testsuite/Makefile.in: Regenerate.
52 * testsuite/check_empty_command_lines.sh: New test script.
53
71739b69
SC
542017-11-17 Stephen Crane <sjc@immunant.com>
55
56 PR gold/22448
57 * symtab.cc (Symbol_table::add_from_object): Only rescan for
58 undefined symbols in regular, not dynamic, objects.
59
fd6798fa
PS
602017-11-30 Peter Smith <peter.smith@linaro.org>
61
62 PR gold/20765
63 * aarch64.cc (Aarch64_relobj::update_erratum_address): New method.
64 (AArch64_relobj::scan_errata): Update addresses in stub table after
65 relaxation pass.
66
e0feb133
CC
672017-11-30 Peter Smith <peter.smith@linaro.org>
68 Cary Coutant <ccoutant@gmail.com>
69
70 PR gold/20765
71 * aarch64.cc (Erratum_stub::invalidate_erratum_stub): Use erratum_insn_
72 instead of relobj_ to invalidate the stub.
73 (Erratum_stub::is_invalidated_erratum_stub): Likewise.
74
036aae79
PS
752017-11-30 Peter Smith <peter.smith@linaro.org>
76
77 PR gold/22233
78 * aarch64.cc (AArch64_relobj::fix_errata_and_relocate_erratum_stubs):
79 Fix calculation of stub address.
80
ca39c2f4
SS
812017-11-29 Stefan Stroe <stroestefan@gmail.com>
82
83 * po/Make-in (datadir): Define as @datadir@.
84 (localedir): Define as @localedir@.
85 (gnulocaledir, gettextsrcdir): Use @datarootdir@.
86
5dc824ed
CC
872017-11-28 Cary Coutant <ccoutant@gmail.com>
88
89 * resolve.cc (Symbol_table::resolve): Allow multiply-defined absolute
90 symbols when they have the same value.
91
8de0e07b
CC
922017-11-28 Cary Coutant <ccoutant@gmail.com>
93
94 * object.h (class Sized_relobj_file): Remove discarded_eh_frame_shndx_.
95 * object.cc (Sized_relobj_file::Sized_relobj_file): Likewise.
96 (Sized_relobj_file::layout_eh_frame_section): Likewise.
97 (Sized_relobj_file::do_count_local_symbols): Check for optimized
98 .eh_frame section by other means.
99 (Sized_relobj_file::compute_final_local_value_internal): Likewise.
100
ff174d3f
L
1012017-11-28 H.J. Lu <hongjiu.lu@intel.com>
102
103 * testsuite/pr22266_a.c: Add a newline at end of file.
104
033bfb73
CC
1052017-11-27 Cary Coutant <ccoutant@gmail.com>
106
107 PR gold/19291
108 PR gold/22266
109 * object.cc (Sized_relobj_file::compute_final_local_value_internal):
110 Revert changes from 2017-11-08 patch. Adjust symbol value in
111 relocatable links for non-section symbols.
112 (Sized_relobj_file::compute_final_local_value): Revert changes from
113 2017-11-08 patch.
114 (Sized_relobj_file::do_finalize_local_symbols): Likewise.
115 (Sized_relobj_file::write_local_symbols): Revert changes from
116 2015-11-25 patch.
117 * object.h (Sized_relobj_file::compute_final_local_value_internal):
118 Revert changes from 2017-11-08 patch.
119 * powerpc.cc (Target_powerpc::relocate_relocs): Adjust addend for
120 relocatable links.
121 * target-reloc.h (relocate_relocs): Adjust addend for relocatable links.
122 * testsuite/pr22266_a.c (hello): New function.
123 * testsuite/pr22266_main.c (main): Add test for merge sections.
124 * testsuite/pr22266_script.t: Add rule for .rodata.
125
20dd9c21
CC
1262017-11-19 Ian Lance Taylor <iant@google.com>
127 Cary Coutant <ccoutant@gmail.com>
128
9c512d88 129 * dwarf_reader.h (class Dwarf_info_reader): Add ref_addr_size
20dd9c21 130 method.
9c512d88 131 * dwarf_reader.cc (Dwarf_die::read_attributes): Use ref_addr_size
20dd9c21
CC
132 for DW_FORM_ref_addr_size.
133 (Dwarf_die::skip_attributes): Likewise.
134
dc8d2d90
L
1352017-11-08 H.J. Lu <hongjiu.lu@intel.com>
136
137 PR gold/22291
138 * layout.cc (Layout::define_section_symbols): Use STV_PROTECTED
139 for __start and __stop symbols.
140 * symtab.cc (Symbol_table::define_special_symbol): Add an
141 argument, visibility. Ignore definition and reference from
142 a dynamic object, depending on visibility.
143 (Symbol_table::do_define_in_output_data): Pass visibility to
144 define_special_symbol.
145 (Symbol_table::do_define_in_output_segment): Likewise.
146 (Symbol_table::do_define_as_constant): Likewise.
147 (Symbol_table::add_undefined_symbol_from_command_line): Pass
148 STV_DEFAULT to define_special_symbol.
149 * symtab.h (Symbol_table::define_special_symbol): Add an
150 argument, visibility.
151
333d0055
JC
1522017-11-08 James Clarke <jrtc27@jrtc27.com>
153
154 PR gold/22266
155 * object.cc (Sized_relobj_file::compute_final_local_value_internal):
156 Drop relocatable parameter and stop adjusting output value based on
157 it.
158 (Sized_relobj_file::compute_final_local_value): Stop passing
159 relocatable to compute_final_local_value_internal.
160 (Sized_relobj_file::do_finalize_local_symbols): Ditto.
161 * object.h (Sized_relobj_file::compute_final_local_value_internal):
162 Drop relocatable parameter.
163
08228b11
EC
1642017-11-08 Kyle Butt <iteratee@google.com>
165
166 * object.cc (do_find_special_sections): Fix a thinko with memmem return
167 values and check for != NULL rather than == 0.
168
6003e27e
AM
1692017-11-07 Alan Modra <amodra@gmail.com>
170
171 * system.h (textdomain, bindtextdomain): Use safer "do nothing".
172 (ngettext, dngettext, dcngettext): Define when !ENABLE_NLS.
173
e601d38b
AM
1742017-10-25 Alan Modra <amodra@gmail.com>
175
176 * symtab.cc (Symbol_table::add_from_relobj): Match "__gnu_lto_slim"
177 optionally prefixed with "_".
178
d6361359 1792017-10-20 Sriraman Tallam <tmsriram@google.com>
3b4190cc
ST
180
181 * options.h (-z,text_unlikely_segment): New option.
182 * layout.cc (Layout::layout): Create new output section
183 for .text.unlikely sections with the new option.
184 (Layout::segment_precedes): Check for the new option
185 when segment flags match.
186 * testsuite/text_unlikely_segment.cc: New test source.
187 * testsuite/text_unlikely_segment.sh: New test script.
188 * testsuite/Makefile.am (text_unlikely_segment): New test.
189 * testsuite/Makefile.in: Regenerate.
190
36862fc0
UK
1912017-10-19 Umesh Kalappa <ukalappa@cisco.com>
192
193 * arm.cc (Stub::do_fixed_endian_write):Far call stubs support for arm
194 in the be8 mode.
195 * testsuite/Makefile.am: New test cases.
196 * testsuite/Makefile.in: Regenerate.
197 * testsuite/arm_farcall_arm_arm_be8.sh: New script for arm to arm far
198 call stubs.
199 * testsuite/arm_farcall_thumb_thumb_be8.sh: New script for thumb to
200 thumb far call stubs.
201
412294da
AM
2022017-10-18 Kyle Butt <iteratee@google.com>
203 Alan Modra <amodra@gmail.com>
204
205 * powerpc.cc (Target_powerpc::Scan::local): Correct dst_off
206 calculation for TOC16 relocs.
207 (Target_powerpc::Scan::global): Likewise.
208
00956d3a
CC
2092017-09-26 Cary Coutant <ccoutant@gmail.com>
210
211 PR gold/22213
212 * sparc.cc (Target_sparc): Fix incorrect register mask.
213
0cf44ec8
JW
2142017-09-22 Jim Wilson <jim.wilson@linaro.org>
215
216 * aarch64.cc (Target_aarch64::aarch64_info): Set
217 is_default_stack_executable to false.
218
7790bd6c
AM
2192017-09-22 Alan Modra <amodra@gmail.com>
220
221 * resolve.cc (clone): Fix got_offset_list test.
222
ec769010
AM
2232017-09-22 Alan Modra <amodra@gmail.com>
224
225 * powerpc.cc (Target_powerpc<64,*>::powerpc_info): Set
226 is_default_stack_executable false.
227
ca464aac
TJ
2282017-09-20 Teresa Johnson <tejohnson@google.com>
229
230 * plugin.cc (is_visible_from_outside): Check for export dynamic symbol
231 option and list.
232 * testsuite/Makefile.am (plugin_test_12): New test.
233 * testsuite/Makefile.in: Regenerate.
234 * testsuite/export_dynamic_plugin.cc: New test source.
235 * testsuite/plugin_test_12.sh: New test script.
236
64b5d6d7
AM
2372017-09-20 Alan Modra <amodra@gmail.com>
238
239 * powerpc.cc (Target_powerpc::Branch_info::make_stub): Put
240 stubs for ppc32 non-branch relocs in first stub table.
241 (Target_powerpc::Relocate::relocate): Resolve similarly.
242
ab502e63
AM
2432017-09-19 Alan Modra <amodra@gmail.com>
244
245 * options.h (stub-group-multi): Default to true. Add
246 --no-stub-group-multi.
247
9a23f96e
AM
2482017-08-30 Alan Modra <amodra@gmail.com>
249
250 * powerpc.cc (Target_powerpc::Relocate::relocate): Nop addis on
251 TPREL16_HA, and convert insn on TPREL16_LO and TPREL16_LO_DS
252 relocs to use r2/r13 when addis would add zero.
253
34e0882b
AM
2542017-08-29 Alan Modra <amodra@gmail.com>
255
256 * options.h (tls_get_addr_optimize): New option.
257 * symtab.h (Symbol::clear_in_reg, clone): New functions.
258 (Sized_symbol::clone): New function.
259 (Symbol_table::clone): New function.
260 * resolve.cc (Symbol::clone, Sized_symbol::clone): New functions.
261 * powerpc.cc (Target_powerpc::has_tls_get_addr_opt_,
262 tls_get_addr_, tls_get_addr_opt_): New vars.
263 (Target_powerpc::tls_get_addr_opt, tls_get_addr,
264 is_tls_get_addr_opt, replace_tls_get_addr,
265 set_has_tls_get_addr_opt, stk_linker): New functions.
266 (Target_powerpc::Track_tls::maybe_skip_tls_get_addr_call): Add
267 target param. Update callers. Compare symbols rather than names.
268 (Target_powerpc::do_define_standard_symbols): Init tls_get_addr_
269 and tls_get_addr_opt_.
270 (Target_powerpc::Branch_info::mark_pltcall): Translate tls_get_addr
271 sym to tls_get_addr_opt.
272 (Target_powerpc::Branch_info::make_stub): Likewise.
273 (Stub_table::define_stub_syms): Likewise.
274 (Target_powerpc::Scan::global): Likewise.
275 (Target_powerpc::Relocate::relocate): Likewise.
276 (add_3_12_2, add_3_12_13, bctrl, beqlr, cmpdi_11_0, cmpwi_11_0,
277 ld_11_1, ld_11_3, ld_12_3, lwz_11_3, lwz_12_3, mr_0_3, mr_3_0,
278 mtlr_11, std_11_1): New constants.
279 (Stub_table::eh_frame_added_): Delete.
280 (Stub_table::tls_get_addr_opt_bctrl_, plt_fde_len_, plt_fde_): New vars.
281 (Stub_table::init_plt_fde): New functions.
282 (Stub_table::add_eh_frame, replace_eh_frame): Move definition out
283 of line. Init and use plt_fde_.
284 (Stub_table::plt_call_size): Return size for tls_get_addr stub.
285 Extract alignment code to..
286 (Stub_table::plt_call_align): ..this new function. Adjust all callers.
287 (Stub_table::add_plt_call_entry): Set has_tls_get_addr_opt and
288 tls_get_addr_opt_bctrl, and align after that.
289 (Stub_table::do_write): Write out tls_get_addr stub.
290 (Target_powerpc::do_finalize_sections): Emit DT_PPC_OPT
291 PPC_OPT_TLS/PPC64_OPT_TLS bit.
292 (Target_powerpc::Relocate::relocate): Don't check for or modify
293 nop following bl for tls_get_addr stub.
294
34ca2bd7
AM
2952017-08-29 Alan Modra <amodra@gmail.com>
296
297 * symtab.h (Symbol): Split u_ into u1_ and u2_. Adjust accessors
298 to suit. Move plt_offset_ before got_offsets_.
299 * symtab.cc (Symbol::init_fields): Adjust for union change.
300 (Symbol::init_base_output_data): Likewise.
301 (Symbol::init_base_output_segment): Likewise.
302 (Symbol::allocate_base_common): Likewise.
303 (Symbol::output_section): Likewise.
304 (Symbol::set_output_section): Likewise.
305 (Symbol::set_output_segment): Likewise.
306 * resolve.cc (Symbol::override_base): Likewise.
307 (Symbol::override_base_with_special): Likewise.
308
cefdd1cd
IK
3092017-08-28 Igor Kudrin <ikudrin@accesssoftek.com>
310
311 * aarch64.cc (Target_aarch64::Relocate::relocate_tls):
312 Make got_tlsdesc_offset signed and fix its calculation.
313 * testsuite/Makefile.am (aarch64_tlsdesc): New test.
314 * testsuite/Makefile.in: Regenerate.
315 * testsuite/aarch64_tlsdesc.s: New test source file.
316 * testsuite/aarch64_tlsdesc.sh: New test script.
317 * testsuite/aarch64_tlsdesc.t: New test linker script.
318
565ed01a
AM
3192017-08-28 Alan Modra <amodra@gmail.com>
320
321 PR 21847
322 * powerpc.cc (Target_powerpc::is_elfv2_localentry0): Test
323 non_zero_localentry.
324 (Target_powerpc::resolve): New function.
325 (powerpc_info): Set has_resolve for 64-bit.
326 * target.h (Sized_target::resolve): Return bool.
327 * resolve.cc (Symbol_table::resolve): Continue with normal
328 processing when target resolve returns false.
329 * symtab.h (Symbol::non_zero_localentry, set_non_zero_localentry):
330 New accessors.
331 (Symbol::non_zero_localentry_): New flag bit.
332 * symtab.cc (Symbol::init_fields): Init non_zero_localentry_.
333
2760f24c
RG
3342017-08-08 Romain Geissler <romain.geissler@gmail.com>
335 Alan Modra <amodra@gmail.com>
336
337 * configure.ac: Add --enable-default-hash-style option.
338 * options.h (hash_style): Use DEFAULT_HASH_STYLE as default value.
339 * configure: Regenerate.
340 * config.in: Regenerate.
341
223b97ba
JC
3422017-08-03 James Clarke <jrtc27@jrtc27.com>
343
344 * options.h (General_options): Set a non-NULL second help string
345 argument for relax to allow --no-relax.
346
be897fb7
AM
3472017-08-01 Alan Modra <amodra@gmail.com>
348
349 * ehframe.cc (Fde::operator==): New.
350 (Cie::remove_fde, Eh_frame::remove_ehframe_for_plt): New.
351 * ehframe.h (Fde::operator==): Declare.
352 (Cie::remove_fde, Eh_frame::remove_ehframe_for_plt): Likewise.
353 * layout.cc (Layout::remove_eh_frame_for_plt): New.
354 * layout.h (Layout::remove_eh_frame_for_plt): Declare.
355 * powerpc.cc (Target_powerpc::do_relax): Remove old eh_frame FDEs.
356 (Stub_table::add_eh_frame): Delete eh_frame_added_ condition.
357 Don't add eh_frame for empty stub section.
358 (Stub_table::remove_eh_frame): New.
359
aacb3b6d
AM
3602017-07-31 Alan Modra <amodra@gmail.com>
361
362 * options.h (no_tls_optimize): New powerpc option.
363 * powerpc.cc (Target_powerpc::abiversion, set_abiversion): Formatting.
364 (Target_powerpc::stk_toc): Formatting, fix comment.
365 (Target_powerpc::Track_tls::tls_get_addr_state): Rename from
366 tls_get_addr.
367 (Target_powerpc::optimize_tls_gd, optimize_tls_ld, optimize_tls_ie):
368 Return TLSOPT_NONE when !tls_optimize.
369 (Target_powerpc::add_global_pair_with_rel): Check
370 for existing reloc before reserving.
371 (Target_powerpc::add_local_tls_pair): Likewise.
372
d44c746a
AM
3732017-07-31 Alan Modra <amodra@gmail.com>
374
565ed01a 375 PR 21847
d44c746a
AM
376 * powerpc.cc (Target_powerpc::scan_relocs): Warn on --plt-localentry
377 without ld.so checks.
378
8b5f1ed8
AM
3792017-07-29 Alan Modra <amodra@gmail.com>
380
381 PR 21847
382 * powerpc.cc (Target_powerpc::scan_relocs): Default to
383 --no-plt-localentry.
384
49ba15a2
L
3852017-07-28 H.J. Lu <hongjiu.lu@intel.com>
386
387 PR gold/21857
388 * compressed_output.cc (Output_compressed_section::set_final_data_size):
389 Call put_ch_reserved to clear the reserved field for 64-bit ELF.
390
104f0515
L
3912017-07-26 H.J. Lu <hongjiu.lu@intel.com>
392
393 * mips.cc (Mips_relocate_functions): Add "llu" suffix to
394 0x800080008000.
395
15a3a14f
AM
3962017-07-23 Alan Modra <amodra@gmail.com>
397
398 * powerpc.cc (glink_eh_frame_fde_64v2): Correct advance to
399 restore of LR.
400 (glink_eh_frame_fde_64v1): Advance to restore of LR at latest
401 possible insn.
402
de194d85
YC
4032017-07-18 Nick Clifton <nickc@redhat.com>
404
405 PR 21775
406 * aarch64.cc: Fix spelling typos.
407 * arm.cc: Likewise.
408 * layout.cc: Likewise.
409 * powerpc.cc: Likewise.
410 * x86_64.cc: Likewise.
411
429d795d
AM
4122017-07-12 Alan Modra <amodra@gmail.com>
413
414 * po/es.po: Update from translationproject.org/latest/gold/.
415 * po/fi.po: Likewise.
416 * po/fr.po: Likewise.
417 * po/id.po: Likewise.
418 * po/it.po: Likewise.
419 * po/vi.po: Likewise.
420 * po/zh_CN.po: Likewise.
421 * po/ja.po: New file from translationproject.org.
422 * po/sv.po: Likewise.
423 * po/uk.po: Likewise.
424
b7d7d459
CC
4252017-07-06 Han Shen <shenhan@google.com>
426
427 PR gold/21491
428 * aarch64.cc (Erratum_stub::invalidate_erratum_stub): New method.
429 (Erratum_stub::is_invalidated_erratum_stub): New method.
430 (Stub_table::relocate_reloc_stub): Renamed from "relocate_stub".
431 (Stub_table::relocate_reloc_stubs): Renamed from "relocate_stubs".
432 (Stub_table::relocate_erratum_stub): New method.
433 (AArch64_relobj::fix_errata_and_relocate_erratum_stubs): Renamed from
434 "fix_errata".
435 (Target_aarch64::relocate_reloc_stub): Renamed from "relocate_stub".
436
7ee7ff70
AM
4372017-06-23 Alan Modra <amodra@gmail.com>
438
439 * options.h (General_options): Add plt_localentry.
440 * powerpc.cc (Target_powerpc::st_other): New function.
441 (Target_powerpc::plt_localentry0_, plt_localentry0_init_,
442 has_localentry0_): New vars.
443 (Target_powerpc::plt_localentry0, set_has_localentry0,
444 is_elfv2_localentry0): New functions.
445 (Target_powerpc::Branch_info::mark_pltcall): Don't set tocsave or
446 return true for localentry:0 calls.
447 (Stub_table::Plt_stub_ent::localentry0_): New var.
448 (Stub_table::add_plt_call_entry): Set localentry0_ and has_localentry0_.
449 Don't set r2save_ for localentry:0 calls.
450 (Output_data_glink::do_write): Save r2 in __glink_PLTresolve for elfv2.
451 (Target_powerpc::scan_relocs): Default plt_localentry0_.
452 (Target_powerpc::do_finalize_sections): Set DT_PPC64_OPT.
453 (Target_powerpc::Relocate::relocate): Don't require nop following
454 calls for localentry:0 plt calls, and don't change nop.
455
7e57d19e
AM
4562017-06-23 Alan Modra <amodra@gmail.com>
457
458 * powerpc.cc (Target_powerpc::tocsave_loc_): New var.
459 (Target_powerpc::mark_pltcall, add_tocsave, tocsave_loc): New functions.
460 (Target_powerpc::Branch_info::tocsave_): New var.
461 (Target_powerpc::Branch_info::mark_pltcall): New function.
462 (Target_powerpc::Branch_info::make_stub): Pass tocsave_ to
463 add_plt_call_entry.
464 (Stub_table::Plt_stub_ent): Make public. Add r2save_.
465 (Stub_table::add_plt_call_entry): Add bool tocsave_ param. Set
466 r2save_.
467 (Stub_table::find_plt_call_entry): Return Plt_stub_ent*. Adjust
468 use throughout.
469 (Stub_table::do_write): Conditionally output r2 save in plt stubs.
470 (Target_powerpc::Scan::local): Handle R_PPC64_TOCSAVE.
471 (Target_powerpc::Scan::global): Likewise.
472 (Target_powerpc::Relocate::relocate): Skip r2 save in plt call stub
473 with tocsave reloc. Replace header tocsave nop with r2 save.
474 * symtab.h (struct Symbol_location_hash): Make public.
475
bdab445c
AM
4762017-06-21 Alan Modra <amodra@gmail.com>
477
478 * powerpc.cc (Plt_stub_key): Rename from Plt_stub_ent. Remove indx_.
479 (Plt_stub_key_hash): Rename from Plt_stub_ent_hash.
480 (struct Plt_stub_ent): New.
481 (Plt_stub_entries): Map from Plt_stub_key to Plt_stub_ent. Adjust
482 use throughout file.
483
69431bab
EC
4842017-06-20 Eric Christopher <echristo@gmail.com>
485
486 * aarch64.cc (scan_reloc_for_stub): Use plt_address_for_global to
487 calculate the symbol value.
488 (scan_reloc_section_for_stubs): Allow stubs to be created for
489 section symbols.
490 (maybe_apply_stub): Handle creating stubs for weak symbols to
491 match the code in scan_reloc_for_stub.
492
94de2a2c
JC
4932017-06-20 James Clarke <jrtc27@jrtc27.com>
494
495 * powerpc.cc (Stub_table::define_stub_syms): Always include object's
496 uniq_ value.
497
c092b67b
EC
4982017-06-15 Eric Christopher <echristo@gmail.com>
499
500 * aarch64.cc: Fix a few typos and grammar-os.
501
37de058a
JW
5022017-06-15 Jiong Wang <jiong.wang@arm.com>
503
504 * aarch64.cc (Insn_utilities::is_mrs_tpidr_el0): New method.
505 (AArch64_relobj<size, big_endian>::try_fix_erratum_843419_optimized):
506 Return ture for some TLS relaxed sequences.
507
81b6fe3b
EC
5082017-06-07 Eric Christopher <echristo@gmail.com>
509
510 * aarch64.cc (maybe_apply_stub): Add debug logging for looking
511 up stubs to undefined symbols and early return rather than
512 fail to look them up.
513 (scan_reloc_for_stub): Add debug logging for no stub creation
514 for undefined symbols.
515
590b87ff
AM
5162017-05-23 Alan Modra <amodra@gmail.com>
517
518 PR 21503
519 * options.h: Add --emit-stub-syms option.
520 * powerpc.cc (object_id): New.
521 (Powerpc_relobj): Add uniq_ and accessor. Sort variables for
522 better packing.
523 (Powerpc_dynobj): Sort variables for better packing.
524 (Target_powerpc::define_local): New function.
525 (Target_powerpc::group_sections): Pass stub table size to
526 Stub_table constructor.
527 (Target_powerpc::do_relax): Define stub and glink symbols.
528 (Stub_table): Add uniq_ variable, and id param to constructor.
529 (Stub_table::Plt_stub_ent): Add indx_ variable.
530 (Stub_table::Branch_stub_entries): Move typedef earlier.
531 (Stub_table::branch_stub_size): Replace "to" parameter with a
532 Branch_stub_entries iterator.
533 (Stub_table::add_long_branch_entry): Adjust to suit.
534 (Stub_table::add_plt_call_entry): Set indx_.
535 (Stub_table::define_stub_syms): New function.
536
0c38a3d1
EC
5372017-05-15 Eric Christopher <echristo@gmail.com>
538
539 * layout.cc (Layout::segment_precedes): Add a case for testing
540 pointer equality when determining which segment precedes
541 another.
542
67f46fed
JC
5432017-05-13 James Clarke <jrtc27@jrtc27.com>
544
545 PR gold/21444
546 * gold.cc (Target_sparc::Relocate::relocate_tls): Local
547 variables are final for position-independent executables. This
548 has to be consistent with Target_sparc::Scan::local otherwise
549 they will disagree as to whether local-exec is used.
550
6bf56e74
IK
5512017-05-12 Igor Kudrin <ikudrin@accesssoftek.com>
552
553 PR gold/21430
554 * aarch64.cc
555 (AArch64_relobj::convert_input_section_to_relaxed_section):
556 Set the section offset to -1ULL.
557 (Target_aarch64::relocate_section): Adjust the view in case
558 of a relaxed input section.
559 * testsuite/Makefile.am (pr21430): New test.
560 * testsuite/Makefile.in: Regenerate
561 * testsuite/pr21430.s: New test source file.
562 * testsuite/pr21430.sh: New test script.
563
a61d92b7
AM
5642017-04-27 Alan Modra <amodra@gmail.com>
565
566 * testsuite/plugin_section_order.c (onload): Add missing break.
567
aab2c177
VR
5682017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
569
570 * mips.cc (Mips_got_entry::hash()): Shift addend to reduce
571 possibility of collisions.
572 (Mips_got_entry::equals): Fix case for GOT_TLS_LDM
573 entries.
574
4d78db49
VR
5752017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
576
577 * mips.cc (Mips_relobj::merge_processor_specific_data_): New data
578 member.
579 (Mips_relobj::merge_processor_specific_data): New method.
580 (Mips_relobj::do_read_symbols): Set merge_processor_specific_data_
581 to false, only if the input file is a binary or if object has no
582 contents except the section name string table and an empty symbol
583 table with the undefined symbol.
584 (Target_mips::do_finalize_sections): Refactor. Skip empty object files
585 for merging processor-specific data.
586
152c92b2
VR
5872017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
588
589 * mips.cc (Target_mips::Relocate::calculated_value_): New data
590 member.
591 (Target_mips::Relocate::calculate_only_): Likewise.
592 (Target_mips::Relocate::relocate): Handle multiple consecutive
593 relocations with the same offset.
594
1728969e
VR
5952017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
596
1e1247c8
VR
597 * mips.cc (Target_mips::Relocate::relocate): Remove redundant
598 checks for relocatable link.
599 (Mips_relocate_functions::reljalr): Likewise.
1728969e 600
c3847462
VR
6012017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
602
1e1247c8
VR
603 * mips.cc (class Mips_output_section_options): New class.
604 (Target_mips::do_make_output_section): New method.
c3847462 605
453018bf
VR
6062017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
607
1e1247c8
VR
608 * mips.cc (Mips_relocate_functions::rel26): Don't print relocation
609 overflow error message.
610 (Target_mips::relocate_special_relocatable): Improve relocation
611 overflow error message.
612 (Target_mips::Relocate::relocate): Likewise.
613
6142017-03-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
615
616 * mips.cc (symbol_refs_local): Return false if a symbol
617 is from a dynamic object.
618 (Target_mips::got_section): Make _GLOBAL_OFFSET_TABLE_ STV_HIDDEN.
619 (Target_mips::set_gp): Refactor. Make _gp STT_NOTYPE and
620 STB_LOCAL.
621 (Target_mips::do_finalize_sections): Set _gp after all the checks
622 for creating .got are done.
623 (Target_mips::Scan::global): Remove unused code.
453018bf 624
6528b6eb
AM
6252017-02-22 Alan Modra <amodra@gmail.com>
626
627 * powerpc.cc (Target_powerpc::make_iplt_section): Check that
628 output_section exists before attempting add_output_section_data.
629 (Target_powerpc::make_brlt_section): Likewise.
630
f9029569
VR
6312017-02-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
632
633 * mips.cc (Target_mips::Scan::get_reference_flags): Remove
634 gold_unreachable from default case.
635
e242ece1
VR
6362017-02-15 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
637
638 PR gold/21111
f9029569
VR
639 * mips.cc (Mips_relocate_functions::relhigher): New method.
640 (Mips_relocate_functions::relhighest): Likewise.
641 (mips_get_size_for_reloc): Add support for relocs: R_MIPS_HIGHER and
642 R_MIPS_HIGHEST.
643 (Target_mips::Scan::local): Add support for relocs: R_MIPS_HIGHER,
644 R_MIPS_HIGHEST, R_MICROMIPS_HIGHER and R_MICROMIPS_HIGHEST.
645 (Target_mips::Scan::global): Likewise.
646 (Target_mips::Scan::get_reference_flags): Likewise.
647 (Target_mips::Relocate::relocate): Call static methods for resolving
648 HIGHER and HIGHEST relocations.
e242ece1 649
4aebb631
RC
6502017-02-03 Rahul Chaudhry <rahulchaudhry@google.com>
651
652 * x86_64.cc (Target_x86_64::do_can_check_for_function_pointers):
653 Return true even when building pie binaries.
654 (Target_x86_64::possible_function_pointer_reloc): Check opcode
655 for R_X86_64_PC32 relocations.
656 (Target_x86_64::local_reloc_may_be_function_pointer): Pass
657 extra arguments to local_reloc_may_be_function_pointer.
658 (Target_x86_64::global_reloc_may_be_function_pointer): Likewise.
659 * gc.h (gc_process_relocs): Add check for STT_FUNC.
660 * testsuite/Makefile.am (icf_safe_pie_test): New test case.
661 * testsuite/Makefile.in: Regenerate.
662 * testsuite/icf_safe_pie_test.sh: New shell script.
663
e666304e
AM
6642017-02-03 Alan Modra <amodra@gmail.com>
665
666 * powerpc.cc (Powerpc_relobj::make_toc_relative): Don't crash
667 when no .toc section exists.
668
ed35cc4a
CC
6692017-01-31 Cary Coutant <ccoutant@gmail.com>
670
671 PR gold/21090
672 * x86_64.cc (Target_x86_64::can_convert_mov_to_lea): Add check
673 for predefined symbol.
674 (Target_x86_64::Relocate::relocate): Fix formatting.
675
741bcbe9
RC
6762017-01-23 Rahul Chaudhry <rahulchaudhry@google.com>
677
678 * testsuite/icf_safe_so_test.sh: Use "set -e".
679 * testsuite/icf_safe_test.sh: Likewise.
680 * testsuite/icf_test.sh: Likewise.
681
04bc2a28
VR
6822017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
683
684 * mips.cc (Mips_output_data_plt::rel_plt): Remove const from return
685 type.
686 (Target_mips::make_plt_entry): Make the sh_info field of .rel.plt
687 point to .plt.
688
c1f59f8f
VR
6892017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
690
691 PR gold/21054
692 * mips.cc (Mips_got_info::record_global_got_symbol): Don't add symbol
693 to the dynamic symbol table if it is forced to local visibility.
694 (Target_mips::do_finalize_sections): Don't add __RLD_MAP symbol to the
695 dynamic symbol table if it is forced to local visibility.
696
a24df305
NC
6972017-01-20 Nick Clifton <nickc@redhat.com>
698
699 * aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS
700 from a pointer to an array.
701
857e829e
L
7022017-01-13 H.J. Lu <hongjiu.lu@intel.com>
703
704 PR gold/21040
705 * powerpc.cc (Powerpc_relobj<size, big_endian>::make_toc_relative):
706 Cast 0x80008000 to uint64_t.
707
aca5eec6
CC
7082017-01-12 Cary Coutant <ccoutant@gmail.com>
709
710 * object.cc (Sized_relobj_file): Fix byte counts for calls to memmem.
711
6624f3a1
CC
7122017-01-11 Cary Coutant <ccoutant@gmail.com>
713
714 PR gold/21040
715 * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
716 Remove unnecessary 'typename' keyword.
717 (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
718 (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
719 (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
720 (Output_data_plt_x86_64_bnd::do_write): Likewise.
721
976e204b
CC
7222017-01-11 Cary Coutant <ccoutant@gmail.com>
723
724 PR gold/21040
725 * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
726 Remove unnecessary 'typename' keyword.
727 (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
728 (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
729 (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
730 * testsuite/copy_test_relro_1.cc (p, b, c, q): Add separate extern
731 declarations.
732
1fa5f68b
CC
7332017-01-11 Cary Coutant <ccoutant@gmail.com>
734
735 PR gold/21039
736 * testsuite/script_test_13.sh: Adjust patterns to work for i386.
737 * testsuite/script_test_15a.sh: Likewise.
738 * testsuite/script_test_15b.sh: Likewise.
739 * testsuite/script_test_15c.sh: Likewise.
740
5edad15d
AM
7412017-01-11 Alan Modra <amodra@gmail.com>
742
743 * powerpc.cc (class Powerpc_copy_relocs): New.
744 (Powerpc_copy_relocs::emit): New function.
745 (Powerpc_relobj::relatoc_, toc_, no_toc_opt_): New variables.
746 (Powerpc_relobj::toc_shndx, set_no_toc_opt, no_toc_opt): New inlines.
747 (Powerpc_relobj::do_relocate_sections): New function.
748 (Powerpc_relobj::make_toc_relative): Likewise.
749 (Powerpc_relobj::do_find_special_sections): Stash away .rela.toc
750 and .toc too.
751 (ok_lo_toc_insn): Move earlier, and handle more insns.
752 (Target_powerpc::Scan::local): If optimizing toc accesses, set
753 no_toc_opt for entries we can't edit. Check insn validity.
754 Emit "toc optimization is not supported" warning, downgraded
755 from error.
756 (Target_powerpc::Scan::global): Likewise.
757 (Target_powerpc::Relocate::relocate): Edit TOC indirect code
758 to TOC relative. Don't emit "toc optimization is not supported"
759 error here.
760
98461510
CC
7612017-01-10 Cary Coutant <ccoutant@gmail.com>
762
763 * aarch64.cc (AArch64_relobj::do_relocate_sections): Call
764 Sized_relobj_file::relocate_section_range().
765 * arm.cc (Arm_relobj::do_relocate_sections): Likewise.
766 * object.h (Sized_relobj_file::relocate_section_range): New method.
767 * reloc.cc (Sized_relobj_file::do_relocate_sections): Move
768 implementation...
769 (Sized_relobj_file::relocate_section_range): ...to new method.
770
f7fd19e2
AM
7712017-01-10 Alan Modra <amodra@gmail.com>
772
773 * testsuite/ver_test_8.sh: Accept .TOC. in lieu of
774 _GLOBAL_OFFSET_TABLE_. Allow zero count.
775 * testsuite/copy_test_relro_1.cc (c, q): New vars.
776 * testsuite/copy_test_relro.cc: Rewrite to test read-only
777 status of variables directly. Reference new vars in
778 read-only data.
779
f159cdb6
AM
7802017-01-10 Alan Modra <amodra@gmail.com>
781
782 * options.h: Add --secure-plt option.
783 * powerpc.cc (Target_powerpc::Scan::local): Detect and error
784 on -fPIC -mbss-plt code.
785 (Target_powerpc::Scan::global): Likewise.
786
3254d32c
AM
7872017-01-09 Alan Modra <amodra@gmail.com>
788
789 * powerpc.cc (Target_powerpc::make_plt_section): Point sh_info of
790 ".rela.plt" at ".plt".
791
0e123f69
AM
7922017-01-07 Alan Modra <amodra@gmail.com>
793
794 * powerpc.cc: Use shorter equivalent elfcpp typedef for
795 Reltype and reloc_size throughout.
796 (Target_powerpc::symval_for_branch): Exclude dynamic symbols.
797 (Target_powerpc::Scan::local): Use local var r_sym.
798 (Target_powerpc::Scan::global: Likewise.
799 (Target_powerpc::Relocate::relocate): Delete shadowing r_sym.
800
2571583a
AM
8012017-01-02 Alan Modra <amodra@gmail.com>
802
803 Update year range in copyright notice of all files.
804
5c1ad6b5 805For older changes see ChangeLog-2016
3499769a 806\f
5c1ad6b5 807Copyright (C) 2017 Free Software Foundation, Inc.
3499769a
AM
808
809Copying and distribution of this file, with or without modification,
810are permitted in any medium without royalty provided the copyright
811notice and this notice are preserved.
812
813Local Variables:
814mode: change-log
815left-margin: 8
816fill-column: 74
817version-control: never
818End:
This page took 0.130868 seconds and 4 git commands to generate.