Remove .eh_frame zero terminators
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
9866ffe2
AM
12017-08-31 Alan Modra <amodra@gmail.com>
2
3 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Don't exit early
4 for a section containing just a terminator. Allow multiple
5 terminators at end of section.
6 * elflink.c (bfd_elf_discard_info): Iterate over .eh_frame
7 sections when not adding alignment. Assert on terminator in
8 the middle of FDEs.
9
af471f82
AM
102017-08-31 Alan Modra <amodra@gmail.com>
11
12 PR 21441
13 PR 22048
14 * elflink.c (bfd_elf_discard_info): Don't pad embedded zero
15 terminators.
16
3321e42b
L
172017-08-30 H.J. Lu <hongjiu.lu@intel.com>
18
19 * configure.ac (bfd_backends): Add elf64.lo together with
20 elfxx-x86.lo for 64-bit BFD.
21 * configure: Regenerated.
22
ef32532f
JB
232017-08-31 James Bowman <james.bowman@ftdichip.com>
24
25 * elf32-ft32.c (ft32_elf_howto_table): Use complain_overflow_dont
26 for R_FT32_18.
27
e234de6b
AM
282017-08-31 Alan Modra <amodra@gmail.com>
29
30 PR binutils/22032
31 * opncls.c (bfd_close_all_done): Don't call bfd_cache_close
32 before _close_and_cleanup. Call iovec->bclose after.
33 (bfd_close): Remove code common to, and call, bfd_close_all_done.
34
f493882d
L
352017-08-30 H.J. Lu <hongjiu.lu@intel.com>
36
37 * elf32-i386.c (elf_i386_plt_type): Removed.
38 (elf_i386_plt): Likewise.
39 (elf_i386_get_synthetic_symtab): Updated. Call
40 _bfd_x86_elf_get_synthetic_symtab.
41 * elf64-x86-64.c (elf_x86_64_plt_type): Removed.
42 (elf_x86_64_plt): Likewise.
43 (elf_x86_64_get_synthetic_symtab): Updated. Call
44 _bfd_x86_elf_get_synthetic_symtab.
45 * elfxx-x86.c (elf_i386_get_plt_got_vma): New function.
46 (elf_x86_64_get_plt_got_vma): Likewise.
47 (elf_i386_valid_plt_reloc_p): Likewise.
48 (elf_x86_64_valid_plt_reloc_p): Likewise.
49 (_bfd_x86_elf_get_synthetic_symtab): Likewise.
50 * elfxx-x86.h (elf_x86_plt_type): New.
51 (elf_x86_plt): Likewise.
52 (_bfd_x86_elf_get_synthetic_symtab): Likewise.
53
5b86dbf4
L
542017-08-30 H.J. Lu <hongjiu.lu@intel.com>
55
56 * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Check
57 target_id instead of elf_machine_code.
58
765e526c
L
592017-08-30 H.J. Lu <hongjiu.lu@intel.com>
60
61 * elf32-i386.c (ELF_DYNAMIC_INTERPRETER): Removed.
62 (elf_i386_lazy_plt_layout): Likewise.
63 (elf_i386_non_lazy_plt_layout): Likewise.
64 (elf_i386_plt_layout): Likewise.
65 (elf_i386_link_hash_table): Likewise.
66 (elf_i386_next_tls_desc_index): Likewise.
67 (elf_i386_srelplt2): Likewise.
68 (elf_i386_plt): Likewise.
69 (elf_i386_lazy_plt): Likewise.
70 (elf_i386_non_lazy_plt): Likewise.
71 (elf_i386_link_hash_table_create): Likewise.
72 (bfd_elf32_bfd_link_hash_table_create): Likewise.
73 (elf_i386_lazy_plt): Updated.
74 (elf_i386_non_lazy_plt): Likewise.
75 (elf_i386_lazy_ibt_plt): Likewise.
76 (elf_i386_non_lazy_ibt_plt): Likewise.
77 (elf_i386_allocate_dynrelocs): Likewise.
78 (elf_i386_size_dynamic_sections): Likewise.
79 (elf_i386_relocate_section): Likewise.
80 (elf_i386_finish_dynamic_symbol): Likewise.
81 (elf_i386_finish_dynamic_sections): Likewise.
82 (elf_i386_get_synthetic_symtab): Likewise.
83 (elf_i386_link_setup_gnu_properties): Likewise.
84 (elf_i386_nacl_plt): Likewise.
85 * elf64-x86-64.c (ABI_64_P): Removed.
86 (ELF64_DYNAMIC_INTERPRETER): Likewise.
87 (ELF32_DYNAMIC_INTERPRETER): Likewise.
88 (elf_x86_64_lazy_plt_layout): Likewise.
89 (elf_x86_64_non_lazy_plt_layout): Likewise.
90 (elf_x86_64_plt_layout): Likewise.
91 (elf_x86_64_link_hash_table): Likewise.
92 (elf_x86_64_plt): Likewise.
93 (elf_x86_64_lazy_plt): Likewise.
94 (elf_x86_64_non_lazy_plt): Likewise.
95 (elf_x86_64_link_hash_table_create): Likewise.
96 (bfd_elf64_bfd_link_hash_table_create): Likewise.
97 (bfd_elf32_bfd_link_hash_table_create): Likewise.
98 (elf_x86_64_lazy_plt): Updated.
99 (elf_x86_64_non_lazy_plt): Likewise.
100 (elf_x86_64_lazy_bnd_plt): Likewise.
101 (elf_x86_64_non_lazy_bnd_plt): Likewise.
102 (elf_x86_64_lazy_ibt_plt): Likewise.
103 (elf_x32_lazy_ibt_plt): Likewise.
104 (elf_x86_64_non_lazy_ibt_plt): Likewise.
105 (elf_x32_non_lazy_ibt_plt): Likewise.
106 (elf_x86_64_allocate_dynrelocs): Likewise.
107 (elf_x86_64_size_dynamic_sections): Likewise.
108 (elf_x86_64_relocate_section): Likewise.
109 (elf_x86_64_finish_dynamic_symbol): Likewise.
110 (elf_x86_64_finish_dynamic_sections): Likewise.
111 (elf_x86_64_get_synthetic_symtab): Likewise.
112 (elf_x86_64_link_setup_gnu_properties): Likewise.
113 (elf_x86_64_nacl_plt): Likewise.
114 * elfxx-x86.c: Include "objalloc.h", "elf/i386.h" and
115 "elf/x86-64.h".
116 (ELF32_DYNAMIC_INTERPRETER): New.
117 (ELF64_DYNAMIC_INTERPRETER): Likewise.
118 (ELFX32_DYNAMIC_INTERPRETER): Likewise.
119 (_bfd_x86_elf_link_hash_table_create): Likewise.
120 (_bfd_x86_elf_link_hash_table_free): Renamed to ...
121 (elf_x86_link_hash_table_free): This. Make it static.
122 * elfxx-x86.h: Don't include "objalloc.h".
123 (ABI_64_P): New.
124 (elf_x86_lazy_plt_layout): Likewise.
125 (elf_x86_non_lazy_plt_layout): Likewise.
126 (elf_x86_plt_layout): Likewise.
127 (_bfd_x86_elf_link_hash_table_create): Likewise.
128 (bfd_elf64_bfd_link_hash_table_create): Likewise.
129 (bfd_elf32_bfd_link_hash_table_create): Likewise.
130 (elf_x86_link_hash_table): Add plt, lazy_plt, non_lazy_plt,
131 srelplt2 and next_tls_desc_index.
132 (_bfd_x86_elf_link_hash_table_free): Removed.
133
70e65ca8
MR
1342017-08-30 Maciej W. Rozycki <macro@imgtec.com>
135
136 * elfxx-mips.c (mips_elf_perform_relocation): Correct microMIPS
137 branch offset interpretation.
138
7c0ed396
L
1392017-08-30 H.J. Lu <hongjiu.lu@intel.com>
140
141 PR binutils/22032
142 * opncls.c (bfd_close_all_done): Call _close_and_cleanup.
143
0f2425c4
L
1442017-08-30 H.J. Lu <hongjiu.lu@intel.com>
145
146 * elf64-x86-64.c (elf_x86_64_next_tls_desc_index): Removed.
147 (elf_x86_64_srelplt2): Likewise.
148
9a23f96e
AM
1492017-08-30 Alan Modra <amodra@gmail.com>
150
151 * elf64-ppc.c (struct ppc_link_hash_table): Add do_tls_opt.
152 (ppc64_elf_tls_optimize): Set it.
153 (ppc64_elf_relocate_section): Nop addis on TPREL16_HA, and convert
154 insn on TPREL16_LO and TPREL16_LO_DS relocs to use r13 when
155 addis would add zero.
156 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add do_tls_opt.
157 (ppc_elf_tls_optimize): Set it.
158 (ppc_elf_relocate_section): Nop addis on TPREL16_HA, and convert
159 insn on TPREL16_LO relocs to use r2 when addis would add zero.
160
b9f04fe0
AM
1612017-08-30 Alan Modra <amodra@gmail.com>
162
163 * elf64-ppc.c (ppc64_elf_relocate_section): When optimizing
164 __tls_get_addr call sequences to LE, don't move the addi down
165 to the nop. Replace the bl with addi and leave the nop alone.
166
5f0f0847
L
1672017-08-29 H.J. Lu <hongjiu.lu@intel.com>
168
169 * elf32-i386.c (elf_i386_pie_finish_undefweak_symbol):
170 Re-indent.
171 * elf64-x86-64.c (elf_x86_64_finish_local_dynamic_symbol):
172 Likewise.
173 (elf_x86_64_pie_finish_undefweak_symbol): Likewise.
174
443701f5
L
1752017-08-29 H.J. Lu <hongjiu.lu@intel.com>
176
177 * Makefile.am (BFD32_BACKENDS): Add elfxx-x86.lo.
178 (BFD64_BACKENDS): Likewise.
179 (BFD32_BACKENDS_CFILES): Add elfxx-x86.c.
180 (BFD64_BACKENDS_CFILES): Likewise.
181 * Makefile.in: Regenerated.
182 * configure.ac (bfd_backends): Add elfxx-x86.lo together with
183 elf32-i386.lo and elf64-x86-64.lo.
184 * configure: Regenerated.
185 * elf32-i386.c: Include "elfxx-x86.h" instead of "sysdep.h",
186 "bfd.h", "bfdlink.h", "libbfd.h", "elf-bfd.h", "bfd_stdint.h",
187 "objalloc.h" and "hashtab.h".
188 (ELIMINATE_COPY_RELOCS): Removed.
189 (UNDEFINED_WEAK_RESOLVED_TO_ZERO):Likewise.
190 (SYMBOL_NO_COPYRELOC): Likewise.
191 (elf_i386_link_hash_entry): Likewise.
192 (GOT_UNKNOWN): Likewise.
193 (GOT_NORMAL): Likewise.
194 (GOT_TLS_GD): Likewise.
195 (elf_i386_hash_entry): Likewise.
196 (elf_i386_obj_tdata): Likewise.
197 (elf_i386_tdata): Likewise.
198 (elf_i386_local_got_tls_type): Likewise.
199 (elf_i386_local_tlsdesc_gotent): Likewise.
200 (elf_i386_hash_table): Likewise.
201 (elf_i386_link_hash_newfunc): Likewise.
202 (elf_i386_local_htab_hash): Likewise.
203 (elf_i386_local_htab_eq): Likewise.
204 (elf_i386_get_local_sym_hash): Likewise.
205 (elf_i386_link_hash_table_free): Likewise.
206 (elf_i386_copy_indirect_symbol): Likewise.
207 (elf_i386_fixup_symbol): Likewise.
208 (elf_i386_readonly_dynrelocs): Likewise.
209 (elf_i386_always_size_sections): Likewise.
210 (elf_i386_set_tls_module_base): Likewise.
211 (elf_i386_dtpoff_base): Likewise.
212 (compare_relocs): Likewise.
213 (elf_i386_hash_symbol): Likewise.
214 (elf_i386_parse_gnu_properties): Likewise.
215 (elf_i386_merge_gnu_properties): Likewise.
216 (elf_i386_link_check_relocs): Likewise.
217 (elf_i386_merge_symbol_attribute): Likewise.
218 (bfd_elf32_bfd_link_check_relocs): Likewise.
219 (elf_backend_copy_indirect_symbol): Likewise.
220 (elf_backend_always_size_sections): Likewise.
221 (elf_backend_omit_section_dynsym): Likewise.
222 (elf_backend_hash_symbol): Likewise.
223 (elf_backend_fixup_symbol): Likewise.
224 (elf_backend_parse_gnu_properties): Likewise.
225 (elf_backend_merge_gnu_properties): Likewise.
226 (elf_backend_merge_symbol_attribute): Likewise.
227 (elf_i386_mkobject): Updated.
228 (elf_i386_link_hash_table_create): Likewise.
229 (elf_i386_check_tls_transition): Likewise.
230 (elf_i386_tls_transition): Likewise.
231 (elf_i386_convert_load_reloc): Likewise.
232 (elf_i386_check_relocs): Likewise.
233 (elf_i386_adjust_dynamic_symbol): Likewise.
234 (elf_i386_allocate_dynrelocs): Likewise.
235 (elf_i386_convert_load): Likewise.
236 (elf_i386_size_dynamic_sections): Likewise.
237 (elf_i386_relocate_section): Likewise.
238 (elf_i386_finish_dynamic_symbol ): Likewise.
239 (elf_i386_finish_dynamic_sections): Likewise.
240 (elf_i386_output_arch_local_syms): Likewise.
241 (elf_i386_get_synthetic_symtab): Likewise.
242 (elf_i386_link_setup_gnu_properties): Likewise.
243 (elf_i386_link_hash_table): Use elf_x86_link_hash_table, instead
244 of elf_link_hash_table, as base.
245 (elf_i386_next_tls_desc_index): New.
246 (elf_i386_srelplt2): Likewise.
247 (elf_i386_plt): Likewise.
248 (elf_i386_lazy_plt): Likewise.
249 (elf_i386_non_lazy_plt): Likewise.
250 * elf32-x86-64.c: Include "elfxx-x86.h" instead of "sysdep.h",
251 "bfd.h", "bfdlink.h", "libbfd.h", "elf-bfd.h", "bfd_stdint.h",
252 "objalloc.h" and "hashtab.h".
253 (ELIMINATE_COPY_RELOCS): Removed.
254 (UNDEFINED_WEAK_RESOLVED_TO_ZERO):Likewise.
255 (SYMBOL_NO_COPYRELOC): Likewise.
256 (elf_x86_64_link_hash_entry): Likewise.
257 (GOT_UNKNOWN): Likewise.
258 (GOT_NORMAL): Likewise.
259 (GOT_TLS_GD): Likewise.
260 (elf_x86_64_hash_entry): Likewise.
261 (elf_x86_64_obj_tdata): Likewise.
262 (elf_x86_64_tdata): Likewise.
263 (elf_x86_64_local_got_tls_type): Likewise.
264 (elf_x86_64_local_tlsdesc_gotent): Likewise.
265 (elf_x86_64_hash_table): Likewise.
266 (elf_x86_64_link_hash_newfunc): Likewise.
267 (elf_x86_64_local_htab_hash): Likewise.
268 (elf_x86_64_local_htab_eq): Likewise.
269 (elf_x86_64_get_local_sym_hash): Likewise.
270 (elf_x86_64_link_hash_table_free): Likewise.
271 (elf_x86_64_copy_indirect_symbol): Likewise.
272 (elf_x86_64_fixup_symbol): Likewise.
273 (elf_x86_64_readonly_dynrelocs): Likewise.
274 (elf_x86_64_always_size_sections): Likewise.
275 (elf_x86_64_set_tls_module_base): Likewise.
276 (elf_x86_64_dtpoff_base): Likewise.
277 (compare_relocs): Likewise.
278 (elf_x86_64_merge_symbol_attribute): Likewise.
279 (elf_x86_64_hash_symbol): Likewise.
280 (elf_x86_64_parse_gnu_properties): Likewise.
281 (elf_x86_64_merge_gnu_properties): Likewise.
282 (elf_x86_64_link_check_relocs): Likewise.
283 (elf_backend_copy_indirect_symbol): Likewise.
284 (elf_backend_always_size_sections): Likewise.
285 (bfd_elf64_bfd_link_check_relocs): Likewise.
286 (elf_backend_merge_symbol_attribute): Likewise.
287 (elf_backend_hash_symbol): Likewise.
288 (elf_backend_omit_section_dynsym): Likewise.
289 (elf_backend_fixup_symbol): Likewise.
290 (elf_backend_parse_gnu_properties): Likewise.
291 (elf_backend_merge_gnu_properties): Likewise.
292 (bfd_elf32_bfd_link_check_relocs): Likewise.
293 (elf_x86_64_mkobject): Updated.
294 (elf_x86_64_link_hash_table_create): Likewise.
295 (elf_x86_64_check_tls_transition): Likewise.
296 (elf_x86_64_tls_transition): Likewise.
297 (elf_x86_64_convert_load_reloc): Likewise.
298 (elf_x86_64_check_relocs): Likewise.
299 (elf_x86_64_adjust_dynamic_symbol): Likewise.
300 (elf_x86_64_allocate_dynrelocs): Likewise.
301 (elf_x86_64_convert_load): Likewise.
302 (elf_x86_64_size_dynamic_sections): Likewise.
303 (elf_x86_64_relocate_section): Likewise.
304 (elf_x86_64_finish_dynamic_symbol ): Likewise.
305 (elf_x86_64_finish_dynamic_sections): Likewise.
306 (elf_x86_64_output_arch_local_syms): Likewise.
307 (elf_x86_64_get_synthetic_symtab): Likewise.
308 (elf_x86_64_link_setup_gnu_properties): Likewise.
309 (elf_x86_64_link_hash_table): Use elf_x86_link_hash_table,
310 instead of elf_link_hash_table, as base.
311 (elf_x86_64_next_tls_desc_index): New.
312 (elf_x86_64_srelplt2): Likewise.
313 (elf_x86_64_plt): Likewise.
314 (elf_x86_64_lazy_plt): Likewise.
315 (elf_x86_64_non_lazy_plt): Likewise.
316 * elfxx-x86.c: New file.
317 * elfxx-x86.h: Likewise.
318
823cb067
L
3192017-08-29 H.J. Lu <hongjiu.lu@intel.com>
320
321 * elf32-i386.c (elf_i386_get_synthetic_symtab): Simplify bad
322 return.
323 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
324
37c0b6ee
L
3252017-08-29 H.J. Lu <hongjiu.lu@intel.com>
326
327 * elf32-i386.c (elf_i386_get_synthetic_symtab): Check valid PLT
328 sections before checking dynamic relocations and free invalid
329 PLT section contents.
330 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
331
0fb0a767
L
3322017-08-28 H.J. Lu <hongjiu.lu@intel.com>
333
334 * elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): Removed.
335 * elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): Likewise.
336
90efb642
L
3372017-08-28 H.J. Lu <hongjiu.lu@intel.com>
338
339 PR binutils/22018
340 * elf32-i386.c (elf_i386_get_synthetic_symtab): Check for valid
341 PLT section size.
342 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
343
596dc58f
L
3442017-08-27 H.J. Lu <hongjiu.lu@intel.com>
345
346 * elf32-i386.c (elf_i386_link_hash_newfunc): Initialize
347 def_protected.
348 * elf64-x86-64.c (elf_x86_64_link_hash_newfunc): Likewise.
349
a5b4ee94
L
3502017-08-26 H.J. Lu <hongjiu.lu@intel.com>
351
352 PR ld/21997
353 * elf-bfd.h (elf_obj_tdata): Use ENUM_BITFIELD on object_id,
354 dyn_lib_class and has_gnu_symbols. Change bad_symtab to bitfield.
355 Add a has_no_copy_on_protected bitfield.
356 (elf_has_no_copy_on_protected): New.
357 * elf-properties.c (_bfd_elf_parse_gnu_properties): Set
358 elf_has_no_copy_on_protected for GNU_PROPERTY_NO_COPY_ON_PROTECTED.
359 (elf_merge_gnu_property_list): Likewise.
360 (_bfd_elf_link_setup_gnu_properties): Set extern_protected_data
361 to FALSE for elf_has_no_copy_on_protected.
362 * elf32-i386.c (SYMBOL_NO_COPYRELOC): New.
363 (elf_i386_link_hash_entry): Add def_protected.
364 (elf_i386_adjust_dynamic_symbol): Also check SYMBOL_NO_COPYRELOC
365 when checking info->nocopyreloc.
366 (elf_i386_link_setup_gnu_properties): Don't set
367 extern_protected_data here.
368 (elf_i386_merge_symbol_attribute): New function.
369 (elf_backend_merge_symbol_attribute): New.
370 * elf64-x86-64.c (SYMBOL_NO_COPYRELOC): New.
371 (elf_x86_64_link_hash_entry): Add def_protected.
372 (elf_x86_64_need_pic): Report protected symbol for def_protected.
373 (elf_x86_64_adjust_dynamic_symbol): Also check SYMBOL_NO_COPYRELOC
374 when checking info->nocopyreloc.
375 (elf_x86_64_relocate_section): Also check for R_X86_64_PC32
376 relocation run-time overflow and unresolvable R_X86_64_32S
377 relocation against protected data symbol defined in shared object
378 with GNU_PROPERTY_NO_COPY_ON_PROTECTED.
379 (elf_x86_64_link_setup_gnu_properties): Don't set
380 extern_protected_data here.
381 (elf_x86_64_merge_symbol_attribute): New function.
382 (elf_backend_merge_symbol_attribute): New.
383
7c8bbca5
AM
3842017-08-26 Alan Modra <amodra@gmail.com>
385
386 * elf32-ppc.c (must_be_dyn_reloc): Use bfd_link_dll. Comment.
387 (ppc_elf_check_relocs): Only set DF_STATIC_TLS in shared libs.
388 (ppc_elf_relocate_section): Comment fix.
389 * elf64-ppc.c (must_be_dyn_reloc): Use bfd_link_dll. Comment.
390 (ppc64_elf_check_relocs): Only set DF_STATIC_TLS in shared libs.
391 Support dynamic relocs for TPREL16 when non-pic too.
392 (dec_dynrel_count): Adjust TPREL16 handling as per check_relocs.
393 (ppc64_elf_relocate_section): Support dynamic relocs for TPREL16
394 when non-pic too.
395
5fdda9d6
L
3962017-08-25 H.J. Lu <hongjiu.lu@intel.com>
397
398 * elf32-i386.c (elf_i386_link_hash_entry): Remove redundant
399 "symbol" in comments.
400 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Likewise.
401
7073b5b9
L
4022017-08-24 H.J. Lu <hongjiu.lu@intel.com>
403
404 PR ld/22001
405 * elf64-x86-64.c (elf_x86_64_relocate_section): Check for
406 R_X86_64_PC32 relocation run-time overflow and unresolvable
407 R_X86_64_32S relocation with -z nocopyreloc.
408
34bb2571
L
4092017-08-24 H.J. Lu <hongjiu.lu@intel.com>
410
411 * elf32-i386.c (elf_i386_check_relocs): Revert the last change.
412 Undefined symbols may not have a type.
413 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
414
aab921ad
L
4152017-08-23 H.J. Lu <hongjiu.lu@intel.com>
416
417 * elf64-x86-64.c (elf_x86_64_need_pic): Add an argument for
418 bfd_link_info. Report shared, PIE or PDE object based on
419 bfd_link_info.
420 (elf_x86_64_check_relocs): Update elf_x86_64_need_pic call.
421 (elf_x86_64_relocate_section): Likewise.
422
b1bb697e
L
4232017-08-23 H.J. Lu <hongjiu.lu@intel.com>
424
425 * elf32-i386.c (elf_i386_check_relocs): Increment PLT count only
426 for function symbols.
427 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
428
73784fa5
L
4292017-08-23 H.J. Lu <hongjiu.lu@intel.com>
430
431 * elf32-i386.c (elf_i386_link_setup_gnu_properties): Set
432 extern_protected_data to FALSE if GNU_PROPERTY_NO_COPY_ON_PROTECTED
433 is set on any input relocatable file.
434 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Likewise.
435
46434633
AM
4362017-08-23 Alan Modra <amodra@gmail.com>
437
438 PR 21988
439 * elf64-ppc.c (ensure_undef_dynamic): Rename from
440 ensure_undefweak_dynamic. Handle undefined too.
441 * elf32-ppc.c (ensure_undef_dynamic): Likewise.
442 * elf32-hppa.c (ensure_undef_dynamic): Likewise.
443 (allocate_dynrelocs): Discard undefined non-default visibility
444 relocs first. Make undefined syms dynamic. Tidy goto.
445
487b6440
AM
4462017-08-21 Alan Modra <amodra@gmail.com>
447 H.J. Lu <hongjiu.lu@intel.com>
448
449 PR ld/21964
450 * elf-bfd.h (SYMBOLIC_BIND): Return TRUE for __start/__stop symbols.
451 * elflink.c (bfd_elf_define_start_stop): Rewrite.
452
284d826d
HPN
4532017-08-21 Hans-Peter Nilsson <hp@bitrange.com>
454
455 PR ld/20125
456 * elf64-mmix.c (mmix_elf_relax_section): Correct handling of
457 undefined weak symbols.
458
de259397
NC
4592017-08-18 Nick Clifton <nickc@redhat.com>
460
461 PR binutils/21962
462 * tekhex.c (getsym): Fix check for source pointer walking off the
463 end of the input buffer.
464
545bc2b3
SN
4652017-08-17 Szabolcs Nagy <szabolcs.nagy@arm.com>
466
467 PR ld/18808
468 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Skip IFUNC
469 relocations in debug sections, change abort to _bfd_error_handler.
470
0c54f692
NC
4712017-08-14 Nick Clifton <nickc@redhat.com>
472
473 PR 21957
474 * elf.c (setup_group): Check for an empty or very small group
475 section.
476 * po/bfd.pot: Regenerate.
477
79a94a2a
AM
4782017-08-14 Alan Modra <amodra@gmail.com>
479
480 PR 21441
481 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't add
482 alignment padding here.
483 * elflink.c (bfd_elf_discard_info): Add .eh_frame padding here
484 in a reverse pass over sections.
485
98c5dfc9
L
4862017-08-11 H.J. Lu <hongjiu.lu@intel.com>
487
488 PR binutils/21943
489 * elf32-i386.c (elf_i386_get_synthetic_symtab): Allocate space
490 for @plt suffixes first.
491 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
492
24d3e51b
NC
4932017-08-08 Nick Clifton <nickc@redhat.com>
494
495 PR 21916
496 * elf-attrs.c (_bfd_elf_parse_attributes): Complain about very
497 small section lengths.
498 * elf.c (_bfd_elf_setup_sections): Skip empty entries in the group
499 table.
500 (elfcore_grok_freebsd_prstatus): Add checks to make sure that
501 there is enough data present in the note.
502
206c9c79
AM
5032017-08-08 Alan Modra <amodra@gmail.com>
504
505 PR 21017
506 * elf32-microblaze.c (microblaze_elf_check_relocs): Don't bump
507 got.refcount for GOTOFF relocs, just create .got section.
508
2980ccad
L
5092017-08-07 H.J. Lu <hongjiu.lu@intel.com>
510
511 * elflink.c (elf_link_add_object_symbols): Move common symbol
512 check after bed->common_definition.
513
b3293efa
AM
5142017-08-07 Alan Modra <amodra@gmail.com>
515
516 PR 21910
517 * elflink.c (bfd_elf_final_link): Don't segfault when sections
518 needed to define various dynamic tags have been discarded.
519
b7a18930
NC
5202017-08-07 Nick Clifton <nickc@redhat.com>
521
522 PR 21884
523 * elf32-i386.c (elf_i386_link_setup_gnu_properties): If the dynobj
524 has not been set then use the bfd returned by
525 _bfd_elf_link_setup_gnu_properties. If that is null then search
526 through all the input bfds selecting the first normal, ELF format
527 one.
528 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Likewise.
529
1d4af308
L
5302017-08-06 H.J. Lu <hongjiu.lu@intel.com>
531
532 * elf32-i386.c (elf_i386_link_hash_entry): Change tls_get_addr
533 to 1 bit.
534 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 0.
535 (elf_i386_check_tls_transition): Check tls_get_addr directly.
536 (elf_i386_convert_load_reloc): Update tls_get_addr check.
537 (elf_i386_link_check_relocs): New function.
538 (bfd_elf32_bfd_link_check_relocs): New.
539 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Change tls_get_addr
540 to 1 bit.
541 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 0.
542 (elf_x86_64_check_tls_transition): Check tls_get_addr directly.
543 (elf_x86_64_convert_load_reloc): Update tls_get_addr check.
544 (elf_x86_64_link_check_relocs): New function.
545 (bfd_elf64_bfd_link_check_relocs): New.
546 (bfd_elf32_bfd_link_check_relocs): Likewise.
547
a4819f54
L
5482017-08-06 H.J. Lu <hongjiu.lu@intel.com>
549
550 PR ld/21903:
551 * elflink.c (elf_link_add_object_symbols): Treat common symbol
552 as undefined for --no-define-common.
553
55ef6584
AM
5542017-08-05 Alan Modra <amodra@gmail.com>
555
556 * elf32-hppa.c (elf32_hppa_set_gp): Don't require an
557 hppa_link_hash_table.
558
d84ed528
MF
5592017-08-02 Max Filippov <jcmvbkbc@gmail.com>
560
561 * xtensa-isa.c (xtensa_isa_init): Don't update lookup table
562 entries for sysregs with negative indices.
563
1ef692ea
AK
5642017-08-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
565
566 * elf32-s390.c (elf_s390_finish_dynamic_sections): Skip if it
567 isn't the S/390 specific elf data.
568 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
569
57593436
KLC
5702017-07-31 Kuan-Lin Chen <rufus@andestech.com>
571
572 * elfxx-riscv.c (riscv_elf_add_sub_reloc): New function.
573 * (howto_table) [R_RISCV_ADD8]: Use riscv_elf_add_sub_reloc.
574 [R_RISCV_ADD16]: Likewise.
575 [R_RISCV_ADD32]: Likewise.
576 [R_RISCV_ADD64]: Likewise.
577 [R_RISCV_SUB6]: Likewise.
578 [R_RISCV_SUB8]: Likewise.
579 [R_RISCV_SUB16]: Likewise.
580 [R_RISCV_SUB32]: Likewise.
581 [R_RISCV_SUB64]: Likewise.
582
d44c746a
AM
5832017-07-31 Alan Modra <amodra@gmail.com>
584
585 * elf64-ppc.c (ppc64_elf_tls_setup): Warn on --plt-localentry
586 without ld.so checks.
587
8b5f1ed8
AM
5882017-07-29 Alan Modra <amodra@gmail.com>
589
590 PR 21847
591 * elf64-ppc.c (struct ppc_link_hash_entry): Add non_zero_localentry.
592 (ppc64_elf_merge_symbol): Set non_zero_localentry.
593 (is_elfv2_localentry0): Test non_zero_localentry.
594 (ppc64_elf_tls_setup): Default to --no-plt-localentry.
595
894dde0b
AK
5962017-07-28 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
597
598 * elf32-s390.c (elf_s390_finish_dynamic_sections): Add NULL
599 pointer check for htab->elf.irelplt.
600 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
601
8bdf0be1
NC
6022017-07-27 Nick Clifton <nickc@redhat.com>
603
604 PR 21840
605 * mach-o.c (bfd_mach_o_read_symtab_strtab): Fail if the symtab
606 size is -1.
607 * nlmcode.h (nlm_swap_auxiliary_headers_in): Replace assertion
608 with error return.
609 * section.c (bfd_make_section_with_flags): Fail if the name or bfd
610 are NULL.
611 * vms-alpha.c (bfd_make_section_with_flags): Correct computation
612 of end pointer.
613 (evax_bfd_print_emh): Check for invalid string lengths.
614
c26bb067
NC
6152017-07-25 Nick Clifton <nickc@redhat.com>
616
617 * po/fr.po: Updated French translation.
618
cfe7b9bd
BG
6192017-07-25 Benjamin Green <bengreen5mx@gmail.com>
620
621 PR 21824
622 * elf32-msp430.c (msp430_elf_relax_section): Allow conversion of
623 16-bit absolute branches into 10-bit pc-relative branches on the
624 MSP430 as well as the MSP430X.
625
d4aaa2a0
AM
6262017-07-25 Alan Modra <amodra@gmail.com>
627
628 * elf64-ppc.c (struct map_stub): Add tls_get_addr_opt_bctrl.
629 (stub_eh_frame_size): New function.
630 (ppc_size_one_stub): Set group tls_get_addr_opt_bctrl.
631 (group_sections): Init group tls_get_addr_opt_bctrl.
632 (ppc64_elf_size_stubs): Update sizing and initialization of
633 .eh_frame. Iteration over stubs via group list.
634 (ppc64_elf_build_stubs): Iterate over stubs via group list.
635 (ppc64_elf_finish_dynamic_sections): Update finalization of
636 .eh_frame.
637
ca4cf9b9
NC
6382017-07-24 Nick Clifton <nickc@redhat.com>
639
640 PR 21813
641 * mach-o.c (bfd_mach_o_canonicalize_relocs): Pass the base address
642 of the relocs to the canonicalize_one_reloc routine.
643 * mach-o.h (struct bfd_mach_o_backend_data): Update the prototype
644 for the _bfd_mach_o_canonicalize_one_reloc field.
645 * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add
646 res_base parameter. Use to check for corrupt pair relocs.
647 * mach-o-aarch64.c (bfd_mach_o_arm64_canonicalize_one_reloc):
648 Likewise.
649 * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc):
650 Likewise.
651 * mach-o-x86-64.c (bfd_mach_o_x86_64_canonicalize_one_reloc):
652 Likewise.
653
654 * vms-alpha.c (_bfd_vms_slurp_eihd): Make sure that there is
655 enough data in the record before attempting to parse it.
656 (_bfd_vms_slurp_eeom): Likewise.
657
658 (_bfd_vms_slurp_egsd): Check for an invalid section index.
659 (image_set_ptr): Likewise.
660 (alpha_vms_slurp_relocs): Likewise.
661
8a2df5e2
NC
662 (alpha_vms_object_p): Check for a truncated record.
663
47aeb64c
NC
6642017-07-24 Nick Clifton <nickc@redhat.com>
665
666 PR 21803
667 * reloc.c (_bfd_unrecognized_reloc): New function. Reports
668 an unrecognized reloc and sets the bfd_error value.
669 * libbfd.h: Regenerate.
670 * elf32-arm.c (elf32_arm_final_link_relocate): Use the new
671 function.
672 * elf32-i386.c (elf_i386_relocate_section): Likewise.
673 * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
674 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
675 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Likewise.
676 * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
677
15a3a14f
AM
6782017-07-23 Alan Modra <amodra@gmail.com>
679
680 * elf64-ppc.c (ppc64_elf_size_stubs): Correct advance to
681 restore of LR.
682
f2e6a843
SN
6832017-07-19 Szabolcs Nagy <szabolcs.nagy@arm.com>
684
685 PR ld/18841
686 * elfnn-aarch64.c (elfNN_aarch64_reloc_type_class): Return
687 reloc_class_ifunc for ifunc symbols.
688
909e4e71
NC
6892017-07-19 Nick Clifton <nickc@redhat.com>
690
691 PR 21787
692 * archive.c (bfd_generic_archive_p): If the bfd does not have the
693 correct magic bytes at the start, set the error to wrong format
694 and clear the format selector before returning NULL.
695
29866fa1
NC
6962017-07-19 Nick Clifton <nickc@redhat.com>
697
698 PR 21786
699 * coff-rs6000.c (_bfd_strntol): New function.
700 (_bfd_strntoll): New function.
701 (GET_VALUE_IN_FIELD): New macro.
702 (EQ_VALUE_IN_FIELD): new macro.
703 (_bfd_xcoff_slurp_armap): Use new macros.
704 (_bfd_xcoff_archive_p): Likewise.
705 (_bfd_xcoff_read_ar_hdr): Likewise.
706 (_bfd_xcoff_openr_next_archived_file): Likewise.
707 (_bfd_xcoff_stat_arch_elt): Likewise.
6c4e7b6b
NC
708 * coff64-rs6000.c (_bfd_strntol): New function.
709 (_bfd_strntoll): New function.
710 (GET_VALUE_IN_FIELD): New macro.
711 (xcoff64_slurp_armap): Use new macros.
29866fa1 712
684d5a10
JEM
7132017-07-19 Claudiu Zissulescu <claziss@synopsys.com>
714 John Eric Martin <John.Martin@emmicro-us.com>
715
716 * bfd-in2.h: Regenerate.
717 * libbfd.h: Regenerate.
718 * elf32-arc.c (JLI): Define.
719 * reloc.c: Add JLI relocations.
720
de194d85
YC
7212017-07-18 Nick Clifton <nickc@redhat.com>
722
723 PR 21775
724 * coff-sh.c: Fix spelling typos.
725 * compress.c: Likewise.
726 * cpu-pdp11.c: Likewise.
727 * ecofflink.c: Likewise.
728 * elf-m10300.c: Likewise.
729 * elf.c: Likewise.
730 * elf32-arm.c: Likewise.
731 * elf32-m68k.c: Likewise.
732 * elf32-nds32.c: Likewise.
733 * elf32-ppc.c: Likewise.
734 * elf32-sh.c: Likewise.
735 * elf32-v850.c: Likewise.
736 * elf64-ppc.c: Likewise.
737 * elf64-x86-64.c: Likewise.
738 * elflink.c: Likewise.
739 * elfnn-aarch64.c: Likewise.
740 * elfxx-mips.c: Likewise.
741 * som.c: Likewise.
742 * sunos.c: Likewise.
743 * vms-alpha.c: Likewise.
744 * xcofflink.c: Likewise.
745
e4e21d9e
NC
7462017-07-18 Nick Clifton <nickc@redhat.com>
747
748 PR binutils/21781
749 * coffcode.h (handle_COMDAT): Replace abort with an error message
750 and return.
751
8e85f840
L
7522017-07-17 H.J. Lu <hongjiu.lu@intel.com>
753
754 PR ld/21782
755 * elf64-x86-64.c (elf_x86_64_relocate_section): Limit PIC check
756 to shared library.
757
dd57c19c
L
7582017-07-17 H.J. Lu <hongjiu.lu@intel.com>
759
760 * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
761
676ee2b5
AM
7622017-07-16 Alan Modra <amodra@gmail.com>
763
764 * elf64-ppc.c (ppc64_elf_relocate_section): Don't optimize
765 __tls_index GOT entries when using __tls_get_addr_opt stub.
766 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
767
429d795d
AM
7682017-07-12 Alan Modra <amodra@gmail.com>
769
770 * po/es.po: Update from translationproject.org/latest/bfd/.
771 * po/fi.po: Likewise.
772 * po/fr.po: Likewise.
773 * po/id.po: Likewise.
774 * po/ja.po: Likewise.
775 * po/ro.po: Likewise.
776 * po/ru.po: Likewise.
777 * po/sr.po: Likewise.
778 * po/sv.po: Likewise.
779 * po/tr.po: Likewise.
780 * po/uk.po: Likewise.
781 * po/vi.po: Likewise.
782 * po/zh_CN.po: Likewise.
783 * po/hr.po: New file from translationproject.org.
784 * configure.ac (ALL_LINGUAS): Add hr. Sort.
785 * configure: Regenerate.
786
0bae9e9e
NC
7872017-07-12 Nick Clifton <nickc@redhat.com>
788
789 Fix compile time warnings using gcc 7.1.1.
790 * elf32-xtensa.c (elf_xtensa_get_plt_section): Increase length of
791 plt_name buffer.
792 (elf_xtensa_get_gotplt_section): Increase length of got_name
793 buffer.
794 * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add a
795 default return of FALSE.
796 * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc): Add a
797 default return of FALSE.
798
d42c267e
AM
7992017-07-12 Alan Modra <amodra@gmail.com>
800
801 * binary.c (binary_set_section_contents): Don't print filepos in
802 error message.
803 (coff_write_object_contents): Cast size_t for error message.
804 (coff_slurp_line_table): Don't use bfd_vma symndx.
805 (coff_slurp_reloc_table): Remove unneeded cast.
806 * dwarf2.c (read_section): Cast bfd_int64_t to long long for
807 error message.
808 (find_abstract_instance_name): Likewise.
809 * elf32-arm.c (arm_type_of_stub): Correct error arg order.
810 (bfd_elf32_arm_stm32l4xx_erratum_scan): Don't cast error arg.
811 (elf32_arm_check_relocs): Make r_symndx an int.
812 * elf32-cris.c (cris_elf_check_relocs): Delete extraneous %s in
813 format string.
814 * elf32-metag.c (elf_metag_relocate_section): Delete extra error
815 message arg.
816 * elf32-nds32.c (nds32_elf_ex9_build_hash_table): Rewrite bogus
817 error message.
818 * elf32-i386.c (elf_i386_check_relocs): Make r_symndx an int.
819 * elf32-s390.c (elf_s390_check_relocs): Likewise.
820 * elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
821 * elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
822 * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
823 * elf64-s390.c (elf_s390_check_relocs): Likewise.
824 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
825 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Likewise.
826 * elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
827 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
828 * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
829 * elf64-mmix.c (_bfd_mmix_after_linker_allocation): Cast size_t args
830 and use %lu for error message.
831 * elflink.c (elf_link_adjust_relocs): Delete extra error message arg.
832 * mmo.c (mmo_scan): Make stab_loc a file_ptr. Cast expression for
833 error message.
834
835 * elf32-arm.c (elf32_arm_tls_relax): Correct format string and args
836 in error message.
837 (elf32_arm_final_link_relocate): Likewise.
838 * coff-arm.c (bfd_arm_process_before_allocation): Likewise.
839 * coffcode.h (styp_to_sec_flags): Likewise.
840 * cofflink.c (_bfd_coff_write_global_sym): Likewise.
841 * ecoff.c (_bfd_ecoff_slurp_symbol_table): Likewise.
842 * elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
843 * elf32-bfin.c (bfinfdpic_check_relocs): Likewise.
844 (elf32_bfin_merge_private_bfd_data): Likewise.
845 * elf32-cris.c (cris_elf_relocate_section): Likewise.
846 * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
847 * elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
848 (i370_elf_relocate_section): Likewise.
849 * elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
850 * elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
851 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
852 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
853 * elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
854 * elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
855 * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
856 * elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
857 (_bfd_mips_elf_merge_private_bfd_data): Likewise.
858 * ieee.c (ieee_write_id, read_id): Likewise.
859 * mach-o.c (bfd_mach_o_write_contents): Likewise.
860 (bfd_mach_o_layout_commands, bfd_mach_o_read_section_32): Likewise.
861 (bfd_mach_o_read_section_64, bfd_mach_o_read_symtab_symbol): Likewise.
862 (bfd_mach_o_read_command, bfd_mach_o_header_p): Likewise.
863 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Likewise.
864 * stabs.c (_bfd_link_section_stabs): Likewise.
865
866 * coff-arm.c (coff_arm_relocate_section): Use L modifier in error
867 format.
868 * coff-mcore.c (coff_mcore_relocate_section): Likewise.
869 * coff-ppc.c (coff_ppc_relocate_section): Likewise.
870 * coff-rs6000.c (xcoff_reloc_type_toc): Likewise.
871 * coff-sh.c (sh_relax_section): Likewise.
872 (sh_relax_delete_bytes, sh_swap_insns): Likewise.
873 * coff-tic80.c (coff_tic80_relocate_section): Likewise.
874 * coffcode.h (coff_slurp_reloc_table): Likewise.
875 * coffgen.c (_bfd_coff_get_external_symbols): Likewise.
876 (_bfd_coff_read_string_table): Likewise.
877 * cofflink.c (_bfd_coff_generic_relocate_section): Likewise.
878 * compress.c (bfd_get_full_section_contents): Likewise.
879 * dwarf2.c (read_formatted_entries, decode_line_info): Likewise.
880 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
881 * elf.c (bfd_elf_string_from_elf_section): Likewise.
882 * elf32-arc.c (arc_special_overflow_checks): Likewise.
883 * elf32-arm.c (elf32_arm_tls_relax): Likewise.
884 (elf32_arm_final_link_relocate, elf32_arm_relocate_section): Likewise.
885 (elf32_arm_write_section): Likewise.
886 * elf32-bfin.c (bfin_relocate_section): Likewise.
887 (bfinfdpic_relocate_section): Likewise.
888 * elf32-hppa.c (hppa_build_one_stub): Likewise.
889 (final_link_relocate, elf32_hppa_relocate_section): Likewise.
890 * elf32-i386.c (elf_i386_tls_transition): Likewise.
891 (elf_i386_relocate_section): Likewise.
892 * elf32-ip2k.c (ip2k_final_link_relocate): Likewise.
893 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
894 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
895 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
896 * elf32-metag.c (elf_metag_relocate_section): Likewise.
897 * elf32-nds32.c (unrecognized_reloc_msg): Likewise.
898 (nds32_elf_relax_longcall1, nds32_elf_relax_longcall2): Likewise.
899 (nds32_elf_relax_longcall3, nds32_elf_relax_longjump1): Likewise.
900 (nds32_elf_relax_longjump2, nds32_elf_relax_longjump3): Likewise.
901 (nds32_elf_relax_longcall4, nds32_elf_relax_longcall5): Likewise.
902 (nds32_elf_relax_longcall6, nds32_elf_relax_longjump4): Likewise.
903 (nds32_elf_relax_longjump5, nds32_elf_relax_longjump6): Likewise.
904 (nds32_elf_relax_longjump7, nds32_elf_relax_loadstore): Likewise.
905 (nds32_elf_relax_ptr, nds32_elf_ex9_build_hash_table): Likewise.
906 * elf32-nios2.c (nios2_elf32_relocate_section): Likewise.
907 * elf32-rx.c (UNSAFE_FOR_PID): Likewise.
908 * elf32-s390.c (invalid_tls_insn, elf_s390_relocate_section): Likewise.
909 * elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
910 * elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
911 * elf32-sh.c (sh_elf_relax_section): Likewise.
912 (sh_elf_relax_delete_bytes, sh_elf_swap_insns): Likewise.
913 (sh_elf_relocate_section): Likewise.
914 * elf32-sh64.c (shmedia_prepare_reloc): Likewise.
915 * elf32-spu.c (spu_elf_relocate_section): Likewise.
916 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
917 * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
918 * elf32-v850.c (v850_elf_relax_section): Likewise.
919 * elf32-vax.c (elf_vax_check_relocs): Likewise.
920 (elf_vax_relocate_section): Likewise.
921 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
922 (extend_ebb_bounds_forward, extend_ebb_bounds_backward): Likewise.
923 (compute_text_actions, compute_ebb_proposed_actions): Likewise.
924 (do_fix_for_relocatable_link): Likewise.
925 * elf64-alpha.c (elf64_alpha_relax_got_load): Likewise.
926 (elf64_alpha_relax_with_lituse): Likewise.
927 * elf64-hppa.c (elf64_hppa_finish_dynamic_symbol): Likewise.
928 (elf_hppa_final_link_relocate): Likewise.
929 * elf64-ia64-vms.c (elf64_ia64_relax_section): Likewise.
930 (elf64_ia64_choose_gp, elf64_ia64_relocate_section): Likewise.
931 (elf64_vms_link_add_object_symbols): Likewise.
932 * elf64-mmix.c (mmix_elf_perform_relocation): Likewise.
933 (mmix_final_link_relocate): Likewise.
934 * elf64-s390.c (invalid_tls_insn): Likewise.
935 (elf_s390_relocate_section): Likewise.
936 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
937 * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
938 (elf_x86_64_relocate_section): Likewise.
939 * elfcode.h (elf_slurp_symbol_table): Likewise.
940 * elfcore.h (elf_core_file_p): Likewise.
941 * elflink.c (elf_link_read_relocs_from_section): Likewise.
942 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
943 (elfNN_aarch64_relocate_section): Likewise.
944 * elfnn-ia64.c (elfNN_ia64_relax_section): Likewise.
945 (elfNN_ia64_choose_gp, elfNN_ia64_relocate_section): Likewise.
946 * elfnn-riscv.c (riscv_elf_relocate_section): Likewise.
947 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
948 (_bfd_mips_elf_relocate_section): Likewise.
949 (_bfd_mips_elf_finish_dynamic_symbol, mips_finish_exec_plt): Likewise.
950 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
951 * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
952 * ieee.c (ieee_slurp_external_symbols): Likewise.
953 * ihex.c (ihex_write_object_content): Likewise.
954 * mach-o.c (bfd_mach_o_build_exec_seg_command): Likewise.
955 * merge.c (_bfd_merged_section_offset): Likewise.
956 * mmo.c (mmo_write_loc_chunk): Likewise.
957 (mmo_write_object_contents): Likewise.
958 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Likewise.
959 * stabs.c (_bfd_link_section_stabs): Likewise.
960 * xcofflink.c (xcoff_link_add_symbols, xcoff_find_tc0): Likewise.
961
e3fbc3da
AM
9622017-07-11 Alan Modra <amodra@gmail.com>
963
964 * elf32-ppc.c (ppc_elf_relocate_section): Fix typo.
965
2c4d9cbe
AM
9662017-07-11 Alan Modra <amodra@gmail.com>
967
968 * elf32-ppc.c (ppc_elf_relocate_section): Emit "unexpected
969 instruction" error using _bfd_error_handler, not einfo.
970
adce5b39
NC
9712017-07-10 Nick Clifton <nickc@redhat.com>
972
973 * coffcode.h (coff_slurp_symbol_table): Do not include an entry
974 for C_AIX_WEAKEXT if it has the same value as C_WEAKEXT.
975
e6f3b9c3
JB
9762017-07-07 John Baldwin <jhb@FreeBSD.org>
977
978 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PTLWPINFO.
979
532cc313
AM
9802017-07-07 Alan Modra <amodra@gmail.com>
981
982 * coffcode.h (coff_slurp_symbol_table): Handle C_AIX_WEAKEXT.
983
1cf9552b
AM
9842017-07-07 Alan Modra <amodra@gmail.com>
985
986 * bfd.c (_doprnt): Replace "L" with "ll" when printing bfd_vma
987 as long long. Move code replacing "ll" with "I64", and simplify.
988
a0b7b105
L
9892017-07-06 H.J. Lu <hongjiu.lu@intel.com>
990
991 * bfd.c (_doprnt): Convert 'L' to 'l' when setting wide_width
992 to 1.
993
1d827a72
L
9942017-07-05 H.J. Lu <hongjiu.lu@intel.com>
995
996 * dwarf2.c (line_info_add_include_dir_stub): Replace time with
997 xtime.
998 (line_info_add_file_name): Likewise.
999 (decode_line_info): Likewise.
1000
0d702cfe
TG
10012017-07-04 Tristan Gingold <gingold@adacore.com>
1002
1003 * version.m4: Bump version to 2.29.51
1004 * configure: Regenerate.
1005
564e46b7
JW
10062017-07-04 Jiong Wang <jiong.wang@arm.com>
1007
1008 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Remove the
1009 sanity check at the head of this function.
1010
0041f7df
JK
10112017-07-04 Jan Kratochvil <jan.kratochvil@redhat.com>
1012
1013 * dwarf2.c (struct dwarf2_debug): Add fields dwarf_line_str_buffer and
1014 dwarf_line_str_size.
1015 (struct attr_abbrev): Add field implicit_const.
1016 (dwarf_debug_sections): Add .debug_line_str.
1017 (enum dwarf_debug_section_enum): Add debug_line_str and debug_max.
1018 (dwarf_debug_section_assert): Add static assertion.
1019 (read_indirect_line_string): New.
1020 (read_abbrevs): Support DW_FORM_implicit_const.
1021 (is_str_attr): Support DW_FORM_line_strp.
1022 (read_attribute_value): Support DW_FORM_line_strp and
1023 DW_FORM_implicit_const.
1024 (read_attribute): Support DW_FORM_implicit_const.
1025 (line_info_add_include_dir, line_info_add_include_dir_stub):
1026 (line_info_add_file_name, read_formatted_entries): New.
1027 (decode_line_info, parse_comp_unit): Support DWARF 5.
1028 (_bfd_dwarf2_cleanup_debug_info): Free dwarf_line_str_buffer.
1029
d8cd8c1f
EB
10302017-07-03 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
1031
1032 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove the
1033 abort statement that was put for symbols that are not dynamic.
1034
15e6ed8c
TG
10352017-07-03 Tristan Gingold <gingold@adacore.com>
1036
1037 * po/bfd.pot: Regenerate
1038
76cfced5
AM
10392017-07-03 Alan Modra <amodra@gmail.com>
1040
1041 * bfd.c (_doprnt): Rewrite "ll" and "L" modifiers to "I64" for
1042 __MSVCRT__. Support "L" modifier for bfd_vma. Formatting.
1043 * elf.c (setup_group): Use "Lx" to print sh_size.
1044 (_bfd_elf_setup_sections): Remove unnecessary cast and print
1045 unknown section type in hex.
1046 (copy_special_section_fields): Style fix.
1047 (bfd_section_from_shdr): Correct format for sh_link. Use a
1048 common error message for all the variants of unrecognized
1049 section types.
1050 (assign_file_positions_for_load_sections): Use "Lx" for lma
1051 adjust error message.
1052 (assign_file_positions_for_non_load_sections): Formatting.
1053 (rewrite_elf_program_header): Formatting. Use "Lx" for
1054 bfd_vma values in error messages.
1055 * elfcode.h (elf_slurp_reloc_table_from_section): Cast
1056 ELF_R_SYM value to type expected by format.
1057 * elflink.c (elf_link_read_relocs_from_section): Use "Lx"
1058 in error messages.
1059 (elf_link_add_object_symbols): Use "Lu" for symbol sizes.
1060 (elf_link_input_bfd): Use "Lx" for r_info.
1061 (bfd_elf_gc_record_vtinherit): Use "Lx" for offset.
1062
ce9116fd
AM
10632017-07-03 Alan Modra <amodra@gmail.com>
1064
1065 * bfd.c (bfd_scan_vma): Don't use long long unless HAVE_LONG_LONG.
1066 * coff-rs6000.c (FMT20): Handle hosts with 64-bit long and
1067 Microsoft C library variant of long long format specifier.
1068 (PRINT20): Cast value to bfd_uint64_t not long long.
1069 * coffcode.h (coff_print_aux): Use BFD_VMA_FMT.
1070 * coff-x86_64.c (coff_amd64_reloc): Use bfd_uint64_t rather than
1071 long long. Don't cast to bfd_vma.
1072 * elf32-score.c (score3_bfd_getl48): Likewise.
1073 * vms-alpha.c (_bfd_vms_slurp_eisd): Likewise.
1074
cd9af601
AM
10752017-07-03 Alan Modra <amodra@gmail.com>
1076
1077 * elf.c (_bfd_elf_print_private_bfd_data): Use BFD_VMA_FMT to
1078 print d_tag.
1079 (bfd_elf_print_symbol): Don't cast symbol->flags.
1080 (_bfd_elf_symbol_from_bfd_symbol): Likewise.
1081 * elf32-ppc.c (ppc_elf_begin_write_processing): Correct
1082 _bfd_error_handler argument order.
1083 (ppc_elf_merge_private_bfd_data): Don't cast flags.
1084
33c734b2
AM
10852017-07-03 Alan Modra <amodra@gmail.com>
1086
1087 * configure.ac: Invoke AC_CHECK_TYPES for long long. Invoke
1088 AC_TYPE_LONG_DOUBLE.
1089 * configure: Regenerate.
1090 * config.in: Regenerate.
1091
3df5cd13
AW
10922017-06-29 Andrew Waterman <andrew@sifive.com>
1093
1094 * elfnn-riscv.c (riscv_elf_adjust_dynamic_symbol): Fix TLS copy
1095 relocs.
1096
ec1acaba
EB
10972017-06-29 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
1098
1099 * elfxx-sparc.c (allocate_dynrelocs): Don't make a symbol dynamic
1100 unless it is undefined weak.
1101 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Set the flag
1102 relative_reloc to direct non-dynamic symbols to R_SPARC_RELATIVE
1103 relocation.
1104 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): If symbol
1105 is not dynamic in PIC, abort.
1106
ff07562f
JW
11072017-06-29 Jiong Wang <jiong.wang@arm.com>
1108
1109 PR ld/21402
1110 * elfnn-aarch64.c (elfNN_aarch64_allocate_dynrelocs): Only make
1111 undefined weak symbols into dynamic.
1112 (elfNN_aarch64_final_link_relocate): Generate runtime RELATIVE
1113 relocation for non-dynamic symbols.
1114 (elfNN_aarch64_finish_dynamic_symbol): Add sanity check.
1115
2aff25ba
JW
11162017-06-29 Jiong Wang <jiong.wang@arm.com>
1117
1118 * elfnn-aarch64.c (aarch64_relocation_aginst_gp_p): New function.
1119 (elfNN_aarch64_final_link_relocate): Delete duplicated code for
1120 BFD_RELOC_AARCH64_LD64_GOTOFF_LO15, BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC,
1121 BFD_RELOC_AARCH64_MOVW_GOTOFF_G1.
1122 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Optimize the
1123 support for them.
1124
88ab90e8
AA
11252017-06-29 Andreas Arnez <arnez@linux.vnet.ibm.com>
1126
1127 * elf-bfd.h (elfcore_write_s390_gs_cb): Add prototype.
1128 (elfcore_write_s390_gs_bc): Likewise.
1129 * elf.c (elfcore_grok_s390_gs_cb): New function.
1130 (elfcore_grok_s390_gs_bc): New function.
1131 (elfcore_grok_note): Call them.
1132 (elfcore_write_s390_gs_cb): New function.
1133 (elfcore_write_s390_gs_bc): New function.
1134 (elfcore_write_register_note): Call them.
1135
328ce951
L
11362017-06-28 H.J. Lu <hongjiu.lu@intel.com>
1137
1138 * libbfd.c (_bfd_generic_get_section_contents): Don't call
1139 bfd_get_file_size. Check archive element size.
1140 (_bfd_generic_get_section_contents_in_window): Likewise.
1141
47fdcf63
L
11422017-06-28 H.J. Lu <hongjiu.lu@intel.com>
1143
1144 * bfd-in2.h: Regenerated.
1145 * bfdio.c (bfd_get_size): Change return type to ufile_ptr.
1146 (bfd_get_file_size): Likewise.
1147
38bf472a
MR
11482017-06-28 Maciej W. Rozycki <macro@imgtec.com>
1149 Matthew Fortune <matthew.fortune@imgtec.com>
1150
1151 * archures.c (bfd_mach_mips_interaptiv_mr2): New macro.
1152 * cpu-mips.c (I_interaptiv_mr2): New enum value.
1153 (arch_info_struct): Add "mips:interaptiv-mr2" entry.
1154 * elfxx-mips.c (_bfd_elf_mips_mach) <E_MIPS_MACH_IAMR2>: New
1155 case.
1156 (mips_set_isa_flags) <bfd_mach_mips_interaptiv_mr2>: Likewise.
1157 (bfd_mips_isa_ext) <bfd_mach_mips_interaptiv_mr2>: Likewise.
1158 (print_mips_isa_ext) <AFL_EXT_INTERAPTIV_MR2>: Likewise.
1159 (mips_mach_extensions): Add `bfd_mach_mipsisa32r3' and
1160 `bfd_mach_mips_interaptiv_mr2' entries.
1161 * bfd-in2.h: Regenerate.
1162
2d68166e
NC
11632017-06-27 Nick Clifton <nickc@redhat.com>
1164
1165 * tekhex.c (pass_over): Revert accidental conversion of a local
1166 array to a static array.
1167
68063779
SKS
11682017-06-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1169
1170 PR ld/13402
1171 * elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Adjust
1172 reloc addend if necessary. Adjust diff only if
1173 shrinked_insn_address < end_address.
1174
ea9aafc4
AM
11752017-06-27 Alan Modra <amodra@gmail.com>
1176
1177 PR binutils/21665
1178 * libbfd.c (_bfd_generic_get_section_contents): Warning fix.
1179 (_bfd_generic_get_section_contents_in_window): Likewise.
1180
a6cbf936
KLC
11812017-06-26 Kuan-Lin Chen <rufus@andestech.com>
1182
1183 * elfnn-riscv.c (perform_relocation): Support the new
1184 R_RISCV_32_PCREL relocation.
1185 (riscv_elf_relocate_section): Likewise.
1186 * elfxx-riscv.c (howto_table): Likewise.
1187 (riscv_reloc_map): Likewise.
1188 * bfd-in2.h (BFD_RELOC_RISCV_32_PCREL): New relocation.
1189 * libbfd.h: Regenerate.
1190
7211ae50
AM
11912017-06-27 Alan Modra <amodra@gmail.com>
1192
1193 PR binutils/21665
1194 * libbfd.c (_bfd_generic_get_section_contents): Delete abort.
1195 Use unsigned file pointer type, and remove cast.
1196 * libbfd.c (_bfd_generic_get_section_contents_in_window): Likewise.
1197 Add "count", not "sz".
1198
ab27f80c
PA
11992017-06-26 Pedro Alves <palves@redhat.com>
1200
1201 PR binutils/21665
1202 * libbfd.c (_bfd_generic_get_section_contents): Add "count", not
1203 "sz".
1204
1f473e3d
L
12052017-06-26 H.J. Lu <hongjiu.lu@intel.com>
1206
1207 PR binutils/21665
1208 * libbfd.c (_bfd_generic_get_section_contents_in_window): Add
1209 a missing line.
1210
b417536f
MR
12112017-06-26 Maciej W. Rozycki <macro@imgtec.com>
1212
1213 * cpu-mips.c (arch_info_struct): Mark the 4010 32-bit.
1214 * elfxx-mips.c (mips_set_isa_flags) <bfd_mach_mips4010>: Set
1215 E_MIPS_ARCH_2 rather than E_MIPS_ARCH_3 in `e_flags'.
1216 (mips_mach_extensions): Mark `bfd_mach_mips4010' as extending
1217 `bfd_mach_mips6000' rather than `bfd_mach_mips4000'.
1218
0630b49c
L
12192017-06-26 H.J. Lu <hongjiu.lu@intel.com>
1220
1221 PR binutils/21665
1222 * compress.c (bfd_get_full_section_contents): Don't check the
1223 file size here.
1224 * libbfd.c (_bfd_generic_get_section_contents): Check for and
ea9aafc4 1225 reject a section whose size + offset is greater than the size
0630b49c
L
1226 of the entire file.
1227 (_bfd_generic_get_section_contents_in_window): Likewise.
515a4464 1228
04e15b4a
NC
12292017-06-26 Nick Clifton <nickc@redhat.com>
1230
1231 PR binutils/21670
1232 * tekhex.c (getvalue): Check for the source pointer exceeding the
1233 end pointer before the first byte is read.
1234
cfd14a50
NC
12352017-06-26 Nick Clifton <nickc@redhat.com>
1236
1237 PR binutils/21665
ea9aafc4 1238 * opncls.c (get_build_id): Check that the section is big enough
cfd14a50
NC
1239 to contain the whole note.
1240 * compress.c (bfd_get_full_section_contents): Check for and reject
ea9aafc4 1241 a section whose size is greater than the size of the entire file.
cfd14a50
NC
1242 * elf32-v850.c (v850_elf_copy_notes): Allow for the ouput to not
1243 contain a notes section.
1244
93ec5e23
AK
12452017-06-26 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1246
1247 * elf64-s390.c (elf_s390_additional_program_headers): Add NULL
1248 pointer checks.
1249 (elf_s390_modify_segment_map): Likewise.
1250 (bfd_elf_s390_set_options): Lisewise.
1251
57963c05
AM
12522017-06-26 Alan Modra <amodra@gmail.com>
1253
1254 * elflink.c (_bfd_elf_link_create_dynstrtab): Don't make dynobj
1255 a --just-syms bfd.
1256 (_bfd_elf_size_group_sections): Skip --just-syms bfds.
1257 (bfd_elf_size_dynamic_sections): Ignore .note.GNU-stack and
1258 .preinit_array on --just-syms bfds.
1259 (_bfd_elf_gc_mark_extra_sections): Skip --just-syms bfds.
1260 (elf_gc_sweep, bfd_elf_parse_eh_frame_entries): Likewise.
1261 (bfd_elf_gc_sections, bfd_elf_discard_info): Likewise.
1262
5cc4ca83
ST
12632017-06-25 Sergei Trofimovich <slyfox@gentoo.org>
1264
1265 * elf.c (find_link): Bounds check "hint".
1266
bff0500d
TP
12672017-06-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
1268
1269 * elf32-arm.c (using_thumb_only): Update list of architectures in
1270 BFD_ASSERT for which the logic is valid.
1271 (using_thumb2_bl): Likewise.
1272 (using_thumb2): Likewise and return true for ARMv8-R.
1273 (arch_has_arm_nop): Likewise.
1274 (tag_cpu_arch_combine): New v8r table for ARMv8-R Tag_CPU_arch
1275 merging logic. Update commentis for value 15 of v8m_baseline,
1276 v8m_mainline and v4t_plus_v6_m arrays. Use v8r array to decide
1277 merging of value 15 of Tag_CPU_arch.
1278
4aa57d6a
JW
12792017-06-23 Jiong Wang <jiong.wang@arm.com>
1280
1281 * reloc.c (BFD_RELOC_AARCH64_ADR_GOTPAGE): Rename to
1282 BFD_RELOC_AARCH64_ADR_GOT_PAGE
1283 * bfd-in2.h: Regenerate.
1284
5d8763a3
L
12852017-06-22 H.J. Lu <hongjiu.lu@intel.com>
1286
1287 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Move
1288 the error_alignment label forward. Properly align program
1289 property note section.
1290
e652757b
EC
12912017-06-22 Eric Christopher <echristo@gmail.com>
1292
1293 * elf32-arm.c (elf32_arm_final_link_relocate): Use labs rather than
1294 abs to fix a truncation warning.
1295
84da4cf8
L
12962017-06-22 H.J. Lu <hongjiu.lu@intel.com>
1297
1298 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Resolve
1299 local undefined weak symbol to 0.
1300 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Likewise.
1301
48580982
L
13022017-06-22 H.J. Lu <hongjiu.lu@intel.com>
1303
1304 * elf32-i386.c (elf_i386_merge_gnu_properties): If info->shstk
1305 is set, turn on GNU_PROPERTY_X86_FEATURE_1_SHSTK.
1306 (elf_i386_link_setup_gnu_properties): If info->shstk is set,
1307 turn on GNU_PROPERTY_X86_FEATURE_1_IBT.
1308 * elf64-x86-64.c (elf_x86_64_merge_gnu_properties): If
1309 info->shstk is set, turn on GNU_PROPERTY_X86_FEATURE_1_SHSTK.
1310 (elf_x86_64_link_setup_gnu_properties): If info->shstk is set,
1311 turn on GNU_PROPERTY_X86_FEATURE_1_IBT.
1312
ee2fdd6f
L
13132017-06-22 H.J. Lu <hongjiu.lu@intel.com>
1314
1315 * elf32-i386.c (elf_i386_lazy_ibt_plt0_entry): New.
1316 (elf_i386_lazy_ibt_plt_entry): Likewise.
1317 (elf_i386_pic_lazy_ibt_plt0_entry): Likewise.
1318 (elf_i386_non_lazy_ibt_plt_entry): Likewise.
1319 (elf_i386_pic_non_lazy_ibt_plt_entry): Likewise.
1320 (elf_i386_eh_frame_lazy_ibt_plt): Likewise.
1321 (elf_i386_lazy_plt_layout): Likewise.
1322 (elf_i386_non_lazy_plt_layout): Likewise.
1323 (elf_i386_link_hash_entry): Add plt_second.
1324 (elf_i386_link_hash_table): Add plt_second and
1325 plt_second_eh_frame.
1326 (elf_i386_allocate_dynrelocs): Use the second PLT if needed.
1327 (elf_i386_size_dynamic_sections): Use .plt.got unwind info for
1328 the second PLT. Check the second PLT.
1329 (elf_i386_relocate_section): Use the second PLT to resolve
1330 PLT reference if needed.
1331 (elf_i386_finish_dynamic_symbol): Fill and use the second PLT if
1332 needed.
1333 (elf_i386_finish_dynamic_sections): Set sh_entsize on the
1334 second PLT. Generate unwind info for the second PLT.
1335 (elf_i386_plt_type): Add plt_second.
1336 (elf_i386_get_synthetic_symtab): Support the second PLT.
1337 (elf_i386_parse_gnu_properties): Support
1338 GNU_PROPERTY_X86_FEATURE_1_AND.
1339 (elf_i386_merge_gnu_properties): Support
1340 GNU_PROPERTY_X86_FEATURE_1_AND. If info->ibt is set, turn
1341 on GNU_PROPERTY_X86_FEATURE_1_IBT
1342 (elf_i386_link_setup_gnu_properties): If info->ibt is set,
1343 turn on GNU_PROPERTY_X86_FEATURE_1_IBT. Use IBT-enabled PLT
1344 for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT
1345 is set on all relocatable inputs.
1346 * elf64-x86-64.c (elf_x86_64_lazy_ibt_plt_entry): New.
1347 (elf_x32_lazy_ibt_plt_entry): Likewise.
1348 (elf_x86_64_non_lazy_ibt_plt_entry): Likewise.
1349 (elf_x32_non_lazy_ibt_plt_entry): Likewise.
1350 (elf_x86_64_eh_frame_lazy_ibt_plt): Likewise.
1351 (elf_x32_eh_frame_lazy_ibt_plt): Likewise.
1352 (elf_x86_64_lazy_ibt_plt): Likewise.
1353 (elf_x32_lazy_ibt_plt): Likewise.
1354 (elf_x86_64_non_lazy_ibt_plt): Likewise.
1355 (elf_x32_non_lazy_ibt_plt): Likewise.
1356 (elf_x86_64_get_synthetic_symtab): Support the second PLT.
1357 (elf_x86_64_parse_gnu_properties): Support
1358 GNU_PROPERTY_X86_FEATURE_1_AND.
1359 (elf_x86_64_merge_gnu_properties): Support
1360 GNU_PROPERTY_X86_FEATURE_1_AND. If info->ibt is set, turn
1361 on GNU_PROPERTY_X86_FEATURE_1_IBT
1362 (elf_x86_64_link_setup_gnu_properties): If info->ibt is set,
1363 turn on GNU_PROPERTY_X86_FEATURE_1_IBT. Use IBT-enabled PLT
1364 for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT
1365 is set on all relocatable inputs.
1366
d19237d9
NC
13672017-06-22 Nick Clifton <nickc@redhat.com>
1368
1369 PR binutils/21649
1370 * som.c (setup_sections): NUL terminate the space_strings buffer.
1371 Check that the space.name field does not index beyond the end of
1372 the space_strings buffer.
1373
6879f5a9
NC
13742017-06-21 Nick Clifton <nickc@redhat.com>
1375
1376 PR binutils/21646
1377 * coff-sh.c (sh_reloc): Check for an out of range reloc.
1378
7adc0a81
NC
13792017-06-21 Nick Clifton <nickc@redhat.com>
1380
1381 PR binutils/21639
1382 * vms-misc.c (_bfd_vms_save_sized_string): Use unsigned int as
1383 type of the size parameter.
1384 (_bfd_vms_save_counted_string): Add second parameter - the maximum
1385 length of the counted string.
1386 * vms.h (_bfd_vms_save_sized_string): Update prototype.
1387 (_bfd_vms_save_counted_string): Likewise.
1388 * vms-alpha.c (_bfd_vms_slurp_eisd): Update calls to
1389 _bfd_vms_save_counted_string.
1390 (_bfd_vms_slurp_ehdr): Likewise.
1391 (_bfd_vms_slurp_egsd): Likewise.
1392 (Parse_module): Likewise.
1393
6e1816be
AM
13942017-06-21 Alan Modra <amodra@gmail.com>
1395
1396 * elf64-ppc.c (ppc64_elf_size_stubs): Test for localentry:0 plt
1397 calls before tocsave calls.
1398 (ppc64_elf_relocate_section): Allow localentry:0 plt calls without
1399 following nop.
1400
20bd1b6b
NC
14012017-06-21 Nick Clifton <nickc@redhat.com>
1402
1403 PR binutils/21645
1404 * reloc.c (bfd_generic_get_relocated_section_contents): Fail if
1405 bfd_get_full_section_contents returns no contents.
1406
3de58d95
NC
14072017-06-21 Nick Clifton <nickc@redhat.com>
1408
1409 PR binutils/21638
1410 * vms-alpha.c (_bfd_vms_slurp_egsd): Check for an undersized
1411 record.
1412
cb06d03a
NC
14132017-06-21 Nick Clifton <nickc@redhat.com>
1414
1415 PR binutils/21637
1416 * vms-alpha.c (_bfd_vms_slurp_egsd): Check for an empty section
1417 list.
1418 (image_set_ptr): Likewise.
1419 (alpha_vms_fix_sec_rel): Likewise.
1420 (alpha_vms_slurp_relocs): Likewise.
1421
c458d007
NC
14222017-06-21 Nick Clifton <nickc@redhat.com>
1423
1424 PR binutils/21633
1425 * ieee.c (ieee_slurp_sections): Check for a NULL return from
1426 read_id.
1427 (ieee_archive_p): Likewise.
1428 (ieee_object_p): Likewise.
1429
ce497010
NC
14302017-06-21 Nick Clifton <nickc@redhat.com>
1431
1432 PR binutils/21640
1433 * elf.c (setup_group): Zero the group section pointer list after
1434 allocation so that loops can be caught. Check for NULL pointers
1435 when processing a group list.
1436
fd52715c
AK
14372017-06-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1438
1439 * elf-s390.h: New file.
1440 * elf64-s390.c (struct elf_s390_link_hash_table): Add params
1441 field.
1442 (elf_s390_additional_program_headers): New function.
1443 (elf_s390_modify_segment_map): New function.
1444 (bfd_elf_s390_set_options): New function.
1445 (elf_backend_additional_program_headers)
1446 (elf_backend_modify_segment_map): Add macro definitions.
1447
abfa390d
L
14482017-06-19 H.J. Lu <hongjiu.lu@intel.com>
1449
1450 PR ld/21626
1451 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Check
1452 the DYNAMIC bit instead of bfd_count_sections.
1453
bc21b167
NC
14542017-06-19 Nick Clifton <nickc@redhat.com>
1455
1456 PR binutils/21618
1457 * vms-alpha.c (evax_bfd_print_emh): Check for insufficient record
1458 length.
1459 (evax_bfd_print_eeom): Likewise.
1460 (evax_bfd_print_egsd): Check for an overlarge record length.
1461 (evax_bfd_print_etir): Likewise.
1462
acb56a83
NC
14632017-06-19 Nick Clifton <nickc@redhat.com>
1464
1465 PR binutils/21612
1466 * libieee.h (struct common_header_type): Add end_p field.
1467 * ieee.c (this_byte_and_next): Do not advance input_p beyond
1468 end_p.
1469 (read_id): Check for a length that exceeds the remaining bytes in
1470 the input buffer.
1471 (ieee_seek): Initialise end_p.
1472 (ieee_archive_p): Likewise.
1473 (ieee_object_p): Likewise.
1474
72e84f96
NC
14752017-06-19 Nick Clifton <nickc@redhat.com>
1476
80053e46
NC
1477 PR binutils/21611
1478 * vms-alpha.c (_bfd_vms_slurp_eihs): Check for invalid offset
1479 before reading the EIHS structure entries.
1480
14812017-06-19 Nick Clifton <nickc@redhat.com>
1482
1483 PR binutils/21615
72e84f96
NC
1484 * vms-alpha.c (_bfd_vms_slurp_egsd): Use unsigned int for
1485 gsd_size. Check that there are enough bytes remaining to read the
1486 type and size of the next egsd. Check that the size of the egsd
1487 does not exceed the size of the record.
1488
875ffa3e
AM
14892017-06-19 Alan Modra <amodra@gmail.com>
1490
1491 * config.bfd: Correct targ_underscore for cris.
1492
bdd32e03
AM
14932017-06-18 Alan Modra <amodra@gmail.com>
1494
1495 * config.bfd: Correct targ_underscore for epiphany, ip2k,
1496 m32c, mn10200, pru, rl78, rx, crisv32 and v850.
1497
4b48e2f6
NC
14982017-06-16 Nick Clifton <nickc@redhat.com>
1499
1500 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Do not fail if the
1501 bucketlist is empty because there are no symbols to add to the
1502 list.
1503
7dba9362
AM
15042017-06-16 Alan Modra <amodra@gmail.com>
1505
1506 PR ld/20022
1507 PR ld/21557
1508 PR ld/21562
1509 PR ld/21571
1510 * targets.c (struct bfd_target): Add _bfd_define_start_stop.
1511 (BFD_JUMP_TABLE_LINK): Likewise.
1512 * elf-bfd.h (bfd_elf_define_start_stop): Declare.
1513 * elflink.c (_bfd_elf_gc_mark_rsec): Update comment.
1514 (bfd_elf_define_start_stop): New function.
1515 * linker.c (bfd_generic_define_start_stop): New function.
1516 * coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Init
1517 new field.
1518 * aout-adobe.c (aout_32_bfd_define_start_stop): Define.
1519 * aout-target.h (MY_bfd_define_start_stop): Define.
1520 * aout-tic30.c (MY_bfd_define_start_stop): Define.
1521 * binary.c (binary_bfd_define_start_stop): Define.
1522 * bout.c (b_out_bfd_define_start_stop): Define.
1523 * coff-alpha.c (_bfd_ecoff_bfd_define_start_stop): Define.
1524 * coff-mips.c (_bfd_ecoff_bfd_define_start_stop): Define.
1525 * coff-rs6000.c (_bfd_xcoff_bfd_define_start_stop): Define.
1526 * coffcode.h (coff_bfd_define_start_stop): Define.
1527 * elfxx-target.h (bfd_elfNN_bfd_define_start_stop): Define.
1528 * i386msdos.c (msdos_bfd_define_start_stop): Define.
1529 * i386os9k.c (os9k_bfd_define_start_stop): Define.
1530 * ieee.c (ieee_bfd_define_start_stop): Define.
1531 * ihex.c (ihex_bfd_define_start_stop): Define.
1532 * libbfd-in.h (_bfd_nolink_bfd_define_start_stop): Define.
1533 * mach-o-target.c (bfd_mach_o_bfd_define_start_stop): Define.
1534 * mmo.c (mmo_bfd_define_start_stop): Define.
1535 * nlm-target.h (nlm_bfd_define_start_stop): Define.
1536 * oasys.c (oasys_bfd_define_start_stop): Define.
1537 * pef.c (bfd_pef_bfd_define_start_stop): Define.
1538 * plugin.c (bfd_plugin_bfd_define_start_stop): Define.
1539 * ppcboot.c (ppcboot_bfd_define_start_stop): Define.
1540 * som.c (som_bfd_define_start_stop): Define.
1541 * srec.c (srec_bfd_define_start_stop): Define.
1542 * tekhex.c (tekhex_bfd_define_start_stop): Define.
1543 * versados.c (versados_bfd_define_start_stop): Define.
1544 * vms-alpha.c (vms_bfd_define_start_stop): Define.
1545 (alpha_vms_bfd_define_start_stop): Define.
1546 * xsym.c (bfd_sym_bfd_define_start_stop): Define.
1547 * bfd-in2.h: Regenerate.
1548 * libbfd.h: Regenerate.
1549
d68f1976
JW
15502017-06-16 Jiong Wang <jiong.wang@arm.com>
1551
1552 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use
1553 SYMBOL_REFERENCES_LOCAL.
1554
6353d82b
JW
15552017-06-15 Jiong Wang <jiong.wang@arm.com>
1556
1557 PR ld/21532
1558 * elfnn-aarch64.c (ELIMINATE_COPY_RELOCS): Set to 1.
1559 (elfNN_aarch64_final_link_relocate): Also propagate relocations to
1560 runtime for if there needs copy relocation elimination.
1561 (need_copy_relocation_p): New function. Return true for symbol with
1562 pc-relative references and if it's against read-only sections.
1563 (elfNN_aarch64_adjust_dynamic_symbol): Use need_copy_relocation_p.
1564 (elfNN_aarch64_check_relocs): Allocate dynrelocs for relocation types
1565 that are related with accessing external objects.
1566 (elfNN_aarch64_gc_sweep_hook): Sync the relocation types with the change
1567 in elfNN_aarch64_check_relocs.
1568
63634bb4
NC
15692017-06-15 Nick Clifton <nickc@redhat.com>
1570
1571 PR binutils/21582
1572 * ieee.c (ieee_object_p): Use a static buffer to avoid compiler
1573 bugs.
62b76e4b
NC
1574 PR binutils/21581
1575 (ieee_archive_p): Likewise.
63634bb4 1576
76800cba
NC
15772017-06-15 Nick Clifton <nickc@redhat.com>
1578
1579 PR binutils/21579
1580 * vms-alpha.c (_bfd_vms_slurp_etir): Extend check of cmd_length.
1581
f7e16c2a
MF
15822017-06-14 Max Filippov <jcmvbkbc@gmail.com>
1583
1584 * elf32-xtensa.c (elf_xtensa_be_plt_entry,
1585 elf_xtensa_le_plt_entry): Add dimension for the ABI to arrays,
1586 keep both windowed and call0 ABI PLT definitions.
1587 (elf_xtensa_create_plt_entry): Use selected ABI to choose upper
1588 elf_xtensa_*_plt_entry endex.
1589 (ELF_MAXPAGESIZE): Fix at minimal supported MMU page size.
1590
f461bbd8
NC
15912017-06-14 Nick Clifton <nickc@redhat.com>
1592
1593 PR binutils/21578
1594 * elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid
1595 flag value.
1596
c53d2e6d
NC
15972017-06-14 Nick Clifton <nickc@redhat.com>
1598
1599 PR binutils/21589
1600 * vms-alpha.c (_bfd_vms_get_value): Add an extra parameter - the
1601 maximum value for the ascic pointer. Check that name processing
1602 does not read beyond this value.
1603 (_bfd_vms_slurp_etir): Add checks for attempts to read beyond the
1604 end of etir record.
1605
04f963fd
NC
16062017-06-14 Nick Clifton <nickc@redhat.com>
1607
1608 PR binutils/21591
1609 * versados.c (versados_mkobject): Zero the allocated tdata structure.
1610 (process_otr): Check for an invalid offset in the otr structure.
1611
319c2dbe
SH
16122017-06-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
1613
1614 * config.bfd (epiphany-*-elf): Accept epiphany-*-*.
1615
cbd0eecf
L
16162017-06-13 H.J. Lu <hongjiu.lu@intel.com>
1617
1618 PR ld/20022
1619 PR ld/21557
1620 PR ld/21562
1621 PR ld/21571
1622 * elf-bfd.h (elf_link_hash_entry): Add start_stop. Change the
1623 vtable field to a union.
1624 (_bfd_elf_is_start_stop): Removed.
1625 * elf32-i386.c (elf_i386_convert_load_reloc): Also check for
1626 __start_SECNAME and __stop_SECNAME symbols.
1627 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
1628 * elflink.c (_bfd_elf_is_start_stop): Removed.
1629 (_bfd_elf_gc_mark_rsec): Check start_stop instead of calling
1630 _bfd_elf_is_start_stop.
1631 (elf_gc_propagate_vtable_entries_used): Skip __start_SECNAME and
1632 __stop_SECNAME symbols. Updated.
1633 (elf_gc_smash_unused_vtentry_relocs): Likewise.
1634 (bfd_elf_gc_record_vtinherit): Likewise.
1635 (bfd_elf_gc_record_vtentry): Likewise.
1636
10bbbc1d
NC
16372017-06-13 Nick Clifton <nickc@redhat.com>
1638
1639 PR ld/21524
1640 * elflink.c (elf_link_adjust_relocs): Generate an error when
1641 encountering a reloc against a symbol removed by garbage
1642 collection.
1643
5c3ce2bc
L
16442017-06-12 H.J. Lu <hongjiu.lu@intel.com>
1645
1646 * elf-bfd.h (elf_backend_data): Add struct bfd_link_info *
1647 to merge_gnu_properties.
1648 * elf-properties.c (elf_merge_gnu_properties): Add struct
1649 bfd_link_info * and pass it to merge_gnu_properties.
1650 (elf_merge_gnu_property_list): Add struct bfd_link_info *
1651 and pass it to elf_merge_gnu_properties.
1652 (_bfd_elf_link_setup_gnu_properties): Pass info to
1653 elf_merge_gnu_property_list.
1654 * elf32-i386.c (elf_i386_merge_gnu_properties): Add struct
1655 bfd_link_info *.
1656 * elf64-x86-64.c (elf_x86_64_merge_gnu_properties): Likewise.
1657
9b97dfbf
AM
16582017-06-11 Joe Zbiciak <joe.zbiciak@leftturnonly.info>
1659
1660 PR 21564
1661 * binary.c (binary_set_section_contents): Scale lma by octets
1662 per byte to set filepos.
1663
e3d1d408
CM
16642017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1665
1666 * elf32-arc.c (elf_arc_check_relocs): Fixed conditions to generate
1667 dynamic sections.
1668
64aa8e03
CM
16692017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1670
1671 * elf32-arc.c (elf_arc_size_dynamic_sections): Changed condition to
1672 require TEXTREL.
1673
a0abe743
CM
16742017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1675
1676 * arc-got.h (relocate_fix_got_relocs_for_got_info): Added TCB_SIZE to
1677 patched section contents for TLS IE reloc.
1678 * elf32-arc.c: Remove TCB_SIZE preprocessor macro.
1679
f4e6805f
CM
16802017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1681
1682 * elf32-arc.c (elf_arc_relocate_section): Added "call" to
1683 RELOC_FOR_GLOBAL_SYMBOL macro.
1684
cd640291
CM
16852018-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1686
1687 * elf32-arc.c (elf_arc_relocate_section): Small refactor and condition
1688 changes.
1689
7ef0acc1
VG
16902017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1691
1692 * config/tc-arc.c (md_undefined_symbol): Changed.
1693 * config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed.
1694
cc89d0b3
CM
16952017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1696
1697 * elf32-arc.c (elf_arc_relocate_section): Fixed reassign of indirect
1698 symbols.
1699
9d5c718b
CM
17002017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1701
1702 * elf32-arc.c (elf_arc_check_relocs): Added condition to disable
1703 warning and "Bad value" for local symbols ARC_32 or ARC_32_ME relocs.
1704
be9e3704
CM
17052017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1706
1707 * elf32-arc.c (ADD_RELA): Changed to only work when dynamic
1708 object is created.
1709
4ec192e6
RE
17102017-06-08 Richard Earnshaw <rearnsha@arm.com>
1711
1712 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove assertion
1713 that the input bfd has Tag_FP_ARCH non-zero if Tag_ABI_HardFP_use
1714 is non-zero. Add clarifying comments.
1715
51fa2693
L
17162017-06-08 H.J. Lu <hongjiu.lu@intel.com>
1717
1718 * elf32-i386.c (elf_i386_check_relocs): Set local IFUNC symbol
1719 name. Use local IFUNC symbol name string to report unsupported
1720 non-PIC call to IFUNC function.
1721 (elf_i386_relocate_section): Dump local IFUNC name with minfo
1722 when generating R_386_IRELATIVE relocation.
1723 (elf_i386_finish_dynamic_symbol): Likewise.
1724 * elf_x86_64_check_relocs (elf_x86_64_check_relocs): Set local
1725 IFUNC symbol name.
1726 (elf_x86_64_relocate_section): Dump local IFUNC name with minfo
1727 when generating R_X86_64_IRELATIVE relocation.
1728 (elf_x86_64_finish_dynamic_symbol): Likewise.
1729
78e8a2ff
JM
17302017-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
1731
1732 * elf.c (setup_group): Make sure BFD sections are created for all
1733 group sections in the input file when processing SHF_GROUP
1734 sections.
1735 (bfd_section_from_shdr): Avoid duplicating logic already
1736 implemented in `setup_group'.
1737
9949827b
DBR
17382017-06-06 Daniel Bonniot de Ruisselet <bonniot@gmail.com>
1739
1740 PR binutils/21546
1741 * peXXigen.c (pe_print_idata): Use the address of the first thunk
1742 if the hint address is zero.
1743
0ee3a6db
JC
17442017-06-06 James Clarke <jrtc27@jrtc27.com>
1745
1746 PR ld/19579
1747 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Check
1748 ELF_COMMON_DEF_P for common symbols.
1749
7bdf4127
AB
17502017-06-06 Andrew Burgess <andrew.burgess@embecosm.com>
1751
1752 * elf.c (_bfd_elf_make_section_from_shdr): Don't initially mark
1753 SEC_GROUP sections as SEC_EXCLUDE.
1754 (bfd_elf_set_group_contents): Replace use of abort with an assert.
1755 (assign_section_numbers): Use resolve_section_groups flag instead
1756 of relocatable link type.
1757 (_bfd_elf_init_private_section_data): Use resolve_section_groups
1758 flag instead of checking the final_link flag for part of the
1759 checks in here. Fix white space as a result.
1760 * elflink.c (elf_link_input_bfd): Use resolve_section_groups flag
1761 instead of relocatable link type.
1762 (bfd_elf_final_link): Likewise.
1763
458ad2b8
JM
17642017-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
1765
1766 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Remove unused
1767 variable `bed'.
1768 * elf32-score.c (score_elf_final_link_relocate): Likewise.
1769 (s3_bfd_score_elf_check_relocs): Likewise.
1770 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
1771 (score_elf_final_link_relocate): Likewise.
1772 (s7_bfd_score_elf_check_relocs): Likewise.
1773
fbebaf4a
JM
17742017-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
1775
1776 * elflink.c (init_reloc_cookie_rels): Remove unused variable
1777 `bed'.
1778
056bafd4
MR
17792017-06-06 Maciej W. Rozycki <macro@imgtec.com>
1780
1781 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Subtract `count'
1782 from `reloc_count' rather than decrementing it.
1783 * elf.c (bfd_section_from_shdr): Multiply the adjustment to
1784 `reloc_count' by `int_rels_per_ext_rel'.
1785 * elf32-score.c (score_elf_final_link_relocate): Do not multiply
1786 `reloc_count' by `int_rels_per_ext_rel' for last relocation
1787 entry determination.
1788 (s3_bfd_score_elf_check_relocs): Likewise.
1789 * elf32-score7.c (score_elf_final_link_relocate): Likewise.
1790 (s7_bfd_score_elf_relocate_section): Likewise.
1791 (s7_bfd_score_elf_check_relocs): Likewise.
1792 * elf64-mips.c (mips_elf64_get_reloc_upper_bound): Remove
1793 prototype and function.
1794 (mips_elf64_slurp_one_reloc_table): Do not update `reloc_count'.
1795 (mips_elf64_slurp_reloc_table): Assert that `reloc_count' is
1796 triple rather than once the sum of REL and RELA relocation entry
1797 counts.
1798 (bfd_elf64_get_reloc_upper_bound): Remove macro.
1799 * elflink.c (_bfd_elf_link_read_relocs): Do not multiply
1800 `reloc_count' by `int_rels_per_ext_rel' for internal relocation
1801 storage allocation size determination.
1802 (elf_link_input_bfd): Multiply `.ctors' and `.dtors' section's
1803 size by `int_rels_per_ext_rel'. Do not multiply `reloc_count'
1804 by `int_rels_per_ext_rel' for last relocation entry
1805 determination.
1806 (bfd_elf_final_link): Do not multiply `reloc_count' by
1807 `int_rels_per_ext_rel' for internal relocation storage
1808 allocation size determination.
1809 (init_reloc_cookie_rels): Do not multiply `reloc_count' by
1810 `int_rels_per_ext_rel' for last relocation entry determination.
1811 (elf_gc_smash_unused_vtentry_relocs): Likewise.
1812 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
1813 (_bfd_mips_elf_relocate_section): Likewise.
1814
af54f0eb
AM
18152017-06-05 Alan Modra <amodra@gmail.com>
1816
1817 PR 21529
1818 * linker.c (_bfd_generic_link_output_symbols): Handle BSF_GNU_UNIQUE.
1819
6cf3bf88 18202017-06-01 John Baldwin <jhb@FreeBSD.org>
b5430a3c
JB
1821
1822 * elf.c (elfcore_grok_freebsd_psinfo): Use ELF header class to
1823 determine structure sizes.
1824 (elfcore_grok_freebsd_prstatus): Likewise.
1825
f378ab09
AM
18262017-06-01 Alan Modra <amodra@gmail.com>
1827
1828 * elf64-ppc.c (struct ppc_link_hash_table): Add has_plt_localentry0.
1829 (ppc64_elf_merge_symbol_attribute): Merge localentry bits from
1830 dynamic objects.
1831 (is_elfv2_localentry0): New function.
1832 (ppc64_elf_tls_setup): Default params->plt_localentry0.
1833 (plt_stub_size): Adjust size for tls_get_addr_opt stub.
1834 (build_tls_get_addr_stub): Use a simpler stub when r2 is not saved.
1835 (ppc64_elf_size_stubs): Leave stub_type as ppc_stub_plt_call for
1836 optimized localentry:0 stubs.
1837 (ppc64_elf_build_stubs): Save r2 in ELFv2 __glink_PLTresolve.
1838 (ppc64_elf_relocate_section): Leave nop unchanged for optimized
1839 localentry:0 stubs.
1840 (ppc64_elf_finish_dynamic_sections): Set PPC64_OPT_LOCALENTRY in
1841 DT_PPC64_OPT.
1842 * elf64-ppc.h (struct ppc64_elf_params): Add plt_localentry0.
1843
8c65b54f
CS
18442017-05-30 Casey Smith <clegg89@gmail.com>
1845
1846 PR ld/21523
1847 * elf32-arm.c (elf32_arm_final_link_relocate): Install an absolute
1848 value when processing the R_ARM_THM_ALU_PREL_11_0 reloc.
1849
64984c22
AK
18502017-05-30 Anton Kolesov Anton.Kolesov@synopsys.com
1851
1852 * cpu-arc.c (arc_compatible): New function.
1853
37cd3877
AK
18542017-05-30 Anton Kolesov <anton.kolesov@synopsys.com>
1855
1856 * cpu-arc.c (arch_info_struct): Remove duplicate ARC600 entry.
1857
8e2f54bc
L
18582017-05-30 H.J. Lu <hongjiu.lu@intel.com>
1859
1860 PR binutils/21519
1861 * bfdio.c (bfd_get_file_size): New function.
1862 * bfd-in2.h: Regenerated.
1863
8e7f04f1 18642017-05-23 Dilian Palauzov <git-dpa@aegee.org>
1865
1866 * elf32-arc.c (arc_elf_merge_attributes): Add fall through
1867 comments.
1868
25f94347
L
18692017-05-22 H.J. Lu <hongjiu.lu@intel.com>
1870
1871 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Use
1872 dynobj instead of htab->elf.dynobj.
1873
e5713223
MR
18742017-05-19 Maciej W. Rozycki <macro@imgtec.com>
1875
1876 * elf64-mips.c (mips_elf64_canonicalize_reloc): Remove prototype
1877 and function.
1878 (mips_elf64_canonicalize_dynamic_reloc): Likewise.
1879 (mips_elf64_slurp_one_reloc_table): Set `reloc_count' to the
1880 actual number of internal relocations retrieved. Adjust
1881 function description.
1882 (bfd_elf64_canonicalize_reloc): Remove macro.
1883 (bfd_elf64_canonicalize_dynamic_reloc): Likewise.
1884
64517994
JM
18852017-05-19 Jose E. Marchesi <jose.marchesi@oracle.com>
1886
1887 * archures.c (bfd_mach_sparc_v9m8): Define.
1888 (bfd_mach_sparc_v8plusm8): Likewise.
1889 (bfd_mach_sparc_v9_p): Adjust to M8.
1890 (bfd_mach_sparc_64bit_p): Likewise.
1891 * aoutx.h (machine_type): Handle bfd_mach_sparc_v9m8 and
1892 bfd_mach_sparc_v8plusm8.
1893 * bfd-in2.h: Regenerated.
1894 * cpu-sparc.c (arch_info_struct): Entries for sparc:v9m8 and
1895 sparc:v8plusm8.
1896 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Handle
1897 bfd_mach_sparc_v8plusm8 and bfd_mach_sparc_v9m8 using the new hw
1898 capabilities ONADDSUB, ONMUL, ONDIV, DICTUNP, FPCPSHL, RLE and
1899 SHA3.
1900 * elf32-sparc.c (elf32_sparc_final_write_processing): Handle
1901 bfd_mach_sparc_v8plusm8.
1902
eb026f09
AM
19032017-05-19 Alan Modra <amodra@gmail.com>
1904
1905 * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't keep
1906 debug and special sections when no non-note alloc sections in an
1907 object are kept.
1908
535b785f
AM
19092017-05-18 Alan Modra <amodra@gmail.com>
1910
1911 * arc-got.h: Don't compare boolean values against TRUE or FALSE.
1912 * elf-m10300.c: Likewise.
1913 * elf.c: Likewise.
1914 * elf32-arc.c: Likewise.
1915 * elf32-bfin.c: Likewise.
1916 * elf32-m68k.c: Likewise.
1917 * elf32-nds32.c: Likewise.
1918 * elf32-tilepro.c: Likewise.
1919 * elflink.c: Likewise.
1920 * elfnn-aarch64.c: Likewise.
1921 * elfnn-riscv.c: Likewise.
1922 * elfxx-tilegx.c: Likewise.
1923 * mach-o.c: Likewise.
1924 * peXXigen.c: Likewise.
1925 * vms-alpha.c: Likewise.
1926 * vms-lib.c: Likewise.
1927
b7c871ed
L
19282017-05-17 H.J. Lu <hongjiu.lu@intel.com>
1929
1930 PR ld/20882
1931 * elflink.c (elf_gc_mark_debug_section): New function.
1932 (_bfd_elf_gc_mark_extra_sections): Mark any debug sections
1933 referenced by kept debug sections.
1934
bc4e12de
AM
19352017-05-16 Alan Modra <amodra@gmail.com>
1936
1937 * elf-m10300.c: Rename occurrences of non_ir_ref.
1938 * elf32-arm.c: Likewise.
1939 * elf32-bfin.c: Likewise.
1940 * elf32-cr16.c: Likewise.
1941 * elf32-cris.c: Likewise.
1942 * elf32-d10v.c: Likewise.
1943 * elf32-dlx.c: Likewise.
1944 * elf32-fr30.c: Likewise.
1945 * elf32-frv.c: Likewise.
1946 * elf32-hppa.c: Likewise.
1947 * elf32-i370.c: Likewise.
1948 * elf32-i386.c: Likewise.
1949 * elf32-iq2000.c: Likewise.
1950 * elf32-lm32.c: Likewise.
1951 * elf32-m32c.c: Likewise.
1952 * elf32-m32r.c: Likewise.
1953 * elf32-m68hc1x.c: Likewise.
1954 * elf32-m68k.c: Likewise.
1955 * elf32-mcore.c: Likewise.
1956 * elf32-metag.c: Likewise.
1957 * elf32-microblaze.c: Likewise.
1958 * elf32-moxie.c: Likewise.
1959 * elf32-msp430.c: Likewise.
1960 * elf32-mt.c: Likewise.
1961 * elf32-nios2.c: Likewise.
1962 * elf32-or1k.c: Likewise.
1963 * elf32-ppc.c: Likewise.
1964 * elf32-rl78.c: Likewise.
1965 * elf32-s390.c: Likewise.
1966 * elf32-score.c: Likewise.
1967 * elf32-score7.c: Likewise.
1968 * elf32-sh.c: Likewise.
1969 * elf32-tic6x.c: Likewise.
1970 * elf32-tilepro.c: Likewise.
1971 * elf32-v850.c: Likewise.
1972 * elf32-vax.c: Likewise.
1973 * elf32-xstormy16.c: Likewise.
1974 * elf32-xtensa.c: Likewise.
1975 * elf64-alpha.c: Likewise.
1976 * elf64-hppa.c: Likewise.
1977 * elf64-ia64-vms.c: Likewise.
1978 * elf64-mmix.c: Likewise.
1979 * elf64-ppc.c: Likewise.
1980 * elf64-s390.c: Likewise.
1981 * elf64-sh64.c: Likewise.
1982 * elf64-x86-64.c: Likewise.
1983 * elflink.c: Likewise.
1984 * elfnn-aarch64.c: Likewise.
1985 * elfnn-ia64.c: Likewise.
1986 * elfnn-riscv.c: Likewise.
1987 * elfxx-mips.c: Likewise.
1988 * elfxx-sparc.c: Likewise.
1989 * elfxx-tilegx.c: Likewise.
1990 * linker.c: Likewise.
1991
4070765b
AM
19922017-05-16 Alan Modra <amodra@gmail.com>
1993
1994 * elf64-ppc.c (add_symbol_adjust): Transfer non_ir_ref_dynamic.
1995 * elflink.c (elf_link_add_object_symbols): Update to use
1996 non_ir_ref_dynamic.
1997 (elf_link_input_bfd): Test non_ir_ref_dynamic in addition to
1998 non_ir_ref.
1999 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
2000
25499ac7
MR
20012017-05-15 Maciej W. Rozycki <macro@imgtec.com>
2002
2003 * elfxx-mips.c (print_mips_ases): Handle MIPS16e2 ASE.
2004
73caa85d
L
20052017-05-12 H.J. Lu <hongjiu.lu@intel.com>
2006
2007 * elf32-i386.c (elf_i386_parse_gnu_properties): Merge
2008 GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED
2009 properties.
2010 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
2011
f2c29a16
L
20122017-05-11 H.J. Lu <hongjiu.lu@intel.com>
2013
2014 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Rename plt_bnd
2015 to plt_second.
2016 (elf_x86_64_link_hash_table): Rename plt_bnd/plt_bnd_eh_frame
2017 to plt_second/plt_second_eh_frame.
2018 (elf_x86_64_link_hash_newfunc): Updated.
2019 (elf_x86_64_allocate_dynrelocs): Likewise.
2020 (elf_x86_64_size_dynamic_sections): Likewise.
2021 (elf_x86_64_relocate_section): Likewise.
2022 (elf_x86_64_finish_dynamic_symbol): Likewise.
2023 (elf_x86_64_finish_dynamic_sections): Likewise.
2024 (elf_x86_64_plt_type): Rename plt_bnd to plt_second.
2025 (elf_x86_64_get_synthetic_symtab): Updated. Also scan the
2026 .plt.sec section.
2027 (elf_backend_setup_gnu_properties): Updated. Create the
2028 .plt.sec section instead of the .plt.sec section.
2029
dc2be3d2
L
20302017-05-11 H.J. Lu <hongjiu.lu@intel.com>
2031
2032 * elf32-i386.c (elf_i386_allocate_dynrelocs): Partially revert
2033 commit 25070364b0ce33eed46aa5d78ebebbec6accec7e.
2034 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewse.
2035
db84b98a
JM
20362017-05-10 Jose E. Marchesi <jose.marchesi@oracle.com>
2037
2038 * elf64-sparc.c (elf64_sparc_set_reloc): New function.
2039 (bfd_elf64_set_reloc): Define.
2040 (elf64_sparc_write_relocs): Use `canon_reloc_count'.
2041
23186865
JM
20422017-05-10 Jose E. Marchesi <jose.marchesi@oracle.com>
2043
2044 * targets.c (BFD_JUMP_TABLE_RELOCS): Add NAME##_set_reloc.
2045 (struct bfd_target): New field _bfd_set_reloc.
2046 * bfd.c (bfd_set_reloc): Call backend _set_bfd.
2047 * reloc.c (_bfd_generic_set_reloc): New function.
2048 * coffcode.h (coff_set_reloc): Define to _bfd_generic_set_reloc.
2049 * nlm-target.h (nlm_set_reloc): Likewise.
2050 * coff-rs6000.c (_bfd_xcoff_set_reloc): Likewise.
2051 * aout-tic30.c (MY_set_reloc): Likewise.
2052 * aout-target.h (MY_set_reloc): Likewise.
2053 * elfxx-target.h (bfd_elfNN_set_reloc): Likewise.
2054 * coff-alpha.c (_bfd_ecoff_set_reloc): Likewise.
2055 * mach-o-target.c (bfd_mach_o_set_reloc): Likewise.
2056 * vms-alpha.c (alpha_vms_set_reloc): Likewise.
2057 * aout-adobe.c (aout_32_set_reloc): Likewise.
2058 * bout.c (b_out_set_reloc): Likewise.
2059 * coff-mips.c (_bfd_ecoff_set_reloc): Likewise.
2060 * i386os9k.c (aout_32_set_reloc): Likewise.
2061 * ieee.c (ieee_set_reloc): Likewise.
2062 * oasys.c (oasys_set_reloc): Likewise.
2063 * som.c (som_set_reloc): Likewise.
2064 * versados.c (versados_set_reloc): Likewise.
2065 * coff64-rs6000.c (rs6000_xcoff64_vec): Add
2066 _bfd_generic_set_reloc.
2067 (rs6000_xcoff64_aix_vec): LIkewise.
2068 * libbfd.c (_bfd_norelocs_set_reloc): New function.
2069 * libbfd-in.h: Prototype for _bfd_norelocs_set_reloc.
2070 * i386msdos.c (msdos_set_reloc): Define to
2071 _bfd_norelocs_set_reloc.
2072 * elfcode.h (elf_set_reloc): Define.
2073 * bfd-in2.h: Regenerated.
2074
aab82f4c
L
20752017-05-10 H.J. Lu <hongjiu.lu@intel.com>
2076
2077 PR ld/21481
2078 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Use .plt.bnd
2079 for IFUNC function address.
2080
53a346d8
CZ
20812017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
2082
2083 * elf32-arc.c (FEATURE_LIST_NAME): Define.
2084 (CONFLICT_LIST): Likewise.
2085 (opcode/arc-attrs.h): Include.
2086 (arc_elf_print_private_bfd_data): Print OSABI v4 flag.
2087 (arc_extract_features): New file.
2088 (arc_stralloc): Likewise.
2089 (arc_elf_merge_attributes): Likewise.
2090 (arc_elf_merge_private_bfd_data): Use object attributes.
2091 (bfd_arc_get_mach_from_attributes): New function.
2092 (arc_elf_object_p): Use object attributes.
2093 (arc_elf_final_write_processing): Likewise.
2094 (elf32_arc_obj_attrs_arg_type): New function.
2095 (elf32_arc_obj_attrs_handle_unknown): Likewise.
2096 (elf32_arc_section_from_shdr): Likewise.
2097 (elf_backend_obj_attrs_vendor): Define.
2098 (elf_backend_obj_attrs_section): Likewise.
2099 (elf_backend_obj_attrs_arg_type): Likewise.
2100 (elf_backend_obj_attrs_section_type): Likewise.
2101 (elf_backend_obj_attrs_handle_unknown): Likewise.
2102 (elf_backend_section_from_shdr): Likewise.
2103
e645cf40
AG
21042017-05-09 Andrew Goedhart <Andrewgoedhart@simplepowersolutions.co.za>
2105
2106 PR ld/21458
2107 * elf32-arm.c (elf32_arm_final_link_relocate): Set the bottom bit
2108 of the value when resolving a R_ARM_THM_ALU_PREL_11_0 relocation
2109 and the destination is a Thumb symbol.
2110
dd9e66ee
L
21112017-05-08 H.J. Lu <hongjiu.lu@intel.com>
2112
2113 * elf32-i386.c (elf_i386_get_synthetic_symtab): Add missing
2114 initializer to silence GCC 4.2.
2115 * lf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
2116
38b12349
L
21172017-05-08 H.J. Lu <hongjiu.lu@intel.com>
2118
2119 * elf64-x86-64.c (PLT_ENTRY_SIZE): Renamed to ...
2120 (LAZY_PLT_ENTRY_SIZE): This.
2121 (NON_LAZY_PLT_ENTRY_SIZE): New.
2122 (elf_x86_64_plt0_entry): Renamed to ...
2123 (elf_x86_64_lazy_plt0_entry): This.
2124 (elf_x86_64_plt_entry): Renamed to ...
2125 (elf_x86_64_lazy_plt_entry): This.
2126 (elf_x86_64_bnd_plt0_entry): Renamed to ...
2127 (elf_x86_64_lazy_bnd_plt0_entry): This.
2128 (elf_x86_64_legacy_plt_entry): Removed.
2129 (elf_x86_64_bnd_plt_entry): Renamed to ...
2130 (elf_x86_64_lazy_bnd_plt_entry): This.
2131 (elf_x86_64_legacy_plt2_entry): Renamed to ...
2132 (elf_x86_64_non_lazy_plt_entry): This.
2133 (elf_x86_64_bnd_plt2_entry): Renamed to ...
2134 (elf_x86_64_non_lazy_bnd_plt_entry): This.
2135 (elf_x86_64_eh_frame_plt): Renamed to ...
2136 (elf_x86_64_eh_frame_lazy_plt): This.
2137 (elf_x86_64_eh_frame_bnd_plt): Renamed to ...
2138 (elf_x86_64_eh_frame_lazy_bnd_plt): This.
2139 (elf_x86_64_eh_frame_plt_got): Renamed to ...
2140 (elf_x86_64_eh_frame_non_lazy_plt): This.
2141 (elf_x86_64_lazy_plt_layout): New.
2142 (elf_x86_64_non_lazy_plt_layout): Likewise.
2143 (elf_x86_64_plt_layout): Likewise.
2144 (elf_x86_64_backend_data): Remove PLT layout information. Add
2145 os for target system.
2146 (GET_PLT_ENTRY_SIZE): Removed.
2147 (elf_x86_64_lazy_plt): New.
2148 (elf_x86_64_non_lazy_plt): Likewise.
2149 (elf_x86_64_lazy_bnd_plt): Likewise.
2150 (elf_x86_64_non_lazy_bnd_plt): Likewise.
2151 (elf_x86-64_arch_bed): Updated.
2152 (elf_x86_64_link_hash_table): Add plt, lazy_plt and non_lazy_plt.
2153 (elf_x86_64_create_dynamic_sections): Removed.
2154 (elf_x86_64_check_relocs): Don't check elf.dynobj. Don't call
2155 _bfd_elf_create_ifunc_sections nor _bfd_elf_create_got_section.
2156 (elf_x86-64_adjust_dynamic_symbol): Updated.
2157 (elf_x86_64_allocate_dynrelocs): Updated. Pass 0 as PLT header
2158 size to _bfd_elf_allocate_ifunc_dyn_relocs and don't allocate
2159 size for PLT0 if there is no PLT0. Get plt_entry_size from
2160 non_lazy_plt for non-lazy PLT entries.
2161 (elf_x86_64_size_dynamic_sections): Updated. Get plt_entry_size
2162 from non_lazy_plt for non-lazy PLT entries.
2163 (elf_x86-64_relocate_section): Updated. Properly get PLT index
2164 if there is no PLT0.
2165 (elf_x86_64_finish_dynamic_symbol): Updated. Fill the first slot
2166 in the PLT entry with generic PLT layout. Fill the non-lazy PLT
2167 entries with non-lazy PLT layout. Don't fill the second and third
2168 slots in the PLT entry if there is no PLT0.
2169 (elf_x86_64_finish_dynamic_sections): Updated. Don't fill PLT0
2170 if there is no PLT0. Set sh_entsize on the .plt.got section.
2171 (compare_relocs): New.
2172 (elf_x86_64_plt_type): Likewise.
2173 (elf_x86_64_plt): Likewise.
2174 (elf_x86_64_nacl_plt): New. Forward declaration.
2175 (elf_x86_64_get_plt_sym_val): Removed.
2176 (elf_x86_64_get_synthetic_symtab): Rewrite to check PLT sections
2177 against all dynamic relocations.
2178 (elf_x86_64_link_setup_gnu_properties): New function.
2179 (elf_backend_create_dynamic_sections): Updated.
2180 (elf_backend_setup_gnu_properties): New.
2181 (elf_x86_64_nacl_plt): New.
2182 (elf_x86_64_nacl_arch_bed): Updated.
2183
f604c2a2
L
21842017-05-08 H.J. Lu <hongjiu.lu@intel.com>
2185
2186 * elf32-i386.c (PLT_ENTRY_SIZE): Renamed to ...
2187 (LAZY_PLT_ENTRY_SIZE): This.
2188 (NON_LAZY_PLT_ENTRY_SIZE): New.
2189 (elf_i386_plt0_entry): Renamed to ...
2190 (elf_i386_lazy_plt0_entry): This.
2191 (elf_i386_plt_entry): Renamed to ...
2192 (elf_i386_lazy_plt_entry): This.
2193 (elf_i386_pic_plt0_entry): Renamed to ...
2194 (elf_i386_pic_lazy_plt0_entry): This.
2195 (elf_i386_pic_plt_entry): Renamed to ...
2196 (elf_i386_pic_lazy_plt_entry): This.
2197 (elf_i386_got_plt_entry): Renamed to ...
2198 (elf_i386_non_lazy_plt_entry): This.
2199 (elf_i386_pic_got_plt_entry): Renamed to ...
2200 (elf_i386_pic_non_lazy_plt_entry): This.
2201 (elf_i386_eh_frame_plt): Renamed to ...
2202 (elf_i386_eh_frame_lazy_plt): This.
2203 (elf_i386_eh_frame_plt_got): Renamed to ...
2204 (elf_i386_eh_frame_non_lazy_plt): This.
2205 (elf_i386_plt_layout): Renamed to ...
2206 (elf_i386_lazy_plt_layout): This. Remove eh_frame_plt_got and
2207 eh_frame_plt_got_size.
2208 (elf_i386_non_lazy_plt_layout): New.
2209 (elf_i386_plt_layout): Likewise.
2210 (elf_i386_non_lazy_plt): Likewise.
2211 (GET_PLT_ENTRY_SIZE): Removed.
2212 (elf_i386_plt): Renamed to ...
2213 (elf_i386_lazy_plt): This.
2214 (elf_i386_backend_data): Remove plt. Rename is_vxworks to os.
2215 (elf_i386_arch_bed): Updated.
2216 (elf_i386_link_hash_table): Add plt, lazy_plt and non_lazy_plt.
2217 (elf_i386_create_dynamic_sections): Removed.
2218 (elf_i386_check_relocs): Don't check elf.dynobj. Don't call
2219 _bfd_elf_create_ifunc_sections nor _bfd_elf_create_got_section.
2220 (elf_i386_adjust_dynamic_symbol): Updated.
2221 (elf_i386_allocate_dynrelocs): Updated. Pass 0 as PLT header
2222 size to _bfd_elf_allocate_ifunc_dyn_relocs and don't allocate
2223 size for PLT0 if there is no PLT0.
2224 (elf_i386_size_dynamic_sections): Updated. Check whether GOT
2225 output section is discarded only if GOT isn't empty.
2226 (elf_i386_relocate_section): Updated. Properly get PLT index
2227 if there is no PLT0.
2228 (elf_i386_finish_dynamic_symbol): Updated. Don't fill the
2229 second and third slots in the PLT entry if there is no PLT0.
2230 (elf_i386_finish_dynamic_sections): Updated. Don't fill PLT0
2231 if there is no PLT0. Set sh_entsize on the .plt.got section.
2232 (elf_i386_nacl_plt): Forward declaration.
2233 (elf_i386_get_plt_sym_val): Removed.
2234 (elf_i386_get_synthetic_symtab): Rewrite to check PLT sections
2235 against all dynamic relocations.
2236 (elf_i386_link_setup_gnu_properties): New function.
2237 (elf_backend_create_dynamic_sections): Updated.
2238 (elf_backend_setup_gnu_properties): New.
2239 (elf_i386_nacl_plt): Updated.
2240 (elf_i386_nacl_arch_bed): Likewise.
2241 (elf_i386_vxworks_arch_bed): Likewise.
2242
046734ff
TP
22432017-05-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
2244
2245 * elflink.c (elf_output_implib): Remove executable flag from import
2246 library bfd.
2247 * elf32-arm.c (elf32_arm_filter_implib_symbols): Assert that the import
2248 library is a relocatable object file.
2249
b660e9eb
SKS
22502017-05-01 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2251
2252 PR ld/21404
2253 * elf32-avr.c (avr_should_move_sym): New function.
2254 (avr_should_reduce_sym_size): Likewise.
2255 (avr_should_increase_sym_size): Likewise.
2256 (elf32_avr_relax_delete_bytes): Adjust symbol values
2257 and sizes by calling new functions.
2258
763a5fa4
PD
22592017-05-01 Palmer Dabbelt <palmer@dabbelt.com>
2260
2261 * config.bfd (riscv32-*): Enable rv64.
2262
73ec947d
AM
22632017-05-02 Alan Modra <amodra@gmail.com>
2264
2265 PR 21384
2266 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Test h->non_elf
2267 rather than h->root.type == bfd_link_hash_new.
2268 (bfd_elf_record_link_assignment): Similarly, call
2269 bfd_elf_link_mark_dynamic_symbol when h->non_elf.
2270
a941291c
AM
22712017-04-29 Alan Modra <amodra@gmail.com>
2272
2273 PR 21432
2274 * reloc.c (reloc_offset_in_range): New function.
2275 (bfd_perform_relocation, bfd_install_relocation): Use it.
2276 (_bfd_final_link_relocate): Likewise.
2277
750eaa47
L
22782017-04-28 H.J. Lu <hongjiu.lu@intel.com>
2279
2280 * elf32-i386.c (elf_i386_allocate_dynrelocs): Check plt_got
2281 before using .plt.got.
2282 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
2283
5b66fac4
L
22842017-04-27 H.J. Lu <hongjiu.lu@intel.com>
2285
2286 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Use "="
2287 instead of "+=" to update 0.
2288
de9a3c42
L
22892017-04-27 H.J. Lu <hongjiu.lu@intel.com>
2290
2291 * elf32-i386.c (elf_i386_create_dynamic_sections): Create the
2292 .plt.got section here.
2293 (elf_i386_check_relocs): Don't create the .plt.got section.
2294 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Create
2295 the .plt.got and .plt.bnd sections here.
2296 (elf_x86_64_check_relocs): Don't create the .plt.got nor
2297 .plt.bnd sections.
2298
da3d25af
L
22992017-04-27 H.J. Lu <hongjiu.lu@intel.com>
2300
2301 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Remove
2302 has_bnd_reloc.
2303 (elf_x86_64_link_hash_newfunc): Don't clear has_bnd_reloc.
2304 (elf_x86_64_copy_indirect_symbol): Don't copy has_bnd_reloc.
2305 (elf_x86_64_check_relocs): Don't set has_bnd_reloc.
2306 (elf_x86_64_finish_dynamic_symbol): Check bndplt instead of
2307 has_bnd_reloc.
2308
fba37edd
L
23092017-04-27 H.J. Lu <hongjiu.lu@intel.com>
2310
2311 * elf-bfd.h (elf_backend_data): Change setup_gnu_properties
2312 to return bfd *.
2313 (_bfd_elf_link_setup_gnu_properties): Return bfd *.
2314 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Return
2315 the first relocatable ELF input with GNU properties.
2316
1f78f649
L
23172017-04-27 H.J. Lu <hongjiu.lu@intel.com>
2318
2319 * elf32-i386.c (elf_i386_finish_dynamic_sections): Simplify
2320 VxWorks for non-PIC.
2321
76c20d54
AM
23222017-04-27 Alan Modra <amodra@gmail.com>
2323
2324 * elf-bfd.h (struct elf_backend_data): Make asection param of
2325 elf_backend_eh_frame_address_size const.
2326 (_bfd_elf_eh_frame_address_size): Likewise.
2327 * elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): Likewise.
2328 * elf32-msp430.c (elf32_msp430_eh_frame_address_size): Likewise.
2329 * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): Likewise.
2330 * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Likewise.
2331 * elf-eh-frame.c (_bfd_elf_eh_frame_address_size): Likewise.
2332 (next_cie_fde_offset): Constify params.
2333 (offset_adjust, adjust_eh_frame_local_symbols): Likewise.
2334
d7153c4a
AM
23352017-04-27 Alan Modra <amodra@gmail.com>
2336
2337 * elf-bfd.h (struct eh_cie_fde): Add aug_str_len and aug_data_len.
2338 (_bfd_elf_adjust_eh_frame_global_symbol): Declare.
2339 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Set aug_str_len and
2340 aug_data_len.
2341 (offset_adjust): New function.
2342 (_bfd_elf_adjust_eh_frame_global_symbol): Likewise.
2343 (adjust_eh_frame_local_symbols): Likewise.
2344 (_bfd_elf_discard_section_eh_frame): Call adjust_eh_frame_local_symbols
2345 after changing anything. Return true if anything changed.
2346 * elflink.c (bfd_elf_discard_info): If .eh_frame changed, call
2347 _bfd_elf_adjust_eh_frame_global_symbol for globals.
2348
641338d8
AM
23492017-04-27 Alan Modra <amodra@gmail.com>
2350
2351 * elflink.c (_bfd_elf_link_hash_hide_symbol): Clear dynstr_index
2352 when force_local.
2353
21d68fcd
AM
23542017-04-27 Alan Modra <amodra@gmail.com>
2355
2356 * elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
2357 (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Use it.
2358 (ppc_elf_adjust_dynamic_symbol, allocate_dynrelocs): Likewise.
2359 (ppc_elf_relocate_section): Likewise. Delete silly optimisation
2360 for undef and undefweak dyn_relocs.
2361 * elf64-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
2362 (ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup): Use it.
2363 (allocate_got, allocate_dynrelocs): Likewise.
2364 (ppc64_elf_relocate_section): Likewise.
2365
97d343d4
L
23662017-04-26 H.J. Lu <hongjiu.lu@intel.com>
2367
2368 * elf32-i386.c (elf_i386_size_dynamic_sections): Alwasys add
2369 DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rel.plt section.
2370 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Alwasys
2371 add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rela.plt section.
2372
04b31182
NC
23732017-04-26 Nick Clifton <nickc@redhat.com>
2374
2375 PR binutils/21434
2376 * reloc.c (bfd_perform_relocation): Check for a negative address
2377 in the reloc.
2378
23ec1e32
MR
23792017-04-26 Maciej W. Rozycki <macro@imgtec.com>
2380
2381 PR ld/21334
2382 * elf-bfd.h (elf_backend_data): Add `always_renumber_dynsyms'
2383 member.
2384 * elfxx-target.h [!elf_backend_always_renumber_dynsyms]
2385 (elf_backend_always_renumber_dynsyms): Define.
2386 (elfNN_bed): Initialize `always_renumber_dynsyms' member.
2387 * elfxx-mips.h (elf_backend_always_renumber_dynsyms): Define.
2388 * elflink.c (bfd_elf_size_dynamic_sections): Also call
2389 `_bfd_elf_link_renumber_dynsyms' if the backend has requested
2390 it.
2391 (bfd_elf_size_dynsym_hash_dynstr): Likewise.
2392
c46cec3a
MR
23932017-04-26 Maciej W. Rozycki <macro@imgtec.com>
2394
2395 * elflink.c (bfd_elf_size_dynamic_sections): Only call
2396 `_bfd_elf_link_renumber_dynsyms' after section GC if dynamic
2397 sections have been created.
2398
e63d1232
NC
23992017-04-26 Nick Clifton <nickc@redhat.com>
2400
2401 PR binutils/21431
2402 * compress.c (bfd_init_section_compress_status): Check the return
2403 value from bfd_malloc.
2404
9e9821dd
L
24052017-04-24 H.J. Lu <hongjiu.lu@intel.com>
2406
2407 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
2408 no_finish_dynamic_symbol.
2409 (elf_x86_64_link_hash_newfunc): Set no_finish_dynamic_symbol to
2410 0.
2411 (elf_x86_64_allocate_dynrelocs): If a symbol isn't undefined
2412 weak symbol, don't make it dynamic.
2413 (elf_x86_64_relocate_section): If a symbol isn't dynamic in PIC,
2414 set no_finish_dynamic_symbol and generate R_X86_64_RELATIVE
2415 relocation for GOT reference.
2416 (elf_x86_64_finish_dynamic_symbol): Abort if
2417 no_finish_dynamic_symbol isn't 0.
2418
0dc9a308
L
24192017-04-24 H.J. Lu <hongjiu.lu@intel.com>
2420
2421 PR ld/21402
2422 * elf32-i386.c (elf_i386_allocate_dynrelocs): If a symbol isn't
2423 undefined weak symbol, don't make it dynamic.
2424 (elf_i386_relocate_section): If a symbol isn't dynamic in PIC,
2425 set no_finish_dynamic_symbol and generate R_386_RELATIVE
2426 relocation for R_386_GOT32.
2427
1587442d
L
24282017-04-24 H.J. Lu <hongjiu.lu@intel.com>
2429
2430 PR ld/21425
2431 * elf32-i386.c (ELF_MAXPAGESIZE): Set to 0x1000 for VxWorks.
2432
7eacd66b
AM
24332017-04-23 Alan Modra <amodra@gmail.com>
2434
2435 PR 21414
2436 * section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
2437 * elf.c (lcomm_sym): New.
2438 (_bfd_elf_large_com_section): Use lcomm_sym section symbol.
2439 * bfd-in2.h: Regenerate.
2440
bce964aa
AM
24412017-04-23 Alan Modra <amodra@gmail.com>
2442
2443 PR 21412
2444 * elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
2445 parameters and comment.
2446 (_bfd_elf_get_reloc_section): Delete.
2447 (_bfd_elf_plt_get_reloc_section): Declare.
2448 * elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
2449 New functions. Don't blindly skip over assumed .rel/.rela prefix.
2450 Extracted from..
2451 (_bfd_elf_get_reloc_section): ..here. Delete.
2452 (assign_section_numbers): Call elf_get_reloc_section.
2453 * elf64-ppc.c (elf_backend_get_reloc_section): Define.
2454 * elfxx-target.h (elf_backend_get_reloc_section): Update.
2455
97e83a10
AM
24562017-04-23 Alan Modra <amodra@gmail.com>
2457
2458 PR 21409
2459 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Don't segfault when
2460 no symbols.
2461
e133d005
L
24622017-04-21 H.J. Lu <hongjiu.lu@intel.com>
2463
2464 PR ld/21402
2465 * elf32-i386.c (elf_i386_link_hash_entry): Add
2466 no_finish_dynamic_symbol.
2467 (elf_i386_link_hash_newfunc): Set no_finish_dynamic_symbol to 0.
2468 (elf_i386_allocate_dynrelocs): If a symbol isn't undefined weak
2469 symbol, don't make it dynamic in PIE.
2470 (elf_i386_relocate_section): If a symbol isn't dynamic in PIE,
2471 set no_finish_dynamic_symbol and generate R_386_RELATIVE
2472 relocation for R_386_GOT32
2473 (elf_i386_finish_dynamic_symbol): Abort if no_finish_dynamic_symbol
2474 isn't 0.
2475
3c5fce9b
L
24762017-04-21 H.J. Lu <hongjiu.lu@intel.com>
2477
2478 PR ld/19617
2479 PR ld/21086
2480 * elflink.c (elf_link_add_object_symbols): Require
2481 --no-dynamic-linker with -E/--dynamic-list when creating
2482 dynamic sections.
2483
0fad2956
MR
24842017-04-20 Maciej W. Rozycki <macro@imgtec.com>
2485
2486 * elflink.c (_bfd_elf_symbol_refs_local_p): Always return TRUE
2487 if forced local.
2488
64575f78
MR
24892017-04-20 Maciej W. Rozycki <macro@imgtec.com>
2490
2491 * elfxx-mips.c (_bfd_mips_elf_final_link): Reorder comment about
2492 dynamic symbol sorting.
2493
59fa66c5
L
24942017-04-20 H.J. Lu <hongjiu.lu@intel.com>
2495
2496 PR ld/21382
2497 * elflink.c (elf_link_add_object_symbols): Preserve
2498 dynamic_ref_after_ir_def when restoring the symbol table for
2499 unneeded dynamic object.
2500
e492d2f8
L
25012017-04-19 H.J. Lu <hongjiu.lu@intel.com>
2502
2503 PR ld/21401
2504 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Don't abort
2505 on on undefined IFUNC symbol in the second PLT.
2506
10169134
WAF
25072017-04-19 Wedson Almeida Filho <wedsonaf@gmail.com>
2508
2509 * peXXigen.c (pe_print_reloc): Correct chunk_end.
2510
954b63d4
AM
25112017-04-19 Alan Modra <amodra@gmail.com>
2512
2513 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Hide undefweak
2514 or make dynamic for info->dynamic_undefined_weak 0 and 1.
2515 * elf32-ppc.c:Formatting.
2516 (ensure_undefweak_dynamic): Don't make dynamic when
2517 info->dynamic_undefined_weak is zero.
2518 (allocate_dynrelocs): Discard undefweak dyn_relocs for
2519 info->dynamic_undefined_weak. Discard undef dyn_relocs when
2520 not default visibility. Discard undef and undefweak
2521 dyn_relocs earlier.
2522 (ppc_elf_relocate_section): Adjust to suit.
2523 * elf64-ppc.c: Formatting.
2524 (ensure_undefweak_dynamic): Don't make dynamic when
2525 info->dynamic_undefined_weak is zero.
2526 (allocate_dynrelocs): Discard undefweak dyn_relocs for
2527 info->dynamic_undefined_weak. Discard them earlier.
2528
e6699019
L
25292017-04-17 H.J. Lu <hongjiu.lu@intel.com>
2530
2531 PR ld/21389
2532 * elflink.c (bfd_elf_size_dynamic_sections): Get soname index
2533 before generating the version definition section.
2534
c5d37467
AM
25352017-04-17 Alan Modra <amodra@gmail.com>
2536
2537 * elflink.c (_bfd_elf_merge_symbol): Undo dynamic linking
2538 state when a regular object file defines a symbol with
2539 incompatible type to that defined by an earlier shared lib.
2540
63a5468a
AM
25412017-04-13 Alan Modra <amodra@gmail.com>
2542
2543 * coffcode.h: Wrap some overly long _bfd_error_handler args.
2544 * elf.c: Likewise.
2545 * elf32-arm.c: Likewise.
2546 * elf32-i386.c: Likewise.
2547 * elf32-mep.c: Likewise.
2548 * elf64-ia64-vms.c: Likewise.
2549 * elf64-x86-64.c: Likewise.
2550 * elflink.c: Likewise.
2551 * elfnn-ia64.c: Likewise.
2552 * elfxx-mips.c: Likewise.
2553
dae82561
AM
25542017-04-13 Alan Modra <amodra@gmail.com>
2555
2556 * aoutx.h: Use %B and %A in error messages throughout file.
2557 * aout-cris.c: Likewise.
2558 * archive.c: Likewise.
2559 * binary.c: Likewise.
2560 * coff-rs6000.c: Likewise.
2561 * coff-tic4x.c: Likewise.
2562 * coffcode.h: Likewise.
2563 * coffgen.c: Likewise.
2564 * cofflink.c: Likewise.
2565 * coffswap.h: Likewise.
2566 * cpu-arm.c: Likewise.
2567 * elf-eh-frame.c: Likewise.
2568 * elf-m10300.c: Likewise.
2569 * elf.c: Likewise.
2570 * elf32-arc.c: Likewise.
2571 * elf32-arm.c: Likewise.
2572 * elf32-bfin.c: Likewise.
2573 * elf32-frv.c: Likewise.
2574 * elf32-iq2000.c: Likewise.
2575 * elf32-m32c.c: Likewise.
2576 * elf32-microblaze.c: Likewise.
2577 * elf32-nds32.c: Likewise.
2578 * elf32-rl78.c: Likewise.
2579 * elf32-rx.c: Likewise.
2580 * elf32-score.c: Likewise.
2581 * elf32-score7.c: Likewise.
2582 * elf32-sh64.c: Likewise.
2583 * elf32-v850.c: Likewise.
2584 * elf32-vax.c: Likewise.
2585 * elf32-visium.c: Likewise.
2586 * elf64-ia64-vms.c: Likewise.
2587 * elf64-mmix.c: Likewise.
2588 * elf64-sh64.c: Likewise.
2589 * elfcode.h: Likewise.
2590 * elfnn-aarch64.c: Likewise.
2591 * elfnn-ia64.c: Likewise.
2592 * elfxx-mips.c: Likewise.
2593 * hpux-core.c: Likewise.
2594 * ieee.c: Likewise.
2595 * ihex.c: Likewise.
2596 * linker.c: Likewise.
2597 * merge.c: Likewise.
2598 * mmo.c: Likewise.
2599 * oasys.c: Likewise.
2600 * pdp11.c: Likewise.
2601 * peXXigen.c: Likewise.
2602 * rs6000-core.c: Likewise.
2603 * vms-alpha.c: Likewise.
2604 * xcofflink.c: Likewise.
2605
c08bb8dd
AM
26062017-04-13 Alan Modra <amodra@gmail.com>
2607
2608 * bfd.c (PRINT_TYPE): Define.
2609 (_doprnt): New function.
2610 (error_handler_internal): Use _doprnt.
2611 * coff-arm.c: Put %A and %B arguments to _bfd_error_handler
2612 calls in their natural order, throughout file.
2613 * coff-mcore.c: Likewise.
2614 * coff-ppc.c: Likewise.
2615 * coff-tic80.c: Likewise.
2616 * cofflink.c: Likewise.
2617 * elf-s390-common.c: Likewise.
2618 * elf.c: Likewise.
2619 * elf32-arm.c: Likewise.
2620 * elf32-i386.c: Likewise.
2621 * elf32-m32r.c: Likewise.
2622 * elf32-msp430.c: Likewise.
2623 * elf32-spu.c: Likewise.
2624 * elf64-ia64-vms.c: Likewise.
2625 * elf64-sparc.c: Likewise.
2626 * elf64-x86-64.c: Likewise.
2627 * elflink.c: Likewise.
2628 * elfnn-aarch64.c: Likewise.
2629 * elfnn-ia64.c: Likewise.
2630 * elfxx-mips.c: Likewise.
2631
10463f39
AM
26322017-04-13 Alan Modra <amodra@gmail.com>
2633
2634 * elf32-arm.c (arm_type_of_stub): Supply missing args to "long
2635 branch veneers" error. Fix double space and format message.
2636 * elf32-avr.c (avr_add_stub): Do not pass NULL as %B arg.
2637 * elf64-ppc.c (tocsave_find): Supply missing %B arg.
2638
4af8774e
AM
26392017-04-13 Alan Modra <amodra@gmail.com>
2640
2641 * bfd-in2.h: Regenerate.
2642
e4097f5e
L
26432017-04-11 H.J. Lu <hongjiu.lu@intel.com>
2644
2645 * elf-properties.c (_bfd_elf_parse_gnu_properties): Remove the
2646 extra `\n' in warning/error messages.
2647 * elf32-i386.c (elf_i386_parse_gnu_properties): Likewise.
2648 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
2649
537616aa
L
26502017-04-11 H.J. Lu <hongjiu.lu@intel.com>
2651
2652 * elf-properties.c (_bfd_elf_parse_gnu_properties): Ignore
2653 processor-specific properties with generic ELF target vector.
2654
bb1dd176
QZ
26552017-04-10 Qing Zhao <qing.zhao@oracle.com>
2656
2657 * elf32-sparc.c (elf_backend_fixup_symbol): New.
2658 * elf64-sparc.c (elf_backend_fixup_symbol): New.
2659 * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
2660 (_bfd_sparc_elf_link_hash_entry): Add has_got_reloc and
2661 has_non_got_reloc.
2662 (link_hash_newfunc): Initialize has_got_reloc and
2663 has_non_got_reloc.
2664 (_bfd_sparc_elf_size_dynamic_sections): Set interp to .interp
2665 section.
2666 (_bfd_sparc_elf_copy_indirect_symbol): Copy has_got_reloc and
2667 has_non_got_reloc.
2668 (_bfd_sparc_elf_check_relocs): Set has_got_reloc and
2669 has_non_got_reloc.
2670 (_bfd_sparc_elf_fixup_symbol): New function.
2671 (allocate_dynrelocs): Don't allocate space for dynamic
2672 relocations and discard relocations against resolved undefined
2673 weak symbols in executable. Don't make resolved undefined weak
2674 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
2675 relocation against undefined weak symbols in PIE.
2676 (_bfd_sparc_elf_relocate_section): Don't generate dynamic
2677 relocations against resolved undefined weak symbols in PIE
2678 (_bfd_sparc_elf_finish_dynamic_symbol): Keep PLT/GOT entries
2679 without ynamic PLT/GOT relocations for resolved undefined weak
2680 symbols.
2681 Don't generate dynamic relocation against resolved undefined
2682 weak symbol in executable.
2683 (pie_finish_undefweak_symbol): New function.
2684 (_bfd_sparc_elf_finish_dynamic_sections): Call
2685 pie_finish_undefweak_symbol on all symbols in PIE.
2686 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add interp.
2687 (_bfd_sparc_elf_fixup_symbol): New function.
2688
d236cfd4
NC
26892017-04-10 Nick Clifton <nickc@redhat.com>
2690
2691 * config.bfd: Remove ns32k from obsolete list.
2692
6f9dbcd4
AM
26932017-04-10 Alan Modra <amodra@gmail.com>
2694
2695 PR 21287
2696 * elf.c (special_sections_f): Match .fini_array and .fini_array.*.
2697 (special_sections_i): Likewise for .init_array.
2698 (special_sections_p): Likewise for .preinit_array.
2699
8170f769
L
27002017-04-07 H.J. Lu <hongjiu.lu@intel.com>
2701
2702 PR ld/19579
2703 PR ld/21306
2704 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Check
2705 ELF_COMMON_DEF_P for common symbols.
2706 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
2707 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
2708 * elflink.c (_bfd_elf_merge_symbol): Revert commits
2709 202ac193bbbecc96a4978d1ac3d17148253f9b01 and
2710 07492f668d2173da7a2bda3707ff0985e0f460b6.
2711
49f4617b
PA
27122017-04-07 Pedro Alves <palves@redhat.com>
2713
2714 * opncls.c (bfd_get_debug_link_info): Rename to...
2715 (bfd_get_debug_link_info_1): ... this. Change type of second
2716 parameter to void pointer. Adjust.
2717 (bfd_get_debug_link_info): Reimplement on top of
2718 bfd_get_debug_link_info_1.
2719 (separate_debug_file_exists, separate_alt_debug_file_exists):
2720 Change type of second parameter to void pointer. Adjust.
2721 (get_func_type, check_func_type): Change type of second parameter
2722 to void pointer.
2723 (find_separate_debug_file): Add 'func_data' parameter. Pass it to
2724 the callback functions instead of passing the address of a local.
2725 (bfd_follow_gnu_debuglink): Pass address of unsigned long local to
2726 find_separate_debug_file.
2727 (get_alt_debug_link_info_shim): Change type of second parameter to
2728 void pointer. Adjust.
2729 (bfd_follow_gnu_debugaltlink): Adjust to pass NULL to
2730 find_separate_debug_file.
2731 (get_build_id_name, bfd_boolean check_build_id_file): Change type
2732 of second parameter to void pointer. Adjust.
2733 (bfd_follow_build_id_debuglink): Pass address of bfd_build_id
2734 pointer local to find_separate_debug_file.
2735
27362017-04-07 Tristan Gingold <gingold@gingold-Precision-7510>
1fd6d111
TG
2737
2738 * coffgen.c (_bfd_coff_gc_mark_hook): Handle PE weak
2739 external symbols with a definition.
2740 (_bfd_coff_gc_mark_extra_sections): Fix typo.
2741
86abf93a
AM
27422017-04-07 Alan Modra <amodra@gmail.com>
2743
2744 * po/SRC-POTFILES.in: Regenerate.
2745
8dea77f0
AM
27462017-04-05 Alan Modra <amodra@gmail.com>
2747
2748 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Support ELFv2 PLT
2749 reference counting.
2750
477bdd39
JT
27512017-04-02 Jon Turney <jon.turney@dronecode.org.uk>
2752
2753 (_bfd_XXi_swap_aouthdr_out): For clarity, use defines rather than
2754 numbers for DataDirectory entry indicies passed to
2755 add_data_entry().
2756
a91e1603
L
27572017-04-04 H.J. Lu <hongjiu.lu@intel.com>
2758
2759 * elf.c (get_program_header_size): Add a GNU_MBIND segment for
2760 each GNU_MBIND section and align GNU_MBIND section to page size.
2761 (_bfd_elf_map_sections_to_segments): Create a GNU_MBIND
2762 segment for each GNU_MBIND section.
2763 (_bfd_elf_init_private_section_data): Copy sh_info from input
2764 for GNU_MBIND section.
2765
b5292032
PD
27662017-04-03 Palmer Dabbelt <palmer@dabbelt.com>
2767
2768 * elfnn-riscv.c (GP_NAME): Delete.
2769 (riscv_global_pointer_value): Change GP_NAME to RISCV_GP_SYMBOL.
2770 (_bfd_riscv_relax_lui): Likewise.
2771
ad32986f
NC
27722017-04-04 Nick Clifton <nickc@redhat.com>
2773
2774 PR binutils/21342
2775 * elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
2776 dereference.
2777 (bfd_elf_final_link): Only initialize the extended symbol index
2778 section if there are extended symbol tables to list.
2779
46bed679
L
27802017-04-03 H.J. Lu <hongjiu.lu@intel.com>
2781
2782 * Makefile.am (BFD32_BACKENDS): Add elf-properties.lo.
2783 (BFD32_BACKENDS_CFILES): Add elf-properties.c.
2784 * configure.ac (elf): Add elf-properties.lo.
2785 * Makefile.in: Regenerated.
2786 * configure: Likewise.
2787 * elf-bfd.h (elf_property_kind): New.
2788 (elf_property): Likewise.
2789 (elf_property_list): Likewise.
2790 (elf_properties): Likewise.
2791 (_bfd_elf_parse_gnu_properties): Likewise.
2792 (_bfd_elf_get_property): Likewise.
2793 (_bfd_elf_link_setup_gnu_properties): Likewise.
2794 (elf_backend_data): Add parse_gnu_properties, merge_gnu_properties
2795 and setup_gnu_properties.
2796 (elf_obj_tdata): Add properties.
2797 * elf-properties.c: New file.
2798 * elf32-i386.c (elf_i386_parse_gnu_properties): New.
2799 (elf_i386_merge_gnu_properties): Likewise.
2800 (elf_backend_parse_gnu_properties): Likewise.
2801 (elf_backend_merge_gnu_properties): Likewise.
2802 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
2803 (elf_x86_64_merge_gnu_properties): Likewise.
2804 (elf_backend_parse_gnu_properties): Likewise.
2805 (elf_backend_merge_gnu_properties): Likewise.
2806 * elfxx-target.h (elf_backend_merge_gnu_properties): Likewise.
2807 (elf_backend_parse_gnu_properties): Likewise.
2808 (elf_backend_setup_gnu_properties): Likewise.
2809 (elfNN_bed): Add elf_backend_parse_gnu_properties,
2810 elf_backend_merge_gnu_properties and
2811 elf_backend_setup_gnu_properties.
2812
f96bd6c2
PC
28132017-03-30 Pip Cet <pipcet@gmail.com>
2814
2815 * elf32-wasm32.c: Add relocation code, two relocs.
2816 * reloc.c: Add wasm32 relocations.
2817 * libbfd.h: Regenerate.
2818 * bfd-in2.h: Regenerate.
2819 * bfd/po/bfd.pot: Regenerate.
2820
e643cb45
NC
28212017-03-29 Nick Clifton <nickc@redhat.com>
2822
2823 PR binutils/18025
2824 * coff-bfd.h (struct coff_section_data): Add new fields:
2825 saved_bias and bias.
2826 * coffgen.c (coff_find_nearest_line_with_names): Cache the bias
2827 computed for PE binaries.
2828 * dwarf2.c (scan_unit_for_symbols): Only warn once about each
2829 missing abbrev.
2830
086554e8
HPN
28312017-03-28 Hans-Peter Nilsson <hp@axis.com>
2832
2833 PR ld/16044
2834 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Adjust BFD_ASSERT
2835 to handle a local symbol with a hash-symbol-entry; without PLT.
2836 Add BFD_ASSERT for an incidental case with GOT entry present.
2837 (cris_elf_check_relocs): Increment PLT refcount only if the symbol
2838 isn't forced-or-set local.
2839
a6be0538
PC
28402017-03-27 Pip Cet <pipcet@gmail.com>
2841
2842 * wasm-module.c: New file to support WebAssembly modules.
2843 * wasm-module.h: New file to support WebAssembly modules.
2844 * doc/webassembly.texi: Start documenting wasm-module.c.
2845 * config.bfd: Add wasm_vec.
2846 * targets.c: Likewise.
2847 * configure.ac: Likewise.
2848 * Makefile.am: Add entries for wasm-module.c.
2849 * Makefile.in: Regenerate.
2850 * configure: Regenerate.
2851 * po/SRC-POTFILES.in: Regenerate.
2852
79b1d3cb
PC
28532017-03-27 Pip Cet <pipcet@gmail.com>
2854
2855 * cpu-wasm32.c: New file to support wasm32 architecture.
2856 * elf32-wasm32.c: New file to support wasm32 architecture.
2857 * Makefile.am: Add wasm32 architecture.
2858 * archures.c: Likewise.
2859 * config.bfd: Likewise.
2860 * configure.ac: Likewise.
2861 * targets.c: Likewise.
2862 * Makefile.in: Regenerate.
2863 * bfd-in2.h: Regenerate.
2864 * configure: Regenerate.
2865 * po/SRC-POTFILES.in: Regenerate.
2866
aaed6f5b
AM
28672017-03-20 Alan Modra <amodra@gmail.com>
2868
2869 PR 21266
2870 * elf64-ppc.c (compare_symbols): Stabilize sort.
2871
82e66161
AM
28722017-03-18 Alan Modra <amodra@gmail.com>
2873
2874 * elf64-ppc.c (struct ppc_link_hash_table): Add
2875 local_ifunc_resolver and maybe_local_ifunc_resolver.
2876 (ppc_build_one_stub): Set flags on emitting dynamic
2877 relocation to ifunc.
2878 (ppc64_elf_relocate_section): Likewise.
2879 (ppc64_elf_finish_dynamic_symbol): Likewise.
2880 (ppc64_elf_finish_dynamic_sections): Error on DT_TEXTREL with
2881 local dynamic relocs to ifuncs.
2882 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add
2883 local_ifunc_resolver and maybe_local_ifunc_resolver.
2884 (ppc_elf_relocate_section): Set flag on emitting dynamic
2885 relocation to ifuncs.
2886 (ppc_elf_finish_dynamic_symbol): Likewise.
2887 (ppc_elf_finish_dynamic_sections): Error on DT_TEXTREL with local
2888 dynamic relocs to ifuncs.
2889
f955cccf
NC
28902017-03-13 Nick Clifton <nickc@redhat.com>
2891
2892 PR binutils/21202
2893 * reloc.c (BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
2894 BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.
2895 (BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
2896 BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
2897 * bfd-in2.h: Regenerate.
2898 * libbfd.h: Regenerate.
2899 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Update reloc
2900 names.
2901 (IS_AARCH64_TLSDESC_RELOC): Likewise.
2902 (elfNN_aarch64_howto_table): Likewise.
2903 (aarch64_tls_transition_without_check): Likewise.
2904 (aarch64_reloc_got_type): Likewise.
2905 (elfNN_aarch64_final_link_relocate): Likewise.
2906 (elfNN_aarch64_tls_relax): Likewise.
2907 (elfNN_aarch64_relocate_section): Likewise.
2908 (elfNN_aarch64_gc_sweep_hook): Likewise.
2909 (elfNN_aarch64_check_relocs): Likewise.
2910 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
2911 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2912
4aef7643
AM
29132017-03-11 Alan Modra <amodra@gmail.com>
2914
2915 * elf32-ppc.c: Remove ATTRIBUTE_UNUSED throughout when function
2916 parameter is in fact used. Whitespace fixes.
2917 * elf64-ppc.c: Likewise.
2918
f03265d9
ST
29192017-03-09 Sam Thursfield <sam.thursfield@codethink.co.uk>
2920
2921 * rs6000-core.c (CORE_NEW): Simplify macro when
2922 AIX_CORE_DUMPX_CORE and BFD64 are true to avoid compile warning.
2923
b1b07054
AM
29242017-03-07 Alan Modra <amodra@gmail.com>
2925
2926 PR 21224
2927 PR 20519
2928 * elf64-ppc.c (ppc64_elf_relocate_section): Add missing
2929 dyn_relocs check.
2930
2e0ce1c8
AM
29312017-03-05 Alan Modra <amodra@gmail.com>
2932
2933 * elf-bfd.h (struct eh_cie_fde): Add u.cie.per_encoding_aligned8.
2934 * elf-eh-frame.c (size_of_output_cie_fde): Don't align here.
2935 (next_cie_fde_offset): New function.
2936 (_bfd_elf_parse_eh_frame): Set u.cie.per_encoding_aligned8.
2937 (_bfd_elf_discard_section_eh_frame): Align zero terminator to
2938 four bytes. Align CIEs to four or eight bytes depending on
2939 per_encoding_aligned8. Align FDEs according to their encoding.
2940 Pad last FDE to output section alignment.
2941 (_bfd_elf_write_section_eh_frame): Adjust to suit. Remove
2942 assertion.
2943 * elf64-ppc.c (glink_eh_frame_cie): Delete padding.
2944 (ppc64_elf_size_stubs): Pad glink eh_frame as per elf-eh-frame.c.
2945 (ppc64_elf_finish_dynamic_sections): Adjust to suit.
2946
f98450c6
NC
29472017-03-02 Martin Bickel <binutils@ineranves.de>
2948
2949 PR ld/21212
2950 * elf.c (rewrite_elf_program_header): Do not issue a warning for
d20928fa 2951 empty segments which have a zero filesz, but a non-zero memsz.
f98450c6 2952
673cff9b
AM
29532017-03-02 Alan Modra <amodra@gmail.com>
2954
2955 * elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo.
2956
3de43e7b
AM
29572017-02-28 Alan Modra <amodra@gmail.com>
2958
2959 * elf64-ppc.c (ppc64_elf_ha_reloc): Revert last change.
2960 (ppc64_elf_relocate_section): Likewise.
2961
4ef97a1b
AM
29622017-02-28 Alan Modra <amodra@gmail.com>
2963
2964 PR 20995
2965 * elf32-nios2.c (nios2_elf32_relocate_section): Use htab
2966 rather than elf32_nios2_hash_table or elf_hash_table.
2967 (create_got_section): Likewise.
2968 (nios2_elf32_finish_dynamic_symbol): Likewise.
2969 (nios2_elf32_adjust_dynamic_symbol): Likewise.
2970 (nios2_elf32_size_dynamic_sections): Likewise.
2971 (nios2_elf32_check_relocs): Delete dynobj, sgot, and srelgot
2972 vars. Use htab equivalents directly instead. Don't create
2973 all dynamic sections on needing just the GOT. Use a goto
2974 rather than a fall-through with reloc test. Ensure
2975 htab->dynobj is set when making dynamic sreloc section.
2976 (nios2_elf32_finish_dynamic_sections): Delete dynobj, use htab
2977 equivalent directly instead. Don't segfault on looking for
2978 .dynamic when dynamic sections have not been created. Don't
2979 segfault on .got.plt being discarded.
2980 (nios2_elf32_size_dynamic_sections): Delete plt and got vars.
2981 Don't set "relocs" on .rela.plt. Do handle .sbss. Delete
2982 fixme and another not so relevant comment.
2983 (nios2_elf_add_symbol_hook): Delete dynobj var. If not
2984 already set, set hash table dynobj on creating .sbss.
2985
7ba71655
AM
29862017-02-28 Alan Modra <amodra@gmail.com>
2987
2988 * reloc.c (BFD_RELOC_PPC_16DX_HA): New.
2989 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_16DX_HA>): New howto.
2990 (ppc64_elf_reloc_type_lookup): Translate new bfd reloc.
2991 (ppc64_elf_ha_reloc): Correct overflow test on REL16DX_HA.
2992 (ppc64_elf_relocate_section): Likewise.
2993 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_16DX_HA>): New howto.
2994 (ppc_elf_reloc_type_lookup): Translate new bfd reloc.
2995 (ppc_elf_check_relocs): Handle R_PPC_16DX_HA to pacify gcc.
2996 * libbfd.h: Regenerate.
2997 * bfd-in2.h: Regenerate.
2998
afbf7e8e
AM
29992017-02-28 Alan Modra <amodra@gmail.com>
3000
3001 * elflink.c (_bfd_elf_create_dynamic_sections): Don't make
3002 dynamic .data.rel.ro read-only.
3003 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Compare section
3004 rather than section flags when deciding where copy reloc goes.
3005 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
3006 * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
3007 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
3008 * elf32-metag.c (elf_metag_finish_dynamic_symbol): Likewise.
3009 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Likewise.
3010 * elf32-nios2.c (nios2_elf32_finish_dynamic_symbol): Likewise.
3011 * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Likewise.
3012 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Likewise.
3013 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
3014 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
3015 * elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise.
3016 * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Likewise.
3017 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
3018 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
3019 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Likewise.
3020 * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Likewise.
3021 * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
3022 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
3023 * elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise.
3024
0e392101
MR
30252017-02-28 Maciej W. Rozycki <macro@imgtec.com>
3026
3027 * elfxx-mips.c (mips_elf_perform_relocation): Also handle the
3028 `jalr $0, $25' instruction encoding.
3029
bd757ca7
NC
30302017-02-27 Nick Clifton <nickc@redhat.com>
3031
3032 PR ld/21180
3033 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Avoid
3034 generating a seg-fault when encountering a symbol that has been
3035 deleted by garbage collection.
3036
034fed0b
AM
30372017-02-25 Alan Modra <amodra@gmail.com>
3038
3039 * elf32-arc.c (struct dynamic_sections): Delete.
3040 (enum dyn_section_types): Delete.
3041 (dyn_section_names): Delete.
3042 (arc_create_dynamic_sections): Delete.
3043 (elf_arc_finish_dynamic_sections): Don't call the above. Don't
3044 segfault on discarded .rela.plt section.
3045 (elf_arc_size_dynamic_sections): Formatting. Don't call
3046 arc_create_dynamic_sections. Don't allocate memory for sections
3047 handled by the generic linker. Correct code finding relocs in
3048 read-only sections. Set SEC_EXCLUDE on zero size .got,
3049 .got.plt, and .dynbss sections. Do set .interp for pies.
3050
d0f744f9
AW
30512017-02-24 Andrew Waterman <andrew@sifive.com>
3052
3053 * elfnn-riscv.c (GP_NAME): New macro.
3054 (riscv_global_pointer_value): Use it.
3055 (_bfd_riscv_relax_lui): If symbol and global pointer are in same
3056 output section, consider only that section's alignment.
3057
5d58c733
MR
30582017-02-23 Maciej W. Rozycki <macro@imgtec.com>
3059
3060 * elfxx-mips.h (_bfd_mips_relax_section): Remove prototype.
3061 * elfxx-mips.c (_bfd_mips_relax_section): Remove function.
3062 * elf64-mips.c (bfd_elf64_bfd_relax_section): Remove macro.
3063 * elfn32-mips.c (bfd_elf32_bfd_relax_section): Likewise.
3064
c1556ecd
MR
30652017-02-23 Maciej W. Rozycki <macro@imgtec.com>
3066
3067 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_JALR>
3068 <R_MICROMIPS_JALR>: Discard relocation if `cross_mode_jump_p'
3069 or misaligned.
3070
5499c7c7
AM
30712017-02-23 Alan Modra <amodra@gmail.com>
3072
3073 PR 20744
3074 * elf32-ppc.c (ppc_elf_howto_raw): Correct dst_mask on all VLE
3075 16D relocations.
3076 (ppc_elf_vle_split16): Correct field mask and shift for 16D relocs.
3077 (ppc_elf_relocate_section): Correct calculation for VLE SDAREL
3078 relocs.
3079
902e9fc7
MR
30802017-02-22 Maciej W. Rozycki <macro@imgtec.com>
3081
3082 PR ld/20828
3083 * elflink.c (bfd_elf_size_dynamic_sections): Move symbol version
3084 processing ahead of the call to `elf_gc_sweep_symbol'.
3085
758d96d8
NC
30862017-02-22 Nick Clifton <nickc@redhat.com>
3087
3088 PR binutils/21193
3089 * opncls.c (bfd_create_gnu_debuglink_section): Give the newly
3090 created section 4-byte alignment.
3091
6528b6eb
AM
30922017-02-22 Alan Modra <amodra@gmail.com>
3093
3094 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault
3095 on .got or .plt output section being discarded by script.
3096 * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise. Move
3097 vxworks splt temp.
3098
24f1a751
AM
30992017-02-21 Alan Modra <amodra@gmail.com>
3100
3101 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only emit
3102 DT_RELA, DT_RELASZ, and DT_RELAENT when DT_RELASZ is non-zero.
3103
64487780
AM
31042017-02-20 Alan Modra <amodra@gmail.com>
3105
3106 PR 21181
3107 * elflink.c (bfd_elf_final_link): Make DT_REL/DT_RELA zero
3108 if DT_RELSZ/DT_RELASZ is zero.
3109
6438d1be
NC
31102017-02-17 Nick Clifton <nickc@redhat.com>
3111
3112 * compress.c (bfd_get_full_section_contents): Remember to reduce
3113 compressed size by the sizeof the compression header when
3114 decompressing the contents.
3115
4bc26c69
PA
31162017-02-17 Pedro Alves <palves@redhat.com>
3117
3118 * srec.c (Chunk): Rename to ...
3119 (_bfd_srec_len): ... this.
3120 (S3Forced): Rename to ...
3121 (_bfd_srec_forceS3): ... this.
3122 * objcopy.c: Adjust all references.
3123
7ec22e0f
PA
31242017-02-17 Pedro Alves <palves@redhat.com>
3125
3126 * archive.c (bsd_write_armap): Rename to ...
3127 (_bfd_bsd_write_armap): ... this.
3128 (coff_write_armap): Rename to ...
3129 (_bfd_coff_write_armap): ... this.
3130 * libbfd-in.h (bsd_write_armap): Rename to ...
3131 (_bfd_bsd_write_armap): ... this.
3132 (coff_write_armap): Rename to ...
3133 (_bfd_coff_write_armap): ... this.
3134 * aout-target.h, aout-tic30.c: Adjust all users.
3135 * libbfd.h: Regenerate.
3136
8c8402cc
PA
31372017-02-17 Pedro Alves <palves@redhat.com>
3138
3139 * bfd-in.h (bfd_read, bfd_write): Adjust to rename.
3140 (warn_deprecated): Rename to ...
3141 (_bfd_warn_deprecated): ... this.
3142 * libbfd.c (warn_deprecated): Rename to ...
3143 (_bfd_warn_deprecated): ... this.
3144 * bfd-in2.h: Regenerate.
3145
c7c3d11b
PA
31462017-02-17 Pedro Alves <palves@redhat.com>
3147
3148 * bfdio.c (real_ftell): Rename to ...
3149 (_bfd_real_ftell): ... this.
3150 (real_fseek): Rename to ...
3151 (_bfd_real_fseek): ... this.
3152 (real_fopen): Rename to ...
3153 (_bfd_real_fopen): ... this.
3154 * libbfd-in.h (real_ftell): Rename to ...
3155 (_bfd_real_ftell): ... this.
3156 (real_fseek): Rename to ...
3157 (_bfd_real_fseek): ... this.
3158 (real_fopen): Rename to ...
3159 (_bfd_real_fopen): ... this.
3160 * cache.c, dwarf2.c, opncls.c: Adjust all callers.
3161 * libbfd.h: Regenerate.
3162
4265548c
PA
31632017-02-17 Pedro Alves <palves@redhat.com>
3164
3165 * dwarf2.c, elf-attrs.c, elf32-nds32.c: Adjust all callers.
3166 * libbfd.c (read_unsigned_leb128): Rename to ...
3167 (_bfd_read_unsigned_leb128): ... this.
3168 (read_signed_leb128): Rename to ...
3169 (_bfd_read_signed_leb128): ... this.
3170 (safe_read_leb128): Rename to ...
3171 (_bfd_safe_read_leb128): ... this.
3172 * libbfd-in.h (read_unsigned_leb128): Rename to ...
3173 (_bfd_read_unsigned_leb128): ... this.
3174 (read_signed_leb128): Rename to ...
3175 (_bfd_read_signed_leb128): ... this.
3176 (safe_read_leb128): Rename to ...
3177 (_bfd_safe_read_leb128): ... this.
3178 * libbfd.h: Renegerate.
3179
3239a423
AB
31802017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
3181
3182 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Perform symbol lookup
3183 before trying to fine matching file and line information.
3184
90ed9b8b
AB
31852017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
3186
3187 * dwarf2.c (struct dwarf2_debug): Add orig_bfd member.
3188 (_bfd_dwarf2_slurp_debug_info): If stashed debug information does
3189 not match current bfd, then reload debug information. Record bfd
3190 we're loading debug info for in the stash. If we have debug
3191 informatin in the cache then perform section placement before
3192 returning.
3193
a8c75b76
AM
31942017-02-16 Alan Modra <amodra@gmail.com>
3195
3196 PR 21000
3197 * elf-bfd.h (struct elf_backend_data): Add no_page_alias.
3198 * elfxx-target.h (elf_backend_no_page_alias): Define.
3199 (elfNN_bed): Init new field.
3200 * elf.c (assign_file_positions_for_load_sections): If no_page_alias
3201 ensure PT_LOAD segment starts on a new page.
3202 * elf32-hppa.c (elf_backend_no_page_alias): Define.
3203
247d6c4c
AM
32042017-02-16 Alan Modra <amodra@gmail.com>
3205
3206 PR 21132
3207 * elf32-hppa.c (allocate_plt_static): Allocate space for relocs
3208 if pic.
3209
90571206
JW
32102017-02-16 Jiong Wang <jiong.wang@arm.com>
3211
3212 * bfd.c (BFD_FLAGS_SAVED): Add BFD_LINKER_CREATED.
3213 * bfd-in2.h: Regenerated.
3214
2a568401
L
32152017-02-15 H.J. Lu <hongjiu.lu@intel.com>
3216
3217 PR ld/21168
3218 * elf32-i386.c (elf_i386_relocate_section): Allow
3219 "lea foo@GOT, %reg" in PIC.
3220
a5def14f
L
32212017-02-15 H.J. Lu <hongjiu.lu@intel.com>
3222
3223 PR ld/20244
3224 * elf32-i386.c (elf_i386_relocate_section): Properly get IFUNC
3225 symbol name when reporting R_386_GOT32/R_386_GOT32X relocation
3226 error against local IFUNC symbol without a base register for
3227 PIC.
3228
174d0a74
MR
32292017-02-15 Maciej W. Rozycki <macro@imgtec.com>
3230
3231 * elf32-ppc.c (ppc_elf_check_relocs): Use `%H:' rather than
3232 `%P: %H:' with `info->callbacks->einfo'.
3233 (ppc_elf_relocate_section): Likewise.
3234 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
3235 (ppc64_elf_edit_toc): Likewise.
3236 (ppc64_elf_relocate_section): Likewise.
3237
e278ae05
AM
32382017-02-14 Alan Modra <amodra@gmail.com>
3239
3240 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
3241 --gc-keep-exported, and test versioned field of sym rather than
3242 looking for @ in name.
3243
10ddfe62
PD
32442017-02-13 Palmer Dabbelt <palmer@dabbelt.com>
3245
3246 * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to
3247 __global_pointer$.
3248
d11135f5
NC
32492017-02-13 Nick Clifton <nickc@redhat.com>
3250
3251 PR binutils/21151
3252 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid
3253 unit length field.
3254
cc162427
AW
32552017-02-07 Andrew Waterman <andrew@sifive.com>
3256
3257 * elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT
3258 entry size if PLT header is written.
3259
3d044c0c
SL
32602017-02-06 Sheldon Lobo <sheldon.lobo@oracle.com>
3261
3262 Fix sparc64 dynamic relocation processing to use the dynamic
3263 symbol count.
3264 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic'
3265 to determine if bfd_get_symcount() or bfd_get_dynamic_symcount()
3266 should be used.
3267
1b7e3d2f
NC
32682017-02-03 Nick Clifton <nickc@redhat.com>
3269
3270 PR 21096
3271 * coffcode.h (coff_write_object_contents): Enlarge size of
3272 s_name_buf in order to avoid compile time warning about possible
3273 integer truncation.
3274 * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower
3275 32-bits of insn value before printing into buffer.
3276
e17b0c35
MR
32772017-02-02 Maciej W. Rozycki <macro@imgtec.com>
3278
3279 * elfxx-mips.c (mips_elf_hash_sort_data): Add
3280 `max_local_dynindx'.
3281 (mips_elf_sort_hash_table): Handle it.
3282 (mips_elf_sort_hash_table_f) <GGA_NONE>: For forced local
3283 symbols bump up `max_local_dynindx' rather than
3284 `max_non_got_dynindx'.
3285
55f8b9d2
MR
32862017-02-02 Maciej W. Rozycki <macro@imgtec.com>
3287
3288 * elfxx-mips.c (mips_elf_hash_sort_data): Convert the
3289 `min_got_dynindx', `max_unref_got_dynindx' and
3290 `max_non_got_dynindx' members to the `bfd_size_type' data type.
3291 (mips_elf_sort_hash_table): Adjust accordingly.
3292
0f8c4b60
MR
32932017-02-02 Maciej W. Rozycki <macro@imgtec.com>
3294
3295 * elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout
3296 to access the hash table.
3297
17a80fa8
MR
32982017-02-02 Maciej W. Rozycki <macro@imgtec.com>
3299
3300 * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on
3301 non-NULL `htab' to the beginning.
3302
8f56d4fd
MR
33032017-02-02 Maciej W. Rozycki <macro@imgtec.com>
3304
3305 * elflink.c (elf_gc_sweep): Wrap overlong line.
3306
8b10b0b3
MR
33072017-01-30 Maciej W. Rozycki <macro@imgtec.com>
3308
3309 * elfxx-mips.h (_bfd_mips_elf_insn32): Rename prototype to...
3310 (_bfd_mips_elf_linker_flags): ... this. Add another parameter.
3311 * elfxx-mips.c (mips_elf_link_hash_table): Add
3312 `ignore_branch_isa' member.
3313 (mips_elf_perform_relocation): Do not treat an ISA mode mismatch
3314 in branch relocation calculation as an error if
3315 `ignore_branch_isa' has been set.
3316 (_bfd_mips_elf_insn32): Rename to...
3317 (_bfd_mips_elf_linker_flags): ... this. Rename the `on'
3318 parameter to `insn32' and add an `ignore_branch_isa' parameter.
3319 Handle the new parameter.
3320
1fbd05e1
HPN
33212017-01-27 Hans-Peter Nilsson <hp@axis.com>
3322
22d9a0de
HPN
3323 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused
3324 local variable dynobj.
3325
1fbd05e1
HPN
3326 PR ld/20995
3327 * elf32-cris.c (elf_cris_size_dynamic_sections): Handle sdynrelro.
3328 (elf_cris_adjust_dynamic_symbol): Place variables copied into the
3329 executable from read-only sections into sdynrelro.
3330 (elf_cris_finish_dynamic_symbol): Select sreldynrelro for
3331 dynamic relocs in sdynrelro.
3332 (elf_backend_want_dynrelro): Define.
3333
4a7324e1
SH
33342017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
3335
3336 * config.bfd (*-*-rtemsaout*): Mark as removed.
3337
c75b4ebd
SH
33382017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
3339
3340 * config.bfd (powerpcle-*-rtems*): Do not mark as removed.
3341 (arm-*-rtems*): Move to (arm*-*-eabi*).
3342 (i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*).
3343 (m68-*-rtems*): Move to (m68*-*-elf*).
3344
850d84f6
SH
33452017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
3346
3347 * config.bfd (*-*-rtemscoff*): Mark as removed.
3348
b531344c
MR
33492017-01-24 Maciej W. Rozycki <macro@imgtec.com>
3350
3351 PR ld/20828
3352 * elflink.c (bfd_elf_record_link_assignment): Revert last
3353 change and don't ever clear `forced_local'. Set `mark'
3354 unconditionally.
3355 (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within
3356 file.
3357 (elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'...
3358 (bfd_elf_size_dynamic_sections): ... here.
3359 * elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local'
3360 and set `mark' instead in `__tls_get_addr_opt' processing.
3361 * elf64-ppc.c (ppc64_elf_tls_setup): Likewise.
3362
f0158f44
AM
33632017-01-24 Alan Modra <amodra@gmail.com>
3364
3365 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases
3366 where dynamic relocs are preferable. Allow ifunc too.
3367 (ensure_undefweak_dynamic): New function.
3368 (allocate_dynrelocs): Use it here. Move plt handling last and
3369 don't make symbols dynamic, simplifying loop. Only make undef
3370 weak symbols with GOT entries dynamic. Correct condition
3371 for GOT relocs. Handle dynamic relocs on ifuncs. Correct
3372 comments. Remove goto.
3373 (ppc_elf_relocate_section): Correct test for using dynamic
3374 symbol on GOT relocs. Rearrange test for emitting GOT relocs
3375 to suit. Set up explicit tls_index entries and implicit GOT
3376 tls_index entries resolvable at link time for
3377 __tls_get_addr_opt. Simplify test to clear mem for prelink.
3378 * elf64-ppc.c (allocate_got): Correct condition for GOT relocs.
3379 (ensure_undefweak_dynamic): New function.
3380 (allocate_dynrelocs): Use it here. Only make undef weak symbols
3381 with GOT entries dynamic. Remove unnecessary test of
3382 WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling.
3383 (ppc64_elf_relocate_section): Correct test for using dynamic
3384 symbol on GOT relocs. Rearrange test for emitting GOT relocs
3385 to suit. Set up explicit tls_index entries and implicit GOT
3386 tls_index entries resolvable at link time for __tls_get_addr_opt.
3387 Simplify expression to clear mem for prelink.
3388
2d0ca824
YN
33892017-01-23 Yury Norov <ynorov@caviumnetworks.com>
3390
3391 * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
3392
7f784814
JW
33932017-01-20 Jiong Wang <jiong.wang@arm.com>
3394
3395 * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
3396 (elf_backend_hash_symbol): Define.
3397
81ff47b3
MR
33982017-01-18 Maciej W. Rozycki <macro@imgtec.com>
3399
3400 PR ld/20828
3401 * elflink.c (bfd_elf_record_link_assignment): Clear any
3402 `forced_local' marking for DSO symbols that are not being
3403 provided.
3404
640d6bfd
KLC
34052017-01-17 Kuan-Lin Chen <kuanlinchentw@gmail.com>
3406
3407 * elfnn-riscv.c (riscv_elf_object_p): New function.
3408
8361ed4d
L
34092017-01-12 H.J. Lu <hongjiu.lu@intel.com>
3410
3411 PR ld/21038
3412 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
3413 plt_bnd_eh_frame.
3414 (elf_x86_64_check_relocs): Create .eh_frame section for the
3415 .plt.bnd section.
3416 (elf_x86_64_size_dynamic_sections): Allocate and initialize
3417 .eh_frame section for the .plt.bnd section.
3418 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
3419 for the .plt.bnd section.
3420
2425a30e
NC
34212017-01-12 Nick Clifton <nickc@redhat.com>
3422
3423 PR binutils/20876
3424 * opncls.c (find_separate_debug_file): Add include_dirs
3425 parameter. Only include the directory part of the bfd's filename
3426 in search paths if include_dirs is true. Add a couple of extra
3427 locations for looking for debug files.
3428 ( bfd_follow_gnu_debuglink): Update invocation of
3429 find_separate_debug_file.
3430 (bfd_follow_gnu_debugaltlink): Likewise.
3431 (get_build_id): New function: Finds the build-id of the given bfd.
3432 (get_build_id_name): New function: Computes the name of the
3433 separate debug info file for a bfd, based upon its build-id.
3434 (check_build_id_file): New function: Checks to see if a separate
3435 debug info file exists at the given location, and that its
3436 build-id matches that of the original bfd.
3437 (bfd_follow_build_id_debuglink): New function: Finds a separate
3438 debug info file for a given bfd by using the build-id method.
3439 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
3440 method of locating a separate debug info file before using the
3441 debuglink method.
3442 * bfd-in2.h: Regenerate.
3443
9e659176
L
34442017-01-11 H.J. Lu <hongjiu.lu@intel.com>
3445
3446 PR ld/21038
3447 * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
3448 (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
3449 elf_x86_64_eh_frame_plt_got.
3450 (elf_x86_64_size_dynamic_sections): Get unwind info from
3451 elf_x86_64_bnd_arch_bed for the BND PLT.
3452
f2e2d2f5
JS
34532017-01-11 Jeremy Soller <jackpot51@gmail.com>
3454
3455 * config.bfd: Add entries for i686-redox and x86_64-redox.
3456
52b232b3
L
34572017-01-10 H.J. Lu <hongjiu.lu@intel.com>
3458
3459 * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
3460 to 4 bytes.
3461 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
3462 .eh_frame section to 4 bytes for x32.
3463 (elf_x86_64_check_relocs): Likewise.
3464
fff53dae
L
34652017-01-10 H.J. Lu <hongjiu.lu@intel.com>
3466
3467 PR ld/20830
3468 * elf32-i386.c (elf_i386_eh_frame_plt_got): New.
3469 (PLT_GOT_FDE_LENGTH): Likewise.
3470 (elf_i386_plt_layout): Add eh_frame_plt_got and
3471 eh_frame_plt_got_size.
3472 (elf_i386_plt): Updated.
3473 (elf_i386_link_hash_table): Add plt_got_eh_frame.
3474 (elf_i386_check_relocs): Create .eh_frame section for .plt.got.
3475 (elf_i386_size_dynamic_sections): Allocate and initialize
3476 .eh_frame section for .plt.got.
3477 (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
3478 .plt.got.
3479 (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
3480 eh_frame_plt_got_size.
3481 * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
3482 (PLT_GOT_FDE_LENGTH): Likewise.
3483 (elf_x86_64_backend_data): Add eh_frame_plt_got and
3484 eh_frame_plt_got_size.
3485 (elf_x86_64_arch_bed): Updated.
3486 (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
3487 eh_frame_plt_got_size.
3488 (elf_x86_64_nacl_arch_bed): Likewise.
3489 (elf_x86_64_link_hash_table): Add plt_got_eh_frame.
3490 (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
3491 (elf_x86_64_size_dynamic_sections): Allocate and initialize
3492 .eh_frame section for .plt.got.
3493 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
3494 for .plt.got.
3495
f129e49f
L
34962017-01-10 H.J. Lu <hongjiu.lu@intel.com>
3497
3498 * elf32-i386.c (elf_i386_size_dynamic_sections): Set
3499 plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.
3500
cd6581da
NC
35012017-01-09 Nick Clifton <nickc@redhat.com>
3502
3503 * dwarf2.c (lookup_address_in_function_table): Return early if
3504 there are no functions in the given comp unit, or if the high
3505 address of the last function in the comp unit is less than the
3506 desired address.
3507
98f02962
NC
35082017-01-09 Nick Clifton <nickc@redhat.com>
3509
3510 PR binutils/21013
3511 * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
3512 message if there are too many symbols to load.
3513
ae4fda66
JC
35142017-01-04 James Clarke <jrtc27@jrtc27.com>
3515
3516 * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
3517 if relocs are cached.
3518
de1010f4
RF
35192017-01-03 Rich Felker <bugdal@aerifal.cx>
3520
3521 PR ld/21017
3522 * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
3523 for R_MICROBLAZE_GOTOFF_64.
3524
09fe2662
NC
35252017-01-03 Nick Clifton <nickc@redhat.com>
3526
3527 * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
3528 warning about using a possibly uninitialised variable.
3529
595e0a47
AM
35302017-01-02 Alan Modra <amodra@gmail.com>
3531
3532 * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
3533 (allocate_plt_static, allocate_dynrelocs): Use it.
3534
7bd9df3b
AM
35352017-01-02 Alan Modra <amodra@gmail.com>
3536
3537 * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
3538 .PARISC.unwind section.
3539
5b86074c
AM
35402017-01-02 Alan Modra <amodra@gmail.com>
3541
3542 PR ld/20989
3543 * elfxx-sparc.c (gdop_relative_offset_ok): New function.
3544 (_bfd_sparc_elf_relocate_section): Use it to validate GOT
3545 indirect to GOT pointer relative code edit.
3546
2571583a
AM
35472017-01-02 Alan Modra <amodra@gmail.com>
3548
3549 Update year range in copyright notice of all files.
3550
5c1ad6b5 3551For older changes see ChangeLog-2016
3499769a 3552\f
5c1ad6b5 3553Copyright (C) 2017 Free Software Foundation, Inc.
3499769a
AM
3554
3555Copying and distribution of this file, with or without modification,
3556are permitted in any medium without royalty provided the copyright
3557notice and this notice are preserved.
3558
3559Local Variables:
3560mode: change-log
3561left-margin: 8
3562fill-column: 74
3563version-control: never
3564End:
This page took 0.324651 seconds and 4 git commands to generate.