21b01b7f398f7f6c3d40aa31969afac654e680b3
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2017-08-29 H.J. Lu <hongjiu.lu@intel.com>
2
3 * elf32-i386.c (elf_i386_get_synthetic_symtab): Check valid PLT
4 sections before checking dynamic relocations and free invalid
5 PLT section contents.
6 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
7
8 2017-08-28 H.J. Lu <hongjiu.lu@intel.com>
9
10 * elf-bfd.h (_bfd_elf_ifunc_get_synthetic_symtab): Removed.
11 * elf-ifunc.c (_bfd_elf_ifunc_get_synthetic_symtab): Likewise.
12
13 2017-08-28 H.J. Lu <hongjiu.lu@intel.com>
14
15 PR binutils/22018
16 * elf32-i386.c (elf_i386_get_synthetic_symtab): Check for valid
17 PLT section size.
18 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
19
20 2017-08-27 H.J. Lu <hongjiu.lu@intel.com>
21
22 * elf32-i386.c (elf_i386_link_hash_newfunc): Initialize
23 def_protected.
24 * elf64-x86-64.c (elf_x86_64_link_hash_newfunc): Likewise.
25
26 2017-08-26 H.J. Lu <hongjiu.lu@intel.com>
27
28 PR ld/21997
29 * elf-bfd.h (elf_obj_tdata): Use ENUM_BITFIELD on object_id,
30 dyn_lib_class and has_gnu_symbols. Change bad_symtab to bitfield.
31 Add a has_no_copy_on_protected bitfield.
32 (elf_has_no_copy_on_protected): New.
33 * elf-properties.c (_bfd_elf_parse_gnu_properties): Set
34 elf_has_no_copy_on_protected for GNU_PROPERTY_NO_COPY_ON_PROTECTED.
35 (elf_merge_gnu_property_list): Likewise.
36 (_bfd_elf_link_setup_gnu_properties): Set extern_protected_data
37 to FALSE for elf_has_no_copy_on_protected.
38 * elf32-i386.c (SYMBOL_NO_COPYRELOC): New.
39 (elf_i386_link_hash_entry): Add def_protected.
40 (elf_i386_adjust_dynamic_symbol): Also check SYMBOL_NO_COPYRELOC
41 when checking info->nocopyreloc.
42 (elf_i386_link_setup_gnu_properties): Don't set
43 extern_protected_data here.
44 (elf_i386_merge_symbol_attribute): New function.
45 (elf_backend_merge_symbol_attribute): New.
46 * elf64-x86-64.c (SYMBOL_NO_COPYRELOC): New.
47 (elf_x86_64_link_hash_entry): Add def_protected.
48 (elf_x86_64_need_pic): Report protected symbol for def_protected.
49 (elf_x86_64_adjust_dynamic_symbol): Also check SYMBOL_NO_COPYRELOC
50 when checking info->nocopyreloc.
51 (elf_x86_64_relocate_section): Also check for R_X86_64_PC32
52 relocation run-time overflow and unresolvable R_X86_64_32S
53 relocation against protected data symbol defined in shared object
54 with GNU_PROPERTY_NO_COPY_ON_PROTECTED.
55 (elf_x86_64_link_setup_gnu_properties): Don't set
56 extern_protected_data here.
57 (elf_x86_64_merge_symbol_attribute): New function.
58 (elf_backend_merge_symbol_attribute): New.
59
60 2017-08-26 Alan Modra <amodra@gmail.com>
61
62 * elf32-ppc.c (must_be_dyn_reloc): Use bfd_link_dll. Comment.
63 (ppc_elf_check_relocs): Only set DF_STATIC_TLS in shared libs.
64 (ppc_elf_relocate_section): Comment fix.
65 * elf64-ppc.c (must_be_dyn_reloc): Use bfd_link_dll. Comment.
66 (ppc64_elf_check_relocs): Only set DF_STATIC_TLS in shared libs.
67 Support dynamic relocs for TPREL16 when non-pic too.
68 (dec_dynrel_count): Adjust TPREL16 handling as per check_relocs.
69 (ppc64_elf_relocate_section): Support dynamic relocs for TPREL16
70 when non-pic too.
71
72 2017-08-25 H.J. Lu <hongjiu.lu@intel.com>
73
74 * elf32-i386.c (elf_i386_link_hash_entry): Remove redundant
75 "symbol" in comments.
76 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Likewise.
77
78 2017-08-24 H.J. Lu <hongjiu.lu@intel.com>
79
80 PR ld/22001
81 * elf64-x86-64.c (elf_x86_64_relocate_section): Check for
82 R_X86_64_PC32 relocation run-time overflow and unresolvable
83 R_X86_64_32S relocation with -z nocopyreloc.
84
85 2017-08-24 H.J. Lu <hongjiu.lu@intel.com>
86
87 * elf32-i386.c (elf_i386_check_relocs): Revert the last change.
88 Undefined symbols may not have a type.
89 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
90
91 2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
92
93 * elf64-x86-64.c (elf_x86_64_need_pic): Add an argument for
94 bfd_link_info. Report shared, PIE or PDE object based on
95 bfd_link_info.
96 (elf_x86_64_check_relocs): Update elf_x86_64_need_pic call.
97 (elf_x86_64_relocate_section): Likewise.
98
99 2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
100
101 * elf32-i386.c (elf_i386_check_relocs): Increment PLT count only
102 for function symbols.
103 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
104
105 2017-08-23 H.J. Lu <hongjiu.lu@intel.com>
106
107 * elf32-i386.c (elf_i386_link_setup_gnu_properties): Set
108 extern_protected_data to FALSE if GNU_PROPERTY_NO_COPY_ON_PROTECTED
109 is set on any input relocatable file.
110 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Likewise.
111
112 2017-08-23 Alan Modra <amodra@gmail.com>
113
114 PR 21988
115 * elf64-ppc.c (ensure_undef_dynamic): Rename from
116 ensure_undefweak_dynamic. Handle undefined too.
117 * elf32-ppc.c (ensure_undef_dynamic): Likewise.
118 * elf32-hppa.c (ensure_undef_dynamic): Likewise.
119 (allocate_dynrelocs): Discard undefined non-default visibility
120 relocs first. Make undefined syms dynamic. Tidy goto.
121
122 2017-08-21 Alan Modra <amodra@gmail.com>
123 H.J. Lu <hongjiu.lu@intel.com>
124
125 PR ld/21964
126 * elf-bfd.h (SYMBOLIC_BIND): Return TRUE for __start/__stop symbols.
127 * elflink.c (bfd_elf_define_start_stop): Rewrite.
128
129 2017-08-21 Hans-Peter Nilsson <hp@bitrange.com>
130
131 PR ld/20125
132 * elf64-mmix.c (mmix_elf_relax_section): Correct handling of
133 undefined weak symbols.
134
135 2017-08-18 Nick Clifton <nickc@redhat.com>
136
137 PR binutils/21962
138 * tekhex.c (getsym): Fix check for source pointer walking off the
139 end of the input buffer.
140
141 2017-08-17 Szabolcs Nagy <szabolcs.nagy@arm.com>
142
143 PR ld/18808
144 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Skip IFUNC
145 relocations in debug sections, change abort to _bfd_error_handler.
146
147 2017-08-14 Nick Clifton <nickc@redhat.com>
148
149 PR 21957
150 * elf.c (setup_group): Check for an empty or very small group
151 section.
152 * po/bfd.pot: Regenerate.
153
154 2017-08-14 Alan Modra <amodra@gmail.com>
155
156 PR 21441
157 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't add
158 alignment padding here.
159 * elflink.c (bfd_elf_discard_info): Add .eh_frame padding here
160 in a reverse pass over sections.
161
162 2017-08-11 H.J. Lu <hongjiu.lu@intel.com>
163
164 PR binutils/21943
165 * elf32-i386.c (elf_i386_get_synthetic_symtab): Allocate space
166 for @plt suffixes first.
167 * elf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
168
169 2017-08-08 Nick Clifton <nickc@redhat.com>
170
171 PR 21916
172 * elf-attrs.c (_bfd_elf_parse_attributes): Complain about very
173 small section lengths.
174 * elf.c (_bfd_elf_setup_sections): Skip empty entries in the group
175 table.
176 (elfcore_grok_freebsd_prstatus): Add checks to make sure that
177 there is enough data present in the note.
178
179 2017-08-08 Alan Modra <amodra@gmail.com>
180
181 PR 21017
182 * elf32-microblaze.c (microblaze_elf_check_relocs): Don't bump
183 got.refcount for GOTOFF relocs, just create .got section.
184
185 2017-08-07 H.J. Lu <hongjiu.lu@intel.com>
186
187 * elflink.c (elf_link_add_object_symbols): Move common symbol
188 check after bed->common_definition.
189
190 2017-08-07 Alan Modra <amodra@gmail.com>
191
192 PR 21910
193 * elflink.c (bfd_elf_final_link): Don't segfault when sections
194 needed to define various dynamic tags have been discarded.
195
196 2017-08-07 Nick Clifton <nickc@redhat.com>
197
198 PR 21884
199 * elf32-i386.c (elf_i386_link_setup_gnu_properties): If the dynobj
200 has not been set then use the bfd returned by
201 _bfd_elf_link_setup_gnu_properties. If that is null then search
202 through all the input bfds selecting the first normal, ELF format
203 one.
204 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Likewise.
205
206 2017-08-06 H.J. Lu <hongjiu.lu@intel.com>
207
208 * elf32-i386.c (elf_i386_link_hash_entry): Change tls_get_addr
209 to 1 bit.
210 (elf_i386_link_hash_newfunc): Initialize tls_get_addr to 0.
211 (elf_i386_check_tls_transition): Check tls_get_addr directly.
212 (elf_i386_convert_load_reloc): Update tls_get_addr check.
213 (elf_i386_link_check_relocs): New function.
214 (bfd_elf32_bfd_link_check_relocs): New.
215 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Change tls_get_addr
216 to 1 bit.
217 (elf_x86_64_link_hash_newfunc): Initialize tls_get_addr to 0.
218 (elf_x86_64_check_tls_transition): Check tls_get_addr directly.
219 (elf_x86_64_convert_load_reloc): Update tls_get_addr check.
220 (elf_x86_64_link_check_relocs): New function.
221 (bfd_elf64_bfd_link_check_relocs): New.
222 (bfd_elf32_bfd_link_check_relocs): Likewise.
223
224 2017-08-06 H.J. Lu <hongjiu.lu@intel.com>
225
226 PR ld/21903:
227 * elflink.c (elf_link_add_object_symbols): Treat common symbol
228 as undefined for --no-define-common.
229
230 2017-08-05 Alan Modra <amodra@gmail.com>
231
232 * elf32-hppa.c (elf32_hppa_set_gp): Don't require an
233 hppa_link_hash_table.
234
235 2017-08-02 Max Filippov <jcmvbkbc@gmail.com>
236
237 * xtensa-isa.c (xtensa_isa_init): Don't update lookup table
238 entries for sysregs with negative indices.
239
240 2017-08-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
241
242 * elf32-s390.c (elf_s390_finish_dynamic_sections): Skip if it
243 isn't the S/390 specific elf data.
244 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
245
246 2017-07-31 Kuan-Lin Chen <rufus@andestech.com>
247
248 * elfxx-riscv.c (riscv_elf_add_sub_reloc): New function.
249 * (howto_table) [R_RISCV_ADD8]: Use riscv_elf_add_sub_reloc.
250 [R_RISCV_ADD16]: Likewise.
251 [R_RISCV_ADD32]: Likewise.
252 [R_RISCV_ADD64]: Likewise.
253 [R_RISCV_SUB6]: Likewise.
254 [R_RISCV_SUB8]: Likewise.
255 [R_RISCV_SUB16]: Likewise.
256 [R_RISCV_SUB32]: Likewise.
257 [R_RISCV_SUB64]: Likewise.
258
259 2017-07-31 Alan Modra <amodra@gmail.com>
260
261 * elf64-ppc.c (ppc64_elf_tls_setup): Warn on --plt-localentry
262 without ld.so checks.
263
264 2017-07-29 Alan Modra <amodra@gmail.com>
265
266 PR 21847
267 * elf64-ppc.c (struct ppc_link_hash_entry): Add non_zero_localentry.
268 (ppc64_elf_merge_symbol): Set non_zero_localentry.
269 (is_elfv2_localentry0): Test non_zero_localentry.
270 (ppc64_elf_tls_setup): Default to --no-plt-localentry.
271
272 2017-07-28 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
273
274 * elf32-s390.c (elf_s390_finish_dynamic_sections): Add NULL
275 pointer check for htab->elf.irelplt.
276 * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
277
278 2017-07-27 Nick Clifton <nickc@redhat.com>
279
280 PR 21840
281 * mach-o.c (bfd_mach_o_read_symtab_strtab): Fail if the symtab
282 size is -1.
283 * nlmcode.h (nlm_swap_auxiliary_headers_in): Replace assertion
284 with error return.
285 * section.c (bfd_make_section_with_flags): Fail if the name or bfd
286 are NULL.
287 * vms-alpha.c (bfd_make_section_with_flags): Correct computation
288 of end pointer.
289 (evax_bfd_print_emh): Check for invalid string lengths.
290
291 2017-07-25 Nick Clifton <nickc@redhat.com>
292
293 * po/fr.po: Updated French translation.
294
295 2017-07-25 Benjamin Green <bengreen5mx@gmail.com>
296
297 PR 21824
298 * elf32-msp430.c (msp430_elf_relax_section): Allow conversion of
299 16-bit absolute branches into 10-bit pc-relative branches on the
300 MSP430 as well as the MSP430X.
301
302 2017-07-25 Alan Modra <amodra@gmail.com>
303
304 * elf64-ppc.c (struct map_stub): Add tls_get_addr_opt_bctrl.
305 (stub_eh_frame_size): New function.
306 (ppc_size_one_stub): Set group tls_get_addr_opt_bctrl.
307 (group_sections): Init group tls_get_addr_opt_bctrl.
308 (ppc64_elf_size_stubs): Update sizing and initialization of
309 .eh_frame. Iteration over stubs via group list.
310 (ppc64_elf_build_stubs): Iterate over stubs via group list.
311 (ppc64_elf_finish_dynamic_sections): Update finalization of
312 .eh_frame.
313
314 2017-07-24 Nick Clifton <nickc@redhat.com>
315
316 PR 21813
317 * mach-o.c (bfd_mach_o_canonicalize_relocs): Pass the base address
318 of the relocs to the canonicalize_one_reloc routine.
319 * mach-o.h (struct bfd_mach_o_backend_data): Update the prototype
320 for the _bfd_mach_o_canonicalize_one_reloc field.
321 * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add
322 res_base parameter. Use to check for corrupt pair relocs.
323 * mach-o-aarch64.c (bfd_mach_o_arm64_canonicalize_one_reloc):
324 Likewise.
325 * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc):
326 Likewise.
327 * mach-o-x86-64.c (bfd_mach_o_x86_64_canonicalize_one_reloc):
328 Likewise.
329
330 * vms-alpha.c (_bfd_vms_slurp_eihd): Make sure that there is
331 enough data in the record before attempting to parse it.
332 (_bfd_vms_slurp_eeom): Likewise.
333
334 (_bfd_vms_slurp_egsd): Check for an invalid section index.
335 (image_set_ptr): Likewise.
336 (alpha_vms_slurp_relocs): Likewise.
337
338 (alpha_vms_object_p): Check for a truncated record.
339
340 2017-07-24 Nick Clifton <nickc@redhat.com>
341
342 PR 21803
343 * reloc.c (_bfd_unrecognized_reloc): New function. Reports
344 an unrecognized reloc and sets the bfd_error value.
345 * libbfd.h: Regenerate.
346 * elf32-arm.c (elf32_arm_final_link_relocate): Use the new
347 function.
348 * elf32-i386.c (elf_i386_relocate_section): Likewise.
349 * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
350 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
351 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Likewise.
352 * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
353
354 2017-07-23 Alan Modra <amodra@gmail.com>
355
356 * elf64-ppc.c (ppc64_elf_size_stubs): Correct advance to
357 restore of LR.
358
359 2017-07-19 Szabolcs Nagy <szabolcs.nagy@arm.com>
360
361 PR ld/18841
362 * elfnn-aarch64.c (elfNN_aarch64_reloc_type_class): Return
363 reloc_class_ifunc for ifunc symbols.
364
365 2017-07-19 Nick Clifton <nickc@redhat.com>
366
367 PR 21787
368 * archive.c (bfd_generic_archive_p): If the bfd does not have the
369 correct magic bytes at the start, set the error to wrong format
370 and clear the format selector before returning NULL.
371
372 2017-07-19 Nick Clifton <nickc@redhat.com>
373
374 PR 21786
375 * coff-rs6000.c (_bfd_strntol): New function.
376 (_bfd_strntoll): New function.
377 (GET_VALUE_IN_FIELD): New macro.
378 (EQ_VALUE_IN_FIELD): new macro.
379 (_bfd_xcoff_slurp_armap): Use new macros.
380 (_bfd_xcoff_archive_p): Likewise.
381 (_bfd_xcoff_read_ar_hdr): Likewise.
382 (_bfd_xcoff_openr_next_archived_file): Likewise.
383 (_bfd_xcoff_stat_arch_elt): Likewise.
384 * coff64-rs6000.c (_bfd_strntol): New function.
385 (_bfd_strntoll): New function.
386 (GET_VALUE_IN_FIELD): New macro.
387 (xcoff64_slurp_armap): Use new macros.
388
389 2017-07-19 Claudiu Zissulescu <claziss@synopsys.com>
390 John Eric Martin <John.Martin@emmicro-us.com>
391
392 * bfd-in2.h: Regenerate.
393 * libbfd.h: Regenerate.
394 * elf32-arc.c (JLI): Define.
395 * reloc.c: Add JLI relocations.
396
397 2017-07-18 Nick Clifton <nickc@redhat.com>
398
399 PR 21775
400 * coff-sh.c: Fix spelling typos.
401 * compress.c: Likewise.
402 * cpu-pdp11.c: Likewise.
403 * ecofflink.c: Likewise.
404 * elf-m10300.c: Likewise.
405 * elf.c: Likewise.
406 * elf32-arm.c: Likewise.
407 * elf32-m68k.c: Likewise.
408 * elf32-nds32.c: Likewise.
409 * elf32-ppc.c: Likewise.
410 * elf32-sh.c: Likewise.
411 * elf32-v850.c: Likewise.
412 * elf64-ppc.c: Likewise.
413 * elf64-x86-64.c: Likewise.
414 * elflink.c: Likewise.
415 * elfnn-aarch64.c: Likewise.
416 * elfxx-mips.c: Likewise.
417 * som.c: Likewise.
418 * sunos.c: Likewise.
419 * vms-alpha.c: Likewise.
420 * xcofflink.c: Likewise.
421
422 2017-07-18 Nick Clifton <nickc@redhat.com>
423
424 PR binutils/21781
425 * coffcode.h (handle_COMDAT): Replace abort with an error message
426 and return.
427
428 2017-07-17 H.J. Lu <hongjiu.lu@intel.com>
429
430 PR ld/21782
431 * elf64-x86-64.c (elf_x86_64_relocate_section): Limit PIC check
432 to shared library.
433
434 2017-07-17 H.J. Lu <hongjiu.lu@intel.com>
435
436 * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
437
438 2017-07-16 Alan Modra <amodra@gmail.com>
439
440 * elf64-ppc.c (ppc64_elf_relocate_section): Don't optimize
441 __tls_index GOT entries when using __tls_get_addr_opt stub.
442 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
443
444 2017-07-12 Alan Modra <amodra@gmail.com>
445
446 * po/es.po: Update from translationproject.org/latest/bfd/.
447 * po/fi.po: Likewise.
448 * po/fr.po: Likewise.
449 * po/id.po: Likewise.
450 * po/ja.po: Likewise.
451 * po/ro.po: Likewise.
452 * po/ru.po: Likewise.
453 * po/sr.po: Likewise.
454 * po/sv.po: Likewise.
455 * po/tr.po: Likewise.
456 * po/uk.po: Likewise.
457 * po/vi.po: Likewise.
458 * po/zh_CN.po: Likewise.
459 * po/hr.po: New file from translationproject.org.
460 * configure.ac (ALL_LINGUAS): Add hr. Sort.
461 * configure: Regenerate.
462
463 2017-07-12 Nick Clifton <nickc@redhat.com>
464
465 Fix compile time warnings using gcc 7.1.1.
466 * elf32-xtensa.c (elf_xtensa_get_plt_section): Increase length of
467 plt_name buffer.
468 (elf_xtensa_get_gotplt_section): Increase length of got_name
469 buffer.
470 * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add a
471 default return of FALSE.
472 * mach-o-i386.c (bfd_mach_o_i386_canonicalize_one_reloc): Add a
473 default return of FALSE.
474
475 2017-07-12 Alan Modra <amodra@gmail.com>
476
477 * binary.c (binary_set_section_contents): Don't print filepos in
478 error message.
479 (coff_write_object_contents): Cast size_t for error message.
480 (coff_slurp_line_table): Don't use bfd_vma symndx.
481 (coff_slurp_reloc_table): Remove unneeded cast.
482 * dwarf2.c (read_section): Cast bfd_int64_t to long long for
483 error message.
484 (find_abstract_instance_name): Likewise.
485 * elf32-arm.c (arm_type_of_stub): Correct error arg order.
486 (bfd_elf32_arm_stm32l4xx_erratum_scan): Don't cast error arg.
487 (elf32_arm_check_relocs): Make r_symndx an int.
488 * elf32-cris.c (cris_elf_check_relocs): Delete extraneous %s in
489 format string.
490 * elf32-metag.c (elf_metag_relocate_section): Delete extra error
491 message arg.
492 * elf32-nds32.c (nds32_elf_ex9_build_hash_table): Rewrite bogus
493 error message.
494 * elf32-i386.c (elf_i386_check_relocs): Make r_symndx an int.
495 * elf32-s390.c (elf_s390_check_relocs): Likewise.
496 * elf32-tic6x.c (elf32_tic6x_check_relocs): Likewise.
497 * elf32-tilepro.c (tilepro_elf_check_relocs): Likewise.
498 * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
499 * elf64-s390.c (elf_s390_check_relocs): Likewise.
500 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
501 * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Likewise.
502 * elfnn-riscv.c (riscv_elf_check_relocs): Likewise.
503 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
504 * elfxx-tilegx.c (tilegx_elf_check_relocs): Likewise.
505 * elf64-mmix.c (_bfd_mmix_after_linker_allocation): Cast size_t args
506 and use %lu for error message.
507 * elflink.c (elf_link_adjust_relocs): Delete extra error message arg.
508 * mmo.c (mmo_scan): Make stab_loc a file_ptr. Cast expression for
509 error message.
510
511 * elf32-arm.c (elf32_arm_tls_relax): Correct format string and args
512 in error message.
513 (elf32_arm_final_link_relocate): Likewise.
514 * coff-arm.c (bfd_arm_process_before_allocation): Likewise.
515 * coffcode.h (styp_to_sec_flags): Likewise.
516 * cofflink.c (_bfd_coff_write_global_sym): Likewise.
517 * ecoff.c (_bfd_ecoff_slurp_symbol_table): Likewise.
518 * elf32-arc.c (arc_elf_merge_private_bfd_data): Likewise.
519 * elf32-bfin.c (bfinfdpic_check_relocs): Likewise.
520 (elf32_bfin_merge_private_bfd_data): Likewise.
521 * elf32-cris.c (cris_elf_relocate_section): Likewise.
522 * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
523 * elf32-i370.c (i370_elf_merge_private_bfd_data): Likewise.
524 (i370_elf_relocate_section): Likewise.
525 * elf32-iq2000.c (iq2000_elf_merge_private_bfd_data): Likewise.
526 * elf32-m32c.c (m32c_elf_merge_private_bfd_data): Likewise.
527 * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Likewise.
528 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
529 * elf32-mep.c (mep_elf_merge_private_bfd_data): Likewise.
530 * elf32-mt.c (mt_elf_merge_private_bfd_data): Likewise.
531 * elf64-sparc.c (elf64_sparc_merge_private_bfd_data): Likewise.
532 * elfxx-mips.c (mips_elf_merge_obj_e_flags): Likewise.
533 (_bfd_mips_elf_merge_private_bfd_data): Likewise.
534 * ieee.c (ieee_write_id, read_id): Likewise.
535 * mach-o.c (bfd_mach_o_write_contents): Likewise.
536 (bfd_mach_o_layout_commands, bfd_mach_o_read_section_32): Likewise.
537 (bfd_mach_o_read_section_64, bfd_mach_o_read_symtab_symbol): Likewise.
538 (bfd_mach_o_read_command, bfd_mach_o_header_p): Likewise.
539 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Likewise.
540 * stabs.c (_bfd_link_section_stabs): Likewise.
541
542 * coff-arm.c (coff_arm_relocate_section): Use L modifier in error
543 format.
544 * coff-mcore.c (coff_mcore_relocate_section): Likewise.
545 * coff-ppc.c (coff_ppc_relocate_section): Likewise.
546 * coff-rs6000.c (xcoff_reloc_type_toc): Likewise.
547 * coff-sh.c (sh_relax_section): Likewise.
548 (sh_relax_delete_bytes, sh_swap_insns): Likewise.
549 * coff-tic80.c (coff_tic80_relocate_section): Likewise.
550 * coffcode.h (coff_slurp_reloc_table): Likewise.
551 * coffgen.c (_bfd_coff_get_external_symbols): Likewise.
552 (_bfd_coff_read_string_table): Likewise.
553 * cofflink.c (_bfd_coff_generic_relocate_section): Likewise.
554 * compress.c (bfd_get_full_section_contents): Likewise.
555 * dwarf2.c (read_formatted_entries, decode_line_info): Likewise.
556 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
557 * elf.c (bfd_elf_string_from_elf_section): Likewise.
558 * elf32-arc.c (arc_special_overflow_checks): Likewise.
559 * elf32-arm.c (elf32_arm_tls_relax): Likewise.
560 (elf32_arm_final_link_relocate, elf32_arm_relocate_section): Likewise.
561 (elf32_arm_write_section): Likewise.
562 * elf32-bfin.c (bfin_relocate_section): Likewise.
563 (bfinfdpic_relocate_section): Likewise.
564 * elf32-hppa.c (hppa_build_one_stub): Likewise.
565 (final_link_relocate, elf32_hppa_relocate_section): Likewise.
566 * elf32-i386.c (elf_i386_tls_transition): Likewise.
567 (elf_i386_relocate_section): Likewise.
568 * elf32-ip2k.c (ip2k_final_link_relocate): Likewise.
569 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Likewise.
570 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
571 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
572 * elf32-metag.c (elf_metag_relocate_section): Likewise.
573 * elf32-nds32.c (unrecognized_reloc_msg): Likewise.
574 (nds32_elf_relax_longcall1, nds32_elf_relax_longcall2): Likewise.
575 (nds32_elf_relax_longcall3, nds32_elf_relax_longjump1): Likewise.
576 (nds32_elf_relax_longjump2, nds32_elf_relax_longjump3): Likewise.
577 (nds32_elf_relax_longcall4, nds32_elf_relax_longcall5): Likewise.
578 (nds32_elf_relax_longcall6, nds32_elf_relax_longjump4): Likewise.
579 (nds32_elf_relax_longjump5, nds32_elf_relax_longjump6): Likewise.
580 (nds32_elf_relax_longjump7, nds32_elf_relax_loadstore): Likewise.
581 (nds32_elf_relax_ptr, nds32_elf_ex9_build_hash_table): Likewise.
582 * elf32-nios2.c (nios2_elf32_relocate_section): Likewise.
583 * elf32-rx.c (UNSAFE_FOR_PID): Likewise.
584 * elf32-s390.c (invalid_tls_insn, elf_s390_relocate_section): Likewise.
585 * elf32-score.c (s3_bfd_score_elf_check_relocs): Likewise.
586 * elf32-score7.c (s7_bfd_score_elf_check_relocs): Likewise.
587 * elf32-sh.c (sh_elf_relax_section): Likewise.
588 (sh_elf_relax_delete_bytes, sh_elf_swap_insns): Likewise.
589 (sh_elf_relocate_section): Likewise.
590 * elf32-sh64.c (shmedia_prepare_reloc): Likewise.
591 * elf32-spu.c (spu_elf_relocate_section): Likewise.
592 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
593 * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
594 * elf32-v850.c (v850_elf_relax_section): Likewise.
595 * elf32-vax.c (elf_vax_check_relocs): Likewise.
596 (elf_vax_relocate_section): Likewise.
597 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
598 (extend_ebb_bounds_forward, extend_ebb_bounds_backward): Likewise.
599 (compute_text_actions, compute_ebb_proposed_actions): Likewise.
600 (do_fix_for_relocatable_link): Likewise.
601 * elf64-alpha.c (elf64_alpha_relax_got_load): Likewise.
602 (elf64_alpha_relax_with_lituse): Likewise.
603 * elf64-hppa.c (elf64_hppa_finish_dynamic_symbol): Likewise.
604 (elf_hppa_final_link_relocate): Likewise.
605 * elf64-ia64-vms.c (elf64_ia64_relax_section): Likewise.
606 (elf64_ia64_choose_gp, elf64_ia64_relocate_section): Likewise.
607 (elf64_vms_link_add_object_symbols): Likewise.
608 * elf64-mmix.c (mmix_elf_perform_relocation): Likewise.
609 (mmix_final_link_relocate): Likewise.
610 * elf64-s390.c (invalid_tls_insn): Likewise.
611 (elf_s390_relocate_section): Likewise.
612 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
613 * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
614 (elf_x86_64_relocate_section): Likewise.
615 * elfcode.h (elf_slurp_symbol_table): Likewise.
616 * elfcore.h (elf_core_file_p): Likewise.
617 * elflink.c (elf_link_read_relocs_from_section): Likewise.
618 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
619 (elfNN_aarch64_relocate_section): Likewise.
620 * elfnn-ia64.c (elfNN_ia64_relax_section): Likewise.
621 (elfNN_ia64_choose_gp, elfNN_ia64_relocate_section): Likewise.
622 * elfnn-riscv.c (riscv_elf_relocate_section): Likewise.
623 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
624 (_bfd_mips_elf_relocate_section): Likewise.
625 (_bfd_mips_elf_finish_dynamic_symbol, mips_finish_exec_plt): Likewise.
626 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
627 * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
628 * ieee.c (ieee_slurp_external_symbols): Likewise.
629 * ihex.c (ihex_write_object_content): Likewise.
630 * mach-o.c (bfd_mach_o_build_exec_seg_command): Likewise.
631 * merge.c (_bfd_merged_section_offset): Likewise.
632 * mmo.c (mmo_write_loc_chunk): Likewise.
633 (mmo_write_object_contents): Likewise.
634 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Likewise.
635 * stabs.c (_bfd_link_section_stabs): Likewise.
636 * xcofflink.c (xcoff_link_add_symbols, xcoff_find_tc0): Likewise.
637
638 2017-07-11 Alan Modra <amodra@gmail.com>
639
640 * elf32-ppc.c (ppc_elf_relocate_section): Fix typo.
641
642 2017-07-11 Alan Modra <amodra@gmail.com>
643
644 * elf32-ppc.c (ppc_elf_relocate_section): Emit "unexpected
645 instruction" error using _bfd_error_handler, not einfo.
646
647 2017-07-10 Nick Clifton <nickc@redhat.com>
648
649 * coffcode.h (coff_slurp_symbol_table): Do not include an entry
650 for C_AIX_WEAKEXT if it has the same value as C_WEAKEXT.
651
652 2017-07-07 John Baldwin <jhb@FreeBSD.org>
653
654 * elf.c (elfcore_grok_freebsd_note): Handle NT_FREEBSD_PTLWPINFO.
655
656 2017-07-07 Alan Modra <amodra@gmail.com>
657
658 * coffcode.h (coff_slurp_symbol_table): Handle C_AIX_WEAKEXT.
659
660 2017-07-07 Alan Modra <amodra@gmail.com>
661
662 * bfd.c (_doprnt): Replace "L" with "ll" when printing bfd_vma
663 as long long. Move code replacing "ll" with "I64", and simplify.
664
665 2017-07-06 H.J. Lu <hongjiu.lu@intel.com>
666
667 * bfd.c (_doprnt): Convert 'L' to 'l' when setting wide_width
668 to 1.
669
670 2017-07-05 H.J. Lu <hongjiu.lu@intel.com>
671
672 * dwarf2.c (line_info_add_include_dir_stub): Replace time with
673 xtime.
674 (line_info_add_file_name): Likewise.
675 (decode_line_info): Likewise.
676
677 2017-07-04 Tristan Gingold <gingold@adacore.com>
678
679 * version.m4: Bump version to 2.29.51
680 * configure: Regenerate.
681
682 2017-07-04 Jiong Wang <jiong.wang@arm.com>
683
684 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Remove the
685 sanity check at the head of this function.
686
687 2017-07-04 Jan Kratochvil <jan.kratochvil@redhat.com>
688
689 * dwarf2.c (struct dwarf2_debug): Add fields dwarf_line_str_buffer and
690 dwarf_line_str_size.
691 (struct attr_abbrev): Add field implicit_const.
692 (dwarf_debug_sections): Add .debug_line_str.
693 (enum dwarf_debug_section_enum): Add debug_line_str and debug_max.
694 (dwarf_debug_section_assert): Add static assertion.
695 (read_indirect_line_string): New.
696 (read_abbrevs): Support DW_FORM_implicit_const.
697 (is_str_attr): Support DW_FORM_line_strp.
698 (read_attribute_value): Support DW_FORM_line_strp and
699 DW_FORM_implicit_const.
700 (read_attribute): Support DW_FORM_implicit_const.
701 (line_info_add_include_dir, line_info_add_include_dir_stub):
702 (line_info_add_file_name, read_formatted_entries): New.
703 (decode_line_info, parse_comp_unit): Support DWARF 5.
704 (_bfd_dwarf2_cleanup_debug_info): Free dwarf_line_str_buffer.
705
706 2017-07-03 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
707
708 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Remove the
709 abort statement that was put for symbols that are not dynamic.
710
711 2017-07-03 Tristan Gingold <gingold@adacore.com>
712
713 * po/bfd.pot: Regenerate
714
715 2017-07-03 Alan Modra <amodra@gmail.com>
716
717 * bfd.c (_doprnt): Rewrite "ll" and "L" modifiers to "I64" for
718 __MSVCRT__. Support "L" modifier for bfd_vma. Formatting.
719 * elf.c (setup_group): Use "Lx" to print sh_size.
720 (_bfd_elf_setup_sections): Remove unnecessary cast and print
721 unknown section type in hex.
722 (copy_special_section_fields): Style fix.
723 (bfd_section_from_shdr): Correct format for sh_link. Use a
724 common error message for all the variants of unrecognized
725 section types.
726 (assign_file_positions_for_load_sections): Use "Lx" for lma
727 adjust error message.
728 (assign_file_positions_for_non_load_sections): Formatting.
729 (rewrite_elf_program_header): Formatting. Use "Lx" for
730 bfd_vma values in error messages.
731 * elfcode.h (elf_slurp_reloc_table_from_section): Cast
732 ELF_R_SYM value to type expected by format.
733 * elflink.c (elf_link_read_relocs_from_section): Use "Lx"
734 in error messages.
735 (elf_link_add_object_symbols): Use "Lu" for symbol sizes.
736 (elf_link_input_bfd): Use "Lx" for r_info.
737 (bfd_elf_gc_record_vtinherit): Use "Lx" for offset.
738
739 2017-07-03 Alan Modra <amodra@gmail.com>
740
741 * bfd.c (bfd_scan_vma): Don't use long long unless HAVE_LONG_LONG.
742 * coff-rs6000.c (FMT20): Handle hosts with 64-bit long and
743 Microsoft C library variant of long long format specifier.
744 (PRINT20): Cast value to bfd_uint64_t not long long.
745 * coffcode.h (coff_print_aux): Use BFD_VMA_FMT.
746 * coff-x86_64.c (coff_amd64_reloc): Use bfd_uint64_t rather than
747 long long. Don't cast to bfd_vma.
748 * elf32-score.c (score3_bfd_getl48): Likewise.
749 * vms-alpha.c (_bfd_vms_slurp_eisd): Likewise.
750
751 2017-07-03 Alan Modra <amodra@gmail.com>
752
753 * elf.c (_bfd_elf_print_private_bfd_data): Use BFD_VMA_FMT to
754 print d_tag.
755 (bfd_elf_print_symbol): Don't cast symbol->flags.
756 (_bfd_elf_symbol_from_bfd_symbol): Likewise.
757 * elf32-ppc.c (ppc_elf_begin_write_processing): Correct
758 _bfd_error_handler argument order.
759 (ppc_elf_merge_private_bfd_data): Don't cast flags.
760
761 2017-07-03 Alan Modra <amodra@gmail.com>
762
763 * configure.ac: Invoke AC_CHECK_TYPES for long long. Invoke
764 AC_TYPE_LONG_DOUBLE.
765 * configure: Regenerate.
766 * config.in: Regenerate.
767
768 2017-06-29 Andrew Waterman <andrew@sifive.com>
769
770 * elfnn-riscv.c (riscv_elf_adjust_dynamic_symbol): Fix TLS copy
771 relocs.
772
773 2017-06-29 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
774
775 * elfxx-sparc.c (allocate_dynrelocs): Don't make a symbol dynamic
776 unless it is undefined weak.
777 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Set the flag
778 relative_reloc to direct non-dynamic symbols to R_SPARC_RELATIVE
779 relocation.
780 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): If symbol
781 is not dynamic in PIC, abort.
782
783 2017-06-29 Jiong Wang <jiong.wang@arm.com>
784
785 PR ld/21402
786 * elfnn-aarch64.c (elfNN_aarch64_allocate_dynrelocs): Only make
787 undefined weak symbols into dynamic.
788 (elfNN_aarch64_final_link_relocate): Generate runtime RELATIVE
789 relocation for non-dynamic symbols.
790 (elfNN_aarch64_finish_dynamic_symbol): Add sanity check.
791
792 2017-06-29 Jiong Wang <jiong.wang@arm.com>
793
794 * elfnn-aarch64.c (aarch64_relocation_aginst_gp_p): New function.
795 (elfNN_aarch64_final_link_relocate): Delete duplicated code for
796 BFD_RELOC_AARCH64_LD64_GOTOFF_LO15, BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC,
797 BFD_RELOC_AARCH64_MOVW_GOTOFF_G1.
798 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Optimize the
799 support for them.
800
801 2017-06-29 Andreas Arnez <arnez@linux.vnet.ibm.com>
802
803 * elf-bfd.h (elfcore_write_s390_gs_cb): Add prototype.
804 (elfcore_write_s390_gs_bc): Likewise.
805 * elf.c (elfcore_grok_s390_gs_cb): New function.
806 (elfcore_grok_s390_gs_bc): New function.
807 (elfcore_grok_note): Call them.
808 (elfcore_write_s390_gs_cb): New function.
809 (elfcore_write_s390_gs_bc): New function.
810 (elfcore_write_register_note): Call them.
811
812 2017-06-28 H.J. Lu <hongjiu.lu@intel.com>
813
814 * libbfd.c (_bfd_generic_get_section_contents): Don't call
815 bfd_get_file_size. Check archive element size.
816 (_bfd_generic_get_section_contents_in_window): Likewise.
817
818 2017-06-28 H.J. Lu <hongjiu.lu@intel.com>
819
820 * bfd-in2.h: Regenerated.
821 * bfdio.c (bfd_get_size): Change return type to ufile_ptr.
822 (bfd_get_file_size): Likewise.
823
824 2017-06-28 Maciej W. Rozycki <macro@imgtec.com>
825 Matthew Fortune <matthew.fortune@imgtec.com>
826
827 * archures.c (bfd_mach_mips_interaptiv_mr2): New macro.
828 * cpu-mips.c (I_interaptiv_mr2): New enum value.
829 (arch_info_struct): Add "mips:interaptiv-mr2" entry.
830 * elfxx-mips.c (_bfd_elf_mips_mach) <E_MIPS_MACH_IAMR2>: New
831 case.
832 (mips_set_isa_flags) <bfd_mach_mips_interaptiv_mr2>: Likewise.
833 (bfd_mips_isa_ext) <bfd_mach_mips_interaptiv_mr2>: Likewise.
834 (print_mips_isa_ext) <AFL_EXT_INTERAPTIV_MR2>: Likewise.
835 (mips_mach_extensions): Add `bfd_mach_mipsisa32r3' and
836 `bfd_mach_mips_interaptiv_mr2' entries.
837 * bfd-in2.h: Regenerate.
838
839 2017-06-27 Nick Clifton <nickc@redhat.com>
840
841 * tekhex.c (pass_over): Revert accidental conversion of a local
842 array to a static array.
843
844 2017-06-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
845
846 PR ld/13402
847 * elf32-avr.c (elf32_avr_adjust_diff_reloc_value): Adjust
848 reloc addend if necessary. Adjust diff only if
849 shrinked_insn_address < end_address.
850
851 2017-06-27 Alan Modra <amodra@gmail.com>
852
853 PR binutils/21665
854 * libbfd.c (_bfd_generic_get_section_contents): Warning fix.
855 (_bfd_generic_get_section_contents_in_window): Likewise.
856
857 2017-06-26 Kuan-Lin Chen <rufus@andestech.com>
858
859 * elfnn-riscv.c (perform_relocation): Support the new
860 R_RISCV_32_PCREL relocation.
861 (riscv_elf_relocate_section): Likewise.
862 * elfxx-riscv.c (howto_table): Likewise.
863 (riscv_reloc_map): Likewise.
864 * bfd-in2.h (BFD_RELOC_RISCV_32_PCREL): New relocation.
865 * libbfd.h: Regenerate.
866
867 2017-06-27 Alan Modra <amodra@gmail.com>
868
869 PR binutils/21665
870 * libbfd.c (_bfd_generic_get_section_contents): Delete abort.
871 Use unsigned file pointer type, and remove cast.
872 * libbfd.c (_bfd_generic_get_section_contents_in_window): Likewise.
873 Add "count", not "sz".
874
875 2017-06-26 Pedro Alves <palves@redhat.com>
876
877 PR binutils/21665
878 * libbfd.c (_bfd_generic_get_section_contents): Add "count", not
879 "sz".
880
881 2017-06-26 H.J. Lu <hongjiu.lu@intel.com>
882
883 PR binutils/21665
884 * libbfd.c (_bfd_generic_get_section_contents_in_window): Add
885 a missing line.
886
887 2017-06-26 Maciej W. Rozycki <macro@imgtec.com>
888
889 * cpu-mips.c (arch_info_struct): Mark the 4010 32-bit.
890 * elfxx-mips.c (mips_set_isa_flags) <bfd_mach_mips4010>: Set
891 E_MIPS_ARCH_2 rather than E_MIPS_ARCH_3 in `e_flags'.
892 (mips_mach_extensions): Mark `bfd_mach_mips4010' as extending
893 `bfd_mach_mips6000' rather than `bfd_mach_mips4000'.
894
895 2017-06-26 H.J. Lu <hongjiu.lu@intel.com>
896
897 PR binutils/21665
898 * compress.c (bfd_get_full_section_contents): Don't check the
899 file size here.
900 * libbfd.c (_bfd_generic_get_section_contents): Check for and
901 reject a section whose size + offset is greater than the size
902 of the entire file.
903 (_bfd_generic_get_section_contents_in_window): Likewise.
904
905 2017-06-26 Nick Clifton <nickc@redhat.com>
906
907 PR binutils/21670
908 * tekhex.c (getvalue): Check for the source pointer exceeding the
909 end pointer before the first byte is read.
910
911 2017-06-26 Nick Clifton <nickc@redhat.com>
912
913 PR binutils/21665
914 * opncls.c (get_build_id): Check that the section is big enough
915 to contain the whole note.
916 * compress.c (bfd_get_full_section_contents): Check for and reject
917 a section whose size is greater than the size of the entire file.
918 * elf32-v850.c (v850_elf_copy_notes): Allow for the ouput to not
919 contain a notes section.
920
921 2017-06-26 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
922
923 * elf64-s390.c (elf_s390_additional_program_headers): Add NULL
924 pointer checks.
925 (elf_s390_modify_segment_map): Likewise.
926 (bfd_elf_s390_set_options): Lisewise.
927
928 2017-06-26 Alan Modra <amodra@gmail.com>
929
930 * elflink.c (_bfd_elf_link_create_dynstrtab): Don't make dynobj
931 a --just-syms bfd.
932 (_bfd_elf_size_group_sections): Skip --just-syms bfds.
933 (bfd_elf_size_dynamic_sections): Ignore .note.GNU-stack and
934 .preinit_array on --just-syms bfds.
935 (_bfd_elf_gc_mark_extra_sections): Skip --just-syms bfds.
936 (elf_gc_sweep, bfd_elf_parse_eh_frame_entries): Likewise.
937 (bfd_elf_gc_sections, bfd_elf_discard_info): Likewise.
938
939 2017-06-25 Sergei Trofimovich <slyfox@gentoo.org>
940
941 * elf.c (find_link): Bounds check "hint".
942
943 2017-06-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
944
945 * elf32-arm.c (using_thumb_only): Update list of architectures in
946 BFD_ASSERT for which the logic is valid.
947 (using_thumb2_bl): Likewise.
948 (using_thumb2): Likewise and return true for ARMv8-R.
949 (arch_has_arm_nop): Likewise.
950 (tag_cpu_arch_combine): New v8r table for ARMv8-R Tag_CPU_arch
951 merging logic. Update commentis for value 15 of v8m_baseline,
952 v8m_mainline and v4t_plus_v6_m arrays. Use v8r array to decide
953 merging of value 15 of Tag_CPU_arch.
954
955 2017-06-23 Jiong Wang <jiong.wang@arm.com>
956
957 * reloc.c (BFD_RELOC_AARCH64_ADR_GOTPAGE): Rename to
958 BFD_RELOC_AARCH64_ADR_GOT_PAGE
959 * bfd-in2.h: Regenerate.
960
961 2017-06-22 H.J. Lu <hongjiu.lu@intel.com>
962
963 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Move
964 the error_alignment label forward. Properly align program
965 property note section.
966
967 2017-06-22 Eric Christopher <echristo@gmail.com>
968
969 * elf32-arm.c (elf32_arm_final_link_relocate): Use labs rather than
970 abs to fix a truncation warning.
971
972 2017-06-22 H.J. Lu <hongjiu.lu@intel.com>
973
974 * elf32-i386.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Resolve
975 local undefined weak symbol to 0.
976 * elf64-x86-64.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): Likewise.
977
978 2017-06-22 H.J. Lu <hongjiu.lu@intel.com>
979
980 * elf32-i386.c (elf_i386_merge_gnu_properties): If info->shstk
981 is set, turn on GNU_PROPERTY_X86_FEATURE_1_SHSTK.
982 (elf_i386_link_setup_gnu_properties): If info->shstk is set,
983 turn on GNU_PROPERTY_X86_FEATURE_1_IBT.
984 * elf64-x86-64.c (elf_x86_64_merge_gnu_properties): If
985 info->shstk is set, turn on GNU_PROPERTY_X86_FEATURE_1_SHSTK.
986 (elf_x86_64_link_setup_gnu_properties): If info->shstk is set,
987 turn on GNU_PROPERTY_X86_FEATURE_1_IBT.
988
989 2017-06-22 H.J. Lu <hongjiu.lu@intel.com>
990
991 * elf32-i386.c (elf_i386_lazy_ibt_plt0_entry): New.
992 (elf_i386_lazy_ibt_plt_entry): Likewise.
993 (elf_i386_pic_lazy_ibt_plt0_entry): Likewise.
994 (elf_i386_non_lazy_ibt_plt_entry): Likewise.
995 (elf_i386_pic_non_lazy_ibt_plt_entry): Likewise.
996 (elf_i386_eh_frame_lazy_ibt_plt): Likewise.
997 (elf_i386_lazy_plt_layout): Likewise.
998 (elf_i386_non_lazy_plt_layout): Likewise.
999 (elf_i386_link_hash_entry): Add plt_second.
1000 (elf_i386_link_hash_table): Add plt_second and
1001 plt_second_eh_frame.
1002 (elf_i386_allocate_dynrelocs): Use the second PLT if needed.
1003 (elf_i386_size_dynamic_sections): Use .plt.got unwind info for
1004 the second PLT. Check the second PLT.
1005 (elf_i386_relocate_section): Use the second PLT to resolve
1006 PLT reference if needed.
1007 (elf_i386_finish_dynamic_symbol): Fill and use the second PLT if
1008 needed.
1009 (elf_i386_finish_dynamic_sections): Set sh_entsize on the
1010 second PLT. Generate unwind info for the second PLT.
1011 (elf_i386_plt_type): Add plt_second.
1012 (elf_i386_get_synthetic_symtab): Support the second PLT.
1013 (elf_i386_parse_gnu_properties): Support
1014 GNU_PROPERTY_X86_FEATURE_1_AND.
1015 (elf_i386_merge_gnu_properties): Support
1016 GNU_PROPERTY_X86_FEATURE_1_AND. If info->ibt is set, turn
1017 on GNU_PROPERTY_X86_FEATURE_1_IBT
1018 (elf_i386_link_setup_gnu_properties): If info->ibt is set,
1019 turn on GNU_PROPERTY_X86_FEATURE_1_IBT. Use IBT-enabled PLT
1020 for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT
1021 is set on all relocatable inputs.
1022 * elf64-x86-64.c (elf_x86_64_lazy_ibt_plt_entry): New.
1023 (elf_x32_lazy_ibt_plt_entry): Likewise.
1024 (elf_x86_64_non_lazy_ibt_plt_entry): Likewise.
1025 (elf_x32_non_lazy_ibt_plt_entry): Likewise.
1026 (elf_x86_64_eh_frame_lazy_ibt_plt): Likewise.
1027 (elf_x32_eh_frame_lazy_ibt_plt): Likewise.
1028 (elf_x86_64_lazy_ibt_plt): Likewise.
1029 (elf_x32_lazy_ibt_plt): Likewise.
1030 (elf_x86_64_non_lazy_ibt_plt): Likewise.
1031 (elf_x32_non_lazy_ibt_plt): Likewise.
1032 (elf_x86_64_get_synthetic_symtab): Support the second PLT.
1033 (elf_x86_64_parse_gnu_properties): Support
1034 GNU_PROPERTY_X86_FEATURE_1_AND.
1035 (elf_x86_64_merge_gnu_properties): Support
1036 GNU_PROPERTY_X86_FEATURE_1_AND. If info->ibt is set, turn
1037 on GNU_PROPERTY_X86_FEATURE_1_IBT
1038 (elf_x86_64_link_setup_gnu_properties): If info->ibt is set,
1039 turn on GNU_PROPERTY_X86_FEATURE_1_IBT. Use IBT-enabled PLT
1040 for info->ibtplt, info->ibt or GNU_PROPERTY_X86_FEATURE_1_IBT
1041 is set on all relocatable inputs.
1042
1043 2017-06-22 Nick Clifton <nickc@redhat.com>
1044
1045 PR binutils/21649
1046 * som.c (setup_sections): NUL terminate the space_strings buffer.
1047 Check that the space.name field does not index beyond the end of
1048 the space_strings buffer.
1049
1050 2017-06-21 Nick Clifton <nickc@redhat.com>
1051
1052 PR binutils/21646
1053 * coff-sh.c (sh_reloc): Check for an out of range reloc.
1054
1055 2017-06-21 Nick Clifton <nickc@redhat.com>
1056
1057 PR binutils/21639
1058 * vms-misc.c (_bfd_vms_save_sized_string): Use unsigned int as
1059 type of the size parameter.
1060 (_bfd_vms_save_counted_string): Add second parameter - the maximum
1061 length of the counted string.
1062 * vms.h (_bfd_vms_save_sized_string): Update prototype.
1063 (_bfd_vms_save_counted_string): Likewise.
1064 * vms-alpha.c (_bfd_vms_slurp_eisd): Update calls to
1065 _bfd_vms_save_counted_string.
1066 (_bfd_vms_slurp_ehdr): Likewise.
1067 (_bfd_vms_slurp_egsd): Likewise.
1068 (Parse_module): Likewise.
1069
1070 2017-06-21 Alan Modra <amodra@gmail.com>
1071
1072 * elf64-ppc.c (ppc64_elf_size_stubs): Test for localentry:0 plt
1073 calls before tocsave calls.
1074 (ppc64_elf_relocate_section): Allow localentry:0 plt calls without
1075 following nop.
1076
1077 2017-06-21 Nick Clifton <nickc@redhat.com>
1078
1079 PR binutils/21645
1080 * reloc.c (bfd_generic_get_relocated_section_contents): Fail if
1081 bfd_get_full_section_contents returns no contents.
1082
1083 2017-06-21 Nick Clifton <nickc@redhat.com>
1084
1085 PR binutils/21638
1086 * vms-alpha.c (_bfd_vms_slurp_egsd): Check for an undersized
1087 record.
1088
1089 2017-06-21 Nick Clifton <nickc@redhat.com>
1090
1091 PR binutils/21637
1092 * vms-alpha.c (_bfd_vms_slurp_egsd): Check for an empty section
1093 list.
1094 (image_set_ptr): Likewise.
1095 (alpha_vms_fix_sec_rel): Likewise.
1096 (alpha_vms_slurp_relocs): Likewise.
1097
1098 2017-06-21 Nick Clifton <nickc@redhat.com>
1099
1100 PR binutils/21633
1101 * ieee.c (ieee_slurp_sections): Check for a NULL return from
1102 read_id.
1103 (ieee_archive_p): Likewise.
1104 (ieee_object_p): Likewise.
1105
1106 2017-06-21 Nick Clifton <nickc@redhat.com>
1107
1108 PR binutils/21640
1109 * elf.c (setup_group): Zero the group section pointer list after
1110 allocation so that loops can be caught. Check for NULL pointers
1111 when processing a group list.
1112
1113 2017-06-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1114
1115 * elf-s390.h: New file.
1116 * elf64-s390.c (struct elf_s390_link_hash_table): Add params
1117 field.
1118 (elf_s390_additional_program_headers): New function.
1119 (elf_s390_modify_segment_map): New function.
1120 (bfd_elf_s390_set_options): New function.
1121 (elf_backend_additional_program_headers)
1122 (elf_backend_modify_segment_map): Add macro definitions.
1123
1124 2017-06-19 H.J. Lu <hongjiu.lu@intel.com>
1125
1126 PR ld/21626
1127 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Check
1128 the DYNAMIC bit instead of bfd_count_sections.
1129
1130 2017-06-19 Nick Clifton <nickc@redhat.com>
1131
1132 PR binutils/21618
1133 * vms-alpha.c (evax_bfd_print_emh): Check for insufficient record
1134 length.
1135 (evax_bfd_print_eeom): Likewise.
1136 (evax_bfd_print_egsd): Check for an overlarge record length.
1137 (evax_bfd_print_etir): Likewise.
1138
1139 2017-06-19 Nick Clifton <nickc@redhat.com>
1140
1141 PR binutils/21612
1142 * libieee.h (struct common_header_type): Add end_p field.
1143 * ieee.c (this_byte_and_next): Do not advance input_p beyond
1144 end_p.
1145 (read_id): Check for a length that exceeds the remaining bytes in
1146 the input buffer.
1147 (ieee_seek): Initialise end_p.
1148 (ieee_archive_p): Likewise.
1149 (ieee_object_p): Likewise.
1150
1151 2017-06-19 Nick Clifton <nickc@redhat.com>
1152
1153 PR binutils/21611
1154 * vms-alpha.c (_bfd_vms_slurp_eihs): Check for invalid offset
1155 before reading the EIHS structure entries.
1156
1157 2017-06-19 Nick Clifton <nickc@redhat.com>
1158
1159 PR binutils/21615
1160 * vms-alpha.c (_bfd_vms_slurp_egsd): Use unsigned int for
1161 gsd_size. Check that there are enough bytes remaining to read the
1162 type and size of the next egsd. Check that the size of the egsd
1163 does not exceed the size of the record.
1164
1165 2017-06-19 Alan Modra <amodra@gmail.com>
1166
1167 * config.bfd: Correct targ_underscore for cris.
1168
1169 2017-06-18 Alan Modra <amodra@gmail.com>
1170
1171 * config.bfd: Correct targ_underscore for epiphany, ip2k,
1172 m32c, mn10200, pru, rl78, rx, crisv32 and v850.
1173
1174 2017-06-16 Nick Clifton <nickc@redhat.com>
1175
1176 * elflink.c (bfd_elf_size_dynsym_hash_dynstr): Do not fail if the
1177 bucketlist is empty because there are no symbols to add to the
1178 list.
1179
1180 2017-06-16 Alan Modra <amodra@gmail.com>
1181
1182 PR ld/20022
1183 PR ld/21557
1184 PR ld/21562
1185 PR ld/21571
1186 * targets.c (struct bfd_target): Add _bfd_define_start_stop.
1187 (BFD_JUMP_TABLE_LINK): Likewise.
1188 * elf-bfd.h (bfd_elf_define_start_stop): Declare.
1189 * elflink.c (_bfd_elf_gc_mark_rsec): Update comment.
1190 (bfd_elf_define_start_stop): New function.
1191 * linker.c (bfd_generic_define_start_stop): New function.
1192 * coff64-rs6000.c (rs6000_xcoff64_vec, rs6000_xcoff64_aix_vec): Init
1193 new field.
1194 * aout-adobe.c (aout_32_bfd_define_start_stop): Define.
1195 * aout-target.h (MY_bfd_define_start_stop): Define.
1196 * aout-tic30.c (MY_bfd_define_start_stop): Define.
1197 * binary.c (binary_bfd_define_start_stop): Define.
1198 * bout.c (b_out_bfd_define_start_stop): Define.
1199 * coff-alpha.c (_bfd_ecoff_bfd_define_start_stop): Define.
1200 * coff-mips.c (_bfd_ecoff_bfd_define_start_stop): Define.
1201 * coff-rs6000.c (_bfd_xcoff_bfd_define_start_stop): Define.
1202 * coffcode.h (coff_bfd_define_start_stop): Define.
1203 * elfxx-target.h (bfd_elfNN_bfd_define_start_stop): Define.
1204 * i386msdos.c (msdos_bfd_define_start_stop): Define.
1205 * i386os9k.c (os9k_bfd_define_start_stop): Define.
1206 * ieee.c (ieee_bfd_define_start_stop): Define.
1207 * ihex.c (ihex_bfd_define_start_stop): Define.
1208 * libbfd-in.h (_bfd_nolink_bfd_define_start_stop): Define.
1209 * mach-o-target.c (bfd_mach_o_bfd_define_start_stop): Define.
1210 * mmo.c (mmo_bfd_define_start_stop): Define.
1211 * nlm-target.h (nlm_bfd_define_start_stop): Define.
1212 * oasys.c (oasys_bfd_define_start_stop): Define.
1213 * pef.c (bfd_pef_bfd_define_start_stop): Define.
1214 * plugin.c (bfd_plugin_bfd_define_start_stop): Define.
1215 * ppcboot.c (ppcboot_bfd_define_start_stop): Define.
1216 * som.c (som_bfd_define_start_stop): Define.
1217 * srec.c (srec_bfd_define_start_stop): Define.
1218 * tekhex.c (tekhex_bfd_define_start_stop): Define.
1219 * versados.c (versados_bfd_define_start_stop): Define.
1220 * vms-alpha.c (vms_bfd_define_start_stop): Define.
1221 (alpha_vms_bfd_define_start_stop): Define.
1222 * xsym.c (bfd_sym_bfd_define_start_stop): Define.
1223 * bfd-in2.h: Regenerate.
1224 * libbfd.h: Regenerate.
1225
1226 2017-06-16 Jiong Wang <jiong.wang@arm.com>
1227
1228 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Use
1229 SYMBOL_REFERENCES_LOCAL.
1230
1231 2017-06-15 Jiong Wang <jiong.wang@arm.com>
1232
1233 PR ld/21532
1234 * elfnn-aarch64.c (ELIMINATE_COPY_RELOCS): Set to 1.
1235 (elfNN_aarch64_final_link_relocate): Also propagate relocations to
1236 runtime for if there needs copy relocation elimination.
1237 (need_copy_relocation_p): New function. Return true for symbol with
1238 pc-relative references and if it's against read-only sections.
1239 (elfNN_aarch64_adjust_dynamic_symbol): Use need_copy_relocation_p.
1240 (elfNN_aarch64_check_relocs): Allocate dynrelocs for relocation types
1241 that are related with accessing external objects.
1242 (elfNN_aarch64_gc_sweep_hook): Sync the relocation types with the change
1243 in elfNN_aarch64_check_relocs.
1244
1245 2017-06-15 Nick Clifton <nickc@redhat.com>
1246
1247 PR binutils/21582
1248 * ieee.c (ieee_object_p): Use a static buffer to avoid compiler
1249 bugs.
1250 PR binutils/21581
1251 (ieee_archive_p): Likewise.
1252
1253 2017-06-15 Nick Clifton <nickc@redhat.com>
1254
1255 PR binutils/21579
1256 * vms-alpha.c (_bfd_vms_slurp_etir): Extend check of cmd_length.
1257
1258 2017-06-14 Max Filippov <jcmvbkbc@gmail.com>
1259
1260 * elf32-xtensa.c (elf_xtensa_be_plt_entry,
1261 elf_xtensa_le_plt_entry): Add dimension for the ABI to arrays,
1262 keep both windowed and call0 ABI PLT definitions.
1263 (elf_xtensa_create_plt_entry): Use selected ABI to choose upper
1264 elf_xtensa_*_plt_entry endex.
1265 (ELF_MAXPAGESIZE): Fix at minimal supported MMU page size.
1266
1267 2017-06-14 Nick Clifton <nickc@redhat.com>
1268
1269 PR binutils/21578
1270 * elf32-sh.c (sh_elf_set_mach_from_flags): Fix check for invalid
1271 flag value.
1272
1273 2017-06-14 Nick Clifton <nickc@redhat.com>
1274
1275 PR binutils/21589
1276 * vms-alpha.c (_bfd_vms_get_value): Add an extra parameter - the
1277 maximum value for the ascic pointer. Check that name processing
1278 does not read beyond this value.
1279 (_bfd_vms_slurp_etir): Add checks for attempts to read beyond the
1280 end of etir record.
1281
1282 2017-06-14 Nick Clifton <nickc@redhat.com>
1283
1284 PR binutils/21591
1285 * versados.c (versados_mkobject): Zero the allocated tdata structure.
1286 (process_otr): Check for an invalid offset in the otr structure.
1287
1288 2017-06-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
1289
1290 * config.bfd (epiphany-*-elf): Accept epiphany-*-*.
1291
1292 2017-06-13 H.J. Lu <hongjiu.lu@intel.com>
1293
1294 PR ld/20022
1295 PR ld/21557
1296 PR ld/21562
1297 PR ld/21571
1298 * elf-bfd.h (elf_link_hash_entry): Add start_stop. Change the
1299 vtable field to a union.
1300 (_bfd_elf_is_start_stop): Removed.
1301 * elf32-i386.c (elf_i386_convert_load_reloc): Also check for
1302 __start_SECNAME and __stop_SECNAME symbols.
1303 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
1304 * elflink.c (_bfd_elf_is_start_stop): Removed.
1305 (_bfd_elf_gc_mark_rsec): Check start_stop instead of calling
1306 _bfd_elf_is_start_stop.
1307 (elf_gc_propagate_vtable_entries_used): Skip __start_SECNAME and
1308 __stop_SECNAME symbols. Updated.
1309 (elf_gc_smash_unused_vtentry_relocs): Likewise.
1310 (bfd_elf_gc_record_vtinherit): Likewise.
1311 (bfd_elf_gc_record_vtentry): Likewise.
1312
1313 2017-06-13 Nick Clifton <nickc@redhat.com>
1314
1315 PR ld/21524
1316 * elflink.c (elf_link_adjust_relocs): Generate an error when
1317 encountering a reloc against a symbol removed by garbage
1318 collection.
1319
1320 2017-06-12 H.J. Lu <hongjiu.lu@intel.com>
1321
1322 * elf-bfd.h (elf_backend_data): Add struct bfd_link_info *
1323 to merge_gnu_properties.
1324 * elf-properties.c (elf_merge_gnu_properties): Add struct
1325 bfd_link_info * and pass it to merge_gnu_properties.
1326 (elf_merge_gnu_property_list): Add struct bfd_link_info *
1327 and pass it to elf_merge_gnu_properties.
1328 (_bfd_elf_link_setup_gnu_properties): Pass info to
1329 elf_merge_gnu_property_list.
1330 * elf32-i386.c (elf_i386_merge_gnu_properties): Add struct
1331 bfd_link_info *.
1332 * elf64-x86-64.c (elf_x86_64_merge_gnu_properties): Likewise.
1333
1334 2017-06-11 Joe Zbiciak <joe.zbiciak@leftturnonly.info>
1335
1336 PR 21564
1337 * binary.c (binary_set_section_contents): Scale lma by octets
1338 per byte to set filepos.
1339
1340 2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1341
1342 * elf32-arc.c (elf_arc_check_relocs): Fixed conditions to generate
1343 dynamic sections.
1344
1345 2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1346
1347 * elf32-arc.c (elf_arc_size_dynamic_sections): Changed condition to
1348 require TEXTREL.
1349
1350 2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1351
1352 * arc-got.h (relocate_fix_got_relocs_for_got_info): Added TCB_SIZE to
1353 patched section contents for TLS IE reloc.
1354 * elf32-arc.c: Remove TCB_SIZE preprocessor macro.
1355
1356 2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1357
1358 * elf32-arc.c (elf_arc_relocate_section): Added "call" to
1359 RELOC_FOR_GLOBAL_SYMBOL macro.
1360
1361 2018-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1362
1363 * elf32-arc.c (elf_arc_relocate_section): Small refactor and condition
1364 changes.
1365
1366 2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1367
1368 * config/tc-arc.c (md_undefined_symbol): Changed.
1369 * config/tc-arc.h (DYNAMIC_STRUCT_NAME): Removed.
1370
1371 2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1372
1373 * elf32-arc.c (elf_arc_relocate_section): Fixed reassign of indirect
1374 symbols.
1375
1376 2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1377
1378 * elf32-arc.c (elf_arc_check_relocs): Added condition to disable
1379 warning and "Bad value" for local symbols ARC_32 or ARC_32_ME relocs.
1380
1381 2017-06-08 Cupertino Miranda <cmiranda@synopsys.com>
1382
1383 * elf32-arc.c (ADD_RELA): Changed to only work when dynamic
1384 object is created.
1385
1386 2017-06-08 Richard Earnshaw <rearnsha@arm.com>
1387
1388 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Remove assertion
1389 that the input bfd has Tag_FP_ARCH non-zero if Tag_ABI_HardFP_use
1390 is non-zero. Add clarifying comments.
1391
1392 2017-06-08 H.J. Lu <hongjiu.lu@intel.com>
1393
1394 * elf32-i386.c (elf_i386_check_relocs): Set local IFUNC symbol
1395 name. Use local IFUNC symbol name string to report unsupported
1396 non-PIC call to IFUNC function.
1397 (elf_i386_relocate_section): Dump local IFUNC name with minfo
1398 when generating R_386_IRELATIVE relocation.
1399 (elf_i386_finish_dynamic_symbol): Likewise.
1400 * elf_x86_64_check_relocs (elf_x86_64_check_relocs): Set local
1401 IFUNC symbol name.
1402 (elf_x86_64_relocate_section): Dump local IFUNC name with minfo
1403 when generating R_X86_64_IRELATIVE relocation.
1404 (elf_x86_64_finish_dynamic_symbol): Likewise.
1405
1406 2017-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
1407
1408 * elf.c (setup_group): Make sure BFD sections are created for all
1409 group sections in the input file when processing SHF_GROUP
1410 sections.
1411 (bfd_section_from_shdr): Avoid duplicating logic already
1412 implemented in `setup_group'.
1413
1414 2017-06-06 Daniel Bonniot de Ruisselet <bonniot@gmail.com>
1415
1416 PR binutils/21546
1417 * peXXigen.c (pe_print_idata): Use the address of the first thunk
1418 if the hint address is zero.
1419
1420 2017-06-06 James Clarke <jrtc27@jrtc27.com>
1421
1422 PR ld/19579
1423 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Check
1424 ELF_COMMON_DEF_P for common symbols.
1425
1426 2017-06-06 Andrew Burgess <andrew.burgess@embecosm.com>
1427
1428 * elf.c (_bfd_elf_make_section_from_shdr): Don't initially mark
1429 SEC_GROUP sections as SEC_EXCLUDE.
1430 (bfd_elf_set_group_contents): Replace use of abort with an assert.
1431 (assign_section_numbers): Use resolve_section_groups flag instead
1432 of relocatable link type.
1433 (_bfd_elf_init_private_section_data): Use resolve_section_groups
1434 flag instead of checking the final_link flag for part of the
1435 checks in here. Fix white space as a result.
1436 * elflink.c (elf_link_input_bfd): Use resolve_section_groups flag
1437 instead of relocatable link type.
1438 (bfd_elf_final_link): Likewise.
1439
1440 2017-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
1441
1442 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Remove unused
1443 variable `bed'.
1444 * elf32-score.c (score_elf_final_link_relocate): Likewise.
1445 (s3_bfd_score_elf_check_relocs): Likewise.
1446 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
1447 (score_elf_final_link_relocate): Likewise.
1448 (s7_bfd_score_elf_check_relocs): Likewise.
1449
1450 2017-06-06 Jose E. Marchesi <jose.marchesi@oracle.com>
1451
1452 * elflink.c (init_reloc_cookie_rels): Remove unused variable
1453 `bed'.
1454
1455 2017-06-06 Maciej W. Rozycki <macro@imgtec.com>
1456
1457 * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Subtract `count'
1458 from `reloc_count' rather than decrementing it.
1459 * elf.c (bfd_section_from_shdr): Multiply the adjustment to
1460 `reloc_count' by `int_rels_per_ext_rel'.
1461 * elf32-score.c (score_elf_final_link_relocate): Do not multiply
1462 `reloc_count' by `int_rels_per_ext_rel' for last relocation
1463 entry determination.
1464 (s3_bfd_score_elf_check_relocs): Likewise.
1465 * elf32-score7.c (score_elf_final_link_relocate): Likewise.
1466 (s7_bfd_score_elf_relocate_section): Likewise.
1467 (s7_bfd_score_elf_check_relocs): Likewise.
1468 * elf64-mips.c (mips_elf64_get_reloc_upper_bound): Remove
1469 prototype and function.
1470 (mips_elf64_slurp_one_reloc_table): Do not update `reloc_count'.
1471 (mips_elf64_slurp_reloc_table): Assert that `reloc_count' is
1472 triple rather than once the sum of REL and RELA relocation entry
1473 counts.
1474 (bfd_elf64_get_reloc_upper_bound): Remove macro.
1475 * elflink.c (_bfd_elf_link_read_relocs): Do not multiply
1476 `reloc_count' by `int_rels_per_ext_rel' for internal relocation
1477 storage allocation size determination.
1478 (elf_link_input_bfd): Multiply `.ctors' and `.dtors' section's
1479 size by `int_rels_per_ext_rel'. Do not multiply `reloc_count'
1480 by `int_rels_per_ext_rel' for last relocation entry
1481 determination.
1482 (bfd_elf_final_link): Do not multiply `reloc_count' by
1483 `int_rels_per_ext_rel' for internal relocation storage
1484 allocation size determination.
1485 (init_reloc_cookie_rels): Do not multiply `reloc_count' by
1486 `int_rels_per_ext_rel' for last relocation entry determination.
1487 (elf_gc_smash_unused_vtentry_relocs): Likewise.
1488 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
1489 (_bfd_mips_elf_relocate_section): Likewise.
1490
1491 2017-06-05 Alan Modra <amodra@gmail.com>
1492
1493 PR 21529
1494 * linker.c (_bfd_generic_link_output_symbols): Handle BSF_GNU_UNIQUE.
1495
1496 2017-06-01 John Baldwin <jhb@FreeBSD.org>
1497
1498 * elf.c (elfcore_grok_freebsd_psinfo): Use ELF header class to
1499 determine structure sizes.
1500 (elfcore_grok_freebsd_prstatus): Likewise.
1501
1502 2017-06-01 Alan Modra <amodra@gmail.com>
1503
1504 * elf64-ppc.c (struct ppc_link_hash_table): Add has_plt_localentry0.
1505 (ppc64_elf_merge_symbol_attribute): Merge localentry bits from
1506 dynamic objects.
1507 (is_elfv2_localentry0): New function.
1508 (ppc64_elf_tls_setup): Default params->plt_localentry0.
1509 (plt_stub_size): Adjust size for tls_get_addr_opt stub.
1510 (build_tls_get_addr_stub): Use a simpler stub when r2 is not saved.
1511 (ppc64_elf_size_stubs): Leave stub_type as ppc_stub_plt_call for
1512 optimized localentry:0 stubs.
1513 (ppc64_elf_build_stubs): Save r2 in ELFv2 __glink_PLTresolve.
1514 (ppc64_elf_relocate_section): Leave nop unchanged for optimized
1515 localentry:0 stubs.
1516 (ppc64_elf_finish_dynamic_sections): Set PPC64_OPT_LOCALENTRY in
1517 DT_PPC64_OPT.
1518 * elf64-ppc.h (struct ppc64_elf_params): Add plt_localentry0.
1519
1520 2017-05-30 Casey Smith <clegg89@gmail.com>
1521
1522 PR ld/21523
1523 * elf32-arm.c (elf32_arm_final_link_relocate): Install an absolute
1524 value when processing the R_ARM_THM_ALU_PREL_11_0 reloc.
1525
1526 2017-05-30 Anton Kolesov Anton.Kolesov@synopsys.com
1527
1528 * cpu-arc.c (arc_compatible): New function.
1529
1530 2017-05-30 Anton Kolesov <anton.kolesov@synopsys.com>
1531
1532 * cpu-arc.c (arch_info_struct): Remove duplicate ARC600 entry.
1533
1534 2017-05-30 H.J. Lu <hongjiu.lu@intel.com>
1535
1536 PR binutils/21519
1537 * bfdio.c (bfd_get_file_size): New function.
1538 * bfd-in2.h: Regenerated.
1539
1540 2017-05-23 Dilian Palauzov <git-dpa@aegee.org>
1541
1542 * elf32-arc.c (arc_elf_merge_attributes): Add fall through
1543 comments.
1544
1545 2017-05-22 H.J. Lu <hongjiu.lu@intel.com>
1546
1547 * elf64-x86-64.c (elf_x86_64_link_setup_gnu_properties): Use
1548 dynobj instead of htab->elf.dynobj.
1549
1550 2017-05-19 Maciej W. Rozycki <macro@imgtec.com>
1551
1552 * elf64-mips.c (mips_elf64_canonicalize_reloc): Remove prototype
1553 and function.
1554 (mips_elf64_canonicalize_dynamic_reloc): Likewise.
1555 (mips_elf64_slurp_one_reloc_table): Set `reloc_count' to the
1556 actual number of internal relocations retrieved. Adjust
1557 function description.
1558 (bfd_elf64_canonicalize_reloc): Remove macro.
1559 (bfd_elf64_canonicalize_dynamic_reloc): Likewise.
1560
1561 2017-05-19 Jose E. Marchesi <jose.marchesi@oracle.com>
1562
1563 * archures.c (bfd_mach_sparc_v9m8): Define.
1564 (bfd_mach_sparc_v8plusm8): Likewise.
1565 (bfd_mach_sparc_v9_p): Adjust to M8.
1566 (bfd_mach_sparc_64bit_p): Likewise.
1567 * aoutx.h (machine_type): Handle bfd_mach_sparc_v9m8 and
1568 bfd_mach_sparc_v8plusm8.
1569 * bfd-in2.h: Regenerated.
1570 * cpu-sparc.c (arch_info_struct): Entries for sparc:v9m8 and
1571 sparc:v8plusm8.
1572 * elfxx-sparc.c (_bfd_sparc_elf_object_p): Handle
1573 bfd_mach_sparc_v8plusm8 and bfd_mach_sparc_v9m8 using the new hw
1574 capabilities ONADDSUB, ONMUL, ONDIV, DICTUNP, FPCPSHL, RLE and
1575 SHA3.
1576 * elf32-sparc.c (elf32_sparc_final_write_processing): Handle
1577 bfd_mach_sparc_v8plusm8.
1578
1579 2017-05-19 Alan Modra <amodra@gmail.com>
1580
1581 * elflink.c (_bfd_elf_gc_mark_extra_sections): Don't keep
1582 debug and special sections when no non-note alloc sections in an
1583 object are kept.
1584
1585 2017-05-18 Alan Modra <amodra@gmail.com>
1586
1587 * arc-got.h: Don't compare boolean values against TRUE or FALSE.
1588 * elf-m10300.c: Likewise.
1589 * elf.c: Likewise.
1590 * elf32-arc.c: Likewise.
1591 * elf32-bfin.c: Likewise.
1592 * elf32-m68k.c: Likewise.
1593 * elf32-nds32.c: Likewise.
1594 * elf32-tilepro.c: Likewise.
1595 * elflink.c: Likewise.
1596 * elfnn-aarch64.c: Likewise.
1597 * elfnn-riscv.c: Likewise.
1598 * elfxx-tilegx.c: Likewise.
1599 * mach-o.c: Likewise.
1600 * peXXigen.c: Likewise.
1601 * vms-alpha.c: Likewise.
1602 * vms-lib.c: Likewise.
1603
1604 2017-05-17 H.J. Lu <hongjiu.lu@intel.com>
1605
1606 PR ld/20882
1607 * elflink.c (elf_gc_mark_debug_section): New function.
1608 (_bfd_elf_gc_mark_extra_sections): Mark any debug sections
1609 referenced by kept debug sections.
1610
1611 2017-05-16 Alan Modra <amodra@gmail.com>
1612
1613 * elf-m10300.c: Rename occurrences of non_ir_ref.
1614 * elf32-arm.c: Likewise.
1615 * elf32-bfin.c: Likewise.
1616 * elf32-cr16.c: Likewise.
1617 * elf32-cris.c: Likewise.
1618 * elf32-d10v.c: Likewise.
1619 * elf32-dlx.c: Likewise.
1620 * elf32-fr30.c: Likewise.
1621 * elf32-frv.c: Likewise.
1622 * elf32-hppa.c: Likewise.
1623 * elf32-i370.c: Likewise.
1624 * elf32-i386.c: Likewise.
1625 * elf32-iq2000.c: Likewise.
1626 * elf32-lm32.c: Likewise.
1627 * elf32-m32c.c: Likewise.
1628 * elf32-m32r.c: Likewise.
1629 * elf32-m68hc1x.c: Likewise.
1630 * elf32-m68k.c: Likewise.
1631 * elf32-mcore.c: Likewise.
1632 * elf32-metag.c: Likewise.
1633 * elf32-microblaze.c: Likewise.
1634 * elf32-moxie.c: Likewise.
1635 * elf32-msp430.c: Likewise.
1636 * elf32-mt.c: Likewise.
1637 * elf32-nios2.c: Likewise.
1638 * elf32-or1k.c: Likewise.
1639 * elf32-ppc.c: Likewise.
1640 * elf32-rl78.c: Likewise.
1641 * elf32-s390.c: Likewise.
1642 * elf32-score.c: Likewise.
1643 * elf32-score7.c: Likewise.
1644 * elf32-sh.c: Likewise.
1645 * elf32-tic6x.c: Likewise.
1646 * elf32-tilepro.c: Likewise.
1647 * elf32-v850.c: Likewise.
1648 * elf32-vax.c: Likewise.
1649 * elf32-xstormy16.c: Likewise.
1650 * elf32-xtensa.c: Likewise.
1651 * elf64-alpha.c: Likewise.
1652 * elf64-hppa.c: Likewise.
1653 * elf64-ia64-vms.c: Likewise.
1654 * elf64-mmix.c: Likewise.
1655 * elf64-ppc.c: Likewise.
1656 * elf64-s390.c: Likewise.
1657 * elf64-sh64.c: Likewise.
1658 * elf64-x86-64.c: Likewise.
1659 * elflink.c: Likewise.
1660 * elfnn-aarch64.c: Likewise.
1661 * elfnn-ia64.c: Likewise.
1662 * elfnn-riscv.c: Likewise.
1663 * elfxx-mips.c: Likewise.
1664 * elfxx-sparc.c: Likewise.
1665 * elfxx-tilegx.c: Likewise.
1666 * linker.c: Likewise.
1667
1668 2017-05-16 Alan Modra <amodra@gmail.com>
1669
1670 * elf64-ppc.c (add_symbol_adjust): Transfer non_ir_ref_dynamic.
1671 * elflink.c (elf_link_add_object_symbols): Update to use
1672 non_ir_ref_dynamic.
1673 (elf_link_input_bfd): Test non_ir_ref_dynamic in addition to
1674 non_ir_ref.
1675 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
1676
1677 2017-05-15 Maciej W. Rozycki <macro@imgtec.com>
1678
1679 * elfxx-mips.c (print_mips_ases): Handle MIPS16e2 ASE.
1680
1681 2017-05-12 H.J. Lu <hongjiu.lu@intel.com>
1682
1683 * elf32-i386.c (elf_i386_parse_gnu_properties): Merge
1684 GNU_PROPERTY_X86_ISA_1_USED and GNU_PROPERTY_X86_ISA_1_NEEDED
1685 properties.
1686 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
1687
1688 2017-05-11 H.J. Lu <hongjiu.lu@intel.com>
1689
1690 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Rename plt_bnd
1691 to plt_second.
1692 (elf_x86_64_link_hash_table): Rename plt_bnd/plt_bnd_eh_frame
1693 to plt_second/plt_second_eh_frame.
1694 (elf_x86_64_link_hash_newfunc): Updated.
1695 (elf_x86_64_allocate_dynrelocs): Likewise.
1696 (elf_x86_64_size_dynamic_sections): Likewise.
1697 (elf_x86_64_relocate_section): Likewise.
1698 (elf_x86_64_finish_dynamic_symbol): Likewise.
1699 (elf_x86_64_finish_dynamic_sections): Likewise.
1700 (elf_x86_64_plt_type): Rename plt_bnd to plt_second.
1701 (elf_x86_64_get_synthetic_symtab): Updated. Also scan the
1702 .plt.sec section.
1703 (elf_backend_setup_gnu_properties): Updated. Create the
1704 .plt.sec section instead of the .plt.sec section.
1705
1706 2017-05-11 H.J. Lu <hongjiu.lu@intel.com>
1707
1708 * elf32-i386.c (elf_i386_allocate_dynrelocs): Partially revert
1709 commit 25070364b0ce33eed46aa5d78ebebbec6accec7e.
1710 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewse.
1711
1712 2017-05-10 Jose E. Marchesi <jose.marchesi@oracle.com>
1713
1714 * elf64-sparc.c (elf64_sparc_set_reloc): New function.
1715 (bfd_elf64_set_reloc): Define.
1716 (elf64_sparc_write_relocs): Use `canon_reloc_count'.
1717
1718 2017-05-10 Jose E. Marchesi <jose.marchesi@oracle.com>
1719
1720 * targets.c (BFD_JUMP_TABLE_RELOCS): Add NAME##_set_reloc.
1721 (struct bfd_target): New field _bfd_set_reloc.
1722 * bfd.c (bfd_set_reloc): Call backend _set_bfd.
1723 * reloc.c (_bfd_generic_set_reloc): New function.
1724 * coffcode.h (coff_set_reloc): Define to _bfd_generic_set_reloc.
1725 * nlm-target.h (nlm_set_reloc): Likewise.
1726 * coff-rs6000.c (_bfd_xcoff_set_reloc): Likewise.
1727 * aout-tic30.c (MY_set_reloc): Likewise.
1728 * aout-target.h (MY_set_reloc): Likewise.
1729 * elfxx-target.h (bfd_elfNN_set_reloc): Likewise.
1730 * coff-alpha.c (_bfd_ecoff_set_reloc): Likewise.
1731 * mach-o-target.c (bfd_mach_o_set_reloc): Likewise.
1732 * vms-alpha.c (alpha_vms_set_reloc): Likewise.
1733 * aout-adobe.c (aout_32_set_reloc): Likewise.
1734 * bout.c (b_out_set_reloc): Likewise.
1735 * coff-mips.c (_bfd_ecoff_set_reloc): Likewise.
1736 * i386os9k.c (aout_32_set_reloc): Likewise.
1737 * ieee.c (ieee_set_reloc): Likewise.
1738 * oasys.c (oasys_set_reloc): Likewise.
1739 * som.c (som_set_reloc): Likewise.
1740 * versados.c (versados_set_reloc): Likewise.
1741 * coff64-rs6000.c (rs6000_xcoff64_vec): Add
1742 _bfd_generic_set_reloc.
1743 (rs6000_xcoff64_aix_vec): LIkewise.
1744 * libbfd.c (_bfd_norelocs_set_reloc): New function.
1745 * libbfd-in.h: Prototype for _bfd_norelocs_set_reloc.
1746 * i386msdos.c (msdos_set_reloc): Define to
1747 _bfd_norelocs_set_reloc.
1748 * elfcode.h (elf_set_reloc): Define.
1749 * bfd-in2.h: Regenerated.
1750
1751 2017-05-10 H.J. Lu <hongjiu.lu@intel.com>
1752
1753 PR ld/21481
1754 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Use .plt.bnd
1755 for IFUNC function address.
1756
1757 2017-05-10 Claudiu Zissulescu <claziss@synopsys.com>
1758
1759 * elf32-arc.c (FEATURE_LIST_NAME): Define.
1760 (CONFLICT_LIST): Likewise.
1761 (opcode/arc-attrs.h): Include.
1762 (arc_elf_print_private_bfd_data): Print OSABI v4 flag.
1763 (arc_extract_features): New file.
1764 (arc_stralloc): Likewise.
1765 (arc_elf_merge_attributes): Likewise.
1766 (arc_elf_merge_private_bfd_data): Use object attributes.
1767 (bfd_arc_get_mach_from_attributes): New function.
1768 (arc_elf_object_p): Use object attributes.
1769 (arc_elf_final_write_processing): Likewise.
1770 (elf32_arc_obj_attrs_arg_type): New function.
1771 (elf32_arc_obj_attrs_handle_unknown): Likewise.
1772 (elf32_arc_section_from_shdr): Likewise.
1773 (elf_backend_obj_attrs_vendor): Define.
1774 (elf_backend_obj_attrs_section): Likewise.
1775 (elf_backend_obj_attrs_arg_type): Likewise.
1776 (elf_backend_obj_attrs_section_type): Likewise.
1777 (elf_backend_obj_attrs_handle_unknown): Likewise.
1778 (elf_backend_section_from_shdr): Likewise.
1779
1780 2017-05-09 Andrew Goedhart <Andrewgoedhart@simplepowersolutions.co.za>
1781
1782 PR ld/21458
1783 * elf32-arm.c (elf32_arm_final_link_relocate): Set the bottom bit
1784 of the value when resolving a R_ARM_THM_ALU_PREL_11_0 relocation
1785 and the destination is a Thumb symbol.
1786
1787 2017-05-08 H.J. Lu <hongjiu.lu@intel.com>
1788
1789 * elf32-i386.c (elf_i386_get_synthetic_symtab): Add missing
1790 initializer to silence GCC 4.2.
1791 * lf64-x86-64.c (elf_x86_64_get_synthetic_symtab): Likewise.
1792
1793 2017-05-08 H.J. Lu <hongjiu.lu@intel.com>
1794
1795 * elf64-x86-64.c (PLT_ENTRY_SIZE): Renamed to ...
1796 (LAZY_PLT_ENTRY_SIZE): This.
1797 (NON_LAZY_PLT_ENTRY_SIZE): New.
1798 (elf_x86_64_plt0_entry): Renamed to ...
1799 (elf_x86_64_lazy_plt0_entry): This.
1800 (elf_x86_64_plt_entry): Renamed to ...
1801 (elf_x86_64_lazy_plt_entry): This.
1802 (elf_x86_64_bnd_plt0_entry): Renamed to ...
1803 (elf_x86_64_lazy_bnd_plt0_entry): This.
1804 (elf_x86_64_legacy_plt_entry): Removed.
1805 (elf_x86_64_bnd_plt_entry): Renamed to ...
1806 (elf_x86_64_lazy_bnd_plt_entry): This.
1807 (elf_x86_64_legacy_plt2_entry): Renamed to ...
1808 (elf_x86_64_non_lazy_plt_entry): This.
1809 (elf_x86_64_bnd_plt2_entry): Renamed to ...
1810 (elf_x86_64_non_lazy_bnd_plt_entry): This.
1811 (elf_x86_64_eh_frame_plt): Renamed to ...
1812 (elf_x86_64_eh_frame_lazy_plt): This.
1813 (elf_x86_64_eh_frame_bnd_plt): Renamed to ...
1814 (elf_x86_64_eh_frame_lazy_bnd_plt): This.
1815 (elf_x86_64_eh_frame_plt_got): Renamed to ...
1816 (elf_x86_64_eh_frame_non_lazy_plt): This.
1817 (elf_x86_64_lazy_plt_layout): New.
1818 (elf_x86_64_non_lazy_plt_layout): Likewise.
1819 (elf_x86_64_plt_layout): Likewise.
1820 (elf_x86_64_backend_data): Remove PLT layout information. Add
1821 os for target system.
1822 (GET_PLT_ENTRY_SIZE): Removed.
1823 (elf_x86_64_lazy_plt): New.
1824 (elf_x86_64_non_lazy_plt): Likewise.
1825 (elf_x86_64_lazy_bnd_plt): Likewise.
1826 (elf_x86_64_non_lazy_bnd_plt): Likewise.
1827 (elf_x86-64_arch_bed): Updated.
1828 (elf_x86_64_link_hash_table): Add plt, lazy_plt and non_lazy_plt.
1829 (elf_x86_64_create_dynamic_sections): Removed.
1830 (elf_x86_64_check_relocs): Don't check elf.dynobj. Don't call
1831 _bfd_elf_create_ifunc_sections nor _bfd_elf_create_got_section.
1832 (elf_x86-64_adjust_dynamic_symbol): Updated.
1833 (elf_x86_64_allocate_dynrelocs): Updated. Pass 0 as PLT header
1834 size to _bfd_elf_allocate_ifunc_dyn_relocs and don't allocate
1835 size for PLT0 if there is no PLT0. Get plt_entry_size from
1836 non_lazy_plt for non-lazy PLT entries.
1837 (elf_x86_64_size_dynamic_sections): Updated. Get plt_entry_size
1838 from non_lazy_plt for non-lazy PLT entries.
1839 (elf_x86-64_relocate_section): Updated. Properly get PLT index
1840 if there is no PLT0.
1841 (elf_x86_64_finish_dynamic_symbol): Updated. Fill the first slot
1842 in the PLT entry with generic PLT layout. Fill the non-lazy PLT
1843 entries with non-lazy PLT layout. Don't fill the second and third
1844 slots in the PLT entry if there is no PLT0.
1845 (elf_x86_64_finish_dynamic_sections): Updated. Don't fill PLT0
1846 if there is no PLT0. Set sh_entsize on the .plt.got section.
1847 (compare_relocs): New.
1848 (elf_x86_64_plt_type): Likewise.
1849 (elf_x86_64_plt): Likewise.
1850 (elf_x86_64_nacl_plt): New. Forward declaration.
1851 (elf_x86_64_get_plt_sym_val): Removed.
1852 (elf_x86_64_get_synthetic_symtab): Rewrite to check PLT sections
1853 against all dynamic relocations.
1854 (elf_x86_64_link_setup_gnu_properties): New function.
1855 (elf_backend_create_dynamic_sections): Updated.
1856 (elf_backend_setup_gnu_properties): New.
1857 (elf_x86_64_nacl_plt): New.
1858 (elf_x86_64_nacl_arch_bed): Updated.
1859
1860 2017-05-08 H.J. Lu <hongjiu.lu@intel.com>
1861
1862 * elf32-i386.c (PLT_ENTRY_SIZE): Renamed to ...
1863 (LAZY_PLT_ENTRY_SIZE): This.
1864 (NON_LAZY_PLT_ENTRY_SIZE): New.
1865 (elf_i386_plt0_entry): Renamed to ...
1866 (elf_i386_lazy_plt0_entry): This.
1867 (elf_i386_plt_entry): Renamed to ...
1868 (elf_i386_lazy_plt_entry): This.
1869 (elf_i386_pic_plt0_entry): Renamed to ...
1870 (elf_i386_pic_lazy_plt0_entry): This.
1871 (elf_i386_pic_plt_entry): Renamed to ...
1872 (elf_i386_pic_lazy_plt_entry): This.
1873 (elf_i386_got_plt_entry): Renamed to ...
1874 (elf_i386_non_lazy_plt_entry): This.
1875 (elf_i386_pic_got_plt_entry): Renamed to ...
1876 (elf_i386_pic_non_lazy_plt_entry): This.
1877 (elf_i386_eh_frame_plt): Renamed to ...
1878 (elf_i386_eh_frame_lazy_plt): This.
1879 (elf_i386_eh_frame_plt_got): Renamed to ...
1880 (elf_i386_eh_frame_non_lazy_plt): This.
1881 (elf_i386_plt_layout): Renamed to ...
1882 (elf_i386_lazy_plt_layout): This. Remove eh_frame_plt_got and
1883 eh_frame_plt_got_size.
1884 (elf_i386_non_lazy_plt_layout): New.
1885 (elf_i386_plt_layout): Likewise.
1886 (elf_i386_non_lazy_plt): Likewise.
1887 (GET_PLT_ENTRY_SIZE): Removed.
1888 (elf_i386_plt): Renamed to ...
1889 (elf_i386_lazy_plt): This.
1890 (elf_i386_backend_data): Remove plt. Rename is_vxworks to os.
1891 (elf_i386_arch_bed): Updated.
1892 (elf_i386_link_hash_table): Add plt, lazy_plt and non_lazy_plt.
1893 (elf_i386_create_dynamic_sections): Removed.
1894 (elf_i386_check_relocs): Don't check elf.dynobj. Don't call
1895 _bfd_elf_create_ifunc_sections nor _bfd_elf_create_got_section.
1896 (elf_i386_adjust_dynamic_symbol): Updated.
1897 (elf_i386_allocate_dynrelocs): Updated. Pass 0 as PLT header
1898 size to _bfd_elf_allocate_ifunc_dyn_relocs and don't allocate
1899 size for PLT0 if there is no PLT0.
1900 (elf_i386_size_dynamic_sections): Updated. Check whether GOT
1901 output section is discarded only if GOT isn't empty.
1902 (elf_i386_relocate_section): Updated. Properly get PLT index
1903 if there is no PLT0.
1904 (elf_i386_finish_dynamic_symbol): Updated. Don't fill the
1905 second and third slots in the PLT entry if there is no PLT0.
1906 (elf_i386_finish_dynamic_sections): Updated. Don't fill PLT0
1907 if there is no PLT0. Set sh_entsize on the .plt.got section.
1908 (elf_i386_nacl_plt): Forward declaration.
1909 (elf_i386_get_plt_sym_val): Removed.
1910 (elf_i386_get_synthetic_symtab): Rewrite to check PLT sections
1911 against all dynamic relocations.
1912 (elf_i386_link_setup_gnu_properties): New function.
1913 (elf_backend_create_dynamic_sections): Updated.
1914 (elf_backend_setup_gnu_properties): New.
1915 (elf_i386_nacl_plt): Updated.
1916 (elf_i386_nacl_arch_bed): Likewise.
1917 (elf_i386_vxworks_arch_bed): Likewise.
1918
1919 2017-05-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
1920
1921 * elflink.c (elf_output_implib): Remove executable flag from import
1922 library bfd.
1923 * elf32-arm.c (elf32_arm_filter_implib_symbols): Assert that the import
1924 library is a relocatable object file.
1925
1926 2017-05-01 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1927
1928 PR ld/21404
1929 * elf32-avr.c (avr_should_move_sym): New function.
1930 (avr_should_reduce_sym_size): Likewise.
1931 (avr_should_increase_sym_size): Likewise.
1932 (elf32_avr_relax_delete_bytes): Adjust symbol values
1933 and sizes by calling new functions.
1934
1935 2017-05-01 Palmer Dabbelt <palmer@dabbelt.com>
1936
1937 * config.bfd (riscv32-*): Enable rv64.
1938
1939 2017-05-02 Alan Modra <amodra@gmail.com>
1940
1941 PR 21384
1942 * elflink.c (bfd_elf_link_mark_dynamic_symbol): Test h->non_elf
1943 rather than h->root.type == bfd_link_hash_new.
1944 (bfd_elf_record_link_assignment): Similarly, call
1945 bfd_elf_link_mark_dynamic_symbol when h->non_elf.
1946
1947 2017-04-29 Alan Modra <amodra@gmail.com>
1948
1949 PR 21432
1950 * reloc.c (reloc_offset_in_range): New function.
1951 (bfd_perform_relocation, bfd_install_relocation): Use it.
1952 (_bfd_final_link_relocate): Likewise.
1953
1954 2017-04-28 H.J. Lu <hongjiu.lu@intel.com>
1955
1956 * elf32-i386.c (elf_i386_allocate_dynrelocs): Check plt_got
1957 before using .plt.got.
1958 * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Likewise.
1959
1960 2017-04-27 H.J. Lu <hongjiu.lu@intel.com>
1961
1962 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Use "="
1963 instead of "+=" to update 0.
1964
1965 2017-04-27 H.J. Lu <hongjiu.lu@intel.com>
1966
1967 * elf32-i386.c (elf_i386_create_dynamic_sections): Create the
1968 .plt.got section here.
1969 (elf_i386_check_relocs): Don't create the .plt.got section.
1970 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Create
1971 the .plt.got and .plt.bnd sections here.
1972 (elf_x86_64_check_relocs): Don't create the .plt.got nor
1973 .plt.bnd sections.
1974
1975 2017-04-27 H.J. Lu <hongjiu.lu@intel.com>
1976
1977 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Remove
1978 has_bnd_reloc.
1979 (elf_x86_64_link_hash_newfunc): Don't clear has_bnd_reloc.
1980 (elf_x86_64_copy_indirect_symbol): Don't copy has_bnd_reloc.
1981 (elf_x86_64_check_relocs): Don't set has_bnd_reloc.
1982 (elf_x86_64_finish_dynamic_symbol): Check bndplt instead of
1983 has_bnd_reloc.
1984
1985 2017-04-27 H.J. Lu <hongjiu.lu@intel.com>
1986
1987 * elf-bfd.h (elf_backend_data): Change setup_gnu_properties
1988 to return bfd *.
1989 (_bfd_elf_link_setup_gnu_properties): Return bfd *.
1990 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Return
1991 the first relocatable ELF input with GNU properties.
1992
1993 2017-04-27 H.J. Lu <hongjiu.lu@intel.com>
1994
1995 * elf32-i386.c (elf_i386_finish_dynamic_sections): Simplify
1996 VxWorks for non-PIC.
1997
1998 2017-04-27 Alan Modra <amodra@gmail.com>
1999
2000 * elf-bfd.h (struct elf_backend_data): Make asection param of
2001 elf_backend_eh_frame_address_size const.
2002 (_bfd_elf_eh_frame_address_size): Likewise.
2003 * elf32-m32c.c (_bfd_m32c_elf_eh_frame_address_size): Likewise.
2004 * elf32-msp430.c (elf32_msp430_eh_frame_address_size): Likewise.
2005 * elfxx-mips.c (_bfd_mips_elf_eh_frame_address_size): Likewise.
2006 * elfxx-mips.h (_bfd_mips_elf_eh_frame_address_size): Likewise.
2007 * elf-eh-frame.c (_bfd_elf_eh_frame_address_size): Likewise.
2008 (next_cie_fde_offset): Constify params.
2009 (offset_adjust, adjust_eh_frame_local_symbols): Likewise.
2010
2011 2017-04-27 Alan Modra <amodra@gmail.com>
2012
2013 * elf-bfd.h (struct eh_cie_fde): Add aug_str_len and aug_data_len.
2014 (_bfd_elf_adjust_eh_frame_global_symbol): Declare.
2015 * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Set aug_str_len and
2016 aug_data_len.
2017 (offset_adjust): New function.
2018 (_bfd_elf_adjust_eh_frame_global_symbol): Likewise.
2019 (adjust_eh_frame_local_symbols): Likewise.
2020 (_bfd_elf_discard_section_eh_frame): Call adjust_eh_frame_local_symbols
2021 after changing anything. Return true if anything changed.
2022 * elflink.c (bfd_elf_discard_info): If .eh_frame changed, call
2023 _bfd_elf_adjust_eh_frame_global_symbol for globals.
2024
2025 2017-04-27 Alan Modra <amodra@gmail.com>
2026
2027 * elflink.c (_bfd_elf_link_hash_hide_symbol): Clear dynstr_index
2028 when force_local.
2029
2030 2017-04-27 Alan Modra <amodra@gmail.com>
2031
2032 * elf32-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
2033 (ppc_elf_select_plt_layout, ppc_elf_tls_setup): Use it.
2034 (ppc_elf_adjust_dynamic_symbol, allocate_dynrelocs): Likewise.
2035 (ppc_elf_relocate_section): Likewise. Delete silly optimisation
2036 for undef and undefweak dyn_relocs.
2037 * elf64-ppc.c (UNDEFWEAK_NO_DYNAMIC_RELOC): Define.
2038 (ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup): Use it.
2039 (allocate_got, allocate_dynrelocs): Likewise.
2040 (ppc64_elf_relocate_section): Likewise.
2041
2042 2017-04-26 H.J. Lu <hongjiu.lu@intel.com>
2043
2044 * elf32-i386.c (elf_i386_size_dynamic_sections): Alwasys add
2045 DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rel.plt section.
2046 * elf64-x86-64.c (elf_x86_64_size_dynamic_sections): Alwasys
2047 add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL for .rela.plt section.
2048
2049 2017-04-26 Nick Clifton <nickc@redhat.com>
2050
2051 PR binutils/21434
2052 * reloc.c (bfd_perform_relocation): Check for a negative address
2053 in the reloc.
2054
2055 2017-04-26 Maciej W. Rozycki <macro@imgtec.com>
2056
2057 PR ld/21334
2058 * elf-bfd.h (elf_backend_data): Add `always_renumber_dynsyms'
2059 member.
2060 * elfxx-target.h [!elf_backend_always_renumber_dynsyms]
2061 (elf_backend_always_renumber_dynsyms): Define.
2062 (elfNN_bed): Initialize `always_renumber_dynsyms' member.
2063 * elfxx-mips.h (elf_backend_always_renumber_dynsyms): Define.
2064 * elflink.c (bfd_elf_size_dynamic_sections): Also call
2065 `_bfd_elf_link_renumber_dynsyms' if the backend has requested
2066 it.
2067 (bfd_elf_size_dynsym_hash_dynstr): Likewise.
2068
2069 2017-04-26 Maciej W. Rozycki <macro@imgtec.com>
2070
2071 * elflink.c (bfd_elf_size_dynamic_sections): Only call
2072 `_bfd_elf_link_renumber_dynsyms' after section GC if dynamic
2073 sections have been created.
2074
2075 2017-04-26 Nick Clifton <nickc@redhat.com>
2076
2077 PR binutils/21431
2078 * compress.c (bfd_init_section_compress_status): Check the return
2079 value from bfd_malloc.
2080
2081 2017-04-24 H.J. Lu <hongjiu.lu@intel.com>
2082
2083 * elf64-x86-64.c (elf_x86_64_link_hash_entry): Add
2084 no_finish_dynamic_symbol.
2085 (elf_x86_64_link_hash_newfunc): Set no_finish_dynamic_symbol to
2086 0.
2087 (elf_x86_64_allocate_dynrelocs): If a symbol isn't undefined
2088 weak symbol, don't make it dynamic.
2089 (elf_x86_64_relocate_section): If a symbol isn't dynamic in PIC,
2090 set no_finish_dynamic_symbol and generate R_X86_64_RELATIVE
2091 relocation for GOT reference.
2092 (elf_x86_64_finish_dynamic_symbol): Abort if
2093 no_finish_dynamic_symbol isn't 0.
2094
2095 2017-04-24 H.J. Lu <hongjiu.lu@intel.com>
2096
2097 PR ld/21402
2098 * elf32-i386.c (elf_i386_allocate_dynrelocs): If a symbol isn't
2099 undefined weak symbol, don't make it dynamic.
2100 (elf_i386_relocate_section): If a symbol isn't dynamic in PIC,
2101 set no_finish_dynamic_symbol and generate R_386_RELATIVE
2102 relocation for R_386_GOT32.
2103
2104 2017-04-24 H.J. Lu <hongjiu.lu@intel.com>
2105
2106 PR ld/21425
2107 * elf32-i386.c (ELF_MAXPAGESIZE): Set to 0x1000 for VxWorks.
2108
2109 2017-04-23 Alan Modra <amodra@gmail.com>
2110
2111 PR 21414
2112 * section.c (GLOBAL_SYM_INIT): Make available in bfd.h.
2113 * elf.c (lcomm_sym): New.
2114 (_bfd_elf_large_com_section): Use lcomm_sym section symbol.
2115 * bfd-in2.h: Regenerate.
2116
2117 2017-04-23 Alan Modra <amodra@gmail.com>
2118
2119 PR 21412
2120 * elf-bfd.h (struct elf_backend_data <get_reloc_section>): Change
2121 parameters and comment.
2122 (_bfd_elf_get_reloc_section): Delete.
2123 (_bfd_elf_plt_get_reloc_section): Declare.
2124 * elf.c (_bfd_elf_plt_get_reloc_section, elf_get_reloc_section):
2125 New functions. Don't blindly skip over assumed .rel/.rela prefix.
2126 Extracted from..
2127 (_bfd_elf_get_reloc_section): ..here. Delete.
2128 (assign_section_numbers): Call elf_get_reloc_section.
2129 * elf64-ppc.c (elf_backend_get_reloc_section): Define.
2130 * elfxx-target.h (elf_backend_get_reloc_section): Update.
2131
2132 2017-04-23 Alan Modra <amodra@gmail.com>
2133
2134 PR 21409
2135 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Don't segfault when
2136 no symbols.
2137
2138 2017-04-21 H.J. Lu <hongjiu.lu@intel.com>
2139
2140 PR ld/21402
2141 * elf32-i386.c (elf_i386_link_hash_entry): Add
2142 no_finish_dynamic_symbol.
2143 (elf_i386_link_hash_newfunc): Set no_finish_dynamic_symbol to 0.
2144 (elf_i386_allocate_dynrelocs): If a symbol isn't undefined weak
2145 symbol, don't make it dynamic in PIE.
2146 (elf_i386_relocate_section): If a symbol isn't dynamic in PIE,
2147 set no_finish_dynamic_symbol and generate R_386_RELATIVE
2148 relocation for R_386_GOT32
2149 (elf_i386_finish_dynamic_symbol): Abort if no_finish_dynamic_symbol
2150 isn't 0.
2151
2152 2017-04-21 H.J. Lu <hongjiu.lu@intel.com>
2153
2154 PR ld/19617
2155 PR ld/21086
2156 * elflink.c (elf_link_add_object_symbols): Require
2157 --no-dynamic-linker with -E/--dynamic-list when creating
2158 dynamic sections.
2159
2160 2017-04-20 Maciej W. Rozycki <macro@imgtec.com>
2161
2162 * elflink.c (_bfd_elf_symbol_refs_local_p): Always return TRUE
2163 if forced local.
2164
2165 2017-04-20 Maciej W. Rozycki <macro@imgtec.com>
2166
2167 * elfxx-mips.c (_bfd_mips_elf_final_link): Reorder comment about
2168 dynamic symbol sorting.
2169
2170 2017-04-20 H.J. Lu <hongjiu.lu@intel.com>
2171
2172 PR ld/21382
2173 * elflink.c (elf_link_add_object_symbols): Preserve
2174 dynamic_ref_after_ir_def when restoring the symbol table for
2175 unneeded dynamic object.
2176
2177 2017-04-19 H.J. Lu <hongjiu.lu@intel.com>
2178
2179 PR ld/21401
2180 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Don't abort
2181 on on undefined IFUNC symbol in the second PLT.
2182
2183 2017-04-19 Wedson Almeida Filho <wedsonaf@gmail.com>
2184
2185 * peXXigen.c (pe_print_reloc): Correct chunk_end.
2186
2187 2017-04-19 Alan Modra <amodra@gmail.com>
2188
2189 * elflink.c (_bfd_elf_adjust_dynamic_symbol): Hide undefweak
2190 or make dynamic for info->dynamic_undefined_weak 0 and 1.
2191 * elf32-ppc.c:Formatting.
2192 (ensure_undefweak_dynamic): Don't make dynamic when
2193 info->dynamic_undefined_weak is zero.
2194 (allocate_dynrelocs): Discard undefweak dyn_relocs for
2195 info->dynamic_undefined_weak. Discard undef dyn_relocs when
2196 not default visibility. Discard undef and undefweak
2197 dyn_relocs earlier.
2198 (ppc_elf_relocate_section): Adjust to suit.
2199 * elf64-ppc.c: Formatting.
2200 (ensure_undefweak_dynamic): Don't make dynamic when
2201 info->dynamic_undefined_weak is zero.
2202 (allocate_dynrelocs): Discard undefweak dyn_relocs for
2203 info->dynamic_undefined_weak. Discard them earlier.
2204
2205 2017-04-17 H.J. Lu <hongjiu.lu@intel.com>
2206
2207 PR ld/21389
2208 * elflink.c (bfd_elf_size_dynamic_sections): Get soname index
2209 before generating the version definition section.
2210
2211 2017-04-17 Alan Modra <amodra@gmail.com>
2212
2213 * elflink.c (_bfd_elf_merge_symbol): Undo dynamic linking
2214 state when a regular object file defines a symbol with
2215 incompatible type to that defined by an earlier shared lib.
2216
2217 2017-04-13 Alan Modra <amodra@gmail.com>
2218
2219 * coffcode.h: Wrap some overly long _bfd_error_handler args.
2220 * elf.c: Likewise.
2221 * elf32-arm.c: Likewise.
2222 * elf32-i386.c: Likewise.
2223 * elf32-mep.c: Likewise.
2224 * elf64-ia64-vms.c: Likewise.
2225 * elf64-x86-64.c: Likewise.
2226 * elflink.c: Likewise.
2227 * elfnn-ia64.c: Likewise.
2228 * elfxx-mips.c: Likewise.
2229
2230 2017-04-13 Alan Modra <amodra@gmail.com>
2231
2232 * aoutx.h: Use %B and %A in error messages throughout file.
2233 * aout-cris.c: Likewise.
2234 * archive.c: Likewise.
2235 * binary.c: Likewise.
2236 * coff-rs6000.c: Likewise.
2237 * coff-tic4x.c: Likewise.
2238 * coffcode.h: Likewise.
2239 * coffgen.c: Likewise.
2240 * cofflink.c: Likewise.
2241 * coffswap.h: Likewise.
2242 * cpu-arm.c: Likewise.
2243 * elf-eh-frame.c: Likewise.
2244 * elf-m10300.c: Likewise.
2245 * elf.c: Likewise.
2246 * elf32-arc.c: Likewise.
2247 * elf32-arm.c: Likewise.
2248 * elf32-bfin.c: Likewise.
2249 * elf32-frv.c: Likewise.
2250 * elf32-iq2000.c: Likewise.
2251 * elf32-m32c.c: Likewise.
2252 * elf32-microblaze.c: Likewise.
2253 * elf32-nds32.c: Likewise.
2254 * elf32-rl78.c: Likewise.
2255 * elf32-rx.c: Likewise.
2256 * elf32-score.c: Likewise.
2257 * elf32-score7.c: Likewise.
2258 * elf32-sh64.c: Likewise.
2259 * elf32-v850.c: Likewise.
2260 * elf32-vax.c: Likewise.
2261 * elf32-visium.c: Likewise.
2262 * elf64-ia64-vms.c: Likewise.
2263 * elf64-mmix.c: Likewise.
2264 * elf64-sh64.c: Likewise.
2265 * elfcode.h: Likewise.
2266 * elfnn-aarch64.c: Likewise.
2267 * elfnn-ia64.c: Likewise.
2268 * elfxx-mips.c: Likewise.
2269 * hpux-core.c: Likewise.
2270 * ieee.c: Likewise.
2271 * ihex.c: Likewise.
2272 * linker.c: Likewise.
2273 * merge.c: Likewise.
2274 * mmo.c: Likewise.
2275 * oasys.c: Likewise.
2276 * pdp11.c: Likewise.
2277 * peXXigen.c: Likewise.
2278 * rs6000-core.c: Likewise.
2279 * vms-alpha.c: Likewise.
2280 * xcofflink.c: Likewise.
2281
2282 2017-04-13 Alan Modra <amodra@gmail.com>
2283
2284 * bfd.c (PRINT_TYPE): Define.
2285 (_doprnt): New function.
2286 (error_handler_internal): Use _doprnt.
2287 * coff-arm.c: Put %A and %B arguments to _bfd_error_handler
2288 calls in their natural order, throughout file.
2289 * coff-mcore.c: Likewise.
2290 * coff-ppc.c: Likewise.
2291 * coff-tic80.c: Likewise.
2292 * cofflink.c: Likewise.
2293 * elf-s390-common.c: Likewise.
2294 * elf.c: Likewise.
2295 * elf32-arm.c: Likewise.
2296 * elf32-i386.c: Likewise.
2297 * elf32-m32r.c: Likewise.
2298 * elf32-msp430.c: Likewise.
2299 * elf32-spu.c: Likewise.
2300 * elf64-ia64-vms.c: Likewise.
2301 * elf64-sparc.c: Likewise.
2302 * elf64-x86-64.c: Likewise.
2303 * elflink.c: Likewise.
2304 * elfnn-aarch64.c: Likewise.
2305 * elfnn-ia64.c: Likewise.
2306 * elfxx-mips.c: Likewise.
2307
2308 2017-04-13 Alan Modra <amodra@gmail.com>
2309
2310 * elf32-arm.c (arm_type_of_stub): Supply missing args to "long
2311 branch veneers" error. Fix double space and format message.
2312 * elf32-avr.c (avr_add_stub): Do not pass NULL as %B arg.
2313 * elf64-ppc.c (tocsave_find): Supply missing %B arg.
2314
2315 2017-04-13 Alan Modra <amodra@gmail.com>
2316
2317 * bfd-in2.h: Regenerate.
2318
2319 2017-04-11 H.J. Lu <hongjiu.lu@intel.com>
2320
2321 * elf-properties.c (_bfd_elf_parse_gnu_properties): Remove the
2322 extra `\n' in warning/error messages.
2323 * elf32-i386.c (elf_i386_parse_gnu_properties): Likewise.
2324 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
2325
2326 2017-04-11 H.J. Lu <hongjiu.lu@intel.com>
2327
2328 * elf-properties.c (_bfd_elf_parse_gnu_properties): Ignore
2329 processor-specific properties with generic ELF target vector.
2330
2331 2017-04-10 Qing Zhao <qing.zhao@oracle.com>
2332
2333 * elf32-sparc.c (elf_backend_fixup_symbol): New.
2334 * elf64-sparc.c (elf_backend_fixup_symbol): New.
2335 * elfxx-sparc.c (UNDEFINED_WEAK_RESOLVED_TO_ZERO): New.
2336 (_bfd_sparc_elf_link_hash_entry): Add has_got_reloc and
2337 has_non_got_reloc.
2338 (link_hash_newfunc): Initialize has_got_reloc and
2339 has_non_got_reloc.
2340 (_bfd_sparc_elf_size_dynamic_sections): Set interp to .interp
2341 section.
2342 (_bfd_sparc_elf_copy_indirect_symbol): Copy has_got_reloc and
2343 has_non_got_reloc.
2344 (_bfd_sparc_elf_check_relocs): Set has_got_reloc and
2345 has_non_got_reloc.
2346 (_bfd_sparc_elf_fixup_symbol): New function.
2347 (allocate_dynrelocs): Don't allocate space for dynamic
2348 relocations and discard relocations against resolved undefined
2349 weak symbols in executable. Don't make resolved undefined weak
2350 symbols in executable dynamic. Keep dynamic non-GOT/non-PLT
2351 relocation against undefined weak symbols in PIE.
2352 (_bfd_sparc_elf_relocate_section): Don't generate dynamic
2353 relocations against resolved undefined weak symbols in PIE
2354 (_bfd_sparc_elf_finish_dynamic_symbol): Keep PLT/GOT entries
2355 without ynamic PLT/GOT relocations for resolved undefined weak
2356 symbols.
2357 Don't generate dynamic relocation against resolved undefined
2358 weak symbol in executable.
2359 (pie_finish_undefweak_symbol): New function.
2360 (_bfd_sparc_elf_finish_dynamic_sections): Call
2361 pie_finish_undefweak_symbol on all symbols in PIE.
2362 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Add interp.
2363 (_bfd_sparc_elf_fixup_symbol): New function.
2364
2365 2017-04-10 Nick Clifton <nickc@redhat.com>
2366
2367 * config.bfd: Remove ns32k from obsolete list.
2368
2369 2017-04-10 Alan Modra <amodra@gmail.com>
2370
2371 PR 21287
2372 * elf.c (special_sections_f): Match .fini_array and .fini_array.*.
2373 (special_sections_i): Likewise for .init_array.
2374 (special_sections_p): Likewise for .preinit_array.
2375
2376 2017-04-07 H.J. Lu <hongjiu.lu@intel.com>
2377
2378 PR ld/19579
2379 PR ld/21306
2380 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Check
2381 ELF_COMMON_DEF_P for common symbols.
2382 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
2383 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
2384 * elflink.c (_bfd_elf_merge_symbol): Revert commits
2385 202ac193bbbecc96a4978d1ac3d17148253f9b01 and
2386 07492f668d2173da7a2bda3707ff0985e0f460b6.
2387
2388 2017-04-07 Pedro Alves <palves@redhat.com>
2389
2390 * opncls.c (bfd_get_debug_link_info): Rename to...
2391 (bfd_get_debug_link_info_1): ... this. Change type of second
2392 parameter to void pointer. Adjust.
2393 (bfd_get_debug_link_info): Reimplement on top of
2394 bfd_get_debug_link_info_1.
2395 (separate_debug_file_exists, separate_alt_debug_file_exists):
2396 Change type of second parameter to void pointer. Adjust.
2397 (get_func_type, check_func_type): Change type of second parameter
2398 to void pointer.
2399 (find_separate_debug_file): Add 'func_data' parameter. Pass it to
2400 the callback functions instead of passing the address of a local.
2401 (bfd_follow_gnu_debuglink): Pass address of unsigned long local to
2402 find_separate_debug_file.
2403 (get_alt_debug_link_info_shim): Change type of second parameter to
2404 void pointer. Adjust.
2405 (bfd_follow_gnu_debugaltlink): Adjust to pass NULL to
2406 find_separate_debug_file.
2407 (get_build_id_name, bfd_boolean check_build_id_file): Change type
2408 of second parameter to void pointer. Adjust.
2409 (bfd_follow_build_id_debuglink): Pass address of bfd_build_id
2410 pointer local to find_separate_debug_file.
2411
2412 2017-04-07 Tristan Gingold <gingold@gingold-Precision-7510>
2413
2414 * coffgen.c (_bfd_coff_gc_mark_hook): Handle PE weak
2415 external symbols with a definition.
2416 (_bfd_coff_gc_mark_extra_sections): Fix typo.
2417
2418 2017-04-07 Alan Modra <amodra@gmail.com>
2419
2420 * po/SRC-POTFILES.in: Regenerate.
2421
2422 2017-04-05 Alan Modra <amodra@gmail.com>
2423
2424 * elf64-ppc.c (ppc64_elf_gc_sweep_hook): Support ELFv2 PLT
2425 reference counting.
2426
2427 2017-04-02 Jon Turney <jon.turney@dronecode.org.uk>
2428
2429 (_bfd_XXi_swap_aouthdr_out): For clarity, use defines rather than
2430 numbers for DataDirectory entry indicies passed to
2431 add_data_entry().
2432
2433 2017-04-04 H.J. Lu <hongjiu.lu@intel.com>
2434
2435 * elf.c (get_program_header_size): Add a GNU_MBIND segment for
2436 each GNU_MBIND section and align GNU_MBIND section to page size.
2437 (_bfd_elf_map_sections_to_segments): Create a GNU_MBIND
2438 segment for each GNU_MBIND section.
2439 (_bfd_elf_init_private_section_data): Copy sh_info from input
2440 for GNU_MBIND section.
2441
2442 2017-04-03 Palmer Dabbelt <palmer@dabbelt.com>
2443
2444 * elfnn-riscv.c (GP_NAME): Delete.
2445 (riscv_global_pointer_value): Change GP_NAME to RISCV_GP_SYMBOL.
2446 (_bfd_riscv_relax_lui): Likewise.
2447
2448 2017-04-04 Nick Clifton <nickc@redhat.com>
2449
2450 PR binutils/21342
2451 * elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
2452 dereference.
2453 (bfd_elf_final_link): Only initialize the extended symbol index
2454 section if there are extended symbol tables to list.
2455
2456 2017-04-03 H.J. Lu <hongjiu.lu@intel.com>
2457
2458 * Makefile.am (BFD32_BACKENDS): Add elf-properties.lo.
2459 (BFD32_BACKENDS_CFILES): Add elf-properties.c.
2460 * configure.ac (elf): Add elf-properties.lo.
2461 * Makefile.in: Regenerated.
2462 * configure: Likewise.
2463 * elf-bfd.h (elf_property_kind): New.
2464 (elf_property): Likewise.
2465 (elf_property_list): Likewise.
2466 (elf_properties): Likewise.
2467 (_bfd_elf_parse_gnu_properties): Likewise.
2468 (_bfd_elf_get_property): Likewise.
2469 (_bfd_elf_link_setup_gnu_properties): Likewise.
2470 (elf_backend_data): Add parse_gnu_properties, merge_gnu_properties
2471 and setup_gnu_properties.
2472 (elf_obj_tdata): Add properties.
2473 * elf-properties.c: New file.
2474 * elf32-i386.c (elf_i386_parse_gnu_properties): New.
2475 (elf_i386_merge_gnu_properties): Likewise.
2476 (elf_backend_parse_gnu_properties): Likewise.
2477 (elf_backend_merge_gnu_properties): Likewise.
2478 * elf64-x86-64.c (elf_x86_64_parse_gnu_properties): Likewise.
2479 (elf_x86_64_merge_gnu_properties): Likewise.
2480 (elf_backend_parse_gnu_properties): Likewise.
2481 (elf_backend_merge_gnu_properties): Likewise.
2482 * elfxx-target.h (elf_backend_merge_gnu_properties): Likewise.
2483 (elf_backend_parse_gnu_properties): Likewise.
2484 (elf_backend_setup_gnu_properties): Likewise.
2485 (elfNN_bed): Add elf_backend_parse_gnu_properties,
2486 elf_backend_merge_gnu_properties and
2487 elf_backend_setup_gnu_properties.
2488
2489 2017-03-30 Pip Cet <pipcet@gmail.com>
2490
2491 * elf32-wasm32.c: Add relocation code, two relocs.
2492 * reloc.c: Add wasm32 relocations.
2493 * libbfd.h: Regenerate.
2494 * bfd-in2.h: Regenerate.
2495 * bfd/po/bfd.pot: Regenerate.
2496
2497 2017-03-29 Nick Clifton <nickc@redhat.com>
2498
2499 PR binutils/18025
2500 * coff-bfd.h (struct coff_section_data): Add new fields:
2501 saved_bias and bias.
2502 * coffgen.c (coff_find_nearest_line_with_names): Cache the bias
2503 computed for PE binaries.
2504 * dwarf2.c (scan_unit_for_symbols): Only warn once about each
2505 missing abbrev.
2506
2507 2017-03-28 Hans-Peter Nilsson <hp@axis.com>
2508
2509 PR ld/16044
2510 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Adjust BFD_ASSERT
2511 to handle a local symbol with a hash-symbol-entry; without PLT.
2512 Add BFD_ASSERT for an incidental case with GOT entry present.
2513 (cris_elf_check_relocs): Increment PLT refcount only if the symbol
2514 isn't forced-or-set local.
2515
2516 2017-03-27 Pip Cet <pipcet@gmail.com>
2517
2518 * wasm-module.c: New file to support WebAssembly modules.
2519 * wasm-module.h: New file to support WebAssembly modules.
2520 * doc/webassembly.texi: Start documenting wasm-module.c.
2521 * config.bfd: Add wasm_vec.
2522 * targets.c: Likewise.
2523 * configure.ac: Likewise.
2524 * Makefile.am: Add entries for wasm-module.c.
2525 * Makefile.in: Regenerate.
2526 * configure: Regenerate.
2527 * po/SRC-POTFILES.in: Regenerate.
2528
2529 2017-03-27 Pip Cet <pipcet@gmail.com>
2530
2531 * cpu-wasm32.c: New file to support wasm32 architecture.
2532 * elf32-wasm32.c: New file to support wasm32 architecture.
2533 * Makefile.am: Add wasm32 architecture.
2534 * archures.c: Likewise.
2535 * config.bfd: Likewise.
2536 * configure.ac: Likewise.
2537 * targets.c: Likewise.
2538 * Makefile.in: Regenerate.
2539 * bfd-in2.h: Regenerate.
2540 * configure: Regenerate.
2541 * po/SRC-POTFILES.in: Regenerate.
2542
2543 2017-03-20 Alan Modra <amodra@gmail.com>
2544
2545 PR 21266
2546 * elf64-ppc.c (compare_symbols): Stabilize sort.
2547
2548 2017-03-18 Alan Modra <amodra@gmail.com>
2549
2550 * elf64-ppc.c (struct ppc_link_hash_table): Add
2551 local_ifunc_resolver and maybe_local_ifunc_resolver.
2552 (ppc_build_one_stub): Set flags on emitting dynamic
2553 relocation to ifunc.
2554 (ppc64_elf_relocate_section): Likewise.
2555 (ppc64_elf_finish_dynamic_symbol): Likewise.
2556 (ppc64_elf_finish_dynamic_sections): Error on DT_TEXTREL with
2557 local dynamic relocs to ifuncs.
2558 * elf32-ppc.c (struct ppc_elf_link_hash_table): Add
2559 local_ifunc_resolver and maybe_local_ifunc_resolver.
2560 (ppc_elf_relocate_section): Set flag on emitting dynamic
2561 relocation to ifuncs.
2562 (ppc_elf_finish_dynamic_symbol): Likewise.
2563 (ppc_elf_finish_dynamic_sections): Error on DT_TEXTREL with local
2564 dynamic relocs to ifuncs.
2565
2566 2017-03-13 Nick Clifton <nickc@redhat.com>
2567
2568 PR binutils/21202
2569 * reloc.c (BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC): Rename to
2570 BFD_RELOC_AARCH64_TLSDESC_LD64_LO12.
2571 (BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC): Rename to
2572 BFD_RELOC_AARCH64_TLSDESC_ADD_LO12.
2573 * bfd-in2.h: Regenerate.
2574 * libbfd.h: Regenerate.
2575 * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): Update reloc
2576 names.
2577 (IS_AARCH64_TLSDESC_RELOC): Likewise.
2578 (elfNN_aarch64_howto_table): Likewise.
2579 (aarch64_tls_transition_without_check): Likewise.
2580 (aarch64_reloc_got_type): Likewise.
2581 (elfNN_aarch64_final_link_relocate): Likewise.
2582 (elfNN_aarch64_tls_relax): Likewise.
2583 (elfNN_aarch64_relocate_section): Likewise.
2584 (elfNN_aarch64_gc_sweep_hook): Likewise.
2585 (elfNN_aarch64_check_relocs): Likewise.
2586 * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Likewise.
2587 (_bfd_aarch64_elf_resolve_relocation): Likewise.
2588
2589 2017-03-11 Alan Modra <amodra@gmail.com>
2590
2591 * elf32-ppc.c: Remove ATTRIBUTE_UNUSED throughout when function
2592 parameter is in fact used. Whitespace fixes.
2593 * elf64-ppc.c: Likewise.
2594
2595 2017-03-09 Sam Thursfield <sam.thursfield@codethink.co.uk>
2596
2597 * rs6000-core.c (CORE_NEW): Simplify macro when
2598 AIX_CORE_DUMPX_CORE and BFD64 are true to avoid compile warning.
2599
2600 2017-03-07 Alan Modra <amodra@gmail.com>
2601
2602 PR 21224
2603 PR 20519
2604 * elf64-ppc.c (ppc64_elf_relocate_section): Add missing
2605 dyn_relocs check.
2606
2607 2017-03-05 Alan Modra <amodra@gmail.com>
2608
2609 * elf-bfd.h (struct eh_cie_fde): Add u.cie.per_encoding_aligned8.
2610 * elf-eh-frame.c (size_of_output_cie_fde): Don't align here.
2611 (next_cie_fde_offset): New function.
2612 (_bfd_elf_parse_eh_frame): Set u.cie.per_encoding_aligned8.
2613 (_bfd_elf_discard_section_eh_frame): Align zero terminator to
2614 four bytes. Align CIEs to four or eight bytes depending on
2615 per_encoding_aligned8. Align FDEs according to their encoding.
2616 Pad last FDE to output section alignment.
2617 (_bfd_elf_write_section_eh_frame): Adjust to suit. Remove
2618 assertion.
2619 * elf64-ppc.c (glink_eh_frame_cie): Delete padding.
2620 (ppc64_elf_size_stubs): Pad glink eh_frame as per elf-eh-frame.c.
2621 (ppc64_elf_finish_dynamic_sections): Adjust to suit.
2622
2623 2017-03-02 Martin Bickel <binutils@ineranves.de>
2624
2625 PR ld/21212
2626 * elf.c (rewrite_elf_program_header): Do not issue a warning for
2627 empty segments which have a zero filesz, but a non-zero memsz.
2628
2629 2017-03-02 Alan Modra <amodra@gmail.com>
2630
2631 * elf32-ppc.c (ppc_elf_vle_split16): Correct insn mask typo.
2632
2633 2017-02-28 Alan Modra <amodra@gmail.com>
2634
2635 * elf64-ppc.c (ppc64_elf_ha_reloc): Revert last change.
2636 (ppc64_elf_relocate_section): Likewise.
2637
2638 2017-02-28 Alan Modra <amodra@gmail.com>
2639
2640 PR 20995
2641 * elf32-nios2.c (nios2_elf32_relocate_section): Use htab
2642 rather than elf32_nios2_hash_table or elf_hash_table.
2643 (create_got_section): Likewise.
2644 (nios2_elf32_finish_dynamic_symbol): Likewise.
2645 (nios2_elf32_adjust_dynamic_symbol): Likewise.
2646 (nios2_elf32_size_dynamic_sections): Likewise.
2647 (nios2_elf32_check_relocs): Delete dynobj, sgot, and srelgot
2648 vars. Use htab equivalents directly instead. Don't create
2649 all dynamic sections on needing just the GOT. Use a goto
2650 rather than a fall-through with reloc test. Ensure
2651 htab->dynobj is set when making dynamic sreloc section.
2652 (nios2_elf32_finish_dynamic_sections): Delete dynobj, use htab
2653 equivalent directly instead. Don't segfault on looking for
2654 .dynamic when dynamic sections have not been created. Don't
2655 segfault on .got.plt being discarded.
2656 (nios2_elf32_size_dynamic_sections): Delete plt and got vars.
2657 Don't set "relocs" on .rela.plt. Do handle .sbss. Delete
2658 fixme and another not so relevant comment.
2659 (nios2_elf_add_symbol_hook): Delete dynobj var. If not
2660 already set, set hash table dynobj on creating .sbss.
2661
2662 2017-02-28 Alan Modra <amodra@gmail.com>
2663
2664 * reloc.c (BFD_RELOC_PPC_16DX_HA): New.
2665 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_16DX_HA>): New howto.
2666 (ppc64_elf_reloc_type_lookup): Translate new bfd reloc.
2667 (ppc64_elf_ha_reloc): Correct overflow test on REL16DX_HA.
2668 (ppc64_elf_relocate_section): Likewise.
2669 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_16DX_HA>): New howto.
2670 (ppc_elf_reloc_type_lookup): Translate new bfd reloc.
2671 (ppc_elf_check_relocs): Handle R_PPC_16DX_HA to pacify gcc.
2672 * libbfd.h: Regenerate.
2673 * bfd-in2.h: Regenerate.
2674
2675 2017-02-28 Alan Modra <amodra@gmail.com>
2676
2677 * elflink.c (_bfd_elf_create_dynamic_sections): Don't make
2678 dynamic .data.rel.ro read-only.
2679 * elf32-arm.c (elf32_arm_finish_dynamic_symbol): Compare section
2680 rather than section flags when deciding where copy reloc goes.
2681 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Likewise.
2682 * elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Likewise.
2683 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Likewise.
2684 * elf32-metag.c (elf_metag_finish_dynamic_symbol): Likewise.
2685 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Likewise.
2686 * elf32-nios2.c (nios2_elf32_finish_dynamic_symbol): Likewise.
2687 * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Likewise.
2688 * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Likewise.
2689 * elf32-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
2690 * elf32-tic6x.c (elf32_tic6x_finish_dynamic_symbol): Likewise.
2691 * elf32-tilepro.c (tilepro_elf_finish_dynamic_symbol): Likewise.
2692 * elf64-ppc.c (ppc64_elf_finish_dynamic_symbol): Likewise.
2693 * elf64-s390.c (elf_s390_finish_dynamic_symbol): Likewise.
2694 * elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
2695 * elfnn-aarch64.c (elfNN_aarch64_finish_dynamic_symbol): Likewise.
2696 * elfnn-riscv.c (riscv_elf_finish_dynamic_symbol): Likewise.
2697 * elfxx-mips.c (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
2698 * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
2699 * elfxx-tilegx.c (tilegx_elf_finish_dynamic_symbol): Likewise.
2700
2701 2017-02-28 Maciej W. Rozycki <macro@imgtec.com>
2702
2703 * elfxx-mips.c (mips_elf_perform_relocation): Also handle the
2704 `jalr $0, $25' instruction encoding.
2705
2706 2017-02-27 Nick Clifton <nickc@redhat.com>
2707
2708 PR ld/21180
2709 * elf32-microblaze.c (microblaze_elf_finish_dynamic_symbol): Avoid
2710 generating a seg-fault when encountering a symbol that has been
2711 deleted by garbage collection.
2712
2713 2017-02-25 Alan Modra <amodra@gmail.com>
2714
2715 * elf32-arc.c (struct dynamic_sections): Delete.
2716 (enum dyn_section_types): Delete.
2717 (dyn_section_names): Delete.
2718 (arc_create_dynamic_sections): Delete.
2719 (elf_arc_finish_dynamic_sections): Don't call the above. Don't
2720 segfault on discarded .rela.plt section.
2721 (elf_arc_size_dynamic_sections): Formatting. Don't call
2722 arc_create_dynamic_sections. Don't allocate memory for sections
2723 handled by the generic linker. Correct code finding relocs in
2724 read-only sections. Set SEC_EXCLUDE on zero size .got,
2725 .got.plt, and .dynbss sections. Do set .interp for pies.
2726
2727 2017-02-24 Andrew Waterman <andrew@sifive.com>
2728
2729 * elfnn-riscv.c (GP_NAME): New macro.
2730 (riscv_global_pointer_value): Use it.
2731 (_bfd_riscv_relax_lui): If symbol and global pointer are in same
2732 output section, consider only that section's alignment.
2733
2734 2017-02-23 Maciej W. Rozycki <macro@imgtec.com>
2735
2736 * elfxx-mips.h (_bfd_mips_relax_section): Remove prototype.
2737 * elfxx-mips.c (_bfd_mips_relax_section): Remove function.
2738 * elf64-mips.c (bfd_elf64_bfd_relax_section): Remove macro.
2739 * elfn32-mips.c (bfd_elf32_bfd_relax_section): Likewise.
2740
2741 2017-02-23 Maciej W. Rozycki <macro@imgtec.com>
2742
2743 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_JALR>
2744 <R_MICROMIPS_JALR>: Discard relocation if `cross_mode_jump_p'
2745 or misaligned.
2746
2747 2017-02-23 Alan Modra <amodra@gmail.com>
2748
2749 PR 20744
2750 * elf32-ppc.c (ppc_elf_howto_raw): Correct dst_mask on all VLE
2751 16D relocations.
2752 (ppc_elf_vle_split16): Correct field mask and shift for 16D relocs.
2753 (ppc_elf_relocate_section): Correct calculation for VLE SDAREL
2754 relocs.
2755
2756 2017-02-22 Maciej W. Rozycki <macro@imgtec.com>
2757
2758 PR ld/20828
2759 * elflink.c (bfd_elf_size_dynamic_sections): Move symbol version
2760 processing ahead of the call to `elf_gc_sweep_symbol'.
2761
2762 2017-02-22 Nick Clifton <nickc@redhat.com>
2763
2764 PR binutils/21193
2765 * opncls.c (bfd_create_gnu_debuglink_section): Give the newly
2766 created section 4-byte alignment.
2767
2768 2017-02-22 Alan Modra <amodra@gmail.com>
2769
2770 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault
2771 on .got or .plt output section being discarded by script.
2772 * elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise. Move
2773 vxworks splt temp.
2774
2775 2017-02-21 Alan Modra <amodra@gmail.com>
2776
2777 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only emit
2778 DT_RELA, DT_RELASZ, and DT_RELAENT when DT_RELASZ is non-zero.
2779
2780 2017-02-20 Alan Modra <amodra@gmail.com>
2781
2782 PR 21181
2783 * elflink.c (bfd_elf_final_link): Make DT_REL/DT_RELA zero
2784 if DT_RELSZ/DT_RELASZ is zero.
2785
2786 2017-02-17 Nick Clifton <nickc@redhat.com>
2787
2788 * compress.c (bfd_get_full_section_contents): Remember to reduce
2789 compressed size by the sizeof the compression header when
2790 decompressing the contents.
2791
2792 2017-02-17 Pedro Alves <palves@redhat.com>
2793
2794 * srec.c (Chunk): Rename to ...
2795 (_bfd_srec_len): ... this.
2796 (S3Forced): Rename to ...
2797 (_bfd_srec_forceS3): ... this.
2798 * objcopy.c: Adjust all references.
2799
2800 2017-02-17 Pedro Alves <palves@redhat.com>
2801
2802 * archive.c (bsd_write_armap): Rename to ...
2803 (_bfd_bsd_write_armap): ... this.
2804 (coff_write_armap): Rename to ...
2805 (_bfd_coff_write_armap): ... this.
2806 * libbfd-in.h (bsd_write_armap): Rename to ...
2807 (_bfd_bsd_write_armap): ... this.
2808 (coff_write_armap): Rename to ...
2809 (_bfd_coff_write_armap): ... this.
2810 * aout-target.h, aout-tic30.c: Adjust all users.
2811 * libbfd.h: Regenerate.
2812
2813 2017-02-17 Pedro Alves <palves@redhat.com>
2814
2815 * bfd-in.h (bfd_read, bfd_write): Adjust to rename.
2816 (warn_deprecated): Rename to ...
2817 (_bfd_warn_deprecated): ... this.
2818 * libbfd.c (warn_deprecated): Rename to ...
2819 (_bfd_warn_deprecated): ... this.
2820 * bfd-in2.h: Regenerate.
2821
2822 2017-02-17 Pedro Alves <palves@redhat.com>
2823
2824 * bfdio.c (real_ftell): Rename to ...
2825 (_bfd_real_ftell): ... this.
2826 (real_fseek): Rename to ...
2827 (_bfd_real_fseek): ... this.
2828 (real_fopen): Rename to ...
2829 (_bfd_real_fopen): ... this.
2830 * libbfd-in.h (real_ftell): Rename to ...
2831 (_bfd_real_ftell): ... this.
2832 (real_fseek): Rename to ...
2833 (_bfd_real_fseek): ... this.
2834 (real_fopen): Rename to ...
2835 (_bfd_real_fopen): ... this.
2836 * cache.c, dwarf2.c, opncls.c: Adjust all callers.
2837 * libbfd.h: Regenerate.
2838
2839 2017-02-17 Pedro Alves <palves@redhat.com>
2840
2841 * dwarf2.c, elf-attrs.c, elf32-nds32.c: Adjust all callers.
2842 * libbfd.c (read_unsigned_leb128): Rename to ...
2843 (_bfd_read_unsigned_leb128): ... this.
2844 (read_signed_leb128): Rename to ...
2845 (_bfd_read_signed_leb128): ... this.
2846 (safe_read_leb128): Rename to ...
2847 (_bfd_safe_read_leb128): ... this.
2848 * libbfd-in.h (read_unsigned_leb128): Rename to ...
2849 (_bfd_read_unsigned_leb128): ... this.
2850 (read_signed_leb128): Rename to ...
2851 (_bfd_read_signed_leb128): ... this.
2852 (safe_read_leb128): Rename to ...
2853 (_bfd_safe_read_leb128): ... this.
2854 * libbfd.h: Renegerate.
2855
2856 2017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
2857
2858 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Perform symbol lookup
2859 before trying to fine matching file and line information.
2860
2861 2017-02-16 Andrew Burgess <andrew.burgess@embecosm.com>
2862
2863 * dwarf2.c (struct dwarf2_debug): Add orig_bfd member.
2864 (_bfd_dwarf2_slurp_debug_info): If stashed debug information does
2865 not match current bfd, then reload debug information. Record bfd
2866 we're loading debug info for in the stash. If we have debug
2867 informatin in the cache then perform section placement before
2868 returning.
2869
2870 2017-02-16 Alan Modra <amodra@gmail.com>
2871
2872 PR 21000
2873 * elf-bfd.h (struct elf_backend_data): Add no_page_alias.
2874 * elfxx-target.h (elf_backend_no_page_alias): Define.
2875 (elfNN_bed): Init new field.
2876 * elf.c (assign_file_positions_for_load_sections): If no_page_alias
2877 ensure PT_LOAD segment starts on a new page.
2878 * elf32-hppa.c (elf_backend_no_page_alias): Define.
2879
2880 2017-02-16 Alan Modra <amodra@gmail.com>
2881
2882 PR 21132
2883 * elf32-hppa.c (allocate_plt_static): Allocate space for relocs
2884 if pic.
2885
2886 2017-02-16 Jiong Wang <jiong.wang@arm.com>
2887
2888 * bfd.c (BFD_FLAGS_SAVED): Add BFD_LINKER_CREATED.
2889 * bfd-in2.h: Regenerated.
2890
2891 2017-02-15 H.J. Lu <hongjiu.lu@intel.com>
2892
2893 PR ld/21168
2894 * elf32-i386.c (elf_i386_relocate_section): Allow
2895 "lea foo@GOT, %reg" in PIC.
2896
2897 2017-02-15 H.J. Lu <hongjiu.lu@intel.com>
2898
2899 PR ld/20244
2900 * elf32-i386.c (elf_i386_relocate_section): Properly get IFUNC
2901 symbol name when reporting R_386_GOT32/R_386_GOT32X relocation
2902 error against local IFUNC symbol without a base register for
2903 PIC.
2904
2905 2017-02-15 Maciej W. Rozycki <macro@imgtec.com>
2906
2907 * elf32-ppc.c (ppc_elf_check_relocs): Use `%H:' rather than
2908 `%P: %H:' with `info->callbacks->einfo'.
2909 (ppc_elf_relocate_section): Likewise.
2910 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
2911 (ppc64_elf_edit_toc): Likewise.
2912 (ppc64_elf_relocate_section): Likewise.
2913
2914 2017-02-14 Alan Modra <amodra@gmail.com>
2915
2916 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Support
2917 --gc-keep-exported, and test versioned field of sym rather than
2918 looking for @ in name.
2919
2920 2017-02-13 Palmer Dabbelt <palmer@dabbelt.com>
2921
2922 * elfnn-riscv.c (riscv_global_pointer_value): Change _gp to
2923 __global_pointer$.
2924
2925 2017-02-13 Nick Clifton <nickc@redhat.com>
2926
2927 PR binutils/21151
2928 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Check for an invalid
2929 unit length field.
2930
2931 2017-02-07 Andrew Waterman <andrew@sifive.com>
2932
2933 * elfnn-riscv.c (riscv_elf_finish_dynamic_sections): Only write PLT
2934 entry size if PLT header is written.
2935
2936 2017-02-06 Sheldon Lobo <sheldon.lobo@oracle.com>
2937
2938 Fix sparc64 dynamic relocation processing to use the dynamic
2939 symbol count.
2940 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Use 'dynamic'
2941 to determine if bfd_get_symcount() or bfd_get_dynamic_symcount()
2942 should be used.
2943
2944 2017-02-03 Nick Clifton <nickc@redhat.com>
2945
2946 PR 21096
2947 * coffcode.h (coff_write_object_contents): Enlarge size of
2948 s_name_buf in order to avoid compile time warning about possible
2949 integer truncation.
2950 * elf32-nds32.c (nds32_elf_ex9_import_table): Mask off lower
2951 32-bits of insn value before printing into buffer.
2952
2953 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
2954
2955 * elfxx-mips.c (mips_elf_hash_sort_data): Add
2956 `max_local_dynindx'.
2957 (mips_elf_sort_hash_table): Handle it.
2958 (mips_elf_sort_hash_table_f) <GGA_NONE>: For forced local
2959 symbols bump up `max_local_dynindx' rather than
2960 `max_non_got_dynindx'.
2961
2962 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
2963
2964 * elfxx-mips.c (mips_elf_hash_sort_data): Convert the
2965 `min_got_dynindx', `max_unref_got_dynindx' and
2966 `max_non_got_dynindx' members to the `bfd_size_type' data type.
2967 (mips_elf_sort_hash_table): Adjust accordingly.
2968
2969 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
2970
2971 * elfxx-mips.c (mips_elf_sort_hash_table): Use `htab' throughout
2972 to access the hash table.
2973
2974 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
2975
2976 * elfxx-mips.c (mips_elf_sort_hash_table): Move assertion on
2977 non-NULL `htab' to the beginning.
2978
2979 2017-02-02 Maciej W. Rozycki <macro@imgtec.com>
2980
2981 * elflink.c (elf_gc_sweep): Wrap overlong line.
2982
2983 2017-01-30 Maciej W. Rozycki <macro@imgtec.com>
2984
2985 * elfxx-mips.h (_bfd_mips_elf_insn32): Rename prototype to...
2986 (_bfd_mips_elf_linker_flags): ... this. Add another parameter.
2987 * elfxx-mips.c (mips_elf_link_hash_table): Add
2988 `ignore_branch_isa' member.
2989 (mips_elf_perform_relocation): Do not treat an ISA mode mismatch
2990 in branch relocation calculation as an error if
2991 `ignore_branch_isa' has been set.
2992 (_bfd_mips_elf_insn32): Rename to...
2993 (_bfd_mips_elf_linker_flags): ... this. Rename the `on'
2994 parameter to `insn32' and add an `ignore_branch_isa' parameter.
2995 Handle the new parameter.
2996
2997 2017-01-27 Hans-Peter Nilsson <hp@axis.com>
2998
2999 * elf32-cris.c (elf_cris_finish_dynamic_symbol): Remove now unused
3000 local variable dynobj.
3001
3002 PR ld/20995
3003 * elf32-cris.c (elf_cris_size_dynamic_sections): Handle sdynrelro.
3004 (elf_cris_adjust_dynamic_symbol): Place variables copied into the
3005 executable from read-only sections into sdynrelro.
3006 (elf_cris_finish_dynamic_symbol): Select sreldynrelro for
3007 dynamic relocs in sdynrelro.
3008 (elf_backend_want_dynrelro): Define.
3009
3010 2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
3011
3012 * config.bfd (*-*-rtemsaout*): Mark as removed.
3013
3014 2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
3015
3016 * config.bfd (powerpcle-*-rtems*): Do not mark as removed.
3017 (arm-*-rtems*): Move to (arm*-*-eabi*).
3018 (i[3-7]86-*-rtems*): Move to (i[3-7]86-*-elf*).
3019 (m68-*-rtems*): Move to (m68*-*-elf*).
3020
3021 2017-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
3022
3023 * config.bfd (*-*-rtemscoff*): Mark as removed.
3024
3025 2017-01-24 Maciej W. Rozycki <macro@imgtec.com>
3026
3027 PR ld/20828
3028 * elflink.c (bfd_elf_record_link_assignment): Revert last
3029 change and don't ever clear `forced_local'. Set `mark'
3030 unconditionally.
3031 (elf_gc_sweep_symbol_info, elf_gc_sweep_symbol): Reorder within
3032 file.
3033 (elf_gc_sweep): Move the call to `elf_gc_sweep_symbol'...
3034 (bfd_elf_size_dynamic_sections): ... here.
3035 * elf32-ppc.c (ppc_elf_tls_setup): Don't clear `forced_local'
3036 and set `mark' instead in `__tls_get_addr_opt' processing.
3037 * elf64-ppc.c (ppc64_elf_tls_setup): Likewise.
3038
3039 2017-01-24 Alan Modra <amodra@gmail.com>
3040
3041 * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Merge two cases
3042 where dynamic relocs are preferable. Allow ifunc too.
3043 (ensure_undefweak_dynamic): New function.
3044 (allocate_dynrelocs): Use it here. Move plt handling last and
3045 don't make symbols dynamic, simplifying loop. Only make undef
3046 weak symbols with GOT entries dynamic. Correct condition
3047 for GOT relocs. Handle dynamic relocs on ifuncs. Correct
3048 comments. Remove goto.
3049 (ppc_elf_relocate_section): Correct test for using dynamic
3050 symbol on GOT relocs. Rearrange test for emitting GOT relocs
3051 to suit. Set up explicit tls_index entries and implicit GOT
3052 tls_index entries resolvable at link time for
3053 __tls_get_addr_opt. Simplify test to clear mem for prelink.
3054 * elf64-ppc.c (allocate_got): Correct condition for GOT relocs.
3055 (ensure_undefweak_dynamic): New function.
3056 (allocate_dynrelocs): Use it here. Only make undef weak symbols
3057 with GOT entries dynamic. Remove unnecessary test of
3058 WILL_CALL_FINISH_DYNAMIC_SYMBOL in PLT handling.
3059 (ppc64_elf_relocate_section): Correct test for using dynamic
3060 symbol on GOT relocs. Rearrange test for emitting GOT relocs
3061 to suit. Set up explicit tls_index entries and implicit GOT
3062 tls_index entries resolvable at link time for __tls_get_addr_opt.
3063 Simplify expression to clear mem for prelink.
3064
3065 2017-01-23 Yury Norov <ynorov@caviumnetworks.com>
3066
3067 * elfnn-aarch64.c: Fix relaxations for ILP32 mode.
3068
3069 2017-01-20 Jiong Wang <jiong.wang@arm.com>
3070
3071 * elfnn-aarch64.c (elf_aarch64_hash_symbol): New function.
3072 (elf_backend_hash_symbol): Define.
3073
3074 2017-01-18 Maciej W. Rozycki <macro@imgtec.com>
3075
3076 PR ld/20828
3077 * elflink.c (bfd_elf_record_link_assignment): Clear any
3078 `forced_local' marking for DSO symbols that are not being
3079 provided.
3080
3081 2017-01-17 Kuan-Lin Chen <kuanlinchentw@gmail.com>
3082
3083 * elfnn-riscv.c (riscv_elf_object_p): New function.
3084
3085 2017-01-12 H.J. Lu <hongjiu.lu@intel.com>
3086
3087 PR ld/21038
3088 * elf64-x86-64.c (elf_x86_64_link_hash_table): Add
3089 plt_bnd_eh_frame.
3090 (elf_x86_64_check_relocs): Create .eh_frame section for the
3091 .plt.bnd section.
3092 (elf_x86_64_size_dynamic_sections): Allocate and initialize
3093 .eh_frame section for the .plt.bnd section.
3094 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
3095 for the .plt.bnd section.
3096
3097 2017-01-12 Nick Clifton <nickc@redhat.com>
3098
3099 PR binutils/20876
3100 * opncls.c (find_separate_debug_file): Add include_dirs
3101 parameter. Only include the directory part of the bfd's filename
3102 in search paths if include_dirs is true. Add a couple of extra
3103 locations for looking for debug files.
3104 ( bfd_follow_gnu_debuglink): Update invocation of
3105 find_separate_debug_file.
3106 (bfd_follow_gnu_debugaltlink): Likewise.
3107 (get_build_id): New function: Finds the build-id of the given bfd.
3108 (get_build_id_name): New function: Computes the name of the
3109 separate debug info file for a bfd, based upon its build-id.
3110 (check_build_id_file): New function: Checks to see if a separate
3111 debug info file exists at the given location, and that its
3112 build-id matches that of the original bfd.
3113 (bfd_follow_build_id_debuglink): New function: Finds a separate
3114 debug info file for a given bfd by using the build-id method.
3115 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Try using the build-id
3116 method of locating a separate debug info file before using the
3117 debuglink method.
3118 * bfd-in2.h: Regenerate.
3119
3120 2017-01-11 H.J. Lu <hongjiu.lu@intel.com>
3121
3122 PR ld/21038
3123 * elf64-x86-64.c (elf_x86_64_eh_frame_bnd_plt): New.
3124 (elf_x86_64_bnd_arch_bed): Use elf_x86_64_eh_frame_bnd_plt and
3125 elf_x86_64_eh_frame_plt_got.
3126 (elf_x86_64_size_dynamic_sections): Get unwind info from
3127 elf_x86_64_bnd_arch_bed for the BND PLT.
3128
3129 2017-01-11 Jeremy Soller <jackpot51@gmail.com>
3130
3131 * config.bfd: Add entries for i686-redox and x86_64-redox.
3132
3133 2017-01-10 H.J. Lu <hongjiu.lu@intel.com>
3134
3135 * elf32-i386.c (elf_i386_check_relocs): Align .eh_frame section
3136 to 4 bytes.
3137 * elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Align
3138 .eh_frame section to 4 bytes for x32.
3139 (elf_x86_64_check_relocs): Likewise.
3140
3141 2017-01-10 H.J. Lu <hongjiu.lu@intel.com>
3142
3143 PR ld/20830
3144 * elf32-i386.c (elf_i386_eh_frame_plt_got): New.
3145 (PLT_GOT_FDE_LENGTH): Likewise.
3146 (elf_i386_plt_layout): Add eh_frame_plt_got and
3147 eh_frame_plt_got_size.
3148 (elf_i386_plt): Updated.
3149 (elf_i386_link_hash_table): Add plt_got_eh_frame.
3150 (elf_i386_check_relocs): Create .eh_frame section for .plt.got.
3151 (elf_i386_size_dynamic_sections): Allocate and initialize
3152 .eh_frame section for .plt.got.
3153 (elf_i386_finish_dynamic_sections): Adjust .eh_frame section for
3154 .plt.got.
3155 (elf_i386_nacl_plt): Add FIXME for eh_frame_plt_got and
3156 eh_frame_plt_got_size.
3157 * elf64-x86-64.c (elf_x86_64_eh_frame_plt_got): New.
3158 (PLT_GOT_FDE_LENGTH): Likewise.
3159 (elf_x86_64_backend_data): Add eh_frame_plt_got and
3160 eh_frame_plt_got_size.
3161 (elf_x86_64_arch_bed): Updated.
3162 (elf_x86_64_bnd_arch_bed): Add FIXME for eh_frame_plt_got and
3163 eh_frame_plt_got_size.
3164 (elf_x86_64_nacl_arch_bed): Likewise.
3165 (elf_x86_64_link_hash_table): Add plt_got_eh_frame.
3166 (elf_x86_64_check_relocs): Create .eh_frame section for .plt.got.
3167 (elf_x86_64_size_dynamic_sections): Allocate and initialize
3168 .eh_frame section for .plt.got.
3169 (elf_x86_64_finish_dynamic_sections): Adjust .eh_frame section
3170 for .plt.got.
3171
3172 2017-01-10 H.J. Lu <hongjiu.lu@intel.com>
3173
3174 * elf32-i386.c (elf_i386_size_dynamic_sections): Set
3175 plt_eh_frame->size to eh_frame_plt_size and use eh_frame_plt.
3176
3177 2017-01-09 Nick Clifton <nickc@redhat.com>
3178
3179 * dwarf2.c (lookup_address_in_function_table): Return early if
3180 there are no functions in the given comp unit, or if the high
3181 address of the last function in the comp unit is less than the
3182 desired address.
3183
3184 2017-01-09 Nick Clifton <nickc@redhat.com>
3185
3186 PR binutils/21013
3187 * coffgen.c (_bfd_coff_get_external_symbols): Generate an error
3188 message if there are too many symbols to load.
3189
3190 2017-01-04 James Clarke <jrtc27@jrtc27.com>
3191
3192 * elf64-alpha.c (elf64_alpha_relax_opt_call): Don't set tsec_free
3193 if relocs are cached.
3194
3195 2017-01-03 Rich Felker <bugdal@aerifal.cx>
3196
3197 PR ld/21017
3198 * elf32-microblaze.c (microblaze_elf_check_relocs): Add an entry
3199 for R_MICROBLAZE_GOTOFF_64.
3200
3201 2017-01-03 Nick Clifton <nickc@redhat.com>
3202
3203 * mach-o.c (bfd_mach_o_lookup_uuid_command): Fix compile time
3204 warning about using a possibly uninitialised variable.
3205
3206 2017-01-02 Alan Modra <amodra@gmail.com>
3207
3208 * elf32-hppa.c (ensure_undef_weak_dynamic): New function.
3209 (allocate_plt_static, allocate_dynrelocs): Use it.
3210
3211 2017-01-02 Alan Modra <amodra@gmail.com>
3212
3213 * elf-hppa.h (elf_hppa_fake_sections): Set SHF_INFO_LINK for
3214 .PARISC.unwind section.
3215
3216 2017-01-02 Alan Modra <amodra@gmail.com>
3217
3218 PR ld/20989
3219 * elfxx-sparc.c (gdop_relative_offset_ok): New function.
3220 (_bfd_sparc_elf_relocate_section): Use it to validate GOT
3221 indirect to GOT pointer relative code edit.
3222
3223 2017-01-02 Alan Modra <amodra@gmail.com>
3224
3225 Update year range in copyright notice of all files.
3226
3227 For older changes see ChangeLog-2016
3228 \f
3229 Copyright (C) 2017 Free Software Foundation, Inc.
3230
3231 Copying and distribution of this file, with or without modification,
3232 are permitted in any medium without royalty provided the copyright
3233 notice and this notice are preserved.
3234
3235 Local Variables:
3236 mode: change-log
3237 left-margin: 8
3238 fill-column: 74
3239 version-control: never
3240 End:
This page took 0.15132 seconds and 3 git commands to generate.