PR20932, Internal error during record link assignment
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
8e2a4f11
AM
12016-12-08 Alan Modra <amodra@gmail.com>
2
3 PR ld/20932
4 * elflink.c (bfd_elf_record_link_assignment): Handle warning symbols.
5
c2596ca5
NC
62016-12-07 Nick Clifton <nickc@redhat.com>
7
8 PR ld/20932
9 * elflink.c (bfd_elf_record_link_assignment): Replace call to
10 abort with an error message and error return value.
11
92744f05
NC
122016-12-06 Nick Clifton <nickc@redhat.com>
13
4f3ca05b
NC
14 PR binutils/20931
15 * elf.c (copy_special_section_fields): Check for an invalid
16 sh_link field before attempting to follow it.
17
92744f05
NC
18 PR binutils/20929
19 * aoutx.h (squirt_out_relocs): Check for relocs without an
20 associated symbol.
21
39eeab25
AM
222016-12-06 Alan Modra <amodra@gmail.com>
23
24 * elf64-ppc.c (ok_lo_toc_insn): Add r_type param. Recognize
25 lq,lfq,lxv,lxsd,lxssp,lfdp,stq,stfq,stxv,stxsd,stxssp,stfdp.
26 Don't match lmd and stmd.
27
597e138c
AM
282016-12-05 Alyssa Milburn <amilburn@zall.org>
29
30 * elfxx-sparc.c: Do not stop processing relocations after
31 partially relaxing a call with WDISP30.
32
39d4daf6
NC
332016-12-05 Nick Clifton <nickc@redhat.com>
34
fa6631b4
NC
35 PR binutils/20905
36 * peicode.h (pe_ILF_object_p): Use strnlen to avoid running over
37 the end of the string buffer.
38
52c4f3bd
NC
39 PR binutils/20907
40 * peicode.h (pe_ILF_build_a_bfd): Replace abort with error return.
41
e2996cc3
NC
42 PR binutils/20921
43 * aoutx.h (squirt_out_relocs): Check for and report any relocs
44 that could not be recognised.
45
a55c9876
NC
46 PR binutils/20922
47 * elf.c (find_link): Check for null headers before attempting to
48 match them.
49
39d4daf6
NC
50 PR ld/20925
51 * aoutx.h (aout_link_add_symbols): Replace BFD_ASSERT with return
52 FALSE.
53
daae68f4
NC
54 PR ld/20924
55 (aout_link_add_symbols): Fix off by one error checking for
56 overflow of string offset.
57
8c5b4e52
AM
582016-12-03 Alan Modra <amodra@gmail.com>
59
60 * elf64-ppc.c (struct ppc_link_hash_entry): Delete "was_undefined".
61 (struct ppc_link_hash_table): Delete "twiddled_syms". Add
62 "need_func_desc_adj".
63 (lookup_fdh): Link direct fdh sym via oh field and set flags.
64 (make_fdh): Make strong and weak undefined function descriptor
65 symbols.
66 (ppc64_elf_merge_symbol): New function.
67 (elf_backend_merge_symbol): Define.
68 (ppc64_elf_archive_symbol_lookup): Don't test undefweak for fake
69 function descriptors.
70 (add_symbol_adjust): Don't twiddle symbols to undefweak.
71 Propagate more ref flags to function descriptor symbol. Make
72 some function descriptor symbols dynamic.
73 (ppc64_elf_before_check_relocs): Only run add_symbol_adjust for
74 ELFv1. Set need_func_desc_adj. Don't fix undefs list.
75 (ppc64_elf_check_relocs): Set non_ir_ref for descriptors.
76 Don't call lookup_fdh here.
77 (ppc64_elf_gc_sections): New function.
78 (bfd_elf64_bfd_gc_sections): Define.
79 (ppc64_elf_gc_mark_hook): Mark descriptor.
80 (func_desc_adjust): Don't make fake function descriptor syms strong
81 here. Exit earlier on non-dotsyms. Take note of elf.dynamic
82 flag when deciding whether a dynamic function descriptor might
83 be needed. Transfer elf.dynamic and set elf.needs_plt. Move
84 plt regardless of visibility. Make descriptor dynamic if
85 entry sym is dynamic, not for other cases.
86 (ppc64_elf_func_desc_adjust): Don't run func_desc_adjust if
87 already done.
88 (ppc64_elf_edit_opd): Use oh field rather than lookup_fdh.
89 (ppc64_elf_size_stubs): Likewise.
90 (ppc_build_one_stub): Don't clear was_undefined. Only set sym
91 undefweak if stub symbol is defined.
92 (undo_symbol_twiddle, ppc64_elf_restore_symbols): Delete.
93 * elf64-ppc.h (ppc64_elf_restore_symbols): Don't declare.
94
b8ac2841
AM
952016-12-03 Alan Modra <amodra@gmail.com>
96
97 * elf64-ppc.c (ppc64_elf_hide_symbol): Access hash table as
98 elf_link_hash_table rather than ppc_link_hash_table.
99
35dc6e06
AM
1002016-12-03 Alan Modra <amodra@gmail.com>
101
102 * elf64-ppc.c (add_symbol_adjust): Delete dead code.
103
8400d40d
AM
1042016-12-03 Alan Modra <amodra@gmail.com>
105
106 * elf64-ppc.c (add_symbol_adjust): Correct order of tests for
107 warning and indirect symbols.
108
474436e6
AM
1092016-12-03 Alan Modra <amodra@gmail.com>
110
111 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy dynamic
112 flags when direct symbol is versioned_hidden.
113
531336e3
NC
1142016-12-02 Nick Clifton <nickc@redhat.com>
115
e9a1e93e 116 PR ld/20908
d7f399a8
NC
117 * elflink.c (bfd_elf_final_link): Check for ELF flavour binaries
118 when following indirect links.
119
531336e3
NC
120 PR ld/20909
121 * aoutx.h (aout_link_add_symbols): Fix off-by-one error in check
122 for an illegal string offset.
123
08698b7b
GB
1242016-12-02 Gary Benson <gbenson@redhat.com>
125
126 * elf.c (_bfd_elf_make_section_from_shdr): Pass offset to
127 elf_parse_notes.
128
d5451cd4
JC
1292016-12-02 Josh Conner <joshconner@google.com>
130
7ed7e438 131 * config.bfd: Add support for fuchsia (OS).
d5451cd4 132
5cd1d8bc
YN
1332016-12-01 Yury Norov <ynorov@caviumnetworks.com>
134
135 PR ld/20868
136 * elfnn-aarch64.c (elfNN_aarch64_tls_relax): Use 32-bit accesses
137 to the GOT when operating in 32-bit mode.
138
40a0bfdd
MJ
1392016-12-01 Ma Jiang <ma.jiang@zte.com.cn>
140
141 PR ld/16720
142 * elfxx-mips.c (mips_elf_calculate_relocation): Remove overflow
143 test for HI16 relocs.
144
50455f1a
NC
1452016-12-01 Nick Clifton <nickc@redhat.com>
146
147 PR binutils/20891
148 * aoutx.h (find_nearest_line): Handle the case where the main file
149 name and the directory name are both empty.
150
e82ab856
NC
151 PR binutils/20892
152 * aoutx.h (find_nearest_line): Handle the case where the function
153 name is empty.
154
e9a38e0f
AM
1552016-11-30 Alan Modra <amodra@gmail.com>
156
157 * elf.c (get_program_header_size): Revert accidental change.
158
ea3d7d1c
AM
1592016-11-30 Alan Modra <amodra@gmail.com>
160
161 PR ld/20886
162 * elf64-ppc.c (ppc64_elf_size_stubs): Make rawsize max size seen
163 on any pass past STUB_SHRINK_ITER.
164
4deb8f71
L
1652016-11-28 H.J. Lu <hongjiu.lu@intel.com>
166
167 * elflink.c (_bfd_elf_fix_symbol_flags): Hide hidden versioned
168 symbol in executable.
169 (elf_link_output_extsym): Don't change bind from global to
170 local when linking executable.
171
cd584857
NC
1722016-11-28 Nick Clifton <nickc@redhat.com>
173
174 PR ld/20815
175 * elf.c (phdr_sorter): Delete.
176 (assign_file_positions_except_relocs): Do not sort program
177 headers.
178
ec8f7688
JT
1792016-11-25 Jon Turney <jon.turney@dronecode.org.uk>
180
181 PR ld/20193
182 * peXXigen.c (rsrc_process_section): Do not shrink the merged
183 .rsrc section.
184
1dcb9720
JW
1852016-11-24 Jiong Wang <jiong.wang@arm.com>
186
187 PR target/20737
188 * elf32-arm.c (elf32_arm_final_link_relocate): Bind defined symbol
189 locally in PIE.
190
0b14696a
KLC
1912016-11-24 Kuan-Lin Chen <kuanlinchentw@gmail.com>
192
193 * bfd/elfxx-riscv.c (howto_table): Fix bitsize of R_RISCV_ADD8.
194
1a9ccd70
NC
1952016-11-23 Nick Clifton <nickc@redhat.com>
196
197 PR ld/20815
198 * elf.c (elf_modify_segment_map): Allow empty LOAD segments if
199 they contain the program headers.
200 (_bfd_elf_map_sections_to_segments): If the linker created the
201 PHDR segment then always attempt to include it in a LOAD segment.
202 (assign_file_positions_for_non_load_sections): Allow LOAD segments
203 to overlap PHDR segments.
204 (phdr_sorter): New function. Sorts program headers.
205 (assign_file_positions_except_relocs): Sort the program headers
206 before writing them out. Issue an error if the PHDR segment is
207 not covered by a LOAD segment, unless the backend allows it.
208 * elf-bfd.h (struct elf_backend_data): Add
209 elf_backend_allow_non_load_phdr.
210 * elfxx-target.h (elf_backend_allow_non_load_phdr): Provide
211 default definition that returns FALSE.
212 (elfNN_bed): Initialise the elf_backend_allow_non_load_phdr
213 field.
214 * elf64-hppa.c (elf64_hppa_allow_non_load_phdr): New function.
215 Returns TRUE.
216 (elf_backend_allow_non_load_phdr): Define.
217 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Do not
218 place the interpreter string into the .interp section if the
219 nointerp flag is set in the link info structure.
220 * elf32-arc.c (elf_arc_size_dynamic_sections): Likewise.
221 * elf32-score7.c (score_elf_final_link_relocate): Allow for the
222 _gp symbol not being part of the output.
223
64f52338
AM
2242016-11-23 Alan Modra <amodra@gmail.com>
225
226 * elf-bfd.h (struct elf_backend_data): Add dtrel_excludes_plt.
227 * elfxx-target.h (elf_backend_dtrel_excludes_plt): Define.
228 (elfNN_bed): Init new field.
229 * elflink.c (bfd_elf_final_link): Add and use htab variable. Handle
230 dtrel_excludes_plt.
231 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Delete
232 DT_RELASZ code.
233 (elf_backend_dtrel_excludes_plt): Define.
234 * elf32-arc.c (elf_arc_finish_dynamic_sections): Delete DT_RELASZ code.
235 (elf_backend_dtrel_excludes_plt): Define.
236 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Delete code
237 subtracting off plt relocs from DT_RELSZ, DT_RELASZ.
238 (elf_backend_dtrel_excludes_plt): Define.
239 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Delete
240 DT_RELASZ code.
241 (elf_backend_dtrel_excludes_plt): Define.
242 * elf32-cris.c (elf_cris_finish_dynamic_sections): Delete DT_RELASZ
243 code.
244 (elf_backend_dtrel_excludes_plt): Define.
245 * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Delete DT_RELASZ
246 and DT_RELA code.
247 (elf_backend_dtrel_excludes_plt): Define.
248 * elf32-i386.c (elf_i386_finish_dynamic_sections): Delete DT_RELSZ
249 and DT_REL code.
250 (elf_backend_dtrel_excludes_plt): Define.
251 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Delete DT_RELASZ
252 code.
253 (elf_backend_dtrel_excludes_plt): Define.
254 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Delete DT_RELASZ
255 code.
256 (elf_backend_dtrel_excludes_plt): Define.
257 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Delete DT_RELASZ
258 code.
259 (elf_backend_dtrel_excludes_plt): Define.
260 * elf32-metag.c (elf_metag_finish_dynamic_sections): Delete DT_RELASZ
261 and DT_RELA code.
262 (elf_backend_dtrel_excludes_plt): Define.
263 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Delete
264 DT_RELASZ and DT_RELA code. Use ELF htab shortcuts for other
265 dynamic sections.
266 (elf_backend_dtrel_excludes_plt): Define.
267 * elf32-mips.c (elf_backend_dtrel_excludes_plt): Define.
268 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Delete DT_RELASZ
269 code.
270 (elf_backend_dtrel_excludes_plt): Define.
271 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Delete DT_RELASZ
272 code.
273 (elf_backend_dtrel_excludes_plt): Define.
274 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Delete DT_RELASZ
275 code.
276 (elf_backend_dtrel_excludes_plt): Define.
277 * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Delete DT_RELASZ
278 code.
279 (elf_backend_dtrel_excludes_plt): Define.
280 * elf32-sh.c (sh_elf_finish_dynamic_sections): Delete DT_RELASZ
281 code.
282 (elf_backend_dtrel_excludes_plt): Define.
283 * elf32-sparc.c (elf_backend_dtrel_excludes_plt): Define.
284 * elf32-vax.c (elf_vax_finish_dynamic_sections): Delete DT_RELASZ
285 code.
286 (elf_backend_dtrel_excludes_plt): Define.
287 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Delete DT_RELASZ
288 code.
289 (elf_backend_dtrel_excludes_plt): Define.
290 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Delete DT_RELASZ
291 code.
292 (elf_backend_dtrel_excludes_plt): Define.
293 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Delete DT_RELASZ
294 and DT_RELA code.
295 (elf_backend_dtrel_excludes_plt): Define.
296 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Delete DT_RELASZ
297 code.
298 (elf_backend_dtrel_excludes_plt): Define.
299 * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Delete DT_RELASZ
300 code.
301 (elf_backend_dtrel_excludes_plt): Define.
302 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Delete
303 DT_RELASZ code.
304 (elf_backend_dtrel_excludes_plt): Define.
305 * elfnn-ia64.c (elfNN_ia64_finish_dynamic_sections): Delete DT_RELASZ
306 code.
307 (elf_backend_dtrel_excludes_plt): Define.
308 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Delete
309 DT_RELASZ code.
310 * elfxx-sparc.c (sparc_finish_dyn): Delete DT_RELASZ code.
311
ce558b89
AM
3122016-11-23 Alan Modra <amodra@gmail.com>
313
314 * elf-m10300.c (mn10300_elf_check_relocs): Use elf htab shortcuts
315 to dynamic sections.
316 (mn10300_elf_final_link_relocate): Likewise.
317 (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
318 (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
319 (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
320 (_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
321 * elf32-bfin.c (bfin_check_relocs): Likewise.
322 (bfin_relocate_section): Likewise.
323 (bfin_gc_sweep_hook): Likewise.
324 (struct bfinfdpic_elf_link_hash_table): Delete sgot, sgotrel, splt
325 and spltrel.
326 (bfinfdpic_got_section, bfinfdpic_gotrel_section,
327 bfinfdpic_plt_section, bfinfdpic_pltrel_section): Define using elf
328 shortcut sections.
329 (_bfin_create_got_section): Use elf htab shortcuts to dyn sections.
330 Delete dead code.
331 (bfin_finish_dynamic_symbol): Use elf htab shortcuts to dyn sections.
332 (bfin_size_dynamic_sections): Likewise.
333 * elf32-cr16.c (_bfd_cr16_elf_create_got_section): Likewise.
334 (cr16_elf_check_relocs): Likewise.
335 (cr16_elf_final_link_relocate): Likewise.
336 (_bfd_cr16_elf_create_dynamic_sections): Likewise.
337 (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
338 (_bfd_cr16_elf_size_dynamic_sections): Likewise.
339 (_bfd_cr16_elf_finish_dynamic_symbol): Likewise.
340 (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
341 * elf32-cris.c (cris_elf_relocate_section): Likewise.
342 (elf_cris_finish_dynamic_symbol): Likewise.
343 (elf_cris_finish_dynamic_sections): Likewise.
344 (cris_elf_gc_sweep_hook): Likewise.
345 (elf_cris_adjust_gotplt_to_got): Likewise.
346 (elf_cris_adjust_dynamic_symbol): Likewise.
347 (cris_elf_check_relocs): Likewise. Delete dead code.
348 (elf_cris_size_dynamic_sections): Use elf htab shortcuts to dynamic
349 sections.
350 (elf_cris_discard_excess_program_dynamics): Likewise.
351 * elf32-frv.c (struct frvfdpic_elf_link_hash_table): Delete sgot,
352 sgotrel, splt and spltrel.
353 (frvfdpic_got_section, frvfdpic_gotrel_section,
354 frvfdpic_plt_section, frvfdpic_pltrel_section): Define using elf
355 shortcut sections.
356 (_frv_create_got_section): Likewise.
357 * elf32-hppa.c (struct elf32_hppa_link_hash_table): Delete sgot,
358 srelgot, splt and srelplt.
359 (hppa_build_one_stub): Use elf htab shortcuts to dynamic sections.
360 (elf32_hppa_create_dynamic_sections): Likewise.
361 (elf32_hppa_check_relocs): Likewise.
362 (allocate_plt_static): Likewise.
363 (allocate_dynrelocs): Likewise.
364 (elf32_hppa_size_dynamic_sections): Likewise.
365 (elf32_hppa_relocate_section): Likewise.
366 (elf32_hppa_finish_dynamic_symbol): Likewise.
367 (elf32_hppa_finish_dynamic_sections): Likewise.
368 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
369 * elf32-lm32.c (struct elf_lm32_link_hash_table): Delete sgot,
370 sgotplt, srelgot, splt and srelplt.
371 (lm32fdpic_got_section, lm32fdpic_gotrel_section): Define using elf
372 shortcut sections.
373 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
374 (lm32_elf_relocate_section): Use elf htab shortcuts to dyn sections.
375 (lm32_elf_check_relocs): Likewise.
376 (lm32_elf_finish_dynamic_sections): Likewise.
377 (lm32_elf_finish_dynamic_symbol): Likewise.
378 (allocate_dynrelocs): Likewise.
379 (lm32_elf_size_dynamic_sections): Likewise.
380 (lm32_elf_create_dynamic_sections): Likewise.
381 * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
382 (m32c_elf_check_relocs): Likewise.
383 (m32c_elf_finish_dynamic_sections): Likewise.
384 (m32c_elf_always_size_sections): Likewise.
385 * elf32-m32r.c (struct elf_m32r_link_hash_table): Delete sgot,
386 sgotplt, srelgot, splt and srelplt.
387 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
388 (m32r_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
389 sections.
390 (allocate_dynrelocs): Likewise.
391 (m32r_elf_size_dynamic_sections): Likewise.
392 (m32r_elf_relocate_section): Likewise.
393 (m32r_elf_finish_dynamic_symbol): Likewise.
394 (m32r_elf_finish_dynamic_sections): Likewise.
395 (m32r_elf_check_relocs): Likewise.
396 * elf32-m68k.c (elf_m68k_partition_multi_got): Likewise.
397 (elf_m68k_check_relocs): Likewise.
398 (elf_m68k_adjust_dynamic_symbol): Likewise.
399 (elf_m68k_size_dynamic_sections): Likewise.
400 (elf_m68k_relocate_section): Likewise.
401 (elf_m68k_finish_dynamic_symbol): Likewise.
402 (elf_m68k_finish_dynamic_sections): Likewise.
403 * elf32-metag.c (struct elf_metag_link_hash_table): Delete sgot,
404 sgotplt, srelgot, splt and srelplt.
405 (elf_metag_relocate_section): Use elf htab shortcuts to dynamic
406 sections.
407 (elf_metag_create_dynamic_sections): Likewise. Allocate got header
408 here in .got.
409 (elf_metag_check_relocs): Use elf htab shortcuts to dynamic sections.
410 (allocate_dynrelocs): Likewise.
411 (elf_metag_size_dynamic_sections): Likewise.
412 (elf_metag_finish_dynamic_symbol): Likewise.
413 (elf_metag_finish_dynamic_sections): Likewise.
414 (elf_metag_size_stubs): Likewise.
415 (elf_backend_got_header_size): Don't define.
416 (elf_backend_want_got_plt): Define.
417 * elf32-microblaze.c (struct elf32_mb_link_hash_table): Delete sgot,
418 sgotplt, srelgot, splt and srelpl.
419 (microblaze_elf_relocate_section): Use elf htab shortcuts to dynamic
420 sections.
421 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
422 (microblaze_elf_check_relocs): Use elf htab shortcuts to dyn sections.
423 (microblaze_elf_create_dynamic_sections): Likewise.
424 (allocate_dynrelocs): Likewise.
425 (microblaze_elf_size_dynamic_sections): Likewise.
426 (microblaze_elf_finish_dynamic_symbol): Likewise.
427 (microblaze_elf_finish_dynamic_sections): Likewise.
428 * elf32-nds32.c (nds32_elf_link_hash_table_create): Don't NULL
429 already zero fields.
430 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
431 (nds32_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
432 sections.
433 (allocate_dynrelocs): Likewise.
434 (nds32_elf_size_dynamic_sections): Likewise.
435 (nds32_elf_relocate_section): Likewise.
436 (nds32_elf_finish_dynamic_symbol): Likewise.
437 (nds32_elf_finish_dynamic_sections): Likewise.
438 (nds32_elf_check_relocs): Likewise.
439 (calculate_plt_memory_address): Likewise.
440 (calculate_got_memory_address): Likewise.
441 * elf32-nds32.h (struct elf_nds32_link_hash_table): Delete sgot,
442 sgotplt, srelgot, splt and srelplt.
443 * elf32-or1k.c (struct elf_or1k_link_hash_table): Likewise.
444 (or1k_elf_relocate_section): Use elf htab shortcuts to dyn sections.
445 (create_got_section): Delete. Use _bfd_elf_create_got_section instead.
446 (or1k_elf_check_relocs): Use elf htab shortcuts to dynamic sections.
447 (or1k_elf_finish_dynamic_sections): Likewise.
448 (or1k_elf_finish_dynamic_symbol): Likewise.
449 (allocate_dynrelocs): Likewise.
450 (or1k_elf_size_dynamic_sections): Likewise.
451 (or1k_elf_create_dynamic_sections): Likewise.
452 * elf32-ppc.c (struct ppc_elf_link_hash_table): Delete got, relgot,
453 plt, relplt, iplt, reliplt and sgotplt.
454 (ppc_elf_create_got): Use elf htab shortcuts to dynamic sections.
455 (ppc_elf_create_glink): Likewise.
456 (ppc_elf_create_dynamic_sections): Likewise.
457 (ppc_elf_check_relocs): Likewise.
458 (ppc_elf_select_plt_layout): Likewise.
459 (ppc_elf_tls_setup): Likewise.
460 (allocate_got): Likewise.
461 (allocate_dynrelocs): Likewise.
462 (ppc_elf_size_dynamic_sections): Likewise.
463 (ppc_elf_relax_section): Likewise.
464 (ppc_elf_relocate_section): Likewise.
465 (ppc_elf_finish_dynamic_symbol): Likewise.
466 (ppc_elf_reloc_type_class): Likewise.
467 (ppc_elf_finish_dynamic_sections): Likewise.
468 * elf32-rl78.c (rl78_elf_relocate_section): Likewise.
469 (rl78_elf_check_relocs): Likewise.
470 (rl78_elf_finish_dynamic_sections): Likewise.
471 (rl78_elf_always_size_sections): Likewise.
472 * elf32-s390.c (create_got_section): Delete.
473 (elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
474 (elf_s390_check_relocs): Likewise.
475 * elf32-score.c (score_elf_create_got_section): Set elf shortcuts.
476 (s3_bfd_score_elf_finish_dynamic_sections): Use elf shortcuts.
477 * elf32-score7.c (score_elf_create_got_section): As above.
478 (s7_bfd_score_elf_finish_dynamic_sections): As above.
479 * elf32-sh.c (struct elf_sh_link_hash_table): Delete sgot,
480 sgotplt, srelgot, splt and srelplt.
481 (create_got_section): Don't set them.
482 (sh_elf_create_dynamic_sections): Use elf htab shortcuts to dynamic
483 sections.
484 (allocate_dynrelocs): Likewise.
485 (sh_elf_size_dynamic_sections): Likewise.
486 (sh_elf_add_rofixup): Likewise.
487 (sh_elf_relocate_section): Likewise.
488 (sh_elf_check_relocs): Likewise.
489 (sh_elf_finish_dynamic_symbol): Likewise.
490 (sh_elf_finish_dynamic_sections): Likewise.
491 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
492 * elf32-tilepro.c (tilepro_elf_create_got_section): Likewise.
493 * elf32-vax.c (elf_vax_check_relocs): Likewise.
494 (elf_vax_adjust_dynamic_symbol): Likewise.
495 (elf_vax_always_size_sections): Likewise.
496 (elf_vax_instantiate_got_entries): Likewise.
497 (elf_vax_relocate_section): Likewise.
498 (elf_vax_finish_dynamic_symbol): Likewise.
499 (elf_vax_finish_dynamic_sections): Likewise.
500 * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
501 (xstormy16_elf_always_size_sections): Likewise.
502 (xstormy16_elf_relocate_section): Likewise.
503 (xstormy16_elf_finish_dynamic_sections): Likewise.
504 * elf32-xtensa.c (struct elf_xtensa_link_hash_table): Delete sgot,
505 sgotplt, srelgot, splt and srelplt.
506 (elf_xtensa_create_dynamic_sections): Use elf htab shortcuts to
507 dynamic sections.
508 (elf_xtensa_allocate_dynrelocs): Likewise.
509 (elf_xtensa_allocate_local_got_size): Likewise.
510 (elf_xtensa_size_dynamic_sections): Likewise.
511 (elf_xtensa_relocate_section): Likewise.
512 (elf_xtensa_finish_dynamic_sections): Likewise.
513 (shrink_dynamic_reloc_sections): Likewise.
514 (elf_xtensa_get_plt_section): Likewise.
515 (elf_xtensa_get_gotplt_section): Likewise.
516 (xtensa_callback_required_dependence): Likewise.
517 * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Set elf htab
518 shortcuts to dynamic sections.
519 (elf64_alpha_adjust_dynamic_symbol): Use elf htab shortcuts to
520 dynamic sections.
521 (elf64_alpha_size_plt_section): Likewise.
522 (elf64_alpha_size_rela_got_1): Likewise.
523 (elf64_alpha_size_rela_got_section): Likewise.
524 (elf64_alpha_relocate_section): Likewise.
525 (elf64_alpha_finish_dynamic_symbol): Likewise.
526 (elf64_alpha_finish_dynamic_sections): Likewise.
527 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
528 * elf64-s390.c (create_got_section): Delete.
529 (elf_s390_create_dynamic_sections): Use _bfd_elf_create_got_section.
530 (elf_s390_check_relocs): Likewise.
531 * elf64-sh64.c (sh_elf64_relocate_section): Use elf htab shortcuts to
532 dynamic sections.
533 (sh_elf64_check_relocs): Likewise.
534 (sh64_elf64_adjust_dynamic_symbol): Likewise.
535 (sh64_elf64_size_dynamic_sections): Likewise.
536 (sh64_elf64_finish_dynamic_symbol): Likewise.
537 (sh64_elf64_finish_dynamic_sections): Likewise.
538 * elflink.c (_bfd_elf_create_got_section): Likewise.
539 * elfnn-aarch64.c (aarch64_elf_create_got_section): Likewise.
540 * elfnn-ia64.c (elfNN_ia64_size_dynamic_sections): Likewise.
541 (elfNN_ia64_finish_dynamic_sections): Likewise.
542 * elfnn-riscv.c (riscv_elf_create_got_section): Likewise.
543 * elfxx-mips.c (struct mips_elf_link_hash_table): Delete srellt,
544 sgotplt, splt and sgot.
545 (mips_elf_initialize_tls_slots): Use elf htab shortcuts to dynamic
546 sections.
547 (mips_elf_gotplt_index): Likewise.
548 (mips_elf_primary_global_got_index): Likewise.
549 (mips_elf_global_got_index): Likewise.
550 (mips_elf_got_offset_from_index): Likewise.
551 (mips_elf_create_local_got_entry): Likewise.
552 (mips_elf_create_got_section): Likewise.
553 (mips_elf_calculate_relocation): Likewise.
554 (_bfd_mips_elf_create_dynamic_sections): Likewise.
555 (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
556 (mips_elf_lay_out_got): Likewise.
557 (mips_elf_set_plt_sym_value): Likewise.
558 (_bfd_mips_elf_size_dynamic_sections): Likewise.
559 (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
560 (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
561 (mips_finish_exec_plt): Likewise.
562 (mips_vxworks_finish_exec_plt): Likewise.
563 (mips_vxworks_finish_shared_plt): Likewise.
564 (_bfd_mips_elf_finish_dynamic_sections): Likewise.
565 * elfxx-sparc.c (sparc_finish_dyn): Likewise.
566 * elfxx-tilegx.c (tilegx_elf_create_got_section): Likewise.
567
3ae0486c
AM
5682016-11-23 Alan Modra <amodra@gmail.com>
569
570 * po/BLD-POTFILES.in: Regenerate.
571 * po/SRC-POTFILES.in: Regenerate.
572
96fe4562
AM
5732016-11-22 Ambrogino Modigliani <ambrogino.modigliani@gmail.com>
574
575 * warning.m4: Fix spelling in comments.
576 * configure.ac: Fix spelling in comments.
577 * configure: Regenerate.
578
08dc996f
AM
5792016-11-22 Alan Modra <amodra@gmail.com>
580
581 PR 20744
582 * elf32-ppc.h (struct ppc_elf_params): Add vle_reloc_fixup field.
583 * elf32-ppc.c: Include opcode/ppc.h.
584 (ppc_elf_howto_raw): Correct dst_mask for R_PPC_VLE_LO16A,
585 R_PPC_VLE_LO16D, R_PPC_VLE_HI16A, R_PPC_VLE_HI16D, R_PPC_VLE_HA16A,
586 R_PPC_VLE_HA16D, R_PPC_VLE_SDAREL_LO16A, R_PPC_VLE_SDAREL_LO16D,
587 R_PPC_VLE_SDAREL_HI16A, R_PPC_VLE_SDAREL_HI16D,
588 R_PPC_VLE_SDAREL_HA16A, and R_PPC_VLE_SDAREL_HA16D relocs.
589 (ppc_elf_link_hash_table_create): Update default_params init.
590 (ppc_elf_vle_split16): Correct shift and mask. Add params.
591 Report or fix insn/reloc mismatches.
592 (ppc_elf_relocate_section): Pass input_section, offset and fixup
593 to ppc_elf_vle_split16.
594
95f0d0d2
AM
5952016-11-22 Alan Modra <amodra@gmail.com>
596
597 * elf32-ppc.c (ppc64_elf_relocate_section): Calculate d_offset for
598 input_bfd. Replace occurrences of output_bfd as bfd_get_32 and
599 bfd_put_32 param with input_bfd.
600 * elf32-ppc.c (ppc_elf_relocate_section): Likewise. Also
601 ppc_elf_vle_split16 param.
602 (ppc_elf_vle_split16): Rename output_bfd param to input_bfd.
603
b6ddcd85
MR
6042016-11-21 Maciej W. Rozycki <macro@imgtec.com>
605
606 * dwarf2.c (build_line_info_table): Rename `index' local
607 variable to `line_index'.
608 (build_lookup_funcinfo_table): Rename `index' local variable to
609 `func_index'.
610
0fc9967d
JM
6112016-11-19 Jose E. Marchesi <jose.marchesi@oracle.com>
612
613 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Do not
614 apply the negative GOT offset optimization in 64-bit code.
615
cc133f9f
JC
6162016-11-18 James Clarke <jrtc27@jrtc27.com>
617
618 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
619 R_SPARC_GOTDATA_OP_HIX22 and R_SPARC_GOTDATA_OP_LOX10 to
620 R_SPARC_GOT* for non-local references. Instead, treat them like
621 R_SPARC_GOTDATA_HIX22/R_SPARC_GOTDATA_LOX10 when filling in the
622 immediate with the calculated relocation.
623
6ec49e7c
NC
6242016-11-18 Nick Clifton <nickc@redhat.com>
625
626 PR ld/20675
627 * elf32-metag.c (elf_metag_relocate_section): Replace abort with
628 an informative error message.
629
4cb771f2
SKS
6302016-11-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
631
632 PR ld/20789
633 * bfd/elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Do signed
634 manipulation of diff value, and don't assume sym2 is less than sym1.
635 (elf32_avr_adjust_reloc_if_spans_insn): New function.
636 (elf32_avr_relax_delete_bytes): Use elf32_avr_adjust_diff_reloc_value,
637 and remove redundant did_pad.
638
639
9d734efa
L
6402016-11-14 H.J. Lu <hongjiu.lu@intel.com>
641
642 PR ld/20800
643 * elf64-x86-64.c (elf_x86_64_relocate_section): Also check
644 plt_got.offset for R_X86_64_PLTOFF64.
645
63f2433d
NC
6462016-11-14 Nick Clifton <nickc@redhat.com>
647
648 * coffcode.h (coff_slurp_symbol_table): Fix typo: Faal -> Fall.
649
7103ad76
LA
6502016-11-11 Luke Allardyce <lukeallardyce@gmail.com>
651
652 PR ld/20722
653 * coffcode.h (coff_slurp_symbol_table): Accept C_HIDDEN symbols,
654 but treat them as debugging symbols.
655
ac33b731
JW
6562016-11-10 Jiong Wang <jiong.wang@arm.com>
657
658 PR target/20737
659 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Bind defined
660 symbol locally in PIE.
661
a18590c3
NC
6622016-11-10 Nick Clifton <nickc@redhat.com>
663
664 PR binutils/20801
665 * compress.c (bfd_get_full_section_contents): Provide a more
666 helpful error message when a section is too large to load.
667
3b0d929d
PA
6682016-11-08 Pedro Alves <palves@redhat.com>
669
670 * dwarf2.c (struct funcinfo) <is_linkage>: Type is bfd_boolean,
671 not "bfd boolean".
672
089e3718
IT
6732016-11-08 Igor Tsimbalist <tigor.tools@gmail.com>
674
675 * dwarf2.c (comp_unit): Add new fields 'lookup_funcinfo_table' and
676 'number_of_functions' to keep lookup table and number of entries in
677 the table.
678 (line_sequence): Add new fields 'line_info_lookup' and 'num_lines'
679 to keep lookup table and number of entries in the table.
680 (lookup_funcinfo): New structure for lookup table for function
681 references.
682 (build_line_info_table): New function to create and build the lookup
683 table for line information.
684 (lookup_address_in_line_info_table): Use the lookup table instead of
685 traverse a linked list.
686 (compare_lookup_funcinfos): New compare fuction used in sorting of
687 lookup table for function references.
688 (build_lookup_funcinfo_table): New function to create, build and
689 sort the lookup table for functions references.
690 (lookup_address_in_function_table): Use the table instead of
691 traverse a linked list.
692 (_bfd_dwarf2_cleanup_debug_info): Free memory from function references
693 lookup table.
694
1b7a12f2
NC
6952016-11-04 Nick Clifton <nickc@redhat.com>
696
697 * targets.c (bfd_target_vector): Only add riscv_elf32_vec target
698 when supporting 64-bit BFD targets.
699
034b77cf
TG
7002016-11-03 Tristan Gingold <gingold@adacore.com>
701
702 * config.bfd: Deprecate many old triplets.
703
225b362d
NC
7042016-11-03 Nick Clifton <nickc@redhat.com>
705
706 * po/da.po: Updated Danish translation.
707
af955fe6
MR
7082016-11-01 Maciej W. Rozycki <macro@imgtec.com>
709
710 * reloc.c (bfd_default_reloc_type_lookup) <BFD_RELOC_CTOR>: Do
711 not fall through to the default case.
712
e23eba97
NC
7132016-11-01 Palmer Dabbelt <palmer@dabbelt.com>
714 Andrew Waterman <andrew@sifive.com>
715
716 Add support for RISC-V architecture.
717 * Makefile.am: Add entries for riscv32-elf and riscv64-elf.
718 * config.bdf: Likewise.
719 * configure.ac: Likewise.
720 * Makefile.in: Regenerate.
721 * configure: Regenerate.
722 * archures.c: Add bfd_riscv_arch.
723 * reloc.c: Add riscv relocs.
724 * targets.c: Add riscv_elf32_vec and riscv_elf64_vec.
725 * bfd-in2.h: Regenerate.
726 * libbfd.h: Regenerate.
727 * elf-bfd.h: Add RISCV_ELF_DATA to enum elf_target_id.
728 * elfnn-riscv.c: New file.
729 * elfxx-riscv.c: New file.
730 * elfxx-riscv.h: New file.
731
c646b02f
AM
7322016-10-31 Alan Modra <amodra@gmail.com>
733
734 PR 20748
735 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert
736 2016-05-13 change.
737
bb65a718
AB
7382016-10-27 Andrew Burgess <andrew.burgess@embecosm.com>
739
740 * cpu-arc.c (arc_get_mach): Delete.
741
a18a2a34
MR
7422016-10-25 Maciej W. Rozycki <macro@imgtec.com>
743
744 * elfxx-mips.c (STUB_JALR): Correct description.
745
789b4e00
NC
7462016-10-20 Nick Clifton <nickc@redhat.com>
747
748 * po/gas.pot: Regenerate.
749
695344c0
NC
7502016-10-19 Nick Clifton <nickc@redhat.com>
751
752 * aout-adobe.c: Add missing c-format tags for translatable strings.
753 * aout-cris.c: Likewise.
754 * aoutx.h: Likewise.
755 * bfd.c: Likewise.
756 * binary.c: Likewise.
757 * cache.c: Likewise.
758 * coff-alpha.c: Likewise.
759 * coff-arm.c: Likewise.
760 * coff-i860.c: Likewise.
761 * coff-mcore.c: Likewise.
762 * coff-ppc.c: Likewise.
763 * coff-rs6000.c: Likewise.
764 * coff-sh.c: Likewise.
765 * coff-tic4x.c: Likewise.
766 * coff-tic54x.c: Likewise.
767 * coff-tic80.c: Likewise.
768 * coff64-rs6000.c: Likewise.
769 * coffcode.h: Likewise.
770 * coffgen.c: Likewise.
771 * cofflink.c: Likewise.
772 * coffswap.h: Likewise.
773 * cpu-arm.c: Likewise.
774 * dwarf2.c: Likewise.
775 * ecoff.c: Likewise.
776 * elf-attrs.c: Likewise.
777 * elf-eh-frame.c: Likewise.
778 * elf-ifunc.c: Likewise.
779 * elf-m10300.c: Likewise.
780 * elf-s390-common.c: Likewise.
781 * elf.c: Likewise.
782 * elf32-arc.c: Likewise.
783 * elf32-arm.c: Likewise.
784 * elf32-avr.c: Likewise.
785 * elf32-bfin.c: Likewise.
786 * elf32-cr16.c: Likewise.
787 * elf32-cr16c.c: Likewise.
788 * elf32-cris.c: Likewise.
789 * elf32-crx.c: Likewise.
790 * elf32-d10v.c: Likewise.
791 * elf32-d30v.c: Likewise.
792 * elf32-epiphany.c: Likewise.
793 * elf32-fr30.c: Likewise.
794 * elf32-frv.c: Likewise.
795 * elf32-gen.c: Likewise.
796 * elf32-hppa.c: Likewise.
797 * elf32-i370.c: Likewise.
798 * elf32-i386.c: Likewise.
799 * elf32-i960.c: Likewise.
800 * elf32-ip2k.c: Likewise.
801 * elf32-iq2000.c: Likewise.
802 * elf32-lm32.c: Likewise.
803 * elf32-m32c.c: Likewise.
804 * elf32-m32r.c: Likewise.
805 * elf32-m68hc11.c: Likewise.
806 * elf32-m68hc12.c: Likewise.
807 * elf32-m68hc1x.c: Likewise.
808 * elf32-m68k.c: Likewise.
809 * elf32-mcore.c: Likewise.
810 * elf32-mep.c: Likewise.
811 * elf32-metag.c: Likewise.
812 * elf32-microblaze.c: Likewise.
813 * elf32-moxie.c: Likewise.
814 * elf32-msp430.c: Likewise.
815 * elf32-mt.c: Likewise.
816 * elf32-nds32.c: Likewise.
817 * elf32-nios2.c: Likewise.
818 * elf32-or1k.c: Likewise.
819 * elf32-pj.c: Likewise.
820 * elf32-ppc.c: Likewise.
821 * elf32-rl78.c: Likewise.
822 * elf32-rx.c: Likewise.
823 * elf32-s390.c: Likewise.
824 * elf32-score.c: Likewise.
825 * elf32-score7.c: Likewise.
826 * elf32-sh-symbian.c: Likewise.
827 * elf32-sh.c: Likewise.
828 * elf32-sh64.c: Likewise.
829 * elf32-spu.c: Likewise.
830 * elf32-tic6x.c: Likewise.
831 * elf32-tilepro.c: Likewise.
832 * elf32-v850.c: Likewise.
833 * elf32-vax.c: Likewise.
834 * elf32-visium.c: Likewise.
835 * elf32-xgate.c: Likewise.
836 * elf32-xtensa.c: Likewise.
837 * elf64-alpha.c: Likewise.
838 * elf64-gen.c: Likewise.
839 * elf64-hppa.c: Likewise.
840 * elf64-ia64-vms.c: Likewise.
841 * elf64-mmix.c: Likewise.
842 * elf64-ppc.c: Likewise.
843 * elf64-s390.c: Likewise.
844 * elf64-sh64.c: Likewise.
845 * elf64-sparc.c: Likewise.
846 * elf64-x86-64.c: Likewise.
847 * elfcode.h: Likewise.
848 * elfcore.h: Likewise.
849 * elflink.c: Likewise.
850 * elfnn-aarch64.c: Likewise.
851 * elfnn-ia64.c: Likewise.
852 * elfxx-mips.c: Likewise.
853 * elfxx-sparc.c: Likewise.
854 * elfxx-tilegx.c: Likewise.
855 * ieee.c: Likewise.
856 * ihex.c: Likewise.
857 * libbfd.c: Likewise.
858 * linker.c: Likewise.
859 * m68klinux.c: Likewise.
860 * mach-o.c: Likewise.
861 * merge.c: Likewise.
862 * mmo.c: Likewise.
863 * oasys.c: Likewise.
864 * pdp11.c: Likewise.
865 * pe-mips.c: Likewise.
866 * peXXigen.c: Likewise.
867 * pei-x86_64.c: Likewise.
868 * peicode.h: Likewise.
869 * ppcboot.c: Likewise.
870 * reloc.c: Likewise.
871 * sparclinux.c: Likewise.
872 * srec.c: Likewise.
873 * stabs.c: Likewise.
874 * vms-alpha.c: Likewise.
875 * vms-lib.c: Likewise.
876 * xcofflink.c: Likewise.
877
b928b56e
NC
8782016-10-18 Nick Clifton <nickc@redhat.com>
879
880 * po/da.po: Updated Danish translation.
881
61034b0b
MR
8822016-10-18 Maciej W. Rozycki <macro@imgtec.com>
883
884 * elf32-nds32.c (nds32_elf_check_relocs): Avoid aliasing warning
885 from GCC.
886
c48182bf
MR
8872016-10-18 Maciej W. Rozycki <macro@imgtec.com>
888
889 * elf32-arm.c (elf32_arm_update_relocs): Rename `index' local
890 variable to `reloc_index'.
891
4d483590
AM
8922016-10-12 Alan Modra <amodra@gmail.com>
893
894 * section.c (BFD_FAKE_SECTION): Reorder parameters. Formatting.
895 (STD_SECTION): Adjust to suit.
896 * elf.c (_bfd_elf_large_com_section): Likewise.
897 * bfd-in2.h: Regenerate.
898
f02cb058
AM
8992016-10-11 Alan Modra <amodra@gmail.com>
900
901 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Handle symbols
902 defined temporarily with bfd_und_section.
903 * elflink.c (_bfd_elf_gc_keep): Don't set SEC_KEEP for bfd_und_section.
904 * elfxx-mips.c (mips_elf_local_pic_function_p): Exclude defined
905 symbols with bfd_und_section.
906
50e03d47
AM
9072016-10-07 Alan Modra <amodra@gmail.com>
908
909 * targets.c (bfd_target <_bfd_merge_private_bfd_data>): Replace
910 obfd param with struct bfd_link_info param. Update all callers.
911 * linker.c (bfd_merge_private_bfd_data): Likewise.
912 (_bfd_generic_verify_endian_match): Likewise.
913 * aoutf1.h (sunos_merge_private_bfd_data): Likewise.
914 * coff-arm.c (coff_arm_merge_private_bfd_data): Likewise.
915 * elf-attrs.c (_bfd_elf_merge_object_attributes): Likewise.
916 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Likewise.
917 (_bfd_elf_merge_object_attributes): Likewise.
918 * elf-m10300.c (_bfd_mn10300_elf_merge_private_bfd_data): Likewise.
919 * elf-s390-common.c (elf_s390_merge_obj_attributes): Likewise.
920 * elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
921 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Likewise.
922 (elf32_arm_merge_private_bfd_data): Likewise.
923 * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Likewise.
924 * elf32-cr16.c (_bfd_cr16_elf_merge_private_bfd_data): Likewise.
925 * elf32-cris.c (cris_elf_merge_private_bfd_data): Likewise.
926 * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
927 * elf32-h8300.c (elf32_h8_merge_private_bfd_data): Likewise.
928 * elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
929 * elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
930 * elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
931 * elf32-m32r.c (m32r_elf_merge_private_bfd_data): Likewise.
932 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
933 * elf32-m68hc1x.h (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
934 * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Likewise.
935 * elf32-mcore.c (mcore_elf_merge_private_bfd_data): Likewise.
936 * elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
937 * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Likewise.
938 (elf32_msp430_merge_private_bfd_data): Likewise.
939 * elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
940 * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise.
941 * elf32-nios2.c (nios2_elf32_merge_private_bfd_data): Likewise.
942 * elf32-or1k.c (elf32_or1k_merge_private_bfd_data): Likewise.
943 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Likewise.
944 (ppc_elf_merge_obj_attributes): Likewise.
945 (ppc_elf_merge_private_bfd_data): Likewise.
946 * elf32-rl78.c (rl78_elf_merge_private_bfd_data): Likewise.
947 * elf32-rx.c (rx_elf_merge_private_bfd_data): Likewise.
948 * elf32-s390.c (elf32_s390_merge_private_bfd_data): Likewise.
949 * elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise.
950 (elf32_score_merge_private_bfd_data): Likewise.
951 * elf32-score.h (s7_elf32_score_merge_private_bfd_data): Likewise.
952 * elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise.
953 * elf32-sh.c (sh_merge_bfd_arch, sh_elf_merge_private_data): Likewise.
954 * elf32-sh64.c (sh64_elf_merge_private_data): Likewise.
955 * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Likewise.
956 * elf32-tic6x.c (elf32_tic6x_merge_attributes): Likewise.
957 (elf32_tic6x_merge_private_bfd_data): Likewise.
958 * elf32-v850.c (v850_elf_merge_private_bfd_data): Likewise.
959 * elf32-vax.c (elf32_vax_merge_private_bfd_data): Likewise.
960 * elf32-visium.c (visium_elf_merge_private_bfd_data): Likewise.
961 * elf32-xtensa.c (elf_xtensa_merge_private_bfd_data): Likewise.
962 * elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise.
963 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Likewise.
964 * elf64-s390.c (elf64_s390_merge_private_bfd_data): Likewise.
965 * elf64-sh64.c (sh_elf64_merge_private_data): Likewise.
966 * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
967 * elfnn-aarch64.c (elfNN_aarch64_merge_private_bfd_data): Likewise.
968 * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise.
969 * elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
970 (mips_elf_merge_obj_attributes): Likewise.
971 (_bfd_mips_elf_merge_private_bfd_data): Likewise.
972 * elfxx-mips.h (_bfd_mips_elf_merge_private_bfd_data): Likewise.
973 * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
974 * elfxx-sparc.h (_bfd_sparc_elf_merge_private_bfd_data): Likewise.
975 * elfxx-target.h (bfd_elfNN_bfd_merge_private_bfd_data): Likewise.
976 * elfxx-tilegx.c (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
977 * elfxx-tilegx.h (_bfd_tilegx_elf_merge_private_bfd_data): Likewise.
978 * libbfd-in.h (_bfd_generic_bfd_merge_private_bfd_data): Likewise.
979 * bfd-in2.h: Regenerate.
980 * libbfd.h: Regenerate.
981
1047201f
AM
9822016-10-07 Alan Modra <amodra@gmail.com>
983
984 * Makefile.am (LIBBFD_H_FILES): Update.
985 * doc/Makefile.am (LIBBFD_H_DEP): Likewise.
986 * cpu-sh.c (sh_merge_bfd_arch): Move to..
987 * elf32-sh.c: ..here, and make static.
988 * elf32-arc.c (arc_elf_merge_private_bfd_data): Delete extraneous
989 error.
990 * elf32-cris.c (cris_elf_merge_private_bfd_data): Don't call
991 _bfd_generic_verify_endian_match.
992 * elf32-microblaze.c (microblaze_elf_merge_private_bfd_data): Delete.
993 (bfd_elf32_bfd_merge_private_bfd_data): Define as
994 _bfd_generic_verify_endian_match.
995 * elf32-mt.c (mt_elf_merge_private_bfd_data): Don't test
996 boolean == FALSE.
997 * elf32-xgate.c (_bfd_xgate_elf_merge_private_bfd_data): Delete.
998 (bfd_elf32_bfd_merge_private_bfd_data): Don't define.
999 * elf32-xgate.h (_bfd_xgate_elf_merge_private_bfd_data): Delete.
1000 * libbfd-in.h (_bfd_generic_verify_endian_match): Delete.
1001 * libbfd.c (_bfd_generic_verify_endian_match): Move to..
1002 * linker.c: ..here, and make internal.
1003 * bfd.c (bfd_merge_private_bfd_data): Move to..
1004 * linker.c: ..here.
1005 * Makefile.in: Regenerate.
1006 * doc/Makefile.in: Regenerate.
1007 * bfd-in2.h: Regenerate.
1008 * libbfd.h: Regenerate.
1009
1a0670f3
AM
10102016-10-06 Alan Modra <amodra@gmail.com>
1011
1012 * coff-h8300.c: Spell fall through comments consistently.
1013 * coffgen.c: Likewise.
1014 * elf32-hppa.c: Likewise.
1015 * elf32-ppc.c: Likewise.
1016 * elf32-score.c: Likewise.
1017 * elf32-score7.c: Likewise.
1018 * elf64-ppc.c: Likewise.
1019 * elfxx-aarch64.c: Likewise.
1020 * elfxx-mips.c: Likewise.
1021 * cpu-ns32k.c: Add missing fall through comments.
1022 * elf-m10300.c: Likewise.
1023 * elf32-arm.c: Likewise.
1024 * elf32-avr.c: Likewise.
1025 * elf32-bfin.c: Likewise.
1026 * elf32-frv.c: Likewise.
1027 * elf32-i386.c: Likewise.
1028 * elf32-microblaze.c: Likewise.
1029 * elf32-nds32.c: Likewise.
1030 * elf32-ppc.c: Likewise.
1031 * elf32-rl78.c: Likewise.
1032 * elf32-rx.c: Likewise.
1033 * elf32-s390.c: Likewise.
1034 * elf32-sh.c: Likewise.
1035 * elf32-tic6x.c: Likewise.
1036 * elf64-ia64-vms.c: Likewise.
1037 * elf64-ppc.c: Likewise.
1038 * elf64-s390.c: Likewise.
1039 * elf64-x86-64.c: Likewise.
1040 * elflink.c: Likewise.
1041 * elfnn-aarch64.c: Likewise.
1042 * elfnn-ia64.c: Likewise.
1043 * ieee.c: Likewise.
1044 * oasys.c: Likewise.
1045 * pdp11.c: Likewise.
1046 * srec.c: Likewise.
1047 * versados.c: Likewise.
1048
2b804145
AM
10492016-10-06 Alan Modra <amodra@gmail.com>
1050
1051 * coffcode.h (coff_slurp_symbol_table): Revert accidental commit
1052 made 2015-01-08.
1053 * elf32-nds32.c (nds32_elf_grok_psinfo): Add missing break.
1054 * reloc.c (bfd_default_reloc_type_lookup): Add missing breaks.
1055
616ec358
AM
10562016-10-06 Alan Modra <amodra@gmail.com>
1057
1058 * elf32-epiphany.c (epiphany_final_link_relocate): Use bitwise
1059 OR in arithmetic expression, not boolean OR.
1060
92c6e4fe
AM
10612016-09-30 Alan Modra <amodra@gmail.com>
1062
1063 * Makefile.am (BFD_H_FILES): Add linker.c and simple.c. Sort
1064 as per comment at head of bfd-in2.h.
1065 * Makefile.in: Regenerate.
1066
4eca0228
AM
10672016-09-30 Alan Modra <amodra@gmail.com>
1068
1069 * aout-adobe.c: Replace (*_bfd_error_handler) (...) with
1070 _bfd_error_handler (...) throughout.
1071 * aout-cris.c, * aoutx.h, * archive.c, * bfd.c, * binary.c,
1072 * cache.c, * coff-alpha.c, * coff-arm.c, * coff-h8300.c,
1073 * coff-i860.c, * coff-mcore.c, * coff-ppc.c, * coff-rs6000.c,
1074 * coff-sh.c, * coff-tic4x.c, * coff-tic54x.c, * coff-tic80.c,
1075 * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
1076 * coffswap.h, * cpu-arm.c, * cpu-m68k.c, * cpu-sh.c, * dwarf2.c,
1077 * ecoff.c, * elf-eh-frame.c, * elf-m10300.c, * elf.c, * elf32-arc.c,
1078 * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
1079 * elf32-cris.c, * elf32-crx.c, * elf32-dlx.c, * elf32-frv.c,
1080 * elf32-hppa.c, * elf32-i370.c, * elf32-i386.c, * elf32-lm32.c,
1081 * elf32-m32c.c, * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c,
1082 * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
1083 * elf32-mips.c, * elf32-nds32.c, * elf32-nios2.c, * elf32-or1k.c,
1084 * elf32-pj.c, * elf32-ppc.c, * elf32-rl78.c, * elf32-s390.c,
1085 * elf32-score.c, * elf32-score7.c, * elf32-sh.c, * elf32-sh64.c,
1086 * elf32-sparc.c, * elf32-spu.c, * elf32-tic6x.c, * elf32-tilepro.c,
1087 * elf32-v850.c, * elf32-vax.c, * elf32-xtensa.c, * elf64-alpha.c,
1088 * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c, * elf64-mmix.c,
1089 * elf64-ppc.c, * elf64-s390.c, * elf64-sh64.c, * elf64-sparc.c,
1090 * elf64-x86-64.c, * elfcode.h, * elfcore.h, * elflink.c,
1091 * elfn32-mips.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfxx-mips.c,
1092 * elfxx-sparc.c, * elfxx-tilegx.c, * hpux-core.c, * i386linux.c,
1093 * ieee.c, * ihex.c, * libbfd.c, * linker.c, * m68klinux.c,
1094 * mach-o.c, * merge.c, * mmo.c, * oasys.c, * osf-core.c, * pdp11.c,
1095 * pe-mips.c, * peXXigen.c, * pef.c, * plugin.c, * reloc.c,
1096 * rs6000-core.c, * sco5-core.c, * som.c, * sparclinux.c, * srec.c,
1097 * stabs.c, * syms.c, * vms-alpha.c, * vms-lib.c, * vms-misc.c,
1098 * xcofflink.c: Likewise.
1099
52d45da3
AM
11002016-09-30 Alan Modra <amodra@gmail.com>
1101
1102 * bfd-in.h: Include stdarg.h.
1103 * bfd.c (bfd_error_handler_type): Make like vprintf.
1104 (_bfd_error_internal): Rename from _bfd_error_handler. Make static.
1105 (error_handler_internal): New function, split out from..
1106 (_bfd_default_error_handler): ..here. Rename to _bfd_error_handler.
1107 (bfd_set_error_handler): Update.
1108 (bfd_get_error_handler, bfd_get_assert_handler): Delete.
1109 (_bfd_assert_handler): Make static.
1110 * coffgen.c (null_error_handler): Update params.
1111 * elf-bfd.h (struct elf_backend_data <link_order_error_handler>):
1112 Don't use bfd_error_handler_type.
1113 * elf64-mmix.c (mmix_dump_bpo_gregs): Likewise.
1114 * elfxx-target.h (elf_backend_link_order_error_handler): Default
1115 to _bfd_error_handler.
1116 * libbfd-in.h (_bfd_default_error_handler): Don't declare.
1117 (bfd_assert_handler_type): Likewise.
1118 (_bfd_error_handler): Update.
1119 * bfd-in2.h: Regenerate.
1120 * libbfd.h: Regenerate.
1121
9eaff861
AO
11222016-09-28 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
1123
1124 PR ld/20636
1125 * elf-bfd.h (struct elf_backend_data): Delete
1126 elf_backend_count_output_relocs callback and add
1127 elf_backend_update_relocs.
1128 * elf32-arm.c (elf32_arm_count_output_relocs): Deleted.
1129 (emit_relocs): Deleted.
1130 (elf32_arm_emit_relocs): Deleted.
1131 (elf_backend_emit_relocs): Updated not to use the old functions.
1132 (elf32_arm_update_relocs): New function.
1133 (elf_backend_update_relocs): New define.
1134 * elflink.c (bfd_elf_final_link): Add additional_reloc_count to the
1135 relocation count. Call elf_backend_emit_relocs.
1136 (_bfd_elf_size_reloc_section): Do not call
1137 elf_backend_count_output_relocs.
1138 * elfxx-target.h (elf_backend_count_output_relocs): Deleted.
1139 (elf_backend_update_relocs): New define.
1140
2df2751d
CL
11412016-09-28 Christophe Lyon <christophe.lyon@linaro.org>
1142
1143 PR ld/20608
1144 * elf32-arm.c (arm_type_of_stub): Handle the case when the pre-PLT
1145 Thumb-ARM stub is too far.
1146
1c5f704f
NC
11472016-09-27 Nick Clifton <nickc@redhat.com>
1148
1149 PR ld/20634
1150 * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Put 0 in the
1151 timestamp field if real time values are not being stored.
1152
c5da1932
VZ
11532016-09-26 Vlad Zakharov <vzakhar@synopsys.com>
1154
1155 * warning.m4 (AC_EGREP_CPP_FOR_BUILD): Introduce macro
1156 to verify CC_FOR_BUILD compiler.
1157 (AM_BINUTILS_WARNINGS): Introduce ac_cpp_for_build variable
1158 and add CC_FOR_BUILD compiler checks.
1159 * Makefile.in: Regenerate.
1160 * configure: Likewise.
1161 * doc/Makefile.in: Likewise.
1162
384f7503
A
11632016-09-26 Awson <kyrab@mail.ru>
1164
1165 PR ld/17955
1166 * coff-x86_64.c (coff_amd64_rtype_to_howto): Use an 8 byte offset
1167 for R_AMD64_PCRQUAD relocations.
1168
005d79fd
AM
11692016-09-26 Alan Modra <amodra@gmail.com>
1170
1171 * elf-bfd.h (_bfd_elf_ppc_merge_fp_attributes): Declare.
1172 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): New function.
1173 (ppc_elf_merge_obj_attributes): Use it. Don't copy first file
1174 attributes, merge them. Don't warn about undefined tag bits,
1175 or copy unknown values to output.
1176 * elf64-ppc.c (ppc64_elf_merge_private_bfd_data): Call
1177 _bfd_elf_ppc_merge_fp_attributes.
1178
5025eb7c
AO
11792016-09-23 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
1180
1181 PR ld/20595
1182 * elf-bfd.h (struct elf_backend_data): Add
1183 elf_backend_count_output_relocs callback to count relocations in
1184 the final output.
1185 * elf-arm.c (elf32_arm_add_relocation): Deleted.
1186 (elf32_arm_write_section): Move additional relocation to emit_relocs.
1187 (elf32_arm_count_output_relocs): New function.
1188 (emit_relocs): New function.
1189 (elf32_arm_emit_relocs): New function.
1190 (elf32_arm_vxworks_emit_relocs): New function.
1191 (elf_backend_emit_relocs): Updated to use the new functions.
1192 (elf_backend_count_output_relocs): New define.
1193 * bfd/elflink.c (bfd_elf_final_link): Do not add additional_reloc_count
1194 to the relocation count.
1195 (_bfd_elf_link_size_reloc_section): Use callback to count the
1196 relocations which will be in output.
1197 (_bfd_elf_default_count_output_relocs): New function.
1198 * bfd/elfxx-target.h (elf_backend_count_output_relocs): New define.
1199
b19753ce
JM
12002016-09-19 Jose E. Marchesi <jose.marchesi@oracle.com>
1201
1202 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Allow
1203 negative offsets to _GLOBAL_OFFSET_TABLE_ if the .got section is
1204 bigger than 0x1000 bytes.
1205
4f90d84b
TP
12062016-09-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
1207
1208 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Only mark section
1209 not already marked.
1210
e6d042fe
NC
12112016-09-14 Nick Clifton <nickc@redhat.com>
1212
1213 PR binutils/20605
1214 * peicode.h (pe_bfd_read_buildid): Check that the Data Directory
1215 contains a valid size for the Debug directory.
1216
5d9bbb73
BA
12172016-09-14 Bhushan Attarde <bhushan.attarde@imgtec.com>
1218
1219 * format.c (struct bfd_preserve): New "build_id" field.
1220 (bfd_preserve_save): Save "build_id".
1221 (bfd_preserve_restore): Restore "build_id".
1222
d8457a04
L
12232016-09-06 H.J. Lu <hongjiu.lu@intel.com>
1224
1225 PR ld/20550
1226 * elf64-x86-64.c (elf_x86_64_relocate_section): Resolve size
1227 relocation with copy relocation when building executable.
1228
bf186506
SKS
12292016-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1230
1231 PR ld/20545
1232 * elf32-avr.c (elf32_avr_relax_delete_bytes): Add parameter
1233 delete_shrinks_insn. Modify computation of shrinked_insn_address.
1234 Compute shrink_boundary and adjust addend only if
1235 addend_within_shrink_boundary.
1236 (elf32_avr_relax_section): Modify calls to
1237 elf32_avr_relax_delete_bytes to pass extra parameter.
1238
42484486
TP
12392016-09-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
1240
1241 * elf32-arm.c (cmse_entry_fct_p): Store instruction encoding in an
1242 array of bytes and use bfd_get_16 to interpret its encoding according
1243 to endianness of target.
1244
cd285db5
AM
12452016-09-01 Alan Modra <amodra@gmail.com>
1246
1247 * elf64-ppc.c (synthetic_opd): New static var.
1248 (compare_symbols): Don't treat symbols in .opd specially for ELFv2.
1249 (ppc64_elf_get_synthetic_symtab): Likewise. Comment.
1250
09f92717
AM
12512016-08-31 Alan Modra <amodra@gmail.com>
1252
1253 * elf64-ppc.c (group_sections): Delete stub14_group_size. Instead,
1254 track max group size with a new "group_size" var that is reduced
1255 by a factor of 1024 from the 24-bit branch size whenever a 14-bit
1256 branch is seen.
1257
f7d69005
AM
12582016-08-31 Alan Modra <amodra@gmail.com>
1259
1260 * elf32-ppc.c (ppc_elf_section_processing): Delete.
1261 (elf_backend_section_processing): Don't define.
1262 (ppc_elf_modify_segment_map): Set p_flags and mark valid. Don't
1263 split on non-exec sections differing in SHF_PPC_VLE. When
1264 splitting segments, mark size invalid.
1265
8941017b
AM
12662016-08-30 Alan Modra <amodra@gmail.com>
1267
1268 PR 20531
1269 * elf32-ppc.c (_bfd_elf_ppc_set_arch): Add missing "break".
1270
74437ea2
L
12712016-08-29 H.J. Lu <hongjiu.lu@intel.com>
1272
1273 PR ld/14961
1274 PR ld/20515
1275 * elf32-i386.c (elf_i386_check_relocs): Issue an error when
1276 R_386_PC32 relocation is used to call IFUNC function in PIC
1277 object.
1278
53720c49
AM
12792016-08-27 Alan Modra <amodra@gmail.com>
1280
1281 PR 20520
1282 * elf.c (_bfd_elf_setup_sections): Check that SHT_GROUP sections
1283 have corresponding SHF_GROUP sections.
1284 (bfd_elf_set_group_contents): Comment.
1285
8a9e8e72
AM
12862016-08-27 Alan Modra <amodra@gmail.com>
1287
1288 PR 20519
1289 * elf64-ppc.c (pc_dynrelocs): New function.
1290 (ppc64_elf_relocate_section): Use it and must_be_dyn_reloc to
1291 handle pic dynamic relocs.
1292
68c39892
TP
12932016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1294
1295 * bfd-in.h (struct elf32_arm_params): Define.
1296 (bfd_elf32_arm_set_target_relocs): Rename into ...
1297 (bfd_elf32_arm_set_target_params): This. Use a struct
1298 elf32_arm_params to pass all parameters but the bfd and bfd_link_info.
1299 * bfd-in2.h: Regenerate.
1300 * elf32-arm.c (bfd_elf32_arm_set_target_relocs): Rename into ...
1301 (bfd_elf32_arm_set_target_params): This. Pass all values via a struct
1302 elf32_arm_params rather than as individual parameters.
1303
c2abbbeb
TP
13042016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1305
1306 * elf32-arm.c (elf32_arm_get_stub_entry): Assert that we don't access
1307 passed the end of htab->stub_group array.
1308 (elf32_arm_create_or_find_stub_sec): Likewise.
1309 (elf32_arm_create_stub): Likewise.
1310
980aa3e6
CM
13112016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
1312
1313 * elf32-arc.c (elf_arc_relocate_section): Changed. Set should_relocate
1314 to TRUE for GOT and TLS relocs.
1315
65b94e90
CM
13162016-08-26 Cupertino Miranda <cmiranda@synospsys.com>
1317
1318 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
1319
8a36df4d
CM
13202016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
1321
1322 * elf-bfd.h: Added ARC_ELF_DATA to enum elf_target_id.
1323 * elf32-arc.c (struct elf_arc_link_hash_entry): Added.
1324 (struct elf_arc_link_hash_table): Likewise.
1325 (elf_arc_link_hash_newfunc): Likewise.
1326 (elf_arc_link_hash_table_free): Likewise.
1327 (arc_elf_link_hash_table_create): Likewise.
1328 (elf_arc_relocate_section): Fixed conditions related to dynamic
1329 (elf_arc_check_relocs): Likewise.
1330 (arc_elf_create_dynamic_sections): Added
1331 (elf_arc_adjust_dynamic_symbol): Changed access to .rela.bss to be done
1332 through the hash table.
1333
4dd72ffd
CM
13342016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
1335
1336 * arc-got.h (relocate_fix_got_relocs_for_got_info): Fixed addresses in
1337 debug comments. Fixed address in .got related to TLS_IE_GOT dynamic
1338 relocation.
1339
a87aa054
CM
13402016-08-26 Cupertino Miranda <cmiranda@synopsys.com>
1341
1342 * reloc.c: Fixed type in ARC_SECTOFF relocations. Added ARC_SDA_12
1343 relocation.
1344 * bfd-in2.h: Regenerated from the previous changes.
1345 * libbfd.h: Regenerated from the previous changes.
1346
0955507f
TP
13472016-08-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
1348
1349 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add a new parameter for
1350 the input import library bfd.
1351 * bfd-in2.h: Regenerate.
1352 * elf32-arm.c (struct elf32_arm_link_hash_table): New in_implib_bfd
1353 and new_cmse_stub_offset fields.
1354 (stub_hash_newfunc): Initialize stub_offset and stub_template_size to
1355 -1.
1356 (elf32_arm_add_stub): Likewise for stub_offset.
1357 (arm_new_stubs_start_offset_ptr): New function.
1358 (arm_build_one_stub): Only allocate a stub_offset if it is -1. Allow
1359 empty SG veneers to have zero relocations.
1360 (arm_size_one_stub): Only initialize stub size and template
1361 information for non empty veneers. Do not update veneer section size
1362 if veneer already has an offset.
1363 (elf32_arm_create_stub): Return the stub entry pointer or NULL instead
1364 of a boolean indicating success or failure.
1365 (cmse_scan): Change stub_changed parameter into an integer pointer
1366 parameter cmse_stub_created to count the number of stub created and
1367 adapt to change of return value in elf32_arm_create_stub.
1368 (cmse_entry_fct_p): New function.
1369 (arm_list_new_cmse_stub): Likewise.
1370 (set_cmse_veneer_addr_from_implib): Likewise.
1371 (elf32_arm_size_stubs): Define cmse_stub_created, pass its address to
1372 cmse_scan instead of that of cmse_stub_changed to compute the number
1373 of stub created and use it to initialize stub_changed. Call
1374 set_cmse_veneer_addr_from_implib after all cmse_scan. Adapt to change
1375 of return value in elf32_arm_create_stub. Use
1376 arm_stub_section_start_offset () if not NULL to initialize size of
1377 secure gateway veneers section. Initialize stub_offset of Cortex-A8
1378 erratum fix to -1. Use ret to hold return value.
1379 (elf32_arm_build_stubs): Use arm_stub_section_start_offset () if not
1380 NULL to initialize size of secure gateway veneers section. Adapt
1381 comment to stress the importance of zeroing veneer section content.
1382 (bfd_elf32_arm_set_target_relocs): Add new in_implib_bfd parameter to
1383 initialize eponymous field in struct elf32_arm_link_hash_table.
1384
e3e9290d
AA
13852016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
1386
1387 * elf32-s390.c (stdarg.h): New include.
1388 (elf_s390_grok_psinfo): New function.
1389 (elf_s390_write_core_note): New function.
1390 (elf_backend_grok_psinfo): Declare backend hook.
1391 (elf_backend_write_core_note): Likewise.
1392 * elf64-s390.c (stdarg.h): New include.
1393 (elf_s390_grok_prstatus): New function.
1394 (elf_s390_grok_psinfo): New function.
1395 (elf_s390_write_core_note): New function.
1396 (elf_backend_grok_prstatus): Declare backend hook.
1397 (elf_backend_grok_psinfo): Likewise.
1398 (elf_backend_write_core_note): Likewise.
1399
ceada896
AA
14002016-08-25 Andreas Arnez <arnez@linux.vnet.ibm.com>
1401
1402 * elf32-s390.c (allocate_dynrelocs): Fix indentation.
1403 (elf_s390_finish_ifunc_symbol): Likewise.
1404 (elf_s390_finish_dynamic_symbol): Likewise.
1405 (elf_s390_finish_dynamic_sections): Likewise.
1406 (elf_s390_grok_prstatus): Likewise.
1407 * elf64-s390.c (elf_s390_hash_table): Fix indentation.
1408 (elf_s390_finish_dynamic_symbol): Likewise.
1409
47f7f636
AK
14102016-08-24 Anton Kolesov <Anton.Kolesov@synopsys.com>
1411
1412 * elf32-arc.c (elf32_arc_grok_prstatus): New function.
1413
6342be70
NC
14142016-08-23 Nick Clifton <nickc@redhat.com>
1415
1416 * elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if
1417 there is no arm data associated with the section.
1418
eacfca90
AM
14192016-08-23 Alan Modra <amodra@gmail.com>
1420
1421 PR 20475
1422 * elf32-or1k.c (or1k_elf_relocate_section): Offset from
1423 _GLOBAL_OFFSET_TABLE_, not start of .got section.
1424
5fbe0d87
NC
14252016-08-22 Nick Clifton <nickc@redhat.com>
1426
1427 * doc/chew.c (main): Free the string buffer used to files as they
1428 are parsed.
1429
888a7fc3
AM
14302016-08-22 Alan Modra <amodra@gmail.com>
1431
1432 * elf32-ppc.c (ppc_elf_check_relocs): Move error for @local ifunc..
1433 (ppc_elf_relocate_section): ..to here. Comment. Error on
1434 detecting -mbss-plt -fPIC local ifuncs too.
1435 (ppc_elf_size_dynamic_sections): Comment on unnecessary glink
1436 branch table entries.
1437
dd905818
NC
14382016-08-19 Nick Clifton <nickc@redhat.com>
1439
1440 * elf.c (assign_section_numbers): Assign number for the .shstrtab
1441 section after the symbol table and string table sections.
1442
d311bc8b
AM
14432016-08-19 Alan Modra <amodra@gmail.com>
1444
1445 * elf64-ppc.c (struct ppc_link_hash_entry): Add weakref.
1446 (ppc64_elf_copy_indirect_symbol): Set weakref. Don't merge
1447 dyn_relocs for weakdefs.
1448 (alias_readonly_dynrelocs): New function.
1449 (ppc64_elf_adjust_dynamic_symbol): Use alias_readonly_dynrelocs.
1450 (ppc64_elf_relocate_section): Simplify condition under which
1451 dyn_relocs are emitted.
1452
8a2058b5
AM
14532016-08-19 Alan Modra <amodra@gmail.com>
1454
1455 PR 20472
1456 * elf64-ppc.c (ppc64_elf_before_check_relocs): Tweak abiversion test.
1457 (readonly_dynrelocs): Comment fix.
1458 (global_entry_stub): New function.
1459 (ppc64_elf_adjust_dynamic_symbol): Tweak abiversion test. Match
1460 ELFv2 code deciding on dynamic relocs vs. global entry stubs to
1461 that in size_global_entry_stubs, handling ifunc too. Delete dead
1462 weak sym code.
1463 (allocate_dynrelocs): Ensure dyn_relocs field is cleared when no
1464 dyn_relocs are needed. Correct handling of ifunc dyn_relocs.
1465 Tidy ELIMINATE_COPY_RELOCS code, only setting dynindx for
1466 undefweak syms. Expand and correct comments.
1467 (size_global_entry_stubs): Ensure symbol is defined.
1468 (ppc64_elf_relocate_section): Match condition under which
1469 dyn_relocs are emitted to that in allocate_dynrelocs.
1470
90ac2420
AM
14712016-08-12 Alan Modra <amodra@gmail.com>
1472
1473 * elf-bfd.h (struct elf_link_hash_table): Add local_dynsymcount.
1474 * elflink.c (_bfd_elf_link_renumber_dynsyms): Set local_dynsymcount.
1475 (bfd_elf_final_link): Set .dynsym sh_info from local_dynsymcount.
1476
d93d1c80
AM
14772016-08-11 Alan Modra <amodra@gmail.com>
1478
1479 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't exit with
1480 non_got_ref true in any case where we could have generated dynbss
1481 copies but decide not to do so.
1482
fe152e64
MR
14832016-08-10 Maciej W. Rozycki <macro@imgtec.com>
1484
1485 * elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of
1486 the stub address retrieved if associated with a microMIPS
1487 function.
1488
a848a227
MR
14892016-08-10 Maciej W. Rozycki <macro@imgtec.com>
1490
1491 * elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS
1492 stub also add STO_MICROMIPS annotation.
1493
c7318def
MR
14942016-08-10 Maciej W. Rozycki <macro@imgtec.com>
1495
1496 * elfxx-mips.c (mips_elf_calculate_relocation): Set the ISA bit
1497 in microMIPS LA25 stub references.
1498
68994ca2
JW
14992016-08-09 Jiaming Wei <jmwei@hxgpt.com>
1500
1501 * elf64-alpha.c (elf64_alpha_copy_indirect_symbol): Fix thinko
1502 adjusting the use_count of merged .got entries.
1503
8a286b63
NC
15042016-08-08 Nick Clifton <nickc@redhat.com>
1505
1506 * doc/chew.c (delete_string): Only free the string buffer if it is
1507 there. Mark the buffer as NULL after freeing.
1508 (drop): Free the dropped string.
1509 (free_words): New function: Frees the memory allocated to the
1510 dictionary.
1511 (add_instrinsic): Duplicate the name string, so that it can be
1512 freed later on.
1513 (compile): Free unused words.
1514 (main): Free the dictionary and top level string buffers at the
1515 end.
1516
54ddd295
TP
15172016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
1518
1519 * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add one parameter.
1520 * bfd-in2.h: Regenerate.
1521 * elf32-arm.c (struct elf32_arm_link_hash_table): Declare new
1522 cmse_implib field.
1523 (bfd_elf32_arm_set_target_relocs): Add new parameter to initialize
1524 cmse_implib field in struct elf32_arm_link_hash_table.
1525 (elf32_arm_filter_cmse_symbols): New function.
1526 (elf32_arm_filter_implib_symbols): Likewise.
1527 (elf_backend_filter_implib_symbols): Define to
1528 elf32_arm_filter_implib_symbols.
1529
4ba2ef8f
TP
15302016-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
1531
1532 * elf32-arm.c (CMSE_PREFIX): Define macro.
1533 (elf32_arm_stub_cmse_branch_thumb_only): Define stub sequence.
1534 (cmse_branch_thumb_only): Declare stub.
1535 (struct elf32_arm_link_hash_table): Define cmse_stub_sec field.
1536 (elf32_arm_get_plt_info): Add globals parameter. Use it to return
1537 FALSE if there is no PLT.
1538 (arm_type_of_stub): Adapt to new elf32_arm_get_plt_info signature.
1539 (elf32_arm_final_link_relocate): Likewise.
1540 (elf32_arm_gc_sweep_hook): Likewise.
1541 (elf32_arm_gc_mark_extra_sections): Mark sections holding ARMv8-M
1542 secure entry functions.
1543 (arm_stub_is_thumb): Add case for arm_stub_cmse_branch_thumb_only.
1544 (arm_dedicated_stub_output_section_required): Change to a switch case
1545 and add a case for arm_stub_cmse_branch_thumb_only.
1546 (arm_dedicated_stub_output_section_required_alignment): Likewise.
1547 (arm_stub_dedicated_output_section_name): Likewise.
1548 (arm_stub_dedicated_input_section_ptr): Likewise and remove
1549 ATTRIBUTE_UNUSED for htab parameter.
1550 (arm_stub_required_alignment): Likewise.
1551 (arm_stub_sym_claimed): Likewise.
1552 (arm_dedicated_stub_section_padding): Likewise.
1553 (cmse_scan): New function.
1554 (elf32_arm_size_stubs): Call cmse_scan for ARM M profile targets.
1555 Set stub_changed to TRUE if such veneers were created.
1556 (elf32_arm_swap_symbol_in): Add detection code for CMSE special
1557 symbols.
1558
89d77b8a
AM
15592016-08-02 Alan Modra <amodra@gmail.com>
1560
1561 PR ld/20428
1562 * elf64-ppc.c (ppc_get_stub_entry): Don't segfault on NULL group.
1563
a94d834c
NC
15642016-08-02 Nick Clifton <nickc@redhat.com>
1565
1566 PR ld/17739
1567 * elf32-sh.c (sh_elf_gc_sweep_hook): Delete.
1568 (elf_backend_sweep_hook): Delete.
1569
dfdaec14
AJ
15702016-08-01 Andrew Jenner <andrew@codesourcery.com>
1571 Kwok Cheung Yeung <kcy@codesourcery.com>
1572
1573 * elf32-ppc.c (is_branch_reloc): Recognise VLE branch relocations.
1574 (ppc_elf_howto_raw): Fix dst_mask of R_PPC_VLE_REL15.
1575 (ppc_elf_vle_split16): Clear field before inserting.
1576
781bf64d
NC
15772016-08-01 Nick Clifton <nickc@redhat.com>
1578
1579 * po/sv.po: Updated Swedish translation.
1580
147d994b
NC
15812016-07-27 Ozkan Sezer <sezeroz@gmail.com>
1582 Nick Clifton <nickc@redhat.com>
1583
1584 PR ld/20401
1585 * coffgen.c (fini_reloc_cookie_rels): Check for the extistence
1586 of the coff_section_data before using it.
1587
54806ffa
MR
15882016-07-26 Maciej W. Rozycki <macro@imgtec.com>
1589
1590 * elfxx-mips.c (mips_elf_calculate_relocation): Handle branches
1591 in PLT compression selection.
1592 (_bfd_mips_elf_check_relocs): Likewise.
1593
c02d11a5
CM
15942016-07-22 Cupertino Miranda <cmiranda@synopsys.com>
1595
1596 * arc-got.h (relocate_fix_got_relocs_for_got_info): Handle the
1597 case where there's no elf_link_hash_entry while processing
1598 GOT_NORMAL got entries.
1599
fecd57f9
L
16002016-07-21 H.J. Lu <hongjiu.lu@intel.com>
1601
1602 * version.m4 (BFD_VERSION): Set to 2.27.51.
1603 * configure: Regenerated.
1604
5df1bc57
AM
16052016-07-21 Nick Clifton <nickc@redhat.com>
1606
1607 * elf.c (_bfd_elf_filter_global_symbols): Skip local symbols.
1608 (swap_out_syms): Return an error when not finding ELF output
1609 section rather than asserting.
1610
16112016-07-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
1612
1613 * elflink.c (elf_output_implib): Call bfd_set_error on no symbols.
1614
0064d223
JB
16152016-07-20 John Baldwin <jhb@FreeBSD.org>
1616
1617 * elf.c (elfcore_grok_freebsd_psinfo): Check for minimum note size
1618 and handle pr_pid if present.
1619
89b829a8
L
16202016-07-20 H.J. Lu <hongjiu.lu@intel.com>
1621
1622 PR ld/20376
1623 * elf.c (assign_file_positions_for_load_sections): Also check
1624 p_paddr for program header space.
1625
3ce51288
AM
16262016-07-20 Alan Modra <amodra@gmail.com>
1627
1628 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_PLTREL32>): Put
1629 ppc64_elf_unhandled_reloc for special_function.
1630 * elf32-ppc.c (ppc_elf_howto_raw): Similarly for lots of relocs.
1631
a6ebf616
MR
16322016-07-19 Maciej W. Rozycki <macro@imgtec.com>
1633
1634 * elfxx-mips.c (mips_elf_perform_relocation): Convert cross-mode
1635 BAL to JALX.
1636 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add a
1637 corresponding error message.
1638
9d862524
MR
16392016-07-19 Maciej W. Rozycki <macro@imgtec.com>
1640
1641 * elfxx-mips.c (b_reloc_p): Add R_MICROMIPS_PC16_S1,
1642 R_MICROMIPS_PC10_S1 and R_MICROMIPS_PC7_S1.
1643 (branch_reloc_p): New function.
1644 (mips_elf_calculate_relocation): Handle ISA mode determination
1645 for relocations against section symbols, against absolute
1646 symbols and absolute relocations. Also set `*cross_mode_jump_p'
1647 for branches.
1648 <R_MIPS16_26, R_MIPS_26, R_MICROMIPS_26_S1>: Suppress alignment
1649 checks for weak undefined symbols. Also check target alignment
1650 within the same ISA mode.
1651 <R_MIPS_PC16, R_MIPS_GNU_REL16_S2>: Handle cross-mode branches
1652 in the alignment check.
1653 <R_MICROMIPS_PC7_S1>: Add an alignment check.
1654 <R_MICROMIPS_PC10_S1>: Likewise.
1655 <R_MICROMIPS_PC16_S1>: Likewise.
1656 (mips_elf_perform_relocation): Report a failure for unsupported
1657 same-mode JALX instructions and cross-mode branches.
1658 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Add
1659 error messages for jumps to misaligned addresses.
1660
7d0b9ebc
AM
16612016-07-16 Alan Modra <amodra@gmail.com>
1662
1663 * elflink.c: Include plugin-api.h.
1664 * plugin.c (bfd_plugin_open_input): New function, extracted from..
1665 (try_claim): ..here.
1666 * plugin.h: Don't include bfd.h.
1667 (bfd_plugin_open_input): Declare.
1668
4212b42d
AM
16692016-07-16 Alan Modra <amodra@gmail.com>
1670
1671 * targets.c (bfd_seach_for_target): Rename to..
1672 (bfd_iterate_over_targets): ..this. Rewrite doc.
1673 * bfd-in2.h: Regenerate.
1674
00dad9a4
AM
16752016-07-16 Alan Modra <amodra@gmail.com>
1676
1677 * archures.c (bfd_default_set_arch_mach): Make available in bfd.h.
1678 * libbfd.h: Regenerate.
1679 * bfd-in2.h: Regenerate.
1680
76e7a751
AM
16812016-07-16 Alan Modra <amodra@gmail.com>
1682
1683 * libbfd-in.h (BFD_ALIGN): Move to..
1684 * bfd-in.h: ..here.
1685 * elf32-ppc.h (struct ppc_elf_params): Add pagesize.
1686 * elf32-ppc.c (default_params): Adjust init.
1687 (ppc_elf_link_params): Set pagesize_p2.
1688 * libbfd.h: Regenerate.
1689 * bfd-in2.h: Regenerate.
1690
76359541
TP
16912016-07-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
1692
1693 * elf-bfd.h (elf_backend_filter_implib_symbols): Declare backend hook.
1694 (_bfd_elf_filter_global_symbols): Declare.
1695 * elf.c (_bfd_elf_filter_global_symbols): New function.
1696 * elflink.c (elf_filter_global_symbols): Likewise.
1697 (elf_output_implib): Likewise.
1698 (bfd_elf_final_link): Call above function, failing if it does.
1699 * elfxx-target.h (elf_backend_filter_implib_symbols): Define macro and
1700 default it to NULL.
1701 (elf_backend_copy_indirect_symbol): Fix spacing.
1702 (elf_backend_hide_symbol): Likewise.
1703 (elfNN_bed): Initialize elf_backend_filter_implib_symbols backend hook.
1704
f7e8b360
NC
17052016-07-15 Andrew Burgess <andrew.burgess@embecosm.com>
1706 Nick Clifton <nickc@redhat.com>
1707
1708 * elf32-arc.c (PR_DEBUG): Delete.
1709 Fix printing of debug information. Fix formatting of debug
1710 statements.
1711 (debug_arc_reloc): Handle symbols that are not from an input file.
1712 (arc_do_relocation): Remove excessive exclamation points.
1713
1714 * arc-got.h: Fix formatting. Fix printing of debug information.
1715 (new_got_entry_to_list): Use xmalloc.
1716 * config.bfd: use the big-endian arc vector as the default vector
1717 for big-endian arc targets.
1718
06ab6faf
AM
17192016-07-15 Alan Modra <amodra@gmail.com>
1720
1721 * cofflink.c (mark_relocs): Exclude relocs with -1 r_symndx
1722 from marking sym_indices.
1723
0c117286
MR
17242016-07-14 Maciej W. Rozycki <macro@imgtec.com>
1725
1726 * reloc.c (bfd_perform_relocation): Try the `howto' handler
1727 first with relocations against absolute symbols.
1728 (bfd_install_relocation): Likewise.
1729
37567a2c
L
17302016-07-12 H.J. Lu <hongjiu.lu@intel.com>
1731
1732 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
1733 .got/.got.plt sections to 8 bytes.
1734
cf143069
NC
17352016-07-12 Nick Clifton <nickc@redhat.com>
1736
1737 * binary.c (binary_set_section_contents): Second grammar fix.
1738
f231881e
DR
17392016-07-12 Douglas B Rupp <rupp@adacore.com>
1740
1741 * binary.c (binary_set_section_contents): Fix grammar in warning
1742 message.
1743
b9316f59
CM
17442016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
1745
1746 * elf32-arc.c: made PR_DEBUG always defined.
1747
08759e0f
CM
17482016-07-11 Cupertino Miranda <cmiranda@synopsys.com>
1749
1750 * arc-got.h: Moved got related structures from elf32-arc.c to
1751 this file. More precisely, tls_type_e, tls_got_entries, got_entry.
1752 * (arc_get_local_got_ents, got_entry_for_type, new_got_entry_to_list,
1753 tls_type_for_reloc, symbol_has_entry_of_type,
1754 get_got_entry_list_for_symbol, arc_got_entry_type_for_reloc,
1755 ADD_SYMBOL_REF_SEC_AND_RELOC, rc_fill_got_info_for_reloc,
1756 relocate_fix_got_relocs_for_got_info,
1757 create_got_dynrelocs_for_single_entry,
1758 create_got_dynrelocs_for_got_info): Added to file.
1759 * elf32-arc.c: Removed GOT & TLS related structs and functions to
1760 arc-got.h.
1761
458653a9 17622016-07-08 James Bowman <james.bowman@ftdichip.com>
1763
1764 * elf32-ft32.c (ft32_reloc_map): Use R_FT32_32 for BFD_RELOC_32.
1765
d5a67c02
AV
17662016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
1767
1768 * elf32-arm.c (THUMB32_MOVT): New veneer macro.
1769 (THUMB32_MOVW): Likewise.
1770 (elf32_arm_stub_long_branch_thumb2_only_pure): New.
1771 (DEF_STUBS): Define long_branch_thumb2_only_pure.
1772 (arm_stub_is_thumb): Add new veneer stub.
1773 (arm_type_of_stub): Use new veneer.
1774 (arm_stub_required_alignment): Add new veneer.
1775
f0728ee3
AV
17762016-07-05 Andre Vieria <andre.simoesdiasvieira@arm.com>
1777
1778 * bfd-in2.h (SEC_ELF_NOREAD): Rename to ...
1779 (SEC_ELF_PURECODE): ... this.
1780 * elf32-arm.c (elf32_arm_post_process_headers): Rename SEC_ELF_NOREAD
1781 to SEC_ELF_NOREAD.
1782 (elf32_arm_fake_sections): Likewise.
1783 (elf_32_arm_section_flags): Likewise.
1784 (elf_32_arm_lookup_section_flags): Likewise.
1785 * section.c (SEC_ELF_NOREAD): Rename to ...
1786 (SEC_ELF_PURECODE): ... this.
1787
5e866f5a
TP
17882016-07-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
1789
1790 * elf32-arm.c (using_thumb2_bl): New function.
1791 (arm_type_of_stub): Declare thumb2 variable together and change type
1792 to bfd_boolean. Use using_thumb2_bl () to determine whether
1793 THM_MAX_FWD_BRANCH_OFFSET or THM2_MAX_FWD_BRANCH_OFFSET should be
1794 checked for BL range.
1795 (elf32_arm_final_link_relocate): Use using_thumb2_bl () to determine
1796 the bit size of BL offset.
1797
d691934d
NC
17982016-06-29 Nick Clifton <nickc@redhat.com>
1799
1800 * elfnn-aarch64.c (is_aarch64_mapping_symbol): New function.
1801 Returns TRUE for AArch64 mapping symbols.
1802 (elfNN_aarch64_backend_symbol_processing): New function. Marks
1803 mapping symbols as precious in object files so that they will not
1804 be stripped.
1805 (elf_backend_symbol_processing): Define.
1806
1807 * elf32-arm.c (is_arm_mapping_symbol): New function. Returns TRUE
1808 for ARM mapping symbols.
1809 (elf32_arm_backend_symbol_processing): Make use of the new function.
1810
f4ab0e2d
L
18112016-06-28 H.J. Lu <hongjiu.lu@intel.com>
1812
1813 PR ld/20306
1814 * elflink.c (elf_link_check_versioned_symbol): Return false
1815 for unreferenced undefined symbol.
1816
fca2a38f
NC
18172016-06-28 Nick Clifton <nickc@redhat.com>
1818
1b857aee
NC
1819 * elf32-bfin.c (bfin_adjust_dynamic_symbol): Fail if a COPY reloc
1820 is needed.
1821
fca2a38f
NC
1822 * elf32-arm.c (elf32_arm_backend_symbol_processing): New
1823 function. Marks mapping symbols in object files as precious, so
1824 that strip will not remove them.
1825 (elf_backend_symbol_processing): Define.
1826
7160c10d
JC
18272016-06-28 James Clarke <jrtc27@jrtc27.com>
1828
1829 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Don't convert
1830 R_SPARC_32 to R_SPARC_RELATIVE if class is ELFCLASS64.
1831
c9775dde
MR
18322016-06-28 Maciej W. Rozycki <macro@imgtec.com>
1833
1834 * elf32-mips.c (elf_mips16_howto_table_rel): Add
1835 R_MIPS16_PC16_S1.
1836 (mips16_reloc_map): Likewise.
1837 * elf64-mips.c (mips16_elf64_howto_table_rel): Likewise.
1838 (mips16_elf64_howto_table_rela): Likewise.
1839 (mips16_reloc_map): Likewise.
1840 * elfn32-mips.c (elf_mips16_howto_table_rel): Likewise.
1841 (elf_mips16_howto_table_rela): Likewise.
1842 (mips16_reloc_map): Likewise.
1843 * elfxx-mips.c (mips16_branch_reloc_p): New function.
1844 (mips16_reloc_p): Handle R_MIPS16_PC16_S1.
1845 (b_reloc_p): Likewise.
1846 (mips_elf_calculate_relocation): Likewise.
1847 (_bfd_mips_elf_check_relocs): Likewise.
1848 * reloc.c (BFD_RELOC_MIPS16_16_PCREL_S1): New relocation.
1849 * bfd-in2.h: Regenerate.
1850 * libbfd.h: Regenerate.
1851
c9301e31
AM
18522016-06-27 Alan Modra <amodra@gmail.com>
1853
1854 PR ld/19264
1855 * elf64-ppc.c (STUB_SHRINK_ITER): Define.
1856 (ppc64_elf_size_stubs): Exit stub sizing loop past STUB_SHRINK_ITER
1857 if shrinking stubs.
1858 (ppc64_elf_size_stubs): Adjust to suit.
1859
3cd72572
TS
18602016-06-27 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1861
1862 * elf32-dlx.h: New file.
1863 * elf32-dlx.c: Adjust.
1864
7c2c4aa1
TS
18652016-06-25 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
1866
1867 * elf32-xtensa.c (xtensa_make_property_section): Remove prototype.
1868
3350c5f5
JB
18692016-06-24 John Baldwin <jhb@FreeBSD.org>
1870
1871 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PROCSTAT_AUXV
1872 notes.
1873
aa1ed4a9
JB
18742016-06-24 John Baldwin <jhb@FreeBSD.org>
1875
1876 * elf.c (elfcore_grok_note): Remove handling of NT_X86_XSTATE for
1877 FreeBSD. Remove case for NT_FREEBSD_THRMISC.
1878 (elfcore_grok_freebsd_psinfo): New function.
1879 (elfcore_grok_freebsd_prstatus): New function.
1880 (elfcore_grok_freebsd_note): New function.
1881 (elf_parse_notes): Use "elfcore_grok_freebsd_note" for "FreeBSD"
1882 notes.
1883
6e321fa8
JB
18842016-06-24 Joel Brobecker <brobecker@adacore.com>
1885
1886 * elflink.c: Check the value of BFD_SUPPORTS_PLUGINS rather
1887 than its existance.
1888
9cc0123f
AM
18892016-06-24 Alan Modra <amodra@gmail.com>
1890
1891 * config.bfd: Delete mips vxworks patterns matched earlier.
1892 Combine mips*-*-none with mips*-*-elf*.
1893
5f68df25
MR
18942016-06-21 Maciej W. Rozycki <macro@imgtec.com>
1895
1896 * elfxx-mips.c (mips_elf_perform_relocation): Call
1897 `info->callbacks->einfo' rather than `*_bfd_error_handler' and
1898 use the `%X%H' format for the cross-mode jump conversion error
1899 message. Remove the full stop from the end of the message.
1900 Continue processing rather than returning failure.
1901
bdd582db
GM
19022016-06-21 Graham Markall <graham.markall@embecosm.com>
1903
1904 * archures.c: Remove bfd_mach_arc_nps400.
1905 * bfd-in2.h: Likewise.
1906 * cpu-arc.c (arch_info_struct): Likewise.
1907 * elf32-arc.c (arc_elf_object_p, arc_elf_final_write_processing):
1908 Likewise.
1909
7dc3990e
L
19102016-06-20 H.J. Lu <hongjiu.lu@intel.com>
1911
1912 PR ld/18250
1913 PR ld/20267
1914 * elflink.c: Include plugin.h if BFD_SUPPORTS_PLUGINS is
1915 defined.
1916 (elf_link_is_defined_archive_symbol): Call
1917 bfd_link_plugin_object_p on unknown plugin object and use the
1918 IR symbol table if the input is an IR object.
1919 * plugin.c (bfd_link_plugin_object_p): New function.
1920 * plugin.h (bfd_link_plugin_object_p): New prototype.
1921
0616a280
AM
19222016-06-20 H.J. Lu <hongjiu.lu@intel.com>
1923
1924 PR ld/20276
1925 * elflink.c (elf_link_add_object_symbols): Don't check alignment
1926 on symbol from plugin dummy input.
1927
49f30d83
L
19282016-06-18 H.J. Lu <hongjiu.lu@intel.com>
1929
1930 * bfd.c (bfd_plugin_format): Rename bfd_plugin_uknown to
1931 bfd_plugin_unknown.
1932 * bfd-in2.h: Regenerated.
1933 * plugin.c (bfd_plugin_object_p): Replace bfd_plugin_uknown
1934 with bfd_plugin_unknown.
1935
233cc9c1
L
19362016-06-18 H.J. Lu <hongjiu.lu@intel.com>
1937
1938 PR ld/20253
1939 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add an
1940 bfd_boolean argument.
1941 * elf-ifunc.c (_bfd_elf_create_ifunc_sections): Replace
1942 "shared object" with "PIC object" in comments.
1943 (_bfd_elf_allocate_ifunc_dyn_relocs): Updated. Replace
1944 "shared object" with "PIC object" in comments. Avoid PLT if
1945 requested. Generate dynamic relocations for non-GOT references.
1946 Make room for the special first entry in PLT and allocate PLT
1947 entry only for PLT and PC-relative references. Store dynamic
1948 GOT relocations in .rel[a].iplt section for static executables.
1949 If PLT isn't used, always use GOT for symbol value. Don't
1950 allocate GOT entry if it isn't used.
1951 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
1952 count only in the code section. Allocate dynamic pointer
1953 relocation against STT_GNU_IFUNC symbol in the non-code section.
1954 (elf_i386_adjust_dynamic_symbol): Increment PLT reference count
1955 only for PC-relative references.
1956 (elf_i386_allocate_dynrelocs): Pass TRUE to
1957 _bfd_elf_allocate_ifunc_dyn_relocs.
1958 (elf_i386_relocate_section): Allow R_386_GOT32/R_386_GOT32X
1959 relocations against STT_GNU_IFUNC symbols without PLT. Generate
1960 dynamic pointer relocation against STT_GNU_IFUNC symbol in
1961 the non-code section and store it in the proper REL section.
1962 Don't allow non-pointer relocation against STT_GNU_IFUNC symbol
1963 without PLT.
1964 (elf_i386_finish_dynamic_symbol): Generate dynamic
1965 R_386_IRELATIVE and R_386_GLOB_DAT GOT relocations against
1966 STT_GNU_IFUNC symbols without PLT.
1967 (elf_i386_finish_dynamic_sections): Don't handle local
1968 STT_GNU_IFUNC symbols here.
1969 (elf_i386_output_arch_local_syms): Handle local STT_GNU_IFUNC
1970 symbols here.
1971 (elf_backend_output_arch_local_syms): New.
1972 * elf32-x86-64.c (elf_i386_check_relocs): Increment PLT reference
1973 count only in the code section. Allocate dynamic pointer
1974 relocation against STT_GNU_IFUNC symbol in the non-code section.
1975 (elf_x86_64_adjust_dynamic_symbol): Increment PLT reference
1976 count only for PC-relative references.
1977 (elf_x86_64_allocate_dynrelocs): Pass TRUE to
1978 _bfd_elf_allocate_ifunc_dyn_relocs.
1979 (elf_x86_64_relocate_section): Allow R_X86_64_GOTPCREL,
1980 R_X86_64_GOTPCRELX, R_X86_64_REX_GOTPCRELX and
1981 R_X86_64_GOTPCREL64 relocations against STT_GNU_IFUNC symbols
1982 without PLT. Generate dynamic pointer relocation against
1983 STT_GNU_IFUNC symbol in the non-code section and store it in
1984 the proper RELA section. Don't allow non-pointer relocation
1985 against STT_GNU_IFUNC symbol without PLT.
1986 (elf_x86_64_finish_dynamic_symbol): Generate dynamic
1987 R_X86_64_IRELATIVE and R_X86_64_GLOB_DAT GOT relocations against
1988 STT_GNU_IFUNC symbols without PLT.
1989 (elf_x86_64_finish_dynamic_sections): Don't handle local
1990 STT_GNU_IFUNC symbols here.
1991 (elf_x86_64_output_arch_local_syms): Handle local STT_GNU_IFUNC
1992 symbols here.
1993 (elf_backend_output_arch_local_syms): New.
1994 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
1995 Pass FALSE to _bfd_elf_allocate_ifunc_dyn_relocs.
1996
80c135e5
TP
19972016-06-17 Thomas Preud'homme <thomas.preudhomme@arm.com>
1998 Tony Wang <tony.wang@arm.com>
1999
2000 * elf32-arm.c (elf32_arm_stub_long_branch_thumb2_only): Define stub
2001 sequence.
2002 (stub_long_branch_thumb2_only): Define stub.
2003 (arm_stub_is_thumb): Add case for arm_stub_long_branch_thumb2_only.
2004 (arm_stub_long_branch_thumb2_only): Likewise.
2005 (arm_type_of_stub): Use arm_stub_long_branch_thumb2_only for Thumb-2
2006 capable targets.
2007
4f26fb3a
JM
20082016-06-17 Jose E. Marchesi <jose.marchesi@oracle.com>
2009
2010 * archures.c (bfd_mach_sparc_v8plusc): Define.
2011 (bfd_mach_sparc_v9c): Likewise.
2012 (bfd_mach_sparc_v8plusd): Likewise.
2013 (bfd_mach_sparc_v9d): Likewise.
2014 (bfd_mach_sparc_v8pluse): Likewise.
2015 (bfd_mach_sparc_v9e): Likewise.
2016 (bfd_mach_sparc_v8plusv): Likewise
2017 (bfd_mach_sparc_v9v): Likewise.
2018 (bfd_mach_sparc_v8plusm): Likewise.
2019 (bfd_mach_sparc_v9m): Likewise.
2020 (bfd_mach_sparc_v9_p): Adapt to v8plusm and v9m.
2021 (bfd_mach_sparc_64bit_p): Likewise.
2022 * bfd-in2.h: Regenerate.
2023 * cpu-sparc.c (arch_info_struct): Add entries for
2024 bfd_mach_sparc_v8plus{c,d,e,v,m} and bfd_mach_sparc_v9{c,d,e,v,m}.
2025 * aoutx.h (machine_type): Handle bfd_mach_sparc_v8plus{c,d,e,v,m}
2026 and bfd_mach_sparc_v9{c,d,e,v,m}.
2027 * elf32-sparc.c (elf32_sparc_final_write_processing): Likewise.
2028 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Likewise.
2029
ca45f6e9
L
20302016-06-16 H.J. Lu <hongjiu.lu@intel.com>
2031
2032 * elf32-i386.c (elf_i386_check_relocs): Don't check undefined
2033 symbols for relocations against IFUNC symbols.
2034 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2035
f92339b8
MK
20362016-06-16 Marcin Kościelnicki <koriakin@0x04.net>
2037
2038 * elf32-s390.c (elf_s390_finish_dynamic_sections): Include
2039 .rela.iplt in DT_PLTRELSZ.
2040 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise,
2041 for DT_PLTRELSZ and DT_RELASZ as well.
2042
081b1afe
L
20432016-06-16 H.J. Lu <hongjiu.lu@intel.com>
2044
2045 * elf32-i386.c (elf_i386_check_relocs): Skip relocations in
2046 non-loaded, non-alloced sections.
2047 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2048
4c23f2ff
L
20492016-06-15 H.J. Lu <hongjiu.lu@intel.com>
2050
2051 * elf32-i386.c (elf_i386_check_relocs): Check SEC_ALLOC before
2052 allocating dynamic relocation.
2053 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
2054
31eef93e
SKS
20552016-06-14 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2056
2057 PR ld/20254
2058 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust reloc
2059 offsets until reloc_toaddr.
2060
c428ce9d
L
20612016-06-14 H.J. Lu <hongjiu.lu@intel.com>
2062
2063 * elf32-i386.c (elf_i386_reloc_type_class): Check R_386_IRELATIVE.
2064 Don't check symbol type for STN_UNDEF symbol index.
2065 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Check
2066 R_X86_64_IRELATIVE. Don't check symbol type for STN_UNDEF symbol
2067 index.
2068
60a019a0
TP
20692016-06-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
2070
2071 * elf32-arm.c (using_thumb_only): Force review of arch check logic for
2072 new architecture.
2073 (using_thumb2): Try Tag_THUMB_ISA_use first and check
2074 for exact arch value then. Force review of arch check logic for new
2075 architecture.
2076 (arch_has_arm_nop): Update and fix arch check logic. Force review of
2077 that logic for new architecture.
2078 (arch_has_thumb2_nop): Remove.
2079 (elf32_arm_tls_relax): Use using_thumb2 instead of above function.
2080 (elf32_arm_final_link_relocate): Likewise but using thumb2.
2081
3860d2b4
AM
20822016-06-14 Alan Modra <amodra@gmail.com>
2083
2084 * bfd-in.h (bfd_my_archive): Delete.
2085 * bfd-in2.h: Regenerate.
2086
b0cffb47
AM
20872016-06-14 Alan Modra <amodra@gmail.com>
2088
2089 PR ld/20241
2090 * archive.c (open_nested_file): Set my_archive.
2091 * bfd.c (_bfd_default_error_handler <%B>): Exclude archive file name
2092 for thin archives.
2093 * bfdio.c (bfd_tell): Don't adjust origin for thin archives.
2094 (bfd_seek): Likewise.
2095 * bfdwin.c (bfd_get_file_window): Likewise.
2096 * cache.c (cache_bmmap): Likewise.
2097 (bfd_cache_lookup_worker): Don't look in my_archive for thin archives.
2098 * mach-o.c (bfd_mach_o_follow_dsym): Don't open my_archive for
2099 thin archives.
2100 * plugin.c (try_claim): Likewise.
2101 * xcofflink.c (xcoff_link_add_dynamic_symbols): Use import path of
2102 file within thin archive, not the archive.
2103
712ec279
L
21042016-06-13 H.J. Lu <hongjiu.lu@intel.com>
2105
2106 PR ld/20244
2107 * elf32-i386.c (elf_i386_relocate_section): Add the .got.plt
2108 section address for R_386_GOT32/R_386_GOT32X relocations against
2109 IFUNC symbols if there is no base register and return error for
2110 PIC.
2111
ca8c86ef
L
21122016-06-13 H.J. Lu <hongjiu.lu@intel.com>
2113
2114 * elf32-i386.c (elf_i386_relocate_section): Simplify IFUNC
2115 GOT32 adjustment for static executables.
2116
0c9663cb
MR
21172016-06-13 Maciej W. Rozycki <macro@imgtec.com>
2118
2119 * elf32-mips.c (elf_mips_gnu_pcrel32): Update comment.
2120
815dc1bc
CZ
21212016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
2122
2123 * elf32-arc.c (elf_arc_relocate_section): Fixed condition.
2124
3b63d2ce
CM
21252016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
2126
2127 * elf32-arc.c (elf_arc_finish_dynamic_sections): Changed.
2128
2ab2f40d
CM
21292016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
2130
2131 * elf32-arc.c (arc_local_data, arc_local_data): Removed.
2132 (SECTSTART): Changed.
2133 (elf_arc_relocate_section): Fixed mistake in PIE related
2134 condition.
2135 (elf_arc_size_dynamic_sections): Changed DT_RELENT to DT_RELAENT.
2136
0f7f3789
CM
21372016-06-13 Cupertino Miranda <cmiranda@synospsy.com>
2138
2139 * elf32-arc.c (elf32_arc_reloc_type_class): Defined function to
2140 enable support for "-z combreloc" and DT_RELACOUNT.
2141 (elf_backend_reloc_type_class): Likewise
2142
74d7f0aa
L
21432016-06-11 H.J. Lu <hongjiu.lu@intel.com>
2144
2145 PR ld/20244
2146 * elf32-i386.c (elf_i386_relocate_section): When relocating
2147 R_386_GOT32, return error without a base register for PIC and
2148 subtract the .got.plt section address only with a base register.
2149
ef53be89
AM
21502016-06-10 Alan Modra <amodra@gmail.com>
2151
2152 * elf-strtab.c (struct strtab_save): Use size_t for "size".
2153 (struct elf_strtab_hash): Likewise for "size" and "alloced".
2154 (_bfd_elf_strtab_init): Formatting.
2155 (_bfd_elf_strtab_add): Return size_t rather than bfd_size_type.
2156 (_bfd_elf_strtab_addref): Take size_t idx param.
2157 (_bfd_elf_strtab_delref, _bfd_elf_strtab_refcount): Likewise.
2158 (_bfd_elf_strtab_offset): Likewise.
2159 (_bfd_elf_strtab_clear_all_refs): Use size_t idx.
2160 (_bfd_elf_strtab_save): Use size_t "idx" and "size" vars.
2161 (_bfd_elf_strtab_restore, _bfd_elf_strtab_emit): Similarly.
2162 (_bfd_elf_strtab_finalize): Similarly.
2163 * elf-bfd.h (_bfd_elf_strtab_add): Update prototypes.
2164 (_bfd_elf_strtab_addref, _bfd_elf_strtab_delref): Likewise.
2165 (_bfd_elf_strtab_refcount, _bfd_elf_strtab_offset): Likewise.
2166 * elf.c (bfd_elf_get_elf_syms): Calculate symbol buffer size
2167 using bfd_size_type.
2168 (bfd_section_from_shdr): Delete amt.
2169 (_bfd_elf_init_reloc_shdr): Likewise.
2170 (_bfd_elf_link_assign_sym_version): Likewise.
2171 (assign_section_numbers): Use size_t reloc_count.
2172 * elflink.c (struct elf_symbuf_head): Use size_t "count".
2173 (bfd_elf_link_record_dynamic_symbol): Use size_t for some vars.
2174 (elf_link_is_defined_archive_symbol): Likewise.
2175 (elf_add_dt_needed_tag): Likewise.
2176 (elf_finalize_dynstr): Likewise.
2177 (elf_link_add_object_symbols): Likewise.
2178 (bfd_elf_size_dynamic_sections): Likewise.
2179 (elf_create_symbuf): Similarly.
2180 (bfd_elf_match_symbols_in_sections): Likewise.
2181 (elf_link_swap_symbols_out): Likewise.
2182 (elf_link_check_versioned_symbol): Likewise.
2183 (bfd_elf_gc_record_vtinherit): Likewise.
2184 (bfd_elf_gc_common_finalize_got_offsets): Likewise.
2185
5c41dbc3
DC
21862016-06-08 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2187
2188 PR ld/20221
2189 * elf32-avr.c (elf32_avr_relax_delete_bytes): Adjust syms
2190 and relocs only if shrinking occurred.
2191
6eaa7fb5
L
21922016-06-08 H.J. Lu <hongjiu.lu@intel.com>
2193
2194 * elf64-i386.c (elf_i386_link_hash_entry): Add tls_get_addr.
2195 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 2.
2196 (elf_i386_check_tls_transition): Check indirect call and direct
2197 call with the addr32 prefix for general and local dynamic models.
2198 Set the tls_get_addr feild.
2199 (elf_i386_convert_load_reloc): Always use addr32 prefix for
2200 indirect ___tls_get_addr call via GOT.
2201 (elf_i386_relocate_section): Handle GD->LE, GD->IE and LD->LE
2202 transitions with indirect call and direct call with the addr32
2203 prefix.
2204
3b67f094
MK
22052016-06-07 Marcin Kościelnicki <koriakin@0x04.net>
2206
2207 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Fix comment.
2208 * elf64-s390.c (elf_s390x_plt_entry): Fix comment.
2209 (elf_s390_relocate_section): Fix comment.
2210 (elf_s390_finish_dynamic_sections): Fix initialization of fixed
2211 .got.plt entries.
2212
161db279
AK
22132016-06-07 Ulrich Weigand <ulrich.weigand@de.ibm.com>
2214
2215 * elf64-s390.c (elf_s390_finish_dynamic_sections): Subtract plt
2216 section offset when calculation the larl operand in the first PLT
2217 entry.
2218
14b57c7c
AM
22192016-06-07 Alan Modra <amodra@gmail.com>
2220
2221 * cpu-powerpc.c (powerpc_compatible): Allow bfd_mach_ppc_vle entry
2222 to match other 32-bit archs.
2223 * elf32-ppc.c (_bfd_elf_ppc_set_arch): New function.
2224 (ppc_elf_object_p): Call it.
2225 (ppc_elf_special_sections): Use APUINFO_SECTION_NAME. Fix
2226 overlong line.
2227 (APUINFO_SECTION_NAME, APUINFO_LABEL): Don't define here.
2228 * elf64-ppc.c (ppc64_elf_object_p): Call _bfd_elf_ppc_set_arch.
2229 * bfd-in.h (_bfd_elf_ppc_at_tls_transform,
2230 _bfd_elf_ppc_at_tprel_transform): Move to..
2231 * elf-bfd.h: ..here.
2232 (_bfd_elf_ppc_set_arch): Declare.
2233 * bfd-in2.h: Regenerate.
2234
e2cbcd91
L
22352016-06-06 H.J. Lu <hongjiu.lu@intel.com>
2236
2237 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add tls_get_addr.
2238 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 2.
2239 (elf_x86_64_check_tls_transition): Check indirect call and
2240 direct call with the addr32 prefix for general and local dynamic
2241 models. Set the tls_get_addr feild.
2242 (elf_x86_64_convert_load_reloc): Always use addr32 prefix for
2243 indirect __tls_get_addr call via GOT.
2244 (elf_x86_64_relocate_section): Handle GD->LE, GD->IE and LD->LE
2245 transitions with indirect call and direct call with the addr32
2246 prefix.
2247
2ac27cd3
CG
22482016-06-04 Christian Groessler <chris@groessler.org>
2249
2250 * coff-z8k.c (extra_case): Fix range check for R_JR relocation.
2251
99914dfd
NC
22522016-06-02 Nick Clifton <nickc@redhat.com>
2253
2254 PR target/20088
2255 * cpu-arm.c (processors): Add "arm_any" type to match any ARM
2256 architecture.
2257 (arch_info_struct): Likewise.
2258 (architectures): Likewise.
2259
4ad0bb5f
VG
22602016-06-02 Vineet Gupta <Vineet.Gupta1@synopsys.com>
2261
2262 * config.bfd: Replace -uclibc with *.
2263
3ddf1bdd
L
22642016-06-02 H.J. Lu <hongjiu.lu@intel.com>
2265
2266 * elf64-x86-64.c: Replace data32 with data16 in comments.
2267
5b677558
AM
22682016-05-31 Alan Modra <amodra@gmail.com>
2269
2270 PR ld/20159
2271 PR ld/16467
2272 * elflink.c (_bfd_elf_merge_symbol): Revert PR16467 change.
2273 (_bfd_elf_add_default_symbol): Don't indirect to/from defined
2274 symbol given a version by a script different to the version
2275 of the symbol being added.
2276 (elf_link_add_object_symbols): Use _bfd_elf_strtab_save and
2277 _bfd_elf_strtab_restore. Don't fudge dynstr references.
2278 * elf-strtab.c (_bfd_elf_strtab_restore_size): Delete.
2279 (struct strtab_save): New.
2280 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): New functions.
2281 * elf-bfd.h (_bfd_elf_strtab_restore_size): Delete.
2282 (_bfd_elf_strtab_save, _bfd_elf_strtab_restore): Declare.
2283
1fe0971e
TS
22842016-06-01 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
2285
2286 * elf32-hppa.h: Add extern "C".
2287 * elf32-nds32.h: Likewise.
2288 * elf32-tic6x.h: Likewise.
2289
885a1087
NC
22902016-06-01 Nick Clifton <nickc@redhat.com>
2291
2292 * po/sr.po: New Serbian translation.
2293 * configure.ac (ALL_LINGUAS): Add sr.
2294 * configure: Regenerate.
2295
99aefae6
MR
22962016-05-28 Maciej W. Rozycki <macro@imgtec.com>
2297
2298 * elfxx-mips.c (b_reloc_p): New function.
2299 (_bfd_mips_elf_relocate_section) <bfd_reloc_outofrange>: Handle
2300 branch relocations.
2301
77434823
MR
23022016-05-28 Maciej W. Rozycki <macro@imgtec.com>
2303
2304 * elfxx-mips.c (mips_elf_calculate_relocation): <R_MIPS16_26>
2305 <R_MIPS_26, R_MICROMIPS_26_S1>: Drop the region bits of the
2306 reloc location from calculation, treat the addend as signed with
2307 local non-section symbols and enable overflow detection.
2308
1a72702b
AM
23092016-05-28 Alan Modra <amodra@gmail.com>
2310
2311 * aoutx.h: Adjust linker callback calls throughout file,
2312 removing dead code.
2313 * bout.c: Likewise.
2314 * coff-alpha.c: Likewise.
2315 * coff-arm.c: Likewise.
2316 * coff-h8300.c: Likewise.
2317 * coff-h8500.c: Likewise.
2318 * coff-i960.c: Likewise.
2319 * coff-mcore.c: Likewise.
2320 * coff-mips.c: Likewise.
2321 * coff-ppc.c: Likewise.
2322 * coff-rs6000.c: Likewise.
2323 * coff-sh.c: Likewise.
2324 * coff-tic80.c: Likewise.
2325 * coff-w65.c: Likewise.
2326 * coff-z80.c: Likewise.
2327 * coff-z8k.c: Likewise.
2328 * coff64-rs6000.c: Likewise.
2329 * cofflink.c: Likewise.
2330 * ecoff.c: Likewise.
2331 * elf-bfd.h: Likewise.
2332 * elf-m10200.c: Likewise.
2333 * elf-m10300.c: Likewise.
2334 * elf32-arc.c: Likewise.
2335 * elf32-arm.c: Likewise.
2336 * elf32-avr.c: Likewise.
2337 * elf32-bfin.c: Likewise.
2338 * elf32-cr16.c: Likewise.
2339 * elf32-cr16c.c: Likewise.
2340 * elf32-cris.c: Likewise.
2341 * elf32-crx.c: Likewise.
2342 * elf32-d10v.c: Likewise.
2343 * elf32-epiphany.c: Likewise.
2344 * elf32-fr30.c: Likewise.
2345 * elf32-frv.c: Likewise.
2346 * elf32-ft32.c: Likewise.
2347 * elf32-h8300.c: Likewise.
2348 * elf32-hppa.c: Likewise.
2349 * elf32-i370.c: Likewise.
2350 * elf32-i386.c: Likewise.
2351 * elf32-i860.c: Likewise.
2352 * elf32-ip2k.c: Likewise.
2353 * elf32-iq2000.c: Likewise.
2354 * elf32-lm32.c: Likewise.
2355 * elf32-m32c.c: Likewise.
2356 * elf32-m32r.c: Likewise.
2357 * elf32-m68hc1x.c: Likewise.
2358 * elf32-m68k.c: Likewise.
2359 * elf32-mep.c: Likewise.
2360 * elf32-metag.c: Likewise.
2361 * elf32-microblaze.c: Likewise.
2362 * elf32-moxie.c: Likewise.
2363 * elf32-msp430.c: Likewise.
2364 * elf32-mt.c: Likewise.
2365 * elf32-nds32.c: Likewise.
2366 * elf32-nios2.c: Likewise.
2367 * elf32-or1k.c: Likewise.
2368 * elf32-ppc.c: Likewise.
2369 * elf32-s390.c: Likewise.
2370 * elf32-score.c: Likewise.
2371 * elf32-score7.c: Likewise.
2372 * elf32-sh.c: Likewise.
2373 * elf32-sh64.c: Likewise.
2374 * elf32-spu.c: Likewise.
2375 * elf32-tic6x.c: Likewise.
2376 * elf32-tilepro.c: Likewise.
2377 * elf32-v850.c: Likewise.
2378 * elf32-vax.c: Likewise.
2379 * elf32-visium.c: Likewise.
2380 * elf32-xstormy16.c: Likewise.
2381 * elf32-xtensa.c: Likewise.
2382 * elf64-alpha.c: Likewise.
2383 * elf64-hppa.c: Likewise.
2384 * elf64-ia64-vms.c: Likewise.
2385 * elf64-mmix.c: Likewise.
2386 * elf64-ppc.c: Likewise.
2387 * elf64-s390.c: Likewise.
2388 * elf64-sh64.c: Likewise.
2389 * elf64-x86-64.c: Likewise.
2390 * elflink.c: Likewise.
2391 * elfnn-aarch64.c: Likewise.
2392 * elfnn-ia64.c: Likewise.
2393 * elfxx-mips.c: Likewise.
2394 * elfxx-sparc.c: Likewise.
2395 * elfxx-tilegx.c: Likewise.
2396 * linker.c: Likewise.
2397 * pdp11.c: Likewise.
2398 * pe-mips.c: Likewise.
2399 * reloc.c: Likewise.
2400 * reloc16.c: Likewise.
2401 * simple.c: Likewise.
2402 * vms-alpha.c: Likewise.
2403 * xcofflink.c: Likewise.
2404 * elf32-rl78.c (get_symbol_value, get_romstart, get_ramstart): Delete
2405 status param. Adjust calls to these and linker callbacks throughout.
2406 * elf32-rx.c: (get_symbol_value, get_gp, get_romstart,
2407 get_ramstart): Delete status param. Adjust calls to these and
2408 linker callbacks throughout.
2409
bc27bb05
MR
24102016-05-27 Maciej W. Rozycki <macro@imgtec.com>
2411
2412 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS16_26>
2413 <R_MIPS_26, R_MICROMIPS_26_S1>: Include the addend in JALX's
2414 target alignment verification.
2415
ceab86af
MR
24162016-05-27 Maciej W. Rozycki <macro@imgtec.com>
2417
2418 * elfxx-mips.c (mips_elf_calculate_relocation): Also use the
2419 section name if `bfd_elf_string_from_elf_section' returns an
2420 empty string.
2421
ed53407e
MR
24222016-05-26 Maciej W. Rozycki <macro@imgtec.com>
2423
2424 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
2425 <bfd_reloc_outofrange>: Use the `%X%H' rather than `%C' format
2426 for message. Continue processing rather than returning failure.
2427
de341542 24282016-05-25 Maciej W. Rozycki <macro@imgtec.com>
ed53407e 2429
de341542
MR
2430 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
2431 <bfd_reloc_outofrange>: Call `->einfo' rather than `->warning'.
2432 Call `bfd_set_error'.
2433
e6cc316a
L
24342016-05-25 H.J. Lu <hongjiu.lu@intel.com>
2435
2436 PR binutils/14625
2437 * archive.c (bfd_slurp_armap): Replace
2438 bfd_elf64_archive_slurp_armap with
2439 _bfd_archive_64_bit_slurp_armap.
2440 (bsd_write_armap): Call _bfd_archive_64_bit_write_armap if
2441 BFD64 is defined and the archive is too big.
2442 (coff_write_armap): Likewise.
2443 * archive64.c (bfd_elf64_archive_slurp_armap): Renamed to ...
2444 (_bfd_archive_64_bit_slurp_armap): This.
2445 (bfd_elf64_archive_write_armap): Renamed to ...
2446 (_bfd_archive_64_bit_write_armap): This.
2447 * configure.ac: Add --enable-64-bit-archive.
2448 (want_64_bit_archive): New. Set to true by default for 64-bit
2449 MIPS and s390 ELF targets.
2450 (USE_64_BIT_ARCHIVE): New AC_DEFINE.
2451 * config.in: Regenerated.
2452 * configure: Likewise.
2453 * elf64-mips.c (bfd_elf64_archive_functions): Removed.
2454 (bfd_elf64_archive_slurp_armap): Likewise.
2455 (bfd_elf64_archive_write_armap): Likewise.
2456 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
2457 (bfd_elf64_archive_construct_extended_name_table): Likewise.
2458 (bfd_elf64_archive_truncate_arname): Likewise.
2459 (bfd_elf64_archive_read_ar_hdr): Likewise.
2460 (bfd_elf64_archive_write_ar_hdr): Likewise.
2461 (bfd_elf64_archive_openr_next_archived_file): Likewise.
2462 (bfd_elf64_archive_get_elt_at_index): Likewise.
2463 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
2464 (bfd_elf64_archive_update_armap_timestamp): Likewise.
2465 * elf64-s390.c (bfd_elf64_archive_functions): Removed.
2466 (bfd_elf64_archive_slurp_armap): Likewise.
2467 (bfd_elf64_archive_write_armap): Likewise.
2468 (bfd_elf64_archive_slurp_extended_name_table): Likewise.
2469 (bfd_elf64_archive_construct_extended_name_table): Likewise.
2470 (bfd_elf64_archive_truncate_arname): Likewise.
2471 (bfd_elf64_archive_read_ar_hdr): Likewise.
2472 (bfd_elf64_archive_write_ar_hdr): Likewise.
2473 (bfd_elf64_archive_openr_next_archived_file): Likewise.
2474 (bfd_elf64_archive_get_elt_at_index): Likewise.
2475 (bfd_elf64_archive_generic_stat_arch_elt): Likewise.
2476 (bfd_elf64_archive_update_armap_timestamp): Likewise.
2477 * elfxx-target.h (TARGET_BIG_SYM): Use _bfd_archive_64_bit on
2478 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined and
2479 bfd_elfNN_archive_functions isn't defined.
2480 (TARGET_LITTLE_SYM): Likewise.
2481 * libbfd-in.h (_bfd_archive_64_bit_slurp_armap): New prototype.
2482 (_bfd_archive_64_bit_write_armap): Likewise.
2483 (_bfd_archive_64_bit_slurp_extended_name_table): New macro.
2484 (_bfd_archive_64_bit_construct_extended_name_table): Likewise.
2485 (_bfd_archive_64_bit_truncate_arname): Likewise.
2486 (_bfd_archive_64_bit_read_ar_hdr): Likewise.
2487 (_bfd_archive_64_bit_write_ar_hdr): Likewise.
2488 (_bfd_archive_64_bit_openr_next_archived_file): Likewise.
2489 (_bfd_archive_64_bit_get_elt_at_index): Likewise.
2490 (_bfd_archive_64_bit_generic_stat_arch_elt): Likewise.
2491 (_bfd_archive_64_bit_update_armap_timestamp): Likewise.
2492 * libbfd.h: Regenerated.
2493 * plugin.c (plugin_vec): Use _bfd_archive_64_bit on
2494 BFD_JUMP_TABLE_ARCHIVE if USE_64_BIT_ARCHIVE is defined.
2495
b95a0a31
L
24962016-05-25 H.J. Lu <hongjiu.lu@intel.com>
2497
2498 PR ld/20103
2499 * cofflink.c (coff_link_check_archive_element): Return TRUE if
2500 linker add_archive_element callback returns FALSE.
2501 * ecoff.c (ecoff_link_check_archive_element): Likewise.
2502 * elf64-ia64-vms.c (elf64_vms_link_add_archive_symbols): Skip
2503 archive element if linker add_archive_element callback returns
2504 FALSE.
2505 * elflink.c (elf_link_add_archive_symbols): Likewise.
2506 * pdp11.c (aout_link_check_ar_symbols): Likewise.
2507 * vms-alpha.c (alpha_vms_link_add_archive_symbols): Likewise.
2508 * xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Likewise.
2509 (xcoff_link_check_ar_symbols): Likewise.
2510
7db9a74e
MR
25112016-05-24 Maciej W. Rozycki <macro@imgtec.com>
2512
2513 * elfxx-mips.c (_bfd_mips_elf_relocate_section)
2514 <bfd_reloc_outofrange>: Unify error reporting code.
2515
b7f28d87
JW
25162016-05-23 Jim Wilson <jim.wilson@linaro.org>
2517
2518 * elfnn-aarch64.c: Unconditionally enable R_AARCH64_NULL and
2519 R_AARCH64_NONE. Use HOWTO64 for R_AARCH64_NULL.
2520 * relocs.c: Add BFD_RELOC_AARCH64_NULL.
2521 * bfd-in2.h: Regenerate.
2522 * libbfd.h: Likewise.
2523
a2bea324
KS
25242016-05-23 Kuba Sejdak <jakub.sejdak@phoesys.com>
2525
2526 * config.bfd: Add entry for arm-phoenix.
2527
d7c5bd02
TP
25282016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
2529
2530 * elf32-arm.c (arm_dedicated_stub_section_padding): New function.
2531 (elf32_arm_size_stubs): Declare stub_type in a more outer scope and
2532 account for padding for stub section requiring one.
2533 (elf32_arm_build_stubs): Add comment to stress the importance of
2534 zeroing veneer section content.
2535
daa4adae
TP
25362016-05-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
2537
2538 * bfd-in.h (bfd_elf32_arm_keep_private_stub_output_sections): Declare
2539 bfd hook.
2540 * bfd-in2.h: Regenerate.
2541 * elf32-arm.c (arm_dedicated_stub_output_section_required): New
2542 function.
2543 (arm_dedicated_stub_output_section_required_alignment): Likewise.
2544 (arm_dedicated_stub_output_section_name): Likewise.
2545 (arm_dedicated_stub_input_section_ptr): Likewise.
2546 (elf32_arm_create_or_find_stub_sec): Add stub type parameter and
2547 function description comment. Add support for dedicated output stub
2548 section to given stub types.
2549 (elf32_arm_add_stub): Add a stub type parameter and pass it down to
2550 elf32_arm_create_or_find_stub_sec.
2551 (elf32_arm_create_stub): Pass stub type down to elf32_arm_add_stub.
2552 (elf32_arm_size_stubs): Pass stub type when calling
2553 elf32_arm_create_or_find_stub_sec for Cortex-A8 erratum veneers.
2554 (bfd_elf32_arm_keep_private_stub_output_sections): New function.
2555
52bf37dd
L
25562016-05-20 H.J. Lu <hongjiu.lu@intel.com>
2557
2558 * elf32-i386.c (elf_i386_check_relocs): Don't check R_386_GOT32
2559 when setting need_convert_load.
2560
17c6c9d9
MR
25612016-05-20 Maciej W. Rozycki <macro@imgtec.com>
2562
2563 * elfxx-mips.c (mips_elf_read_rel_addend): Adjust the addend for
2564 microMIPS JALX.
2565
7d4d9709
L
25662016-05-19 H.J. Lu <hongjiu.lu@intel.com>
2567
2568 PR ld/20117
2569 * elf32-i386.c (elf_i386_convert_load_reloc): Don't check
2570 R_386_GOT32X.
2571 (elf_i386_convert_load): Don't convert R_386_GOT32.
2572
606851fb
AM
25732016-05-20 Alan Modra <amodra@gmail.com>
2574
2575 PR gas/20118
2576 * elf.c (elf_fake_sections): Set sh_entsize for SHT_INIT_ARRAY,
2577 SHT_FINI_ARRAY, and SHT_PREINIT_ARRAY.
2578
3c8adaca
CZ
25792016-05-19 Cupertino Miranda <cmiranda@synopsys.com>
2580
2581 * elf32-arc.c (arc_elf_final_write_processing): Changed.
2582 (debug_arc_reloc): Likewise.
2583 (elf_arc_relocate_section): Likewise.
2584 (elf_arc_check_relocs): Likewise.
2585 (elf_arc_adjust_dynamic_symbol): Likewise.
2586 (elf_arc_add_symbol_hook): Likewise.
2587
6b200de0
MR
25882016-05-19 Maciej W. Rozycki <macro@imgtec.com>
2589
2590 * config.bfd: Remove `am34-*-linux*' support.
2591
57e7d118
AM
25922016-05-19 Alan Modra <amodra@gmail.com>
2593
2594 * elf64-ppc.c (allocate_dynrelocs): Allocate got and other dynamic
2595 relocs before plt relocs.
2596
9f284bf9
AM
25972016-05-19 Alan Modra <amodra@gmail.com>
2598
2599 * elf64-ppc.c (ppc64_elf_branch_reloc): Check for NULL owner
2600 before dereferencing.
2601
50498060
NC
26022016-05-18 Nick Clifton <nickc@redhat.com>
2603
2604 * po/sv.po: Updated Swedish translation.
2605
7f991970
AM
26062016-05-18 Alan Modra <amodra@gmail.com>
2607
2608 * elf32-arm.c (elf32_arm_size_stubs): Free or cache local syms
2609 for each BFD. Don't goto error_ret_free_local from outside loop.
2610
a43942db
MR
26112016-05-17 Maciej W. Rozycki <macro@imgtec.com>
2612
2613 * elf-s390-common.c (elf_s390_add_symbol_hook): Remove
2614 STB_GNU_UNIQUE handling.
2615 * elf32-arc.c (elf_arc_add_symbol_hook): Likewise.
2616 * elf32-arm.c (elf32_arm_add_symbol_hook): Likewise.
2617 * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise.
2618 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
2619 * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise.
2620 * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise.
2621 * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise.
2622 * elf64-x86-64.c (elf_x86_64_add_symbol_hook): Likewise.
2623 * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise.
2624 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
2625 * elf32-i386.c (elf_i386_add_symbol_hook): Remove function.
2626 (elf_backend_add_symbol_hook): Remove macro.
2627 * elflink.c (elf_link_add_object_symbols): Set `has_gnu_symbols'
2628 for STB_GNU_UNIQUE symbols.
2629
71de3413
MR
26302016-05-16 Maciej W. Rozycki <macro@imgtec.com>
2631
2632 * elf32-v850.c (v850_elf_copy_notes): New function, factored out
2633 from...
2634 (v850_elf_copy_private_bfd_data): ... here. Call the new
2635 function and `_bfd_elf_copy_private_bfd_data'.
2636
2168b268
L
26372016-05-13 H.J. Lu <hongjiu.lu@intel.com>
2638
2639 PR ld/20093
2640 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Don't convert
2641 GOTPCREL relocation against large section.
2642
4ade44b7
AM
26432016-05-13 Alan Modra <amodra@gmail.com>
2644
2645 * elf-m10300.c (_bfd_mn10300_elf_finish_dynamic_sections): Use
2646 linker dynamic sections in calculating size and address of
2168b268 2647 dynamic tags rather than using output sections. Remove asserts.
4ade44b7
AM
2648 * elf32-arm.c (elf32_arm_finish_dynamic_sections): Likewise.
2649 * elf32-cr16.c (_bfd_cr16_elf_finish_dynamic_sections): Likewise.
2650 * elf32-cris.c (elf_cris_finish_dynamic_sections): Likewise.
2651 * elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
2652 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
2653 * elf32-m32r.c (m32r_elf_finish_dynamic_sections): Likewise.
2654 * elf32-m68k.c (elf_m68k_finish_dynamic_sections): Likewise.
2655 * elf32-metag.c (elf_metag_finish_dynamic_sections): Likewise.
2656 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Likewise.
2657 * elf32-nds32.c (nds32_elf_finish_dynamic_sections): Likewise.
2658 * elf32-nios2.c (nios2_elf32_finish_dynamic_sections): Likewise.
2659 * elf32-or1k.c (or1k_elf_finish_dynamic_sections): Likewise.
2660 * elf32-s390.c (elf_s390_finish_dynamic_sections): Likewise.
2661 * elf32-score.c (s3_bfd_score_elf_finish_dynamic_sections): Likewise.
2662 * elf32-score7.c (s7_bfd_score_elf_finish_dynamic_sections): Likewise.
2663 * elf32-vax.c (elf_vax_finish_dynamic_sections): Likewise.
2664 * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Likewise.
2665 * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Likewise.
2666 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
2667 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
2668 * elflink.c (bfd_elf_final_link): Likewise.
2669 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Likewise.
2670 * elfxx-sparc.c (sparc_finish_dyn): Likewise. Adjust error message.
2671 * elf32-arc.c (GET_SYMBOL_OR_SECTION): Remove ASSERT arg and
2672 don't set doit. Look up dynobj section.
2673 (elf_arc_finish_dynamic_sections): Adjust GET_SYMBOL_OR_SECTION
2674 invocation and dynamic tag vma calculation. Don't test
2675 boolean var == TRUE.
2676 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_sections): Fix
2677 DT_JMPREL calc.
2678
c8e44c6d
AM
26792016-05-13 Alan Modra <amodra@gmail.com>
2680
2681 * elflink.c (elf_link_sort_relocs): Wrap overlong lines. Fix
2682 octets_per_byte. Put dynamic .rela.plt last in link orders.
2683 Assign output_offset for reloc sections rather than writing
2684 sorted relocs from block corresponding to output_offset.
2685
1997c994
AM
26862016-05-12 Alan Modra <amodra@gmail.com>
2687
2688 * elf-bfd.h (elf_reloc_type_class): Put reloc_class_plt last.
2689
8f4f9071
MF
26902016-05-11 Andrew Bennett <andrew.bennett@imgtec.com>
2691
2692 * elfxx-mips.c (print_mips_ases): Add DSPR3.
2693
a464198b
AM
26942016-05-11 Alan Modra <amodra@gmail.com>
2695
2696 * elf32-hppa.c (elf32_hppa_init_stub_bfd): New function.
2697 (elf32_hppa_check_relocs): Don't set dynobj.
2698 (elf32_hppa_size_stubs): Test !SEC_LINKER_CREATED for stub sections.
2699 (elf32_hppa_build_stubs): Likewise.
2700 * elf32-hppa.h (elf32_hppa_init_stub_bfd): Declare.
2701
3bd43ebc
AM
27022016-05-11 Alan Modra <amodra@gmail.com>
2703
2704 PR 20060
2705 * elf64-ppc.c (ppc64_elf_tls_setup): Clear forced_local.
2706 * elf32-ppc.c (ppc_elf_tls_setup): Likewise.
2707
4e7fbb34
JW
27082016-05-10 Jiong Wang <jiong.wang@arm.com>
2709
2710 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Remove redundant
2711 aarch64_tls_transition check.
2712
4f4faa4d
TP
27132016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2714
2715 * elf32-arm.c (enum elf32_arm_stub_type): New max_stub_type
2716 enumerator.
2717 (arm_stub_sym_claimed): New function.
2718 (elf32_arm_create_stub): Use veneered symbol name and section if
2719 veneer needs to claim its symbol, and keep logic unchanged otherwise.
2720 (arm_stub_claim_sym): New function.
2721 (arm_map_one_stub): Call arm_stub_claim_sym if veneer needs to claim
2722 veneered symbol, otherwise create local symbol as before.
2723
39d911fc
TP
27242016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2725
2726 * elf32-arm.c (elf32_arm_size_stubs): Use new macros
2727 ARM_GET_SYM_BRANCH_TYPE and ARM_SET_SYM_BRANCH_TYPE to respectively get
2728 and set branch type of a symbol.
2729 (bfd_elf32_arm_process_before_allocation): Likewise.
2730 (elf32_arm_relocate_section): Likewise and fix identation along the
2731 way.
2732 (allocate_dynrelocs_for_symbol): Likewise.
2733 (elf32_arm_finish_dynamic_symbol): Likewise.
2734 (elf32_arm_swap_symbol_in): Likewise.
2735 (elf32_arm_swap_symbol_out): Likewise.
2736
6bde4c52
TP
27372016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2738
2739 * bfd-in.h (elf32_arm_size_stubs): Add an output section parameter.
2740 * bfd-in2.h: Regenerated.
2741 * elf32-arm.c (struct elf32_arm_link_hash_table): Add an output section
2742 parameter to add_stub_section callback.
2743 (elf32_arm_create_or_find_stub_sec): Get output section from link_sec
2744 and pass it down to add_stub_section.
2745 (elf32_arm_add_stub): Set section to stub_sec if NULL before using it
2746 for error message.
2747 (elf32_arm_size_stubs): Add output section parameter to
2748 add_stub_section function pointer parameter.
2749
b715f643
TP
27502016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2751
2752 * elf32-arm.c (elf32_arm_create_stub): New function.
2753 (elf32_arm_size_stubs): Use elf32_arm_create_stub for stub creation.
2754
8d9d9490
TP
27552016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2756
2757 * elf32-arm.c (enum elf32_arm_stub_type): Delete
2758 arm_stub_a8_veneer_lwm enumerator.
2759 (arm_stub_a8_veneer_lwm): New unsigned constant to replace
2760 aforementioned enumerator.
2761 (struct elf32_arm_stub_hash_entry): Delete target_addend
2762 field and add source_value.
2763 (struct a8_erratum_fix): Delete addend field and add target_offset.
2764 (stub_hash_newfunc): Initialize source_value field amd remove
2765 initialization for target_addend.
2766 (arm_build_one_stub): Stop special casing Thumb relocations: promote
2767 the else to being always executed, moving the
2768 arm_stub_a8_veneer_b_cond specific code in it. Remove
2769 stub_entry->target_addend from points_to computation.
2770 (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
2771 to target symbol from start of section rather than the offset from the
2772 stub address.
2773 (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
2774 fields from struct a8_erratum_fix's offset and target_offset
2775 respectively.
2776 (make_branch_to_a8_stub): Rename target variable to loc. Compute
2777 veneered_insn_loc and loc using stub_entry's source_value.
2778
15afaa63
TP
27792016-05-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
2780
2781 (elf32_arm_merge_eabi_attributes): Add merging logic for
2782 Tag_DSP_extension.
2783
66a36822
PC
27842016-05-10 Pip Cet <pipcet@gmail.com>
2785
2786 PR ld/20059
2787 * elfxx-target.h (bfd_elfNN_bfd_copy_link_hash_symbol_type):
2788 Define as _bfd_generic_copy_link_hash_symbol_type when using
2789 generic hash table.
2790
315350be
NC
27912016-05-09 Nick Clifton <nickc@redhat.com>
2792
2793 PR binutils/20063
2794 * elf.c (bfd_elf_get_elf_syms): Check for out of range sh_link
2795 field before accessing sections array.
2796
9239bbd3
CM
27972016-05-09 Christophe Monat <christophe.monat@st.com>
2798
2799 PR ld/20030
2800 * elf32-arm.c (is_thumb2_vldm): Account for T1 (DP) encoding.
2801 (stm32l4xx_need_create_replacing_stub): Rename ambiguous nb_regs
2802 to nb_words.
2803 (create_instruction_vldmia): Add is_dp to disambiguate SP/DP
2804 encoding.
2805 (create_instruction_vldmdb): Likewise.
2806 (stm32l4xx_create_replacing_stub_vldm): is_dp detects DP encoding,
2807 uses it to re-encode.
2808
73597c18
NC
28092016-05-09 Nick Clifton <nickc@redhat.com>
2810
2811 PR 19938
2812 * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Revert accidental
2813 commit.
2814
ae1bb197
AM
28152016-05-09 Alan Modra <amodra@gmail.com>
2816
2817 * elf64-ppc.c (ppc64_elf_init_stub_bfd): Remove redundant NULL check.
2818
97196564
L
28192016-05-06 H.J. Lu <hongjiu.lu@intel.com>
2820
2821 PR ld/17550
2822 * elf-bfd.h (elf_link_hash_entry): Update comments for indx,
2823 documenting that indx == -3 if symbol is defined in a discarded
2824 section.
2825 * elflink.c (elf_link_add_object_symbols): Set indx to -3 if
2826 symbol is defined in a discarded section.
2827 (elf_link_output_extsym): Strip a global symbol defined in a
2828 discarded section.
2829
030e823c
L
28302016-05-06 H.J. Lu <hongjiu.lu@intel.com>
2831
2832 * elf32-i386.c (elf_backend_add_symbol_hook): Defined for Intel
2833 MCU.
2834
c175a657
L
28352016-05-05 H.J. Lu <hongjiu.lu@intel.com>
2836
2837 * elf32-i386.c (elf_i386_convert_load): Extract the GOT load
2838 conversion to ...
2839 (elf_i386_convert_load_reloc): This. New function.
2840 * elf64-x86-64.c (elf_x86_64_convert_load): Extract the GOT load
2841 conversion to ...
2842 (elf_x86_64_convert_load_reloc): This. New function.
2843
bedfd056
L
28442016-05-05 H.J. Lu <hongjiu.lu@intel.com>
2845
2846 * elf32-i386.c (elf_i386_check_tls_transition): Remove abfd.
2847 Don't check if contents == NULL.
2848 (elf_i386_tls_transition): Add from_relocate_section. Check
2849 from_relocate_section instead of contents != NULL. Update
2850 elf_i386_check_tls_transition call.
2851 (elf_i386_check_relocs): Cache the section contents if
2852 keep_memory is FALSE. Pass FALSE as from_relocate_section to
2853 elf_i386_tls_transition.
2854 (elf_i386_relocate_section): Pass TRUE as from_relocate_section
2855 to elf_i386_tls_transition.
2856 (elf_backend_caches_rawsize): New.
2857 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Don't check
2858 if contents == NULL.
2859 (elf_x86_64_tls_transition): Add from_relocate_section. Check
2860 from_relocate_section instead of contents != NULL.
2861 (elf_x86_64_check_relocs): Cache the section contents if
2862 keep_memory is FALSE. Pass FALSE as from_relocate_section to
2863 elf_x86_64_tls_transition.
2864 (elf_x86_64_relocate_section): Pass TRUE as from_relocate_section
2865 to elf_x86_64_tls_transition.
2866 (elf_backend_caches_rawsize): New.
2867
6d6a648c
MR
28682016-05-03 Maciej W. Rozycki <macro@imgtec.com>
2869
2870 PR 10549
2871 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Handle
2872 STB_GNU_UNIQUE.
2873
1f56df9d
JW
28742016-05-03 Jiong Wang <jiong.wang@arm.com>
2875
2876 * bfd-in.h (bfd_elf64_aarch64_set_options): Update prototype.
2877 * bfd-in2.h (bfd_elf64_aarch64_set_options): Likewise.
2878 * elfnn-aarch64.c (bfd_elfNN_aarch64_set_options): Initialize
2879 no_apply_dynamic_relocs.
2880 (elfNN_aarch64_final_link_relocate): Apply absolute relocations even though
2881 dynamic relocations generated.
2882
493f652c
L
28832016-04-29 H.J. Lu <hongjiu.lu@intel.com>
2884
2885 * elf32-i386.c (elf_i386_size_dynamic_sections): Move interp
2886 setting to ...
2887 (elf_i386_create_dynamic_sections): Here.
2888 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Move
2889 interp setting to ...
2890 (elf_x86_64_create_dynamic_sections): Here.
2891
e62b9723
L
28922016-04-29 H.J. Lu <hongjiu.lu@intel.com>
2893
2894 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take GOT_RELOC
2895 and replace (EH)->has_got_reloc with GOT_RELOC.
2896 (elf_i386_fixup_symbol): Pass has_got_reloc to
2897 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2898 (elf_i386_allocate_dynrelocs): Likewise.
2899 (elf_i386_relocate_section): Likewise.
2900 (elf_i386_finish_dynamic_symbol): Likewise.
2901 (elf_i386_convert_load): Pass TRUE to
2902 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2903 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Take
2904 GOT_RELOC and replace (EH)->has_got_reloc with GOT_RELOC.
2905 (elf_x86_64_fixup_symbol): Pass has_got_reloc to
2906 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2907 (elf_x86_64_allocate_dynrelocs): Likewise.
2908 (elf_x86_64_relocate_section): Likewise.
2909 (elf_x86_64_finish_dynamic_symbol): Likewise.
2910 (elf_x86_64_convert_load): Pass TRUE to
2911 UNDEFINED_WEAK_RESOLVED_TO_ZERO.
2912
c337a162
L
29132016-04-29 H.J. Lu <hongjiu.lu@intel.com>
2914
2915 * elf32-i386.c (check_relocs_failed): New.
2916 (elf_i386_check_relocs): Set check_relocs_failed on error.
2917 (elf_i386_relocate_section): Skip if check_relocs failed.
2918
afd9acee
L
29192016-04-29 H.J. Lu <hongjiu.lu@intel.com>
2920
2921 * elf64-x86-64.c (elf_x86_64_check_relocs): Set
2922 check_relocs_failed on error.
2923
5522f910
NC
29242016-04-29 Nick Clifton <nickc@redhat.com>
2925
2926 PR 19938
2927 * elf-bfd.h (struct elf_backend_data): Rename
2928 elf_backend_set_special_section_info_and_link to
2929 elf_backend_copy_special_section_fields.
2930 * elfxx-target.h: Likewise.
2931 * elf.c (section_match): Ignore the SHF_INFO_LINK flag when
2932 comparing section flags.
2933 (copy_special_section_fields): New function.
2934 (_bfd_elf_copy_private_bfd_data): Copy the EI_ABIVERSION field.
2935 Perform two scans over special sections. The first one looks for
2936 a direct mapping between the output section and an input section.
2937 The second scan looks for a possible match based upon section
2938 characteristics.
2939 * elf32-arm.c (elf32_arm_copy_special_section_fields): New
2940 function. Handle setting the sh_link field of SHT_ARM_EXIDX
2941 sections.
2942 * elf32-i386.c (elf32_i386_set_special_info_link): Rename to
2943 elf32_i386_copy_solaris_special_section_fields.
2944 * elf32-sparc.c (elf32_sparc_set_special_section_info_link):
2945 Rename to elf32_sparc_copy_solaris_special_section_fields.
2946 * elf64-x86-64.c (elf64_x86_64_set_special_info_link): Rename to
2947 elf64_x86_64_copy_solaris_special_section_fields.
2948
786a118c
NC
29492016-04-28 Nick Clifton <nickc@redhat.com>
2950
2951 * po/zh_CN.po: Updated Chinese (simplified) translation.
2952
91f8bf69
L
29532016-04-27 H.J. Lu <hongjiu.lu@intel.com>
2954
2955 PR ld/20006
2956 * elf64-x86-64.c (elf_x86_64_convert_load): Skip debug sections
2957 when estimating distances between output sections.
2958
a6a4679f
AM
29592016-04-27 Alan Modra <amodra@gmail.com>
2960
2961 * elflink.c (_bfd_elf_is_start_stop): New function.
2962 (_bfd_elf_gc_mark_rsec): Use it.
2963 * elf-bfd.h (_bfd_elf_is_start_stop): Declare.
2964
28cc9170
TS
29652016-04-26 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
2966
2967 * elf32-rx.c (rx_set_section_contents): Avoid arithmetic on void *.
2968 * mmo.c (mmo_get_section_contents): Likewise.
2969 (mmo_set_section_contents): Likewise.
2970
d5486c43
L
29712016-04-26 H.J. Lu <hongjiu.lu@intel.com>
2972
2973 * elf-bfd.h (elf_link_hash_table): Update comments for
2974 dynsymcount.
2975 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always count for
2976 the unused NULL entry at the head of dynamic symbol table.
2977 (bfd_elf_size_dynsym_hash_dynstr): Remove dynsymcount != 0
2978 checks.
2979
6645479e
L
29802016-04-21 H.J. Lu <hongjiu.lu@intel.com>
2981
2982 * elflink.c (_bfd_elf_link_create_dynstrtab): Exclude linker
2983 created file from dynobj.
2984
6cd255ca
L
29852016-04-21 H.J. Lu <hongjiu.lu@intel.com>
2986
2987 * elflink.c (_bfd_elf_link_create_dynstrtab): Set dynobj to a
2988 normal input file if possible.
2989
4f3b23b3
NC
29902016-04-21 Nick Clifton <nickc@redhat.com>
2991
2992 * aout-adobe.c: Use _bfd_generic_link_check_relocs.
2993 * aout-target.h: Likewise.
2994 * aout-tic30.c: Likewise.
2995 * binary.c: Likewise.
2996 * bout.c: Likewise.
2997 * coff-alpha.c: Likewise.
2998 * coff-rs6000.c: Likewise.
2999 * coff64-rs6000.c: Likewise.
3000 * coffcode.h: Likewise.
3001 * i386msdos.c: Likewise.
3002 * i386os9k.c: Likewise.
3003 * ieee.c: Likewise.
3004 * ihex.c: Likewise.
3005 * libbfd-in.h: Likewise.
3006 * libecoff.h: Likewise.
3007 * mach-o-target.c: Likewise.
3008 * mmo.c: Likewise.
3009 * nlm-target.h: Likewise.
3010 * oasys.c: Likewise.
3011 * pef.c: Likewise.
3012 * plugin.c: Likewise.
3013 * ppcboot.c: Likewise.
3014 * som.c: Likewise.
3015 * srec.c: Likewise.
3016 * tekhex.c: Likewise.
3017 * versados.c: Likewise.
3018 * vms-alpha.c: Likewise.
3019 * xsym.c: Likewise.
3020 * elfxx-target.h: Use _bfd_elf_link_check_relocs.
3021 * linker.c (bfd_link_check_relocs): New function.
3022 (_bfd_generic_link_check_relocs): New function.
3023 * targets.c (BFD_JUMP_TABLE_LINK): Add initialization of
3024 _bfd_link_check_relocs field.
3025 (struct bfd_target)L Add _bfd_link_check_relocs field.
3026 * bfd-in2.h: Regenerate.
3027 * libbfd.h: Regenerate.
3028
e66cdd68
L
30292016-04-20 H.J. Lu <hongjiu.lu@intel.com>
3030
3031 * elf32-i386.c (elf_i386_gc_sweep_hook): Removed.
3032 (elf_backend_gc_sweep_hook): Likewise.
3033 * elf64-x86-64.c (elf_x86_64_gc_sweep_hook): Likewise.
3034 (elf_backend_gc_sweep_hook): Likewise.
3035
5ce03cea
L
30362016-04-20 H.J. Lu <hongjiu.lu@intel.com>
3037
3038 * elflink.c (_bfd_elf_link_check_relocs): Don't check relocations
3039 in excluded sections
3040
338c190a
L
30412016-04-20 H.J. Lu <hongjiu.lu@intel.com>
3042
3043 PR ld/19969
3044 * elf64-x86-64.c (check_relocs_failed): New.
3045 (elf_x86_64_need_pic): Moved before elf_x86_64_check_relocs.
3046 Support relocation agaist local symbol. Set check_relocs_failed.
3047 (elf_x86_64_check_relocs): Use elf_x86_64_need_pic. Check
3048 R_X86_64_32 relocation overflow.
3049 (elf_x86_64_relocate_section): Skip if check_relocs failed.
3050 Update one elf_x86_64_need_pic and remove one elf_x86_64_need_pic.
3051
466ee2af
L
30522016-04-20 H.J. Lu <hongjiu.lu@intel.com>
3053
3054 * elf32-i386.c (elf_i386_check_relocs): Call
3055 _bfd_elf_create_ifunc_sections only for STT_GNU_IFUNC symbol.
3056 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
3057
d9689752
L
30582016-04-20 H.J. Lu <hongjiu.lu@intel.com>
3059
3060 * elf-bfd.h (_bfd_elf_link_check_relocs): New.
3061 * elflink.c (_bfd_elf_link_check_relocs): New function.
3062 (elf_link_add_object_symbols): Call _bfd_elf_link_check_relocs
3063 if check_relocs_after_open_input is FALSE.
3064
e6c7cdec
TS
30652016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
3066
3067 * cache.c: Update old style function definitions.
3068 * elf32-m68k.c: Likewise.
3069 * elf64-mmix.c: Likewise.
3070 * stab-syms.c: Likewise.
3071
b98e6871
TS
30722016-04-20 Trevor Saunders <tbsaunde+binutils@tbsaunde.org>
3073
3074 * elf32-arm.c (put_thumb2_insn): Change argument type to bfd_byte *.
3075
6fd8e7c2
L
30762016-04-15 H.J. Lu <hongjiu.lu@intel.com>
3077
3078 * Makefile.in: Regenerated with automake 1.11.6.
3079 * aclocal.m4: Likewise.
3080 * doc/Makefile.in: Likewise.
3081
4b0c052e
AB
30822016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
3083
3084 * reloc.c: Add BFD_RELOC_ARC_NPS_CMEM16 entry.
3085 * bfd-in2.h: Regenerate.
3086 * libbfd.h: Regenerate.
3087 * elf32-arc.c: Add 'opcode/arc.h' include.
3088 (struct arc_relocation_data): Add symbol_name.
3089 (arc_special_overflow_checks): New function.
3090 (arc_do_relocation): Use arc_special_overflow_checks, reindent as
3091 required, add an extra comment.
3092 (elf_arc_relocate_section): Setup symbol_name in reloc_data.
3093
33cbe6c0
AB
30942016-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
3095
3096 * elf32-arc.c (tls_got_entries): Add 'TLS_GOT_' prefix to all
3097 entries.
3098 (elf_arc_relocate_section): Update enum uses.
3099 (elf_arc_check_relocs): Likewise.
3100 (elf_arc_finish_dynamic_symbol): Likewise.
3101
7634c4e6
L
31022016-04-14 H.J. Lu <hongjiu.lu@intel.com>
3103
3104 * elf.c (_bfd_elf_copy_private_bfd_data): Replace "link" with
3105 "sh_link".
3106
84865015
NC
31072016-04-14 Nick Clifton <nickc@redhat.com>
3108
3109 PR target/19938
3110 * elf-bbfd.h (struct elf_backend_data): New field:
3111 elf_strtab_flags.
3112 New field: elf_backend_set_special_section_info_and_link
3113 * elfxx-target.h (elf_backend_strtab_flags): Define if not already
3114 defined.
3115 (elf_backend_set_special_section_info_and_link): Define if not
3116 already defined.
3117 (elfNN_bed): Use elf_backend_set_special_section_info_and_link and
3118 elf_backend_strtab_flags macros to initialise fields in structure.
3119 * elf.c (_bfd_elf_make_section_from_shdr): Check for SHF_STRINGS
3120 being set even if SHF_MERGE is not set.
3121 (elf_fake_sections): Likewise.
3122 (section_match): New function. Matches two ELF sections based
3123 upon fixed characteristics.
3124 (find_link): New function. Locates a section in a BFD that
3125 matches a section in a different BFD.
3126 (_bfd_elf_copy_private_bfd_data): Copy the sh_info and sh_link
3127 fields of reserved sections.
3128 (bfd_elf_compute_section_file_positions): Set the flags for the
3129 .shstrtab section based upon the elf_strtab_flags field in the
3130 elf_backend_data structure.
3131 (swap_out_syms): Likewise for the .strtab section.
3132 * elflink.c (bfd_elf_final_link): Set the flags for the
3133 .strtab section based upon the elf_strtab_flags field in the
3134 elf_backend_data structure.
3135 * elf32-i386.c (elf32_i386_set_special_info_link): New function.
3136 (elf_backend_strtab_flags): Set to SHF_STRINGS for Solaris
3137 targets.
3138 (elf_backend_set_special_section_info_and_link): Define for
3139 Solaris targets.
3140 * elf32-sparc.c: Likewise.
3141 * elf64-x86-64.c: Likewise.
3142
2df3368d
L
31432016-04-11 H.J. Lu <hongjiu.lu@intel.com>
3144
3145 PR ld/19939
3146 * elf-bfd.h (_bfd_elf_allocate_ifunc_dyn_relocs): Add a pointer
3147 to bfd_boolean.
3148 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
3149 Set *readonly_dynrelocs_against_ifunc_p to TRUE if dynamic reloc
3150 applies to read-only section.
3151 * elf32-i386.c (elf_i386_link_hash_table): Add
3152 readonly_dynrelocs_against_ifunc.
3153 (elf_i386_allocate_dynrelocs): Updated.
3154 (elf_i386_size_dynamic_sections): Issue an error for read-only
3155 segment with dynamic IFUNC relocations only if
3156 readonly_dynrelocs_against_ifunc is TRUE.
3157 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
3158 readonly_dynrelocs_against_ifunc.
3159 (elf_x86_64_allocate_dynrelocs): Updated.
3160 (elf_x86_64_size_dynamic_sections): Issue an error for read-only
3161 segment with dynamic IFUNC relocations only if
3162 readonly_dynrelocs_against_ifunc is TRUE.
3163 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
3164 Updated.
3165
15dd01b1
TP
31662016-04-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
3167
3168 * elf32-arm.c (elf32_arm_size_stubs): Move error_ret_free_local to be
3169 a fall through from error_ret_free_internal. Free local_syms in
3170 error_ret_free_local if allocated from bfd_elf_get_elf_syms ().
3171
1e5885b7
CZ
31722016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
3173
3174 * elf32-arc.c (plt_do_relocs_for_symbol): Changed.
3175 (relocate_plt_for_entry): Likewise.
3176
b3aee839
CZ
31772016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
3178
3179 * elf32-arc.c (elf_arc_check_relocs): Changed
3180
094fb063
CZ
31812016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
3182
3183 * elf32-arc.c (name_for_global_symbol): Changed assert.
3184 (get_replace_function): Created.:
3185 (struct arc_relocation_data): Changed to signed types.
3186 (defines S, L, P, PDATA): Casted to signed type.
3187 (defines SECTSTART, _SDA_BASE_, TLS_REL): Likewise.
3188 (PRINT_DEBUG_RELOC_INFO_BEFORE): Changed.
3189 (arc_do_relocation): Changed.
3190
94e5c971
CZ
31912016-04-05 Cupertino Miranda <cmiranda@synopsys.com>
3192
3193 * elf32-arc.c (name_for_global_symbol): Added assert to check for
3194 symbol index.
3195 (elf_arc_relocate_section): Added and changed asserts, validating
3196 the synamic symbol index.
3197 (elf_arc_finish_dynamic_symbol): Do not fill the dynamic
3198 relocation if symbol has dynindx set to -1.
3199
1f599d0e
MR
32002016-04-05 Maciej W. Rozycki <macro@imgtec.com>
3201
668df12d 3202 PR ld/19908
1f599d0e
MR
3203 * elflink.c (elf_link_add_object_symbols): Always turn hidden
3204 and internal symbols which have a dynamic index into local
3205 ones.
3206
67f101ee
NC
32072016-04-04 Nick Clifton <nickc@redhat.com>
3208
3209 PR 19872
3210 * dwarf2.c (parse_comp_unit): Skip warning about unrecognised
3211 version number if the version is zero.
3212
7b15fa7a
AM
32132016-04-01 Alan Modra <amodra@gmail.com>
3214
3215 PR 19886
3216 * elflink.c (on_needed_list): Recursively check needed status.
3217 (elf_link_add_object_symbols): Adjust.
3218
024ea11b
SKS
32192016-03-30 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3220
3221 * elf32-avr.c (avr_elf32_load_records_from_section): Free
3222 internal_relocs only if they aren't cached.
3223
ed3056eb
NC
32242016-03-29 Nick Clifton <nickc@redhat.com>
3225
3226 PR 17334
3227 * elf32-bfin.c (elf32_bfinfdpic_finish_dynamic_sections): Relax
3228 assertion on the size of the got section to allow it to be bigger
3229 than the number of relocs.
3230
e2b4fc91
TS
32312016-03-29 Toni Spets <toni.spets@iki.fi>
3232
3233 PR 19878
3234 * coffcode.h (coff_write_object_contents): Revert accidental
3235 2014-11-10 change.
3236
a97fbc7e
AM
32372016-03-22 Alan Modra <amodra@gmail.com>
3238
3239 PR 19850
3240 * dwarf2.c (read_attribute_value): Skip info_ptr check for
3241 DW_FORM_flag_present.
3242
9780e045
NC
32432016-03-22 Nick Clifton <nickc@redhat.com>
3244
96254e5c
NC
3245 * cpu-v850_rh850.c (arch_info_struct): Restore v850-rh850 as an
3246 architecture name for backwards compatibility.
3247
7769fa97
NC
3248 * peXXigen.c (_bfd_XXi_write_codeview_record): Fix possible
3249 unbounded stack use.
3250
9780e045
NC
3251 * warning.m4 (GCC_WARN_CFLAGS): Only add -Wstack-usage if using a
3252 sufficiently recent version of GCC.
3253 * configure: Regenerate.
3254
6f4c0a42
AM
32552016-03-22 Alan Modra <amodra@gmail.com>
3256
3257 PR 19851
3258 * plugin.c (try_load_plugin): Avoid -Wstack-usage warning.
3259
8699fc3e
AB
32602016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
3261
3262 * archures.c (bfd_mach_arc_nps400): Define.
3263 * bfd-in2.h: Regenerate.
3264 * cpu-arc.c (arch_info_struct): New entry for nps400, renumber
3265 some existing entries to make space.
3266 * elf32-arc.c (arc_elf_object_p): Add nps400 case.
3267 (arc_elf_final_write_processing): Likewise.
3268
a9522a21
AB
32692016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
3270
3271 * elf32-arc.c (arc_elf_print_private_bfd_data): Remove use of
3272 EF_ARC_CPU_GENERIC.
3273 (arc_elf_final_write_processing): Don't bother setting cpu field
3274 in e_flags, this will have been set elsewhere.
3275
c0334580
AB
32762016-03-21 Andrew Burgess <andrew.burgess@embecosm.com>
3277
3278 * elf32-arc.c (arc_elf_final_write_processing): Switch to using
3279 EF_ARC_MACH_MSK.
3280
e1fa0163
NC
32812016-03-21 Nick Clifton <nickc@redhat.com>
3282
3283 * warning.m4 (GCC_WARN_CFLAGS): Add -Wstack-usage=262144
3284 * configure: Regenerate.
3285 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Replace use of
3286 alloca with call to xmalloc.
3287 * elf32-nds32.c: Likewise.
3288 * elf64-hppa.c: Likewise.
3289 * elfxx-mips.c: Likewise.
3290 * pef.c: Likewise.
3291 * pei-x86_64.c: Likewise.
3292 * som.c: Likewise.
3293 * xsym.c: Likewise.
3294
4e0c91e4
L
32952016-03-15 H.J. Lu <hongjiu.lu@intel.com>
3296
3297 PR ld/19827
3298 * elf32-i386.c (elf_i386_check_relocs): Bind defined symbol
3299 locally in PIE.
3300 (elf_i386_relocate_section): Likewise.
3301 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
3302 (elf_x86_64_relocate_section): Likewise.
3303
4c10bbaa
L
33042016-03-15 H.J. Lu <hongjiu.lu@intel.com>
3305
3306 PR ld/19807
3307 * elf64-x86-64.c (elf_x86_64_relocate_section): Check
3308 no_reloc_overflow_check to diable R_X86_64_32/R_X86_64_32S
3309 relocation overflow check.
3310
fbe48798
L
33112016-03-14 H.J. Lu <hongjiu.lu@intel.com>
3312
3313 * bfd-in2.h: Regenerated.
3314
37b01f6a
DG
33152016-03-11 Dan Gissel <dgisselq@ieee.org>
3316
3317 PR 19713
3318 * elf.c (_bfd_elf_section_offset): Ensure that the returned offset
3319 uses bytes not octets.
3320 * elflink.c (resolve_section): Likewise.
3321 Add a bfd parameter.
3322 (eval_section): Pass the input_bfd to resolve_section.
3323 (bfd_elf_perform_complex_relocation): Convert byte offset to
3324 octets before read and writing values.
3325 (elf_link_input_bfd): Add byte to octet conversions.
3326 (elf_reloc_link_order): Likewise.
3327 (elf_fixup_link_order): Likewise.
3328 (bfd_elf_final_link): Likewise.
3329 * reloc.c (_bfd_final_link_relocate): Likewise.
3330 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
3331
3ed4ff97
NC
33322016-03-10 Nick Clifton <nickc@redhat.com>
3333
3334 * config.bfd: Mark the i370 target as obsolete.
3335
4b05e0a7
PA
33362016-03-09 Pedro Alves <palves@redhat.com>
3337
3338 * cpu-v850.c (N): Append ":old-gcc-abi" instead of " (using old
3339 gcc ABI)" to printable name.
3340 * cpu-v850_rh850.c (bfd_v850_rh850_arch): Use "v850:rh850" instead
3341 of "v850-rh850" as printable name.
3342
26c62da0
LW
33432016-03-09 Leon Winter <winter-gcc@bfw-online.de>
3344
3345 PR ld/19623
3346 * cofflink.c (_bfd_coff_generic_relocate_section): Do not apply
3347 relocations against absolute symbols.
3348
03ee8583
AM
33492016-03-09 Alan Modra <amodra@gmail.com>
3350
3351 PR binutils/19775
3352 * coff-alpha.c (alpha_ecoff_openr_next_archived_file): Allow zero
3353 length elements in the archive.
3354
9c1d7a08
L
33552016-03-08 H.J. Lu <hongjiu.lu@intel.com>
3356
3357 PR ld/19789
3358 * elflink.c (elf_link_add_object_symbols): Create dynamic sections
3359 for -E/--dynamic-list only when not relocatable.
3360
d1ed1c7d
L
33612016-03-08 H.J. Lu <hongjiu.lu@intel.com>
3362
3363 PR ld/19784
3364 * elf32-i386.c (elf_i386_check_relocs): Increment PLT reference
3365 count for locally defined local IFUNC symbols in shared object.
3366 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
3367
202ac193
L
33682016-03-08 H.J. Lu <hongjiu.lu@intel.com>
3369
3370 PR ld/19579
3371 * elflink.c (_bfd_elf_merge_symbol): Group common symbol checking
3372 together.
3373
72f3b6aa
CZ
33742016-03-08 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
3375 Andrew Burgess <andrew.burgess@embecosm.com>
3376
3377 * elf32-arc.c (arc_bfd_get_32): Becomes an alias for bfd_get_32.
3378 (arc_bfd_put_32): Becomes an alias for bfd_put_32.
3379 (arc_elf_howto_init): Added assert to validate relocations.
3380 (get_middle_endian_relocation): Delete.
3381 (middle_endian_convert): New function.
3382 (ME): Redefine, now does nothing.
3383 (IS_ME): New define.
3384 (arc_do_relocation): Extend the attached 'ARC_RELOC_HOWTO'
3385 definition to call middle_endian_convert. Add a new local
3386 variable and make use of this throughout. Added call to
3387 arc_bfd_get_8 and arc_bfd_put_8 for 8 bit relocations.
3388
4fc87424
NC
33892016-03-07 Nick Clifton <nickc@redhat.com>
3390
3391 PR binutils/19775
3392 * archive.c (bfd_generic_openr_next_archived_file): Allow zero
3393 length elements in the archive.
3394
18f822a0
JW
33952016-03-07 Jiong Wang <jiong.wang@arm.com>
3396
3397 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Always create .got
3398 section if the symbol "_GLOBAL_OFFSET_TABLE_" is referenced.
3399
07492f66
L
34002016-03-04 H.J. Lu <hongjiu.lu@intel.com>
3401
3402 PR ld/19579
3403 * elflink.c (_bfd_elf_merge_symbol): Treat common symbol in
3404 executable as definition if the new definition comes from a
3405 shared library.
3406
70a5df4f
AM
34072016-03-02 Alan Modra <amodra@gmail.com>
3408
3409 * Makefile.in: Regenerate.
3410 * po/SRC-POTFILES.in: Regenerate.
3411
841fdfcd
CZ
34122016-02-29 Cupertino Miranda <cmiranda@synopsys.com>
3413
3414 * elf32-arc.c (elf_arc_relocate_section): Added rules to fix the
3415 relocation addend when sections get merged.
3416
7e458899
CZ
34172016-02-29 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
3418
3419 * elf32-arc.c (arc_elf_final_write_processing): Add condition to
3420 the flag change.
3421 (elf_arc_relocate_section): Fixes and conditions to support PIE.
3422 Assert for code sections dynamic relocs.
3423
c5e3a364
RL
34242016-02-26 Renlin Li <renlin.li@arm.com>
3425
3426 * elfnn-aarch64.c (elfNN_aarch64_howto_table): Fix signed overflow
3427 check for MOVW_SABS_G0, MOVW_SABS_G1, MOVW_SABS_G2.
3428
bae420ef
L
34292016-02-26 H.J. Lu <hongjiu.lu@intel.com>
3430
3431 PR ld/19609
3432 * elf32-i386.c (elf_i386_convert_load): Convert to R_386_32 for
3433 load with locally bound symbols if PIC is false or there is no
3434 base register. Optimize branch to 0 if PIC is false.
3435 (elf_i386_relocate_section): Don't generate dynamic relocations
3436 against undefined weak symbols if PIC is false.
3437 * elf64-x86-64.c (elf_x86_64_convert_load): Disable optimization
3438 if we can't estimate relocation overflow with --no-relax.
3439 Convert to R_X86_64_32S/R_X86_64_32 for load with locally bound
3440 symbols if PIC is false. Optimize branch to 0 if PIC is false.
3441 (elf_x86_64_relocate_section): Don't generate dynamic relocations
3442 against undefined weak symbols if PIC is false.
3443
11e5f1ec
L
34442016-02-26 H.J. Lu <hongjiu.lu@intel.com>
3445
3446 PR ld/19645
3447 * bfd.c (bfd): Change flags to 20 bits.
3448 (BFD_CONVERT_ELF_COMMON): New.
3449 (BFD_USE_ELF_STT_COMMON): Likewise.
3450 (BFD_FLAGS_SAVED): Add BFD_CONVERT_ELF_COMMON and
3451 BFD_USE_ELF_STT_COMMON.
3452 (BFD_FLAGS_FOR_BFD_USE_MASK): Likewise.
3453 * configure.ac: Remove --enable-elf-stt-common.
3454 * elf.c (swap_out_syms): Choose STT_COMMON or STT_OBJECT for
3455 common symbol depending on BFD_CONVERT_ELF_COMMON and
3456 BFD_USE_ELF_STT_COMMON.
3457 * elfcode.h (elf_slurp_symbol_table): Set BSF_ELF_COMMON for
3458 STT_COMMON.
3459 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Also check
3460 STT_COMMON.
3461 (elf_link_convert_common_type): New function.
3462 (elf_link_output_extsym): Choose STT_COMMON or STT_OBJECT for
3463 common symbol depending on BFD_CONVERT_ELF_COMMON and
3464 BFD_USE_ELF_STT_COMMON. Set sym.st_info after sym.st_shndx.
3465 * elfxx-target.h (TARGET_BIG_SYM): Add BFD_CONVERT_ELF_COMMON
3466 and BFD_USE_ELF_STT_COMMON to object_flags.
3467 (TARGET_LITTLE_SYM): Likewise.
3468 * syms.c (BSF_KEEP_G): Renamed to ...
3469 (BSF_ELF_COMMON): This.
3470 * bfd-in2.h: Regenerated.
3471 * config.in: Likewise.
3472 * configure: Likewise.
3473
aec6b87e
L
34742016-02-26 H.J. Lu <hongjiu.lu@intel.com>
3475
3476 PR ld/19636
3477 PR ld/19704
3478 PR ld/19719
3479 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
3480 (elf_i386_link_hash_entry): Add has_got_reloc and
3481 has_non_got_reloc.
3482 (elf_i386_link_hash_table): Add interp.
3483 (elf_i386_link_hash_newfunc): Initialize has_got_reloc and
3484 has_non_got_reloc.
3485 (elf_i386_copy_indirect_symbol): Copy has_got_reloc and
3486 has_non_got_reloc.
3487 (elf_i386_check_relocs): Set has_got_reloc and has_non_got_reloc.
3488 (elf_i386_fixup_symbol): New function.
3489 (elf_i386_pie_finish_undefweak_symbol): Likewise.
3490 (elf_i386_allocate_dynrelocs): Don't allocate space for dynamic
3491 relocations and discard relocations against resolved undefined
3492 weak symbols in executable. Don't make resolved undefined weak
3493 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
3494 relocation against undefined weak symbols in PIE.
3495 (elf_i386_size_dynamic_sections): Set interp to .interp section.
3496 (elf_i386_relocate_section): Don't generate dynamic relocations
3497 against resolved undefined weak symbols in PIE, except for
3498 R_386_PC32.
3499 (elf_i386_finish_dynamic_symbol): Keep PLT/GOT entries without
3500 dynamic PLT/GOT relocations for resolved undefined weak symbols.
3501 Don't generate dynamic relocation against resolved undefined weak
3502 symbol in executable.
3503 (elf_i386_finish_dynamic_sections): Call
3504 elf_i386_pie_finish_undefweak_symbol on all symbols in PIE.
3505 (elf_backend_fixup_symbol): New.
3506 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
3507 (elf_x86_64_link_hash_entry): Add has_got_reloc and
3508 has_non_got_reloc.
3509 (elf_x86_64_link_hash_table): Add interp.
3510 (elf_x86_64_link_hash_newfunc): Initialize has_got_reloc and
3511 has_non_got_reloc.
3512 (elf_x86_64_copy_indirect_symbol): Copy has_got_reloc and
3513 has_non_got_reloc.
3514 (elf_x86_64_check_relocs): Set has_got_reloc and
3515 has_non_got_reloc.
3516 (elf_x86_64_fixup_symbol): New function.
3517 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
3518 (elf_x86_64_allocate_dynrelocs): Don't allocate space for dynamic
3519 relocations and discard relocations against resolved undefined
3520 weak symbols in executable. Don't make resolved undefined weak
3521 symbols in executable dynamic.
3522 (elf_x86_64_size_dynamic_sections): Set interp to .interp section.
3523 (elf_x86_64_relocate_section): Check relocation overflow for
3524 dynamic relocations against unresolved weak undefined symbols.
3525 Don't generate dynamic relocations against resolved weak
3526 undefined symbols in PIE.
3527 (elf_x86_64_finish_dynamic_symbol): Keep PLT/GOT entries without
3528 dynamic PLT/GOT relocations for resolved undefined weak symbols.
3529 Don't generate dynamic relocation against resolved undefined weak
3530 symbol in executable.
3531 (elf_x86_64_finish_dynamic_sections): Call
3532 elf_x86_64_pie_finish_undefweak_symbol on all symbols in PIE.
3533 (elf_backend_fixup_symbol): New.
3534
b32547cd
AM
35352016-02-26 Alan Modra <amodra@gmail.com>
3536
3537 * elf64-ppc.c (create_linkage_sections): Create sfpr when
3538 save_restore_funcs, rest of sections when not relocatable.
3539 (ppc64_elf_init_stub_bfd): Always call create_linkage_sections.
3540 (sfpr_define): Define all symbols on emitted code.
3541 (ppc64_elf_func_desc_adjust): Adjust for sfpr now being created
3542 when relocatable. Move sfpr_define loop earlier.
3543
ef77d6af
L
35442016-02-24 H.J. Lu <hongjiu.lu@intel.com>
3545
3546 * elf64-x86-64.c (elf_x86_64_need_pic): New function.
3547 (elf_x86_64_relocate_section): Use it. Replace
3548 x86_64_elf_howto_table[r_type] with howto.
3549
0f550b3d
L
35502016-02-24 H.J. Lu <hongjiu.lu@intel.com>
3551
3552 PR ld/19698
3553 * elflink.c (bfd_elf_record_link_assignment): Set versioned if
3554 symbol version is unknown.
3555
13f42277
L
35562016-02-24 H.J. Lu <hongjiu.lu@intel.com>
3557
3558 * elf32-i386.c (elf_i386_allocate_dynrelocs): Set plt_got.offset
3559 to (bfd_vma) -1 when setting needs_plt to 0.
3560 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
3561
6b3b0ab8
L
35622016-02-23 H.J. Lu <hongjiu.lu@intel.com>
3563
3564 * elflink.c (bfd_elf_record_link_assignment): Check for shared
3565 library, instead of PIC, and don't check PDE when making linker
3566 assigned symbol dynamic.
3567
17733f5b
FS
35682016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
3569
3570 * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
3571 ABIVERSION for non-executable stack.
3572
47993b4a
RF
35732016-02-23 Rich Felker <bugdal@aerifal.cx>
3574
3575 PR target/19516
3576 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol):
3577 Always produce a RELATIVE reloc for a local symbol.
3578
2d8dcb81
HPN
35792016-02-23 Hans-Peter Nilsson <hp@axis.com>
3580
3581 Fix test-case ld-elf/pr19617b
3582 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
3583 discard unused non-function symbols when --dynamic-list-data.
3584
1a6e6083
L
35852016-02-22 H.J. Lu <hongjiu.lu@intel.com>
3586
3587 * elflink.c (_bfd_elf_link_renumber_dynsyms): Always create the
3588 dynsym section, even if it is empty, with dynamic sections.
3589
75c1920b
L
35902016-02-22 H.J. Lu <hongjiu.lu@intel.com>
3591
3592 * syms.c: Remove BSF_COMMON from comments.
3593 * bfd-in2.h: Regenerated.
3594
9a228467
JW
35952016-02-22 Jiong Wang <jiong.wang@arm.com>
3596
3597 * elfnn-aarch64. (aarch64_type_of_stub): Remove redundation calcuation
3598 for destination. Remove useless function parameters.
3599 (elfNN_aarch64_size_stubs): Update parameters for aarch64_type_of_stub.
3600
73768414
NC
36012016-02-19 Nick Clifton <nickc@redhat.com>
3602
e517df3d
NC
3603 PR ld/19629
3604 * aoutx.h (aout_link_add_symbols): Check for out of range string
3605 table offsets.
3606
73768414
NC
3607 PR ld/19628
3608 * reloc.c (bfd_generic_get_relocated_section_contents): Stop
3609 processing if we encounter a reloc without an associated symbol.
3610
bf89386a
L
36112016-02-18 H.J. Lu <hongjiu.lu@intel.com>
3612
3613 PR ld/19617
3614 * elflink.c (elf_link_add_object_symbols): Always create dynamic
3615 sections for -E/--dynamic-list.
3616
8f79b794
L
36172016-02-17 H.J. Lu <hongjiu.lu@intel.com>
3618
3619 * elf64-x86-64.c (elf_backend_omit_section_dynsym): New. Defined
3620 to bfd_true.
3621
64bfc258
JM
36222016-02-16 Joseph Myers <joseph@codesourcery.com>
3623
3624 * plugin.c (plugin_vec): Set match priority to 255.
3625 * format.c (bfd_check_format_matches) [BFD_SUPPORTS_PLUGINS]: When
3626 matching against the plugin vector, take priority from there not
3627 from TEMP.
3628
9fb71ee4
NC
36292016-02-15 Nick Clifton <nickc@redhat.com>
3630
3631 * elf-bfd.h (struct bfd_elf_special_section): Use unsigned values
3632 for length and type fields. Use a signed value for the
3633 suffix_length field.
3634
32875eb1
L
36352016-02-10 H.J. Lu <hongjiu.lu@intel.com>
3636
3637 PR ld/19601
3638 * elf32-i386.c (elf_i386_relocate_section): Mask off the least
3639 significant bit in GOT offset for R_386_GOT32X.
3640
83da6e74
NC
36412016-02-10 Nick Clifton <nickc@redhat.com>
3642
3643 PR 19405
3644 * elf32-nios2.c (nios2_elf32_install_imm16): Allow for signed
3645 immediate values.
3646 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Limit the
3647 number of messages about FDE encoding preventing .eh_frame_hdr
3648 generation.
3649
027e9c75
NC
36502016-02-09 Nick Clifton <nickc@redhat.com>
3651
609332f1
NC
3652 * oasys.c (oasys_archive_p): Fix indentation.
3653 * elf32-nds32.c (nds32_elf_relax_section): Use an unsigned
3654 constant for left shifting.
3655
027e9c75
NC
3656 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Add a more
3657 helpful warning message to explain why certain AArch64 relocs
3658 might overflow.
3659
6f57d046
SM
36602016-02-05 Simon Marchi <simon.marchi@ericsson.com>
3661
3662 * pe-mips.c (coff_mips_reloc): Fix formatting.
3663
bdbca4e6
CM
36642016-02-05 Cupertino Miranda <Cupertino.Miranda@synopsys.com>
3665
3666 * cpu-arc.c: Change default archure from bfd_mach_arc_arcv2
3667 to bfd_mach_arc_arc600.
3668
4f038ee5
AM
36692016-02-04 Alan Modra <amodra@gmail.com>
3670
3671 * elf64-ppc.c (ppc64_elf_relocate_section): Adjust last patch
3672 for big-endian.
3673
4a539596
L
36742016-02-02 H.J. Lu <hongjiu.lu@intel.com>
3675
3676 PR ld/19542
3677 * elf64-x86-64.c (elf_x86_64_convert_load): Store the estimated
fb06f1c0 3678 distances in the compressed_size field of the output section.
4a539596 3679
85fabe71
AM
36802016-02-02 Alan Modra <amodra@gmail.com>
3681
3682 * elf64-ppc.c (ppc64_elf_relocate_section): Further restrict
3683 ELFv2 entry optimization.
3684
14f2c699
L
36852016-02-02 H.J. Lu <hongjiu.lu@intel.com>
3686
3687 PR binutils/19547
3688 * elf.c (assign_section_numbers): Clear HAS_RELOC if there are
3689 no relocations in relocatable files.
3690
aef28989
L
36912016-02-01 H.J. Lu <hongjiu.lu@intel.com>
3692
3693 PR ld/19553
3694 * elflink.c (elf_link_add_object_symbols): Don't add DT_NEEDED
3695 if a symbol from a library loaded via DT_NEEDED doesn't match
3696 the symbol referenced by regular object.
3697
655ed9ea
NS
36982016-02-01 Nathaniel Smith <njs@pobox.com>
3699
3700 * peicode.h (pe_ILF_build_a_bfd): Create an import symbol for both
3701 CODE and DATA.
3702
ec1f73bb
AM
37032016-02-01 Alan Modra <amodra@gmail.com>
3704
3705 * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Don't abort on
3706 an out of range reloc_index.
3707 * elf32-i386.c (elf_i386_get_plt_sym_val): Likewise.
3708
b6471e6e
KR
37092016-02-01 Kamil Rytarowski <n54@gmx.com>
3710
3711 * Makefile.am (OPTIONAL_BACKENDS): Add netbsd-core.lo.
3712 (OPTIONAL_BACKENDS_CFILES): Add netbsd-core.c.
3713 * Makefile.in: Regenerated.
3714
0bc7245a
JK
37152016-02-01 Jan Kratochvil <jan.kratochvil@redhat.com>
3716
3717 * elf64-s390.c (elf_s390_reloc_name_lookup): Fix indentation.
3718
6d4b2867
JDA
37192016-01-31 John David Anglin <danglin@gcc.gnu.org>
3720
3721 PR ld/19526
3722 * elf32-hppa.c (elf32_hppa_final_link): Don't sort non-regular output
3723 files.
3724 * elf64-hppa.c (elf32_hppa_final_link): Likewise. Remove retval.
3725
d9e3b590
L
37262016-01-30 H.J. Lu <hongjiu.lu@intel.com>
3727
3728 PR ld/19539
3729 * elf32-i386.c (elf_i386_reloc_type_class): Check relocation
3730 against STT_GNU_IFUNC symbol only with dynamic symbols.
3731 * elf64-x86-64.c (elf_x86_64_reloc_type_class): Likewise.
3732
bf150a0b
L
37332016-01-28 H.J. Lu <hongjiu.lu@intel.com>
3734
3735 PR binutils/19523
3736 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Set BFD_DECOMPRESS to
3737 decompress debug sections.
3738
840855c5
MR
37392016-01-25 Maciej W. Rozycki <macro@imgtec.com>
3740
3741 * elf32-arc.c (elf_arc_finish_dynamic_symbol): Rename `index' to
3742 `dynindx'.
3743
cf466c2a
NC
37442016-01-25 Nick Clifton <nickc@redhat.com>
3745
3746 PR target/19435
3747 * mach-o.c (bfd_mach_o_close_and_cleanup): Suppress code to free
3748 dsym filename buffer.
3749
eb6b0cf4
MR
37502016-01-24 Maciej W. Rozycki <macro@imgtec.com>
3751
3752 * elfxx-mips.c (BZ16_REG_FIELD): Simplify calculation.
3753
e67f83e5
MR
37542016-01-24 Maciej W. Rozycki <macro@imgtec.com>
3755
3756 * elfxx-mips.c (BZ16_REG): Correct calculation.
3757
23a42089
NC
37582016-01-21 Nick Clifton <nickc@redhat.com>
3759
3760 * elf32-arc.c (ADD_RELA): Fix compile time warning errors by
3761 changing the type of _loc to be bfd_byte *.
3762 (elf_arc_finish_dynamic_symbol): Likewise.
3763
aebf9be7
NC
37642016-01-21 Nick Clifton <nickc@redhat.com>
3765
3766 PR ld/19455
3767 * elf32-arm.c (elf32_arm_create_dynamic_sections): Set the ELF
3768 class of the linker stub bfd.
3769 (elf32_arm_check_relocs): Skip check for pic format after
3770 processing a vxWorks R_ARM_ABS12 reloc.
3771 * elflink.c (bfd_elf_final_link): Check for ELFCLASSNONE when
3772 reporting a class mismatch.
3773
2f340668
JW
37742016-01-21 Jiong Wang <jiong.wang@arm.com>
3775
3776 * elfnn-aarch64.c (aarch64_type_of_stub): Allow insert long branch
3777 veneer for sym_sec != input_sec.
3778 (elfNN_aarch64_size_stub): Support STT_SECTION symbol.
3779 (elfNN_aarch64_final_link_relocate): Take rela addend into account when
3780 calculation destination.
3781
aeb70569
AM
37822016-01-21 Alan Modra <amodra@gmail.com>
3783
3784 * elf-linux-core.h (swap_linux_prpsinfo32_out): New function.
3785 (swap_linux_prpsinfo64_out): New function.
3786 (LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
3787 (LINUX_PRPSINFO64_SWAP_FIELDS): Delete.
3788 * elf.c (elfcore_write_linux_prpsinfo32): Adjust. Don't memset.
3789 (elfcore_write_linux_prpsinfo64): Likewise.
3790 * elf32-ppc.c (swap_ppc_linux_prpsinfo32_out): New function.
3791 (PPC_LINUX_PRPSINFO32_SWAP_FIELDS): Delete.
3792 (elfcore_write_ppc_linux_prpsinfo32): Adjust. Don't memset.
3793
de64ce13
AM
37942016-01-21 Alan Modra <amodra@gmail.com>
3795
3796 * elf-linux-core.h: Rename from elf-linux-psinfo.h.
3797 * elf.c: Adjust #include.
3798 * elf32-ppc.c: Don't #include elf-linux-psinfo.h
3799 * Makefile.am (SOURCE_HFILES): Update.
3800 * Makefile.in: Regenerate.
3801 * po/SRC-PORFILES.in: Regenerate.
3802
c603b11b
AM
38032016-01-21 Alan Modra <amodra@gmail.com>
3804
3805 * configure.ac: Move corefile selection later in file. Move
3806 tdefaults code immediately after other target vector code.
3807 * configure: Regenerate.
3808
91f68a68
MG
38092016-01-20 Mickael Guene <mickael.guene@st.com>
3810
3811 * elf32-arm.c (elf32_arm_special_sections): Remove catch of noread
3812 section using '.text.noread' pattern.
3813
5b2c414d
JB
38142016-01-19 John Baldwin <jhb@FreeBSD.org>
3815
3816 * elf.c (elfcore_grok_note): Recognize NT_FREEBSD_THRMISC notes.
3817
34e967a5
MC
38182016-01-18 Miranda Cupertino <Cupertino.Miranda@synopsys.com>
3819 Zissulescu Claudiu <Claudiu.Zissulescu@synopsys.com>
3820
3821 * arc-plt.def: New file.
3822 * arc-plt.h: Likewise.
3823 * elf32-arc.c (elf_arc_abs_plt0_entry, elf_arc_abs_pltn_entry,
3824 elf_arcV2_abs_plt0_entry, elf_arcV2_abs_pltn_entry,
3825 elf_arc_pic_plt0_entry, elf_arc_pic_pltn_entry,
3826 elf_arcV2_pic_plt0_entry, elf_arcV2_pic_pltn_entry): Remove.
3827 (name_for_global_symbol): Added.
3828 (ADD_RELA): Helper to create dynamic relocs.
3829 (new_got_entry_to_list): Create a new got entry in linked list.
3830 (symbol_has_entry_of_type): Search for specific type of entry in
3831 list.
3832 (is_reloc_for_GOT): return FALSE for any TLS related relocs.
3833 (is_reloc_for_TLS, arc_elf_set_private_flags)
3834 (arc_elf_print_private_bfd_data, arc_elf_copy_private_bfd_data)
3835 (arc_elf_merge_private_bfd_data): New functions.
3836 (debug_arc_reloc): Cleaned debug info printing.
3837 (PDATA reloc): Changed not to perform address alignment.
3838 (reverse_me): Added. Fix for ARC_32 relocs.
3839 (arc_do_relocation): Return bfd_reloc_of when no relocation should
3840 occur.
3841 (arc_get_local_got_ents): Renamed from arc_get_local_got_offsets.
3842 Changed function to access an array of list of GOT entries instead
3843 of just an array of offsets.
3844 (elf_arc_relocate_section): Added support for PIC and TLS related relocations.
3845 (elf_arc_check_relocs): Likewise.
3846 (elf_arc_adjust_dynamic_symbol, elf_arc_finish_dynamic_symbol,
3847 (elf_arc_finish_dynamic_sections): Likewise
3848 (arc_create_dynamic_sections): Modified conditions to create
3849 dynamic sections.
3850 (ADD_SYMBOL_REF_SEC_AND_RELOC): New macro.
3851 (plt_do_relocs_for_symbol, relocate_plt_for_symbol)
3852 (relocate_plt_for_entry): Changed to support new way to define PLT
3853 related code.
3854 (add_symbol_to_plt): Likewise.
3855 (arc_elf_link_hash_table_create): New function.
3856
9ae678af
NC
38572016-01-18 Nick Clifton <nickc@redhat.com>
3858
3859 PR ld/19440
3860 * coff-rs6000.c (_bfd_xcoff_swap_sym_in): Sign extend external
3861 section number into internal section number.
3862 * coff64-rs6000.c (_bfd_xcoff64_swap_sym_in): Likewise.
3863 * coffswap.h (coff_swap_sym_in): Likewise.
3864 * peXXigen.c (_bfd_XXi_swap_sym_in): Likewise.
3865 * coffcode.h (_coff_bigobj_swap_sym_in): Make sure that internal
3866 section number field is big enough to hold the external value.
3867
5c14705f
AM
38682016-01-17 Alan Modra <amodra@gmail.com>
3869
3870 * configure: Regenerate.
3871
ac06903d
YU
38722016-01-12 Yury Usishchev <y.usishchev@samsung.com>
3873
3874 * elf32-arm.c (elf32_arm_fix_exidx_coverage): Insert cantunwind
3875 when address in first unwind entry does not match start of
3876 section.
3877
109575d7
JW
38782016-01-08 Richard Sandiford <richard.sandiford@arm.com>
3879 Jiong Wang <jiong.wang@arm.com>
3880
3881 PR ld/19368
3882 * elf32-arm.c (elf32_arm_reloc_type_class): Map R_ARM_IRELATIVE to
3883 reloc_class_ifunc.
3884
b05a65d0
AB
38852016-01-06 Andrew Burgess <andrew.burgess@embecosm.com>
3886
3887 * elf32-arc.c (reloc_type_to_name): Change ARC_RELOC_HOWTO to
3888 place 'R_' before the reloc name returned.
3889 (elf_arc_howto_table): Change ARC_RELOC_HOWTO to place 'R_' before
3890 the relocation string.
3891
a3dc0a7f
MR
38922016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3893
3894 * elfxx-mips.c (mips_elf_merge_obj_abiflags): New function,
3895 factored out from...
3896 (_bfd_mips_elf_merge_private_bfd_data): ... here.
3897
d537eeb5
MR
38982016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3899
3900 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Move
3901 attribute check after ELF file header flag check.
3902
43d223b5
MR
39032016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3904
3905 * elfxx-mips.c (mips_elf_merge_obj_attributes): Propagate the
3906 return status from `_bfd_elf_merge_object_attributes'.
3907
b2e9744f
MR
39082016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3909
3910 * elfxx-mips.c (mips_elf_merge_obj_e_flags): New function,
3911 factored out from...
3912 (_bfd_mips_elf_merge_private_bfd_data): ... here.
3913
28d45e28
MR
39142016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3915
3916 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Fold the
3917 handling of input MIPS ABI flags together.
3918
23ba6f18
MR
39192016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3920
3921 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Suppress
3922 attribute checks for null input.
3923
cf8502c1
MR
39242016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3925
3926 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Use local
3927 pointers to target data.
3928
dcb1c796
MR
39292016-01-04 Maciej W. Rozycki <macro@imgtec.com>
3930
3931 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
3932 an FP ABI warning.
3933
6f2750fe
AM
39342016-01-01 Alan Modra <amodra@gmail.com>
3935
3936 Update year range in copyright notice of all files.
3937
3499769a
AM
3938For older changes see ChangeLog-2015 and doc/ChangeLog-0415
3939\f
3940Copyright (C) 2016 Free Software Foundation, Inc.
3941
3942Copying and distribution of this file, with or without modification,
3943are permitted in any medium without royalty provided the copyright
3944notice and this notice are preserved.
3945
3946Local Variables:
3947mode: change-log
3948left-margin: 8
3949fill-column: 74
3950version-control: never
3951End:
This page took 0.237435 seconds and 4 git commands to generate.