]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - gold/ChangeLog
Regenerate Makefile.in/aclocal.m4 automake 1.11.6
[thirdparty/binutils-gdb.git] / gold / ChangeLog
CommitLineData
6fd8e7c2
L
12016-04-15 H.J. Lu <hongjiu.lu@intel.com>
2
3 * Makefile.in: Regenerated with automake 1.11.6.
4 * aclocal.m4: Likewise.
5 * testsuite/Makefile.in: Likewise.
6
b60ecbc6
CC
72016-03-30 Cary Coutant <ccoutant@gmail.com>
8
9 PR gold/16979
10 * symtab.cc (Symbol_table::define_default_version): Check for case
11 where symbols are both in different shared objects.
12
ed700649
CC
132016-03-27 Cary Coutant <ccoutant@gmail.com>
14
15 PR gold/16111
16 * i386.cc (Target_i386): Add check for fully-resolved symbol for
17 R_386_GOTOFF.
18
9780e045
NC
192016-03-22 Nick Clifton <nickc@redhat.com>
20
21 * configure: Regenerate.
22
648c5cbb
CC
232016-03-21 Cary Coutant <ccoutant@gmail.com>
24
25 PR gold/19842
26 * errors.cc (Errors::undefined_symbol): Add info message when
27 symbol should have been provided by a plugin.
28 * target-reloc.h (issue_undefined_symbol_error): Check for
29 placeholder symbols defined in discarded sections.
30 * testsuite/Makefile.am (plugin_test_9b): New test case.
31 * testsuite/Makefile.in: Regenerate.
32 * testsuite/plugin_test_9b_elf.cc: New test source file.
33 * testsuite/plugin_test_9b_ir.cc: New test source file.
34
698400bf
CC
352016-03-20 Cary Coutant <ccoutant@gmail.com>
36
37 PR gold/19002
38 * ehframe.cc (Eh_frame::read_fde): Check for dropped functions.
39 * testsuite/Makefile.am (eh_test_2): New test.
40 * testsuite/Makefile.in: Regenerate.
41 * testsuite/eh_test_2.sh: New test script.
42 * testsuite/eh_test_a.cc (bar): Make it comdat.
43 * testsuite/eh_test_b.cc (bar): Add a duplicate copy.
44
01b84e25
VR
452016-03-18 Vladimir Radosavljevic <vladimir.radosavljevic@imgtec.com>
46
47 * mips.cc (Mips_relobj::is_n64_): Remove.
48 (Target_mips::ei_class_): Likewise.
49 (Mips_relobj::is_newabi): Call methods.
50 (Mips_relobj::is_n64): Change checking for N64 ABI.
51 (Target_mips::is_output_n64): Likewise.
52 (Target_mips::merge_processor_specific_flags): Remove ei_class
53 argument, and remove comparing ei_class.
54 (Target_mips::do_adjust_elf_header): Remove setting EI_CLASS field
55 of the ELF header.
56 (Target_mips::do_finalize_sections): Don't pass ei_class argument
57 to merge_processor_specific_flags.
58 (Target_mips::elf_mips_abi_name): Remove ei_class argument, and
59 change checking for N64 ABI.
60
47a9f4fc
VR
612016-03-17 Vladimir Radosavljevic <vladimir.radosavljevic@imgtec.com>
62
63 * mips.cc (enum Special_relocation_symbol): New enum type.
64 (is_readonly_section): New function.
65 (eh_reloc): Likewise.
66 (Mips_got_entry::is_section_symbol_): New member.
67 (Mips_got_entry::is_section_symbol): New method.
68 (Mips_got_info::record_local_got_symbol): Add is_section_symbol
69 argument.
70 (Mips_relobj::mips_elf_options_section_name): New method.
71 (Mips_output_data_got::record_local_got_symbol): Add
72 is_section_symbol argument, and pass it to
73 Mips_got_info::record_local_got_symbol.
74 (Mips_output_data_got::got_offset): Add addend argument, and pass
75 it to Relobj::local_got_offset.
76 (struct Mips_output_reloc_writer): New type.
77 (class Mips_output_data_reloc): New class.
78 (Mips_output_data_plt::Reloc_section): Change type to
79 Mips_output_data_reloc.
80 (Target_mips::Reloc_section): Likewise.
81 (Mips_reloc_types::get_r_addend): Remove unsigned from return type.
82 (Mips_classify_reloc::get_r_type2): New method.
83 (Mips_classify_reloc::get_r_type3): Likewise.
84 (Mips_classify_reloc::get_r_ssym): Likewise.
85 (Target_mips::Reloca_section): Remove.
86 (Relocate::should_apply_static_reloc): Rename from
87 should_apply_r_mips_32_reloc.
88 (Target_mips::copy_reloc): Replace Reltype parameter with r_type
89 and r_offset.
90 (Mips_relocate_functions::Valtype): New type.
91 (Mips_relocate_functions::Valtype64): New type.
92 (Mips_relocate_functions::check_overflow): New method.
93 (Mips_relocate_functions::mips_reloc_unshuffle): Move to public
94 interface.
95 (Mips_relocate_functions::mips_reloc_shuffle): Likewise.
96 (Mips_relocate_functions::rel16): Add support for resolving
97 relocations for Mips64.
98 (Mips_relocate_functions::rel32): Likewise.
99 (Mips_relocate_functions::reljalr): Likewise.
100 (Mips_relocate_functions::relpc32): Likewise.
101 (Mips_relocate_functions::rel26): Likewise.
102 (Mips_relocate_functions::relpc16): Likewise.
103 (Mips_relocate_functions::relmicromips_pc7_s1): Likewise.
104 (Mips_relocate_functions::relmicromips_pc10_s1): Likewise.
105 (Mips_relocate_functions::relmicromips_pc16_s1): Likewise.
106 (Mips_relocate_functions::do_relhi16): Likewise.
107 (Mips_relocate_functions::do_relgot16_local): Likewise.
108 (Mips_relocate_functions::rello16): Likewise.
109 (Mips_relocate_functions::relgot): Likewise.
110 (Mips_relocate_functions::relgotpage): Likewise.
111 (Mips_relocate_functions::relgotofst): Likewise.
112 (Mips_relocate_functions::relgot_hi16): Likewise.
113 (Mips_relocate_functions::relgot_lo16): Likewise.
114 (Mips_relocate_functions::relgprel): Likewise.
115 (Mips_relocate_functions::relgprel32): Likewise.
116 (Mips_relocate_functions::tlsrelhi16): Likewise.
117 (Mips_relocate_functions::tlsrello16): Likewise.
118 (Mips_relocate_functions::tlsrel32): Likewise.
119 (Mips_relocate_functions::relsub): Likewise.
120 (Mips_relocate_functions::releh): New method.
121 (Mips_relocate_functions::rel64): Likewise.
122 (Mips_got_info::record_local_got_symbol): Add is_section_symbol and
123 pass it to Mips_got_entry.
124 (Mips_got_info::add_local_entries): Pass addend argument
125 to code functions, and for STT_SECTION symbols call
126 add_symbolless_local_addend.
127 (Mips_got_info::add_tls_entries): Pass addend argument to code
128 functions.
129 (Mips_relobj::do_read_symbols): Read gp value that was used to
130 create object.
131 (Mips_output_data_plt::plt_entry): Remove opcode from l[wd]
132 instruction. Opcode for instruction will be selected later.
133 (Target_mips::gc_process_relocs): Add case for SHT_RELA.
134 (Target_mips::scan_relocatable_relocs): Likewise.
135 (Target_mips::emit_relocs_scan): Likewise.
136 (Target_mips::relocate_relocs): Likewise.
137 (Target_mips::do_finalize_sections): Skip objects for merging
138 processor specific flags in which all input sections will be
139 discarded.
140 (mips_get_size_for_reloc): Add case for R_MIPS_EH.
141 (Target_mips::Scan::get_reference_flags): Likewise.
142 (Target_mips::relocate_special_relocatable): Call rel26 method with
143 calculate_only and calculated_value arguments.
144 (Target_mips::Scan::local): Add case for R_MIPS_EH. Don't create a
145 dynamic relocation against a readonly sections, and pass
146 is_section_symbol to Mips_got_info::record_local_got_symbol.
147 (Target_mips::Scan::global): Add case for R_MIPS_EH. Don't create a
148 dynamic relocation against a readonly sections, and pass r_type
149 and r_offset to Target_mips::copy_reloc.
150 (Target_mips::Relocate::relocate): Add support for resolving
151 relocations for Mips64.
152 (Target_mips::mips_info): Add case for Mips64 default dynamic
153 linker name.
154 (Target_selector_mips): Correct emulation names.
155
1a08ae21
VR
1562016-03-17 Vladimir Radosavljevic <vladimir.radosavljevic@imgtec.com>
157
158 * mips.cc (class Mips_output_data_la25_stub): Add
159 do_print_to_mapfile function.
160
c2fa9ced
VR
1612016-03-17 Vladimir Radosavljevic <vladimir.radosavljevic@imgtec.com>
162
163 * mips.cc (Mips_classify_reloc::put_r_info): Call 32bit version of
164 elf_r_info.
165
fd91f002
L
1662016-03-09 H.J. Lu <hongjiu.lu@intel.com>
167
168 * testsuite/plugin_layout_with_alignment.cc: Renamed to ..
169 * testsuite/plugin_layout_with_alignment.c: This.
170 * testsuite/Makefile.am (plugin_layout_with_alignment.o): Updated.
171 (plugin_layout_with_alignment): Likewise.
172 * testsuite/Makefile.in: Regenerated.
173
7ff6eb49
CC
1742016-03-08 Cary Coutant <ccoutant@gmail.com>
175
176 PR 19751
177 * testsuite/Makefile.am (retain_symbols_file_test): Remove check
178 for constructor.
179 * testsuite/Makefile.in: Regenerate.
180 * testsuite/dynamic_list.sh: Likewise.
181 * testsuite/retain_symbols_file_test.sh: Likewise.
182
202736be
CC
1832016-03-08 Cary Coutant <ccoutant@gmail.com>
184
185 PR 19751
186 * arm.cc (Reloc_stub::Key::name): Add unused attribute.
187 * dirsearch.cc (Dir_caches::~Dir_caches): Likewise.
188
c32482d6
CC
1892016-03-08 Cary Coutant <ccoutant@gmail.com>
190 Vladimir Radosavljevic <vladimir.radosavljevic@imgtec.com>
191
192 * output.cc (Output_reloc_writer): New type.
193 (Output_data_reloc_base::do_write): Move implementation to template
194 in output.h and replace with invocation of template.
195 * output.h (Output_file): Move to top of file.
196 (Output_reloc::get_symbol_index): Move to public interface.
197 (Output_reloc::get_address): Likewise.
198 (Output_data_reloc_base::do_write_generic): New function template.
199
8d04e81d
CC
2002016-03-04 Cary Coutant <ccoutant@gmail.com>
201
202 PR gold/19019
203 PR gold/19763
204 * symtab.cc: Instantiate Sized_symbol::init_constant and
205 Sized_symbol::init_undefined.
206
dc1c8a16
CC
2072016-03-03 Cary Coutant <ccoutant@gmail.com>
208
209 PR gold/19019
210 * layout.h (Layout::add_target_specific_dynamic_tag): New function.
211 * layout.cc (Layout::add_target_specific_dynamic_tag): New function.
212 * mips.cc (Target_mips::make_symbol): Adjust function signature.
213 * sparc.cc (Target_sparc::Target_sparc): Initialize register_syms_.
214 (Target_sparc::do_is_defined_by_abi): Remove test for
215 STT_SPARC_REGISTER.
216 (Target_sparc::Register_symbol): New struct type.
217 (Target_sparc::register_syms_): New data member.
218 (Target_sparc<64, true>::sparc_info): Set has_make_symbol to true.
219 (Target_sparc::make_symbol): New function.
220 (Target_sparc::do_finalize_sections): Add register symbols and new
221 dynamic table entries.
222 * symtab.h (Sized_symbol::init_undefined): Add value parameter.
223 (Symbol_table::add_target_global_symbol): New function.
224 (Symbol_table::target_symbols_): New data member.
225 * symtab.cc (Sized_symbol::init_undefined): Add value parameter.
226 (Symbol_table::Symbol_table): Initialize target_symbols_.
227 (Symbol_table::add_from_object): Pass additional parameters to
228 Target::make_symbol.
229 (Symbol_table::define_special_symbol): Likewise.
230 (Symbol_table::add_undefined_symbol_from_command_line): Pass 0 for
231 undefined symbol value.
232 (Symbol_table::set_dynsym_indexes): Process target-specific symbols.
233 (Symbol_table::sized_finalize): Likewise.
234 (Symbol_table::sized_write_globals): Likewise.
235 * target.h (Sized_target::make_symbol): Add name, st_type, object,
236 st_shndx, and value parameters.
237
9b738e36 2382016-03-03 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
a06ed37d
RÁE
239
240 * plugin.cc (do_should_include_member): Ignore LDPK_UNDEF and
241 LDPK_WEAKUNDEF symbols.
242
3f1f41f5
L
2432016-03-03 Than McIntosh <thanm@google.com>
244
245 * plugin.cc (Plugin::load): Include hooks for get_input_section_size
246 and get_input_section_alignment in transfer vector.
247 (get_input_section_alignment): New function.
248 (get_input_section_size): New function.
249 * testsuite/Makefile.am: Add plugin_layout_with_alignment.sh test.
250 * testsuite/Makefile.in: [Regenerate.]
251 * testsuite/plugin_section_alignment.cc: New test file.
252 * testsuite/plugin_layout_with_alignment.cc: New test file.
253 * testsuite/plugin_layout_with_alignment.sh: New test file.
254
9b738e36 2552016-03-03 Evgenii Stepanov <eugenis@google.com>
95ecdfbf
ES
256
257 * plugin.h (Pluginobj::get_symbol_resolution_info): Add version
258 parameter.
259 * plugin.cc (get_symbols_v3): New function.
260 (Plugin::load): Add LDPT_GET_SYMBOLS_V3.
261 (Pluginobj::get_symbol_resolution_info): Return LDPS_NO_SYMS when using
262 new version.
263
fc5a9bd5
CC
2642016-02-26 Egor Kochetov <egor.kochetov@intel.com>
265 Cary Coutant <ccoutant@gmail.com>
266
267 PR gold/19735
268 * ehframe.h (Cie::fde_encoding): New method.
269 * ehframe.cc (Eh_frame::read_fde): Discard FDEs for zero-length
270 address ranges.
271
1cd17042
L
2722016-02-15 H.J. Lu <hongjiu.lu@intel.com>
273
274 * testsuite/Makefile.am (x86_64_mov_to_lea5.o): Pass
275 -mrelax-relocations=yes to $(TEST_AS).
276 (x86_64_mov_to_lea6.o): Likewise.
277 (x86_64_overflow_pc32.o): Remove duplicated target.
278 * testsuite/Makefile.in: Regenerated.
279
2b63aca3
MK
2802016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
281
282 * s390.cc (Target_s390::match_view_u): New helper method.
283 (Target_s390::do_is_call_to_non_split): New method.
284 (Target_s390::ss_code_st_r14): New const.
285 (Target_s390::ss_code_l_r14): New const.
286 (Target_s390::ss_code_bras_8): New const.
287 (Target_s390::ss_code_l_basr): New const.
288 (Target_s390::ss_code_a_basr): New const.
289 (Target_s390::ss_code_ear): New const.
290 (Target_s390::ss_code_c): New const.
291 (Target_s390::ss_code_larl): New const.
292 (Target_s390::ss_code_brasl): New const.
293 (Target_s390::ss_code_jg): New const.
294 (Target_s390::ss_code_jgl): New const.
295 (Target_s390::ss_match_mcount): New helper method.
296 (Target_s390::ss_match_l): New helper method.
297 (Target_s390::ss_match_ahi): New helper method.
298 (Target_s390::ss_match_alfi): New helper method.
299 (Target_s390::ss_match_cr): New helper method.
300 (Target_s390::do_calls_non_split): New method.
301 * testsuite/Makefile.am: Added new tests.
302 * testsuite/Makefile.in: Regenerate.
303 * testsuite/split_s390.sh: New test.
304 * testsuite/split_s390_1_a1.s: New test.
305 * testsuite/split_s390_1_a2.s: New test.
306 * testsuite/split_s390_1_n1.s: New test.
307 * testsuite/split_s390_1_n2.s: New test.
308 * testsuite/split_s390_1_z1.s: New test.
309 * testsuite/split_s390_1_z2.s: New test.
310 * testsuite/split_s390_1_z3.s: New test.
311 * testsuite/split_s390_1_z4.s: New test.
312 * testsuite/split_s390_2_ns.s: New test.
313 * testsuite/split_s390_2_s.s: New test.
314 * testsuite/split_s390x_1_a1.s: New test.
315 * testsuite/split_s390x_1_a2.s: New test.
316 * testsuite/split_s390x_1_n1.s: New test.
317 * testsuite/split_s390x_1_n2.s: New test.
318 * testsuite/split_s390x_1_z1.s: New test.
319 * testsuite/split_s390x_1_z2.s: New test.
320 * testsuite/split_s390x_1_z3.s: New test.
321 * testsuite/split_s390x_1_z4.s: New test.
322 * testsuite/split_s390x_2_ns.s: New test.
323 * testsuite/split_s390x_2_s.s: New test.
324
e3dbf582
HS
3252016-02-11 Rahul Chaudhry <rahulchaudhry@google.com>
326
327 * aarch64.cc (Target_aarch64::scan_erratum_843419_span): Remove
328 info message for every erratum 843419 found and fixed.
329
17ecd016
CC
3302016-02-07 Cary Coutant <ccoutant@gmail.com>
331
332 PR gold/18695
333 * x86_64.cc (Target_x86_64::Relocate::relocate): Add additional
334 information to relocation overflow errors.
335
7c8b700c
CC
3362016-02-06 Cary Coutant <ccoutant@gmail.com>
337
17ecd016 338 PR gold/18695
7c8b700c
CC
339 * x86_64.cc (X86_64_relocate_functions::pcrela32_check): Fix x32
340 overflow checking when symbol value + addend < 0.
341
b7a4e9d8
CC
3422016-02-06 Cary Coutant <ccoutant@gmail.com>
343
344 PR gold/19577
345 * reloc.h (Limits): New class.
346 (Bits::has_overflow32): Use min/max values from Limits.
347 (Bits::has_unsigned_overflow32): Likewise.
348 (Bits::has_signed_unsigned_overflow32): Likewise.
349 (Bits::has_overflow): Likewise.
350 (Bits::has_unsigned_overflow): Likewise.
351 (Bits::has_signed_unsigned_overflow64): Likewise.
352
19ef3f4d
CC
3532016-02-06 Cary Coutant <ccoutant@gmail.com>
354
355 PR gold/19567
356 * reloc.h (Relocate_functions::Overflow_check): Add comments.
357 * x86_64.cc (X86_64_relocate_functions): New class.
358 (Target_x86_64::Relocate::relocate): Use the new class.
359 * testsuite/Makefile.am (x86_64_overflow_pc32): Add -Tdata option.
360 (x32_overflow_pc32): New test case.
361 * testsuite/Makefile.in: Regenerate.
362 * testsuite/x32_overflow_pc32.sh: New script.
363 * testsuite/x86_64_overflow_pc32.s: Remove .space directive.
364
72c55146
CC
3652016-02-06 Cary Coutant <ccoutant@gmail.com>
366
367 PR gold/19577
368 * reloc.h (Bits::has_unsigned_overflow32): Fix static_cast.
369 (Bits::has_unsigned_overflow): Remove unnecessary static_cast.
370
2bf48941
CC
3712016-02-06 Cary Coutant <ccoutant@gmail.com>
372
3b8bcce8 373 PR gold/19577
2bf48941
CC
374 * reloc.h (Bits::has_unsigned_overflow32): Fix unsigned/signed
375 comparison.
376 (Bits::has_unsigned_overflow): Likewise.
377
bd8d853f
MK
3782016-02-06 Marcin Kościelnicki <koriakin@0x04.net>
379
380 * i386.cc (Target_i386::is_call_to_non_split): Add view and view_size
381 parameters.
382 * reloc.cc (Sized_relobj_file::split_stack_adjust_reltype): Pass view
383 and view_size to is_call_to_non_split.
384 * target.cc (Target::is_call_to_non_split): Add view and view_size
385 parameters.
386 * target.h (class Target): Likewise.
387
84d543b7
ST
3882016-02-05 Sriraman Tallam <tmsriram@google.com>
389
390 * icf.cc (get_rel_addend): New function.
391 (get_section_contents): Move merge section addend computation to a
392 new function. Ignore negative values for SHT_REL and SHT_RELA addends.
393 Fix bug to not read past the length of the section.
394
c34c98ed
CC
3952016-02-05 Cary Coutant <ccoutant@gmail.com>
396 Andrew Senkevich <andrew.senkevich@intel.com>
397
398 PR gold/18695
399 * x86_64.cc (Target_x86_64::Relocate::relocate): Add overflow
400 checking for R_X86_64_32, R_X86_64_32S, R_X86_64_PC32, and
401 R_X86_64_PLT32.
402 * testsuite/Makefile.am (x86_64_overflow_pc32): New test.
403 * testsuite/x86_64_overflow_pc32.sh: New test script.
404 * testsuite/x86_64_overflow_pc32.s: New source file.
405
4062016-02-05 Cary Coutant <ccoutant@gmail.com>
44803b5d
CC
407
408 PR gold/18695
409 * reloc.h (Relocate_functions::Address): New typedef.
410 (Relocate_functions::Addendtype): New typedef.
411 (Relocate_functions::Overflow_check): New enum type.
412 (Relocate_functions::Reloc_status): New enum type.
413 (Relocate_functions::check_overflow): New function template.
414 (Relocate_functions::rel): Add check parameter; check for overflow.
415 (Relocate_functions::rel_unaligned): Likewise.
416 (Relocate_functions::rela): Likewise.
417 (Relocate_functions::pcrel): Likewise.
418 (Relocate_functions::pcrel_unaligned): Likewise.
419 (Relocate_functions::pcrela): Likewise.
420 (Relocate_functions::rel8): Adjust parameter types.
421 (Relocate_functions::rela8): Likewise.
422 (Relocate_functions::pcrel8): Likewise.
423 (Relocate_functions::pcrela8): Likewise.
424 (Relocate_functions::rel16): Likewise.
425 (Relocate_functions::rela168): Likewise.
426 (Relocate_functions::pcrel16): Likewise.
427 (Relocate_functions::pcrela16): Likewise.
428 (Relocate_functions::rel32): Likewise.
429 (Relocate_functions::rel32_unaligned): Likewise.
430 (Relocate_functions::rela32): Likewise.
431 (Relocate_functions::pcrel32): Likewise.
432 (Relocate_functions::pcrel32_unaligned): Likewise.
433 (Relocate_functions::pcrela32): Likewise.
434 (Relocate_functions::rel8_check): New function.
435 (Relocate_functions::rela8_check): New function.
436 (Relocate_functions::pcrel8_check): New function.
437 (Relocate_functions::pcrela8_check): New function.
438 (Relocate_functions::rel16_check): New function.
439 (Relocate_functions::rela168_check): New function.
440 (Relocate_functions::pcrel16_check): New function.
441 (Relocate_functions::pcrela16_check): New function.
442 (Relocate_functions::rel32_check): New function.
443 (Relocate_functions::rel32_unaligned_check): New function.
444 (Relocate_functions::rela32_check): New function.
445 (Relocate_functions::pcrel32_check): New function.
446 (Relocate_functions::pcrel32_unaligned_check): New function.
447 (Relocate_functions::pcrela32_check): New function.
448 (Bits::has_unsigned_overflow32): New function.
449 (Bits::has_unsigned_overflow): New function.
450 * testsuite/Makefile.am (overflow_unittest): New test.
451 * testsuite/Makefile.in: Regenerate.
452 * testsuite/overflow_unittest.cc: New source file.
453
4f038ee5
AM
4542016-02-04 Alan Modra <amodra@gmail.com>
455
456 * powerpc.cc (relocate): Adjust last patch for big-endian.
457
85fabe71
AM
4582016-02-02 Alan Modra <amodra@gmail.com>
459
460 * powerpc.cc (relocate): Further restrict ELFv2 entry optimization.
461
9a472eda
HS
4622016-01-15 Han Shen <shenhan@google.com>
463
464 PR gold/19472 - need pc-relative stubs.
465
466 * aarch64.cc (Reloc_stub::stub_type_for_reloc): Return PC-relative
467 stub type for DSOs and pie executables.
468
41549dfb
L
4692016-01-12 H.J. Lu <hongjiu.lu@intel.com>
470
471 * i386.cc (Target_i386::Classify_reloc::get_r_addend): Remove
472 'typename'.
473
8a8880cb
CC
4742016-01-12 Cary Coutant <ccoutant@gmail.com>
475
476 * arm.cc (Target_arm::Classify_reloc::get_r_addend): New method.
477 * i386.cc (Target_i386::Classify_reloc::get_r_addend): New method.
478 * mips.cc (Target_arm::Mips_classify_reloc::get_r_addend): (Both
479 specializations) New method.
480
d21f123b
CC
4812016-01-11 Cary Coutant <ccoutant@gmail.com>
482
483 PR gold/19353
484 * aarch64.cc (Target_aarch64::relocate_tls): Don't insist that
485 we have a TLS segment for GD-to-IE optimization.
486 * i386.cc (Target_i386::tls_gd_to_ie): Remove tls_segment parameter.
487 Adjust all calls.
488 (Target_i386::tls_desc_gd_to_ie): Likewise.
489 (Target_i386::relocate_tls): Don't insist that we have a TLS segment
490 for TLSDESC GD-to-IE optimizations.
491 * x86_64.cc (Target_x86_64::tls_gd_to_ie): Remove tls_segment parameter.
492 Adjust all calls.
493 (Target_x86_64::tls_desc_gd_to_ie): Likewise.
494 (Target_x86_64::relocate_tls): Don't insist that we have a TLS segment
495 for TLSDESC GD-to-IE optimizations.
496
4d625b70
CC
4972016-01-11 Cary Coutant <ccoutant@gmail.com>
498
499 Refactor gold to enable support for MIPS-64 relocation format.
500
501 * gc.h (get_embedded_addend_size): Remove sh_type parameter.
502 (gc_process_relocs): Remove sh_type template parameter.
503 Use Classify_reloc to access r_sym, r_type, and r_addend fields.
504 * object.h (Sized_relobj_file::split_stack_adjust): Add target
505 parameter.
506 (Sized_relobj_file::split_stack_adjust_reltype): Likewise.
507 * reloc-types.h (Reloc_types::copy_reloc_addend): (SHT_REL and SHT_RELA
508 specializations) Remove.
509 * reloc.cc (Emit_relocs_strategy): Rename and move to target-reloc.h.
510 (Sized_relobj_file::emit_relocs_scan): Call Target::emit_relocs_scan().
511 (Sized_relobj_file::emit_relocs_scan_reltype): Remove.
512 (Sized_relobj_file::split_stack_adjust): Add target parameter.
513 Adjust all callers.
514 (Sized_relobj_file::split_stack_adjust_reltype): Likewise. Call
515 Target::get_r_sym() to get r_sym field from relocations.
516 (Track_relocs::next_symndx): Call Target::get_r_sym().
517 * target-reloc.h (scan_relocs): Remove sh_type template parameter;
518 add Classify_reloc template parameter. Use for accessing r_sym and
519 r_type.
520 (relocate_section): Likewise.
521 (Default_classify_reloc): New class (renamed and moved from reloc.cc).
522 (Default_scan_relocatable_relocs): Remove sh_type template parameter.
523 (Default_scan_relocatable_relocs::Reltype): New typedef.
524 (Default_scan_relocatable_relocs::reloc_size): New const.
525 (Default_scan_relocatable_relocs::sh_type): New const.
526 (Default_scan_relocatable_relocs::get_r_sym): New method.
527 (Default_scan_relocatable_relocs::get_r_type): New method.
528 (Default_emit_relocs_strategy): New class.
529 (scan_relocatable_relocs): Replace sh_type template parameter with
530 Scan_relocatable_relocs class. Use it to access r_sym and r_type
531 fields.
532 (relocate_relocs): Replace sh_type template parameter with
533 Classify_reloc class. Use it to access r_sym and r_type fields.
534 * target.h (Target::is_call_to_non_split): Replace r_type parameter
535 with pointer to relocation. Adjust all callers.
536 (Target::do_is_call_to_non_split): Likewise.
537 (Target::emit_relocs_scan): New virtual method.
538 (Sized_target::get_r_sym): New virtual method.
539 * target.cc (Target::do_is_call_to_non_split): Replace r_type parameter
540 with pointer to relocation.
541
542 * aarch64.cc (Target_aarch64::emit_relocs_scan): New method.
543 (Target_aarch64::Relocatable_size_for_reloc): Remove.
544 (Target_aarch64::gc_process_relocs): Use Default_classify_reloc.
545 (Target_aarch64::scan_relocs): Likewise.
546 (Target_aarch64::relocate_section): Likewise.
547 (Target_aarch64::Relocatable_size_for_reloc::get_size_for_reloc):
548 Remove.
549 (Target_aarch64::scan_relocatable_relocs): Use Default_classify_reloc.
550 (Target_aarch64::relocate_relocs): Use Default_classify_reloc.
551 * arm.cc (Target_arm::Arm_scan_relocatable_relocs): Remove sh_type
552 template parameter.
553 (Target_arm::emit_relocs_scan): New method.
554 (Target_arm::Relocatable_size_for_reloc): Replace with...
555 (Target_arm::Classify_reloc): ...this.
556 (Target_arm::gc_process_relocs): Use Classify_reloc.
557 (Target_arm::scan_relocs): Likewise.
558 (Target_arm::relocate_section): Likewise.
559 (Target_arm::scan_relocatable_relocs): Likewise.
560 (Target_arm::relocate_relocs): Likewise.
561 * i386.cc (Target_i386::emit_relocs_scan): New method.
562 (Target_i386::Relocatable_size_for_reloc): Replace with...
563 (Target_i386::Classify_reloc): ...this.
564 (Target_i386::gc_process_relocs): Use Classify_reloc.
565 (Target_i386::scan_relocs): Likewise.
566 (Target_i386::relocate_section): Likewise.
567 (Target_i386::scan_relocatable_relocs): Likewise.
568 (Target_i386::relocate_relocs): Likewise.
569 * mips.cc (Mips_scan_relocatable_relocs): Remove sh_type template
570 parameter.
571 (Mips_reloc_types): New class template.
572 (Mips_classify_reloc): New class template.
573 (Target_mips::Reltype): New typedef.
574 (Target_mips::Relatype): New typedef.
575 (Target_mips::emit_relocs_scan): New method.
576 (Target_mips::get_r_sym): New method.
577 (Target_mips::Relocatable_size_for_reloc): Replace with
578 Mips_classify_reloc.
579 (Target_mips::copy_reloc): Use Mips_classify_reloc.
580 (Target_mips::gc_process_relocs): Likewise.
581 (Target_mips::scan_relocs): Likewise.
582 (Target_mips::relocate_section): Likewise.
583 (Target_mips::scan_relocatable_relocs): Likewise.
584 (Target_mips::relocate_relocs): Likewise.
585 (mips_get_size_for_reloc): New function, factored out from
586 Relocatable_size_for_reloc::get_size_for_reloc.
587 (Target_mips::Scan::local): Use Mips_classify_reloc.
588 (Target_mips::Scan::global): Likewise.
589 (Target_mips::Relocate::relocate): Likewise.
590 * powerpc.cc (Target_powerpc::emit_relocs_scan): New method.
591 (Target_powerpc::Relocatable_size_for_reloc): Remove.
592 (Target_powerpc::gc_process_relocs): Use Default_classify_reloc.
593 (Target_powerpc::scan_relocs): Likewise.
594 (Target_powerpc::relocate_section): Likewise.
595 (Powerpc_scan_relocatable_reloc): Convert to class template.
596 (Powerpc_scan_relocatable_reloc::Reltype): New typedef.
597 (Powerpc_scan_relocatable_reloc::reloc_size): New const.
598 (Powerpc_scan_relocatable_reloc::sh_type): New const.
599 (Powerpc_scan_relocatable_reloc::get_r_sym): New method.
600 (Powerpc_scan_relocatable_reloc::get_r_type): New method.
601 (Target_powerpc::scan_relocatable_relocs): Use
602 Powerpc_scan_relocatable_reloc.
603 (Target_powerpc::relocate_relocs): Use Default_classify_reloc.
604 * s390.cc (Target_s390::emit_relocs_scan): New method.
605 (Target_s390::Relocatable_size_for_reloc): Remove.
606 (Target_s390::gc_process_relocs): Use Default_classify_reloc.
607 (Target_s390::scan_relocs): Likewise.
608 (Target_s390::relocate_section): Likewise.
609 (Target_s390::Relocatable_size_for_reloc::get_size_for_reloc):
610 Remove.
611 (Target_s390::scan_relocatable_relocs): Use Default_classify_reloc.
612 (Target_s390::relocate_relocs): Use Default_classify_reloc.
613 * sparc.cc (Target_sparc::emit_relocs_scan): New method.
614 (Target_sparc::Relocatable_size_for_reloc): Remove.
615 (Target_sparc::gc_process_relocs): Use Default_classify_reloc.
616 (Target_sparc::scan_relocs): Likewise.
617 (Target_sparc::relocate_section): Likewise.
618 (Target_sparc::Relocatable_size_for_reloc::get_size_for_reloc):
619 Remove.
620 (Target_sparc::scan_relocatable_relocs): Use Default_classify_reloc.
621 (Target_sparc::relocate_relocs): Use Default_classify_reloc.
622 * tilegx.cc (Target_tilegx::emit_relocs_scan): New method.
623 (Target_tilegx::Relocatable_size_for_reloc): Remove.
624 (Target_tilegx::gc_process_relocs): Use Default_classify_reloc.
625 (Target_tilegx::scan_relocs): Likewise.
626 (Target_tilegx::relocate_section): Likewise.
627 (Target_tilegx::Relocatable_size_for_reloc::get_size_for_reloc):
628 Remove.
629 (Target_tilegx::scan_relocatable_relocs): Use Default_classify_reloc.
630 (Target_tilegx::relocate_relocs): Use Default_classify_reloc.
631 * x86_64.cc (Target_x86_64::emit_relocs_scan): New method.
632 (Target_x86_64::Relocatable_size_for_reloc): Remove.
633 (Target_x86_64::gc_process_relocs): Use Default_classify_reloc.
634 (Target_x86_64::scan_relocs): Likewise.
635 (Target_x86_64::relocate_section): Likewise.
636 (Target_x86_64::Relocatable_size_for_reloc::get_size_for_reloc):
637 Remove.
638 (Target_x86_64::scan_relocatable_relocs): Use Default_classify_reloc.
639 (Target_x86_64::relocate_relocs): Use Default_classify_reloc.
640
641 * testsuite/testfile.cc (Target_test::emit_relocs_scan): New method.
642
6f2750fe
AM
6432016-01-01 Alan Modra <amodra@gmail.com>
644
645 Update year range in copyright notice of all files.
646
3499769a
AM
647For older changes see ChangeLog-0815
648\f
649Copyright (C) 2016 Free Software Foundation, Inc.
650
651Copying and distribution of this file, with or without modification,
652are permitted in any medium without royalty provided the copyright
653notice and this notice are preserved.
654
655Local Variables:
656mode: change-log
657left-margin: 8
658fill-column: 74
659version-control: never
660End: