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