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