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