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