aarch64: Add base support for Armv8-R
[deliverable/binutils-gdb.git] / bfd / ChangeLog
1 2020-09-08 Alex Coplan <alex.coplan@arm.com>
2
3 * archures.c (bfd_mach_aarch64_8R): New.
4 * bfd-in2.h: Regenerate.
5 * cpu-aarch64.c (bfd_aarch64_arch_v8_r): New.
6 (bfd_aarch64_arch_ilp32): Update tail pointer.
7
8 2020-09-08 Alan Modra <amodra@gmail.com>
9
10 PR 13250
11 PR 26580
12 * elflink.c (_bfd_elf_merge_symbol): Make "override" a bfd**.
13 Return oldbfd in override when old common should override new
14 common.
15 (_bfd_elf_add_default_symbol): Adjust to suit.
16 (elf_link_add_object_symbols): Likewise. Pass "override" to
17 _bfd_generic_link_add_one_symbol. Save and restore common u.c.p
18 field for --as-needed shared libraries. Revert pr13250 changes.
19
20 2020-09-08 Nick Clifton <nickc@redhat.com>
21
22 * plugin.c (bfd_plugin_canonicalize_symtab): Handle the case of an
23 unrecognized symbol type in a weak definition.
24
25 2020-09-04 Alan Modra <amodra@gmail.com>
26
27 PR 26574
28 * elfcode.h (elf_object_p): Sanity check section header offset.
29 * elf.c (_bfd_elf_slurp_secondary_reloc_section): Sanity check
30 sh_entsize.
31
32 2020-09-04 Alan Modra <amodra@gmail.com>
33
34 PR 15146
35 PR 26314
36 PR 26530
37 * elflink.c (elf_link_add_object_symbols): Do set def_regular
38 and ref_regular for IR symbols. Don't clear dynsym, allowing
39 IR symbols to load --as-needed shared libraries, but prevent
40 IR symbols from becoming dynamic.
41
42 2020-09-03 Nick Clifton <nickc@redhat.com>
43
44 PR 26521
45 * elf.c (_bfd_elf_write_secondary_reloc_section): Check for
46 secondary reloc sections with a zero sh_entsize field.
47
48 2020-09-03 Nelson Chu <nelson.chu@sifive.com>
49
50 * elfnn-riscv.c (riscv_i_or_e_p): Minor cleanup for warnings/errors.
51 (riscv_merge_std_ext): Likewise.
52 (riscv_merge_arch_attr_info): Likewise.
53 (riscv_merge_attributes): Likewise and fix comment typos.
54
55 2020-09-03 Nelson Chu <nelson.chu@sifive.com>
56
57 * elfnn-riscv.c (riscv_version_mismatch): Change the return type
58 from void to bfd_boolean. Report warnings rather than errors
59 when the ISA versions are mis-matched. Afterwards, remember to
60 update the output ISA versions to the newest ones.
61 (riscv_merge_std_ext): Allow to link objects with different
62 standard ISA versions. Try to add output ISA versions to
63 merged_subsets first.
64 (riscv_merge_multi_letter_ext): Likewise. But for standard additional
65 ISA and non-standard ISA versions.
66
67 2020-09-03 Kito Cheng <kito.cheng@sifive.com>
68
69 * elfnn-riscv.c (riscv_merge_std_ext): Fix to report the correct
70 error message when the versions of extension are mis-matched.
71 * elfxx-riscv.c (riscv_parse_subset): Don't issue the error when
72 the string is empty.
73
74 2020-09-03 Alan Modra <amodra@gmail.com>
75
76 * xcofflink.c (xcoff_get_archive_info): Allocate xcoff_archive_info
77 on the output bfd objalloc memory.
78
79 2020-09-02 Alan Modra <amodra@gmail.com>
80
81 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Correct type
82 of constant shifted left.
83
84 2020-09-02 Alan Modra <amodra@gmail.com>
85
86 * elf32-pru.c (pru_elf32_do_ldi32_relocate): Use an unsigned
87 type for "relocation".
88
89 2020-09-01 Alan Modra <amodra@gmail.com>
90
91 * reloc.c (N_ONES): Handle N=0.
92 * elf32-arm.c (elf32_arm_howto_table_1): Set complain_overflow_dont
93 for R_ARM_TLS_DESCSEQ and R_ARM_THM_TLS_DESCSEQ.
94
95 2020-09-01 Alan Modra <amodra@gmail.com>
96
97 PR 26429
98 * elf32-arm.c (elf32_arm_allocate_local_sym_info): Allocate arrays
99 in descending order of alignment.
100
101 2020-09-01 Alan Modra <amodra@gmail.com>
102
103 PR 26423
104 * elf32-arm.c (calculate_group_reloc_mask): Use 3u in shift.
105
106 2020-08-31 Alan Modra <amodra@gmail.com>
107
108 PR 26493
109 * elfnn-riscv.c (riscv_make_plt_header): Cast PLT_HEADER_SIZE to
110 unsigned when using with RISCV_ITYPE.
111 (_bfd_riscv_relax_call): Use an unsigned foff.
112
113 2020-08-31 Alan Modra <amodra@gmail.com>
114
115 PR 26476
116 PR 26477
117 * elfxx-mips.c (CRINFO_CTYPE, CRINFO_RTYPE, CRINFO_DIST2TO),
118 (CRINFO_RELVADDR): Make unsigned.
119 (mips_elf_nullify_got_load): Use unsigned constant when shifting
120 into sign bit.
121
122 2020-08-31 Alan Modra <amodra@gmail.com>
123
124 PR 26466
125 * mep-relocs.pl (emit_apply): Handle HI16S adjustment. Use "u"
126 variable and rewrite signed overflow check.
127 * elf32-mep.c: Regenerate.
128 (mep_final_link_relocate): Delete "s".
129
130 2020-08-31 Alan Modra <amodra@gmail.com>
131
132 PR 26461
133 * elfxx-ia64.c (ia64_elf_install_value): Make expressions unsigned
134 that might shift values into sign bit.
135
136 2020-08-31 Alan Modra <amodra@gmail.com>
137
138 PR 26445
139 * elf32-csky.c (csky_relocate_contents): Make relocation a bfd_vma,
140 and similarly for variables dealing with overflow.
141
142 2020-08-31 Alan Modra <amodra@gmail.com>
143
144 PR 26442
145 * elf32-crx.c (crx_elf_final_link_relocate): Calculate reloc_bits
146 without undefined behaviour. Tidy excess casts.
147
148 2020-08-31 Alan Modra <amodra@gmail.com>
149
150 * elf-m10300.c (mn10300_elf_relax_delete_bytes): Calculate
151 alignment from reloc addend after reloc type R_MN10300_ALIGN is
152 found.
153
154 2020-08-30 Alan Modra <amodra@gmail.com>
155
156 PR 26435
157 PR 26436
158 * elf32-cr16.c (cr16_elf_final_link_relocate): Calculate reloc_bits
159 without undefined behaviour.
160
161 2020-08-29 Nick Clifton <nickc@redhat.com>
162
163 PR 26520
164 * dwarf2.c (scan_unit_for_symbols): Add member entries to the
165 variable table.
166
167 2020-08-29 Alan Modra <amodra@gmail.com>
168
169 PR 26459
170 * elfnn-ia64.c (get_dyn_sym_info): Don't bsearch or look at last
171 element when count is zero. bfd_realloc when shrinking.
172
173 2020-08-28 Alan Modra <amodra@gmail.com>
174
175 PR 26418
176 * ecofflink.c (bfd_ecoff_write_accumulated_debug): Don't write
177 zero size buffers.
178
179 2020-08-28 Alan Modra <amodra@gmail.com>
180
181 PR 26418
182 * ecofflink.c (WRITE): Really don't write zero size chunks.
183
184 2020-08-28 Tuckker <tuckkern+sourceware@gmail.com>
185
186 PR 26543
187 * linker.c (bfd_generic_define_common_symbol): Force the alignment
188 to 1 if the section has now alignment requirement.
189
190 2020-08-28 Cooper Qu <cooper.qu@linux.alibaba.com>
191
192 * elf32-csky.c (csky_archs): Fix arch names.
193 (csky_find_arch_with_name): New.
194 (elf32_csky_merge_attributes): New.
195 (csky_elf_merge_private_bfd_data): Add process of merge
196 attribute section.
197 (elf32_csky_obj_attrs_arg_type): New.
198 (elf32_csky_obj_attrs_handle_unknown): New.
199 (elf_backend_obj_attrs_vendor): Define.
200 (elf_backend_obj_attrs_section): Define.
201 (elf_backend_obj_attrs_arg_type): Define.
202 (elf_backend_obj_attrs_section_type): Define.
203
204 2020-08-28 Nick Clifton <nickc@redhat.com>
205
206 PR19011
207 * cofflink.c (_bfd_coff_generic_relocate_section): Provide a value
208 for undefined symbols which will not generate extra warning
209 messages about truncated relocs.
210
211 2020-08-28 Nelson Chu <nelson.chu@sifive.com>
212
213 * elfnn-riscv.c (riscv_elf_check_relocs): Treat R_RISCV_CALL
214 and R_RISCV_CALL_PLT as the same in the riscv_elf_check_relocs.
215 (riscv_elf_relocate_section): Remove the R_RISCV_CALL for the
216 unresolved reloc checks.
217
218 2020-08-27 John David Anglin <danglin@gcc.gnu.org>
219
220 PR 26356
221 * som.c (som_bfd_copy_private_section_data): Issue error when a
222 subspace is specified without its containing space.
223
224 2020-08-27 Alan Modra <amodra@gmail.com>
225
226 PR 26469
227 * elflink.c: Include limits.h.
228 (CHAR_BIT): Provide fallback define.
229 (set_symbol_value): Correct complex reloc comment.
230 (undefined_reference): Set bfd_error.
231 (BINARY_OP_HEAD, BINARY_OP_TAIL): Split out from..
232 (BINARY_OP): ..this.
233 (eval_symbol): Limit shifts. Force unsigned for left shift.
234 Catch divide by zero.
235 * configure.ac (AC_CHECK_HEADERS): Combine, sort and add limits.h.
236 * configure: Regenerate.
237 * config.in: Regenerate.
238
239 2020-08-27 Alan Modra <amodra@gmail.com>
240
241 PR 26462
242 * reloc.c (bfd_check_overflow): Return early if zero bitsize.
243
244 2020-08-27 Alan Modra <amodra@gmail.com>
245
246 * elf32-arm.c (elf32_arm_final_link_relocate): Don't segfault
247 on sym_sec not being output.
248
249 2020-08-27 Alan Modra <amodra@gmail.com>
250
251 PR 26416
252 * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Correct "dynamic".
253
254 2020-08-26 Nick Clifton <nickc@redhat.com>
255
256 PR 26433
257 * elf32-avr.c (avr_final_link_relocate): Fix undefined shift
258 behaviour.
259 (avr_elf32_load_records_from_section): Use bfd_get_16 and
260 bfd_get_32 to load values from potentially unaligned pointers.
261
262 PR 26416
263 * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Test for and
264 ignore local symbols.
265 (elf64_alpha_relax_got_load): Do not check for local dynamic
266 symbols.
267 (OP_LDA, OP_LDAH, OP_LDQ, OP_BR, OP_BSR): Use unsigned constant
268 values.
269 (INSN_A) Cast the A parameter to unsigned.
270 (INSN_AB): Define in terms of INSN_A.
271 (INSN_ABC): Likewise.
272 (INSN_ABO): Likewise.
273 (INSN_AD): Likewise.
274
275 PR 26411
276 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Use an
277 unsigned long constant when creating a mask to test for alignment
278 issues.
279
280 2020-08-26 Alan Modra <amodra@gmail.com>
281
282 PR 26507
283 * elf32-xtensa.c (find_removed_literal): Don't bsearch empty map.
284
285 2020-08-26 Alan Modra <amodra@gmail.com>
286
287 PR 26506
288 * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Return early
289 when section is empty.
290
291 2020-08-26 Alan Modra <amodra@gmail.com>
292
293 PR 26498
294 * elf32-spu.c (find_function_stack_adjust): Use unsigned vars to
295 avoid UB left shift.
296
297 2020-08-26 Alan Modra <amodra@gmail.com>
298
299 PR 26484
300 PR 26485
301 PR 26486
302 PR 26487
303 PR 26488
304 PR 26490
305 * elf64-ppc.c (is_tls_get_addr): Avoid UB &h->elf when h is NULL.
306 (ppc64_elf_tls_setup): Likewise.
307 (branch_reloc_hash_match): Likewise.
308 (build_plt_stub): Likewise.
309 (ppc64_elf_relocate_section): Likewise.
310
311 2020-08-26 Alan Modra <amodra@gmail.com>
312
313 PR 26478
314 * mmo.c (mmo_write_symbols_and_terminator): Don't memcpy empty table.
315
316 2020-08-26 Alan Modra <amodra@gmail.com>
317
318 PR 26475
319 * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Check
320 sstubs->contents != NULL.
321
322 2020-08-26 Alan Modra <amodra@gmail.com>
323
324 PR 26453
325 * som.c (som_prep_for_fixups): Return early when no symbols.
326
327 2020-08-26 Alan Modra <amodra@gmail.com>
328
329 PR 26418
330 * ecofflink.c (WRITE): Don't write size 0 chunks.
331
332 2020-08-26 Alan Modra <amodra@gmail.com>
333
334 * bfdio.c (bfd_get_file_size): Don't segv on NULL adata.
335
336 2020-08-26 Alan Modra <amodra@gmail.com>
337
338 PR 26415
339 * vms-misc.c (vms_time_t_to_vms_time): Don't use unsigned short vars.
340
341 2020-08-26 David Faust <david.faust@oracle.com>
342
343 * archures.c (bfd_mach_xbpf): Define.
344 * bfd-in2.h: Regenerate.
345 * cpu-bpf.c (bfd_xbpf_arch) New.
346 (bfd_bpf_arch) Update next in list field to point to xbpf arch.
347
348 2020-08-26 Alan Modra <amodra@gmail.com>
349
350 * archures.c (bfd_mach_ck860): Define.
351
352 2020-08-25 Mark Wielaard <mark@klomp.org>
353
354 * dwarf2.c (struct dwarf2_debug_file): Add dwarf_rnglists_buffer
355 and dwarf_rnglists_size fields.
356 (dwarf_debug_sections): Add debug_rnglists.
357 (dwarf_debug_section_enum): Likewise.
358 (read_debug_rnglists): New function.
359 (read_rangelist): New function to call either read_ranges or
360 read_rnglists. Rename original function to...
361 (read_ranges): ...this.
362 (read_rnglists): New function.
363
364 2020-08-25 Alan Modra <amodra@gmail.com>
365
366 PR 26505
367 * elf32-xstormy16.c (xstormy16_elf_relax_section): Check
368 is_elf_hash_table before accessing elf fields.
369
370 2020-08-25 Alan Modra <amodra@gmail.com>
371
372 PR 26482
373 * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Ignore sections that
374 won't be output.
375
376 2020-08-25 Alan Modra <amodra@gmail.com>
377
378 PR 26463
379 * elf32-m32c.c (m32c_elf_relax_section): Check is_elf_hash_table
380 before accessing elf fields.
381
382 2020-08-25 Alan Modra <amodra@gmail.com>
383
384 PR 26452
385 * som.c (som_compute_checksum): XOR 32-bit words in header,
386 not unsigned long sized words.
387
388 2020-08-25 Alan Modra <amodra@gmail.com>
389
390 PR 26430
391 * elf-nacl.c (nacl_modify_segment_map): Correct alloc size and
392 amount copied for elf_segment_map defined with one element
393 sections array.
394
395 2020-08-25 Alan Modra <amodra@gmail.com>
396
397 PR 26422
398 * elf32-arm.c (elf32_arm_final_link_relocate): Use the appropriate
399 bfd_get_x size function to read addends out of fields. Apply
400 rightshift adjustment too. Don't apply the now unnecessary
401 howto->size shift to branch REL addends. Don't refetch R_ARM_ABS8
402 and R_ARM_ABS16 addends. Don't refetch thumb branch addends.
403 Correct R_ARM_THM_JUMP6 addend.
404
405 2020-08-25 Alan Modra <amodra@gmail.com>
406
407 PR 26419
408 * elf-m10300.c (mn10300_elf_relax_section): Don't attempt access
409 before start of section.
410
411 2020-08-25 Alan Modra <amodra@gmail.com>
412
413 * elf-m10300.c (elf32_mn10300_hash_table): Test is_elf_hash_table
414 before accessing elf_hash_table_id.
415 * elf32-arc.c (elf_arc_hash_table): Likewise.
416 * elf32-arm.c (elf32_arm_hash_table): Likewise.
417 * elf32-avr.c (avr_link_hash_table): Likewise.
418 * elf32-bfin.c (bfinfdpic_hash_table): Likewise.
419 * elf32-cris.c (elf_cris_hash_table): Likewise.
420 * elf32-csky.c (csky_elf_hash_table): Likewise.
421 * elf32-frv.c (frvfdpic_hash_table): Likewise.
422 * elf32-hppa.c (hppa_link_hash_table): Likewise.
423 * elf32-lm32.c (lm32_elf_hash_table): Likewise.
424 * elf32-m32r.c (m32r_elf_hash_table): Likewise.
425 * elf32-m68hc1x.h (m68hc11_elf_hash_table): Likewise.
426 * elf32-m68k.c (elf_m68k_hash_table): Likewise.
427 * elf32-metag.c (metag_link_hash_table): Likewise.
428 * elf32-microblaze.c (elf32_mb_hash_table): Likewise.
429 * elf32-nds32.h (nds32_elf_hash_table): Likewise.
430 * elf32-or1k.c (or1k_elf_hash_table): Likewise.
431 * elf32-s390.c (elf_s390_hash_table): Likewise.
432 * elf32-sh.c (sh_elf_hash_table): Likewise.
433 * elf32-spu.c (spu_hash_table): Likewise.
434 * elf32-tilepro.c (tilepro_elf_hash_table): Likewise.
435 * elf32-xtensa.c (elf_xtensa_hash_table): Likewise.
436 * elf64-alpha.c (alpha_elf_hash_table): Likewise.
437 * elf64-hppa.c (hppa_link_hash_table): Likewise.
438 * elf64-ia64-vms.c (elf64_ia64_hash_table): Likewise.
439 * elf64-s390.c (elf_s390_hash_table): Likewise.
440 * elfnn-ia64.c (elfNN_ia64_hash_table): Likewise.
441 * elfnn-riscv.c (riscv_elf_hash_table): Likewise.
442 * elfxx-mips.c (mips_elf_hash_table): Likewise.
443 * elfxx-sparc.h (_bfd_sparc_elf_hash_table): Likewise.
444 * elfxx-tilegx.c (tilegx_elf_hash_table): Likewise.
445
446 2020-08-21 Jon Turney <jon.turney@dronecode.org.uk>
447
448 * elf.c (elfcore_grok_win32pstatus): Change name_size to unsigned
449 int. Use '%u' format with _bfd_error_handler to render it.
450
451 2020-08-25 Alan Modra <amodra@gmail.com>
452
453 PR 26489
454 * elf64-ppc.c (ppc64_elf_size_stubs): Test code_sec->has_toc_reloc
455 and code_sec->makes_toc_func_call before sec_info[code_sec->id].
456
457 2020-08-25 Alan Modra <amodra@gmail.com>
458
459 PR 26492
460 * elf64-ppc.c (ppc_hash_table): Test is_elf_hash_table before
461 accessing elf_hash_table_id.
462
463 2020-08-25 Alan Modra <amodra@gmail.com>
464
465 PR 26483
466 * elf32-ppc.c (ppc_elf_hash_table): Test is_elf_hash_table before
467 accessing elf_hash_table_id.
468
469 2020-08-24 Mark Wielaard <mark@klomp.org>
470
471 * dwarf2.c (read_attribute_value): Handle DW_FORM_data16.
472 (read_formatted_entries): Likewise. And skip zero entry.
473
474 2020-08-24 Cooper Qu <cooper.qu@linux.alibaba.com>
475
476 * bfd-in2.h (bfd_mach_ck860): New.
477 * cpu-csky.c (arch_info_struct): Add item for CK860.
478
479 2020-08-24 Alan Modra <amodra@gmail.com>
480
481 * elf32-ppc.c (ppc_elf_check_relocs): Set has_tls_reloc for
482 high part tprel16 relocs.
483 (ppc_elf_tls_optimize): Sanity check high part tprel16 relocs.
484 Clear do_tls_opt on odd instructions.
485 (ppc_elf_relocate_section): Move TPREL16_HA/LO optimisation later.
486 Don't sanity check them here.
487 * elf64-ppc.c (ppc64_elf_check_relocs): Set has_tls_reloc for
488 high part tprel16 relocs.
489 (ppc64_elf_tls_optimize): Sanity check high part tprel16 relocs.
490 Clear do_tls_opt on odd instructions.
491 (ppc64_elf_relocate_section): Don't sanity check TPREL16_HA.
492
493 2020-08-23 John David Anglin <danglin@gcc.gnu.org>
494
495 PR binutils/26357
496 * configure.ac: Disable plugins by default on 32-bit hppa*-*-hpux*.
497 * configure: Regenerate.
498
499 2020-08-22 H.J. Lu <hongjiu.lu@intel.com>
500
501 PR ld/26382
502 * elflink.c (elf_link_output_symstrtab): Keep only one '@' for
503 versioned symbols, which are defined in shared objects, in
504 symbol string table.
505
506 2020-08-21 Nick Clifton <nickc@redhat.com>
507
508 * elfnn-aarch64.c (_bfd_aarch64_erratum_835769_scan): Only sort
509 the data map if there are entries in it.
510 (_bfd_aarch64_erratum_843419_scan): Likewise.
511
512 2020-08-21 Jan Beulich <jbeulich@suse.com>
513
514 * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Check
515 last byte of debug dir, not first.
516
517 2020-08-20 Nick Clifton <nickc@redhat.com>
518
519 PR 26428
520 * bfd.c (bfd_update_compression_header): Also set the sh_addralign
521 field in the ELF header of the compressed sections.
522
523 2020-08-20 Nick Clifton <nickc@redhat.com>
524
525 PR 26406
526 * elf-bfd.h (struct bfd_elf_section_data): Add
527 has_secondary_relocs field.
528 * elf.c (_bfd_elf_copy_special_section_fields): Set the
529 has_secondary_relocs field for sections which have associated
530 secondary relocs.
531 * elfcode.h (elf_write_relocs): Only call write_secondary_relocs
532 on sections which have associated secondary relocs.
533
534 2020-08-15 Alan Modra <amodra@gmail.com>
535
536 * elf32-frv.c (elf32_frv_add_symbol_hook): Set SEC_SMALL_DATA on
537 small common section.
538 * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
539 * elf32-microblaze.c (microblaze_elf_add_symbol_hook): Likewise.
540 * elf32-nds32.c (nds32_elf_add_symbol_hook): Likewise.
541 * elf32-nios2.c (nios2_elf_add_symbol_hook): Likewise.
542 * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise.
543 * elf32-score.c (s3_bfd_score_elf_add_symbol_hook): Likewise.
544 * elf32-score7.c (s7_bfd_score_elf_add_symbol_hook): Likewise.
545 * elf32-tic6x.c (elf32_tic6x_add_symbol_hook): Likewise.
546 * elf32-v850.c (v850_elf_check_relocs): Likewise.
547 (v850_elf_add_symbol_hook): Likewise.
548 * elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise.
549 * elf64-ia64-vms.c (elf64_ia64_add_symbol_hook): Likewise.
550 * elfnn-ia64.c (elfNN_ia64_add_symbol_hook): Likewise.
551 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Likewise.
552
553 2020-08-15 Alan Modra <amodra@gmail.com>
554
555 PR 26389
556 * syms.c (bfd_decode_symclass): Choose 'c' for commons only when
557 SEC_SMALL_DATA.
558 * elf32-m32r.c (_bfd_m32r_elf_symbol_processing): Set SEC_SMALL_DATA
559 on small common section.
560 * elf32-score.c (s3_bfd_score_elf_symbol_processing): Likewise.
561 * elf32-score7.c (s7_bfd_score_elf_symbol_processing): Likewise.
562 * elf32-tic6x.c (elf32_tic6x_symbol_processing): Likewise.
563 * elf32-v850.c (v850_elf_symbol_processing): Likewise.
564 * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Likewise.
565 * ecoff.c (ecoff_set_symbol_info, ecoff_link_add_externals): Likewise.
566
567 2020-08-14 Alan Modra <amodra@gmail.com>
568
569 * hash.c (bfd_hash_set_default_size): Use higher_prime_number
570 rather than another copy of primes. Increase maximum default
571 size allowed.
572
573 2020-08-13 Alan Modra <amodra@gmail.com>
574
575 * config.bfd: Obsolete arm*-*-symbianelf*, and ia64*-*-*.
576
577 2020-08-13 Alan Modra <amodra@gmail.com>
578
579 * elf64-ppc.h (struct ppc64_elf_params): Add no_pcrel_opt.
580 * elf64-ppc.c (ppc64_elf_relocate_section): Disable GOT reloc
581 optimizations when --no-toc-optimize. Disable R_PPC64_PCREL_OPT
582 optimization when --no-pcrel-optimize.
583
584 2020-08-13 Alan Modra <amodra@gmail.com>
585
586 PR 26348
587 * bfd.c (struct bfd): Add read_only.
588 * elfcode.h (elf_swap_shdr_in): Test both sh_offset and sh_size.
589 Set read_only on warning.
590 (elf_object_p): Sanity check program header alignment. Set
591 read_only on warning.
592 * bfd-in2.h: Regenerate.
593
594 2020-08-12 Jon Turney <jon.turney@dronecode.org.uk>
595
596 * elf.c (elfcore_grok_win32pstatus): Use unsigned int for
597 win32pstatus note type to avoid signedness comparison warning.
598
599 2020-07-21 Jon Turney <jon.turney@dronecode.org.uk>
600
601 * elf.c (elfcore_grok_win32pstatus): Warn on malformed
602 win32pstatus notes, and return TRUE so we continue rather than
603 stopping as if it was an error.
604
605 2020-07-01 Jon Turney <jon.turney@dronecode.org.uk>
606
607 * elf.c (elfcore_grok_win32pstatus): Handle NOTE_INFO_MODULE64.
608
609 2020-07-11 Jon Turney <jon.turney@dronecode.org.uk>
610
611 * elf.c (elfcore_grok_win32pstatus): Don't apply size constraint
612 for NOTE_INFO_THREAD to all win32pstatus ELF notes, instead apply
613 appropriate size constraint for each win32pstatus note type.
614
615 2020-07-01 Jon Turney <jon.turney@dronecode.org.uk>
616
617 * elf.c (elfcore_grok_win32pstatus): Don't hardcode the size of
618 the Win32 API thread CONTEXT type read from a NOTE_INFO_THREAD
619 win32pstatus note.
620
621 2020-07-11 Jon Turney <jon.turney@dronecode.org.uk>
622
623 * elf.c (NOTE_INFO{_PROCESS,_THREAD,_MODULE}): Define.
624 (elfcore_grok_win32pstatus): Use.
625
626 2020-07-01 Jon Turney <jon.turney@dronecode.org.uk>
627
628 * elf.c (elfcore_grok_win32pstatus): Fix the offset used to read
629 the tid from a win32pstatus NOTE_INFO_THREAD ELF note. Fix
630 offsets used to read NOTE_INFO_PROCESS.
631
632 2020-08-12 Nick Clifton <nickc@redhat.com>
633
634 * po/ru.po: Updated Russian translation.
635 * po/sr.po: Updated Serbian translation.
636
637 2020-08-07 David Faust <david.faust@oracle.com>
638
639 * elf64-bpf.c (bpf_elf_relocate_section): Ensure signed division for
640 DISP16 and DISP32 relocations.
641
642 2020-08-05 David Faust <david.faust@oracle.com>
643
644 * elf64-bpf.c (bpf_elf_generic_reloc): New function.
645 (bpf_elf_howto_table): Use it here.
646 (bpf_elf_relocate_section): Use addends recorded in input_bfd for
647 instruction and data relocations.
648
649 2020-08-03 Alan Modra <amodra@gmail.com>
650
651 * vms-lib.c (vms_traverse_index): Sanity check size remaining
652 before accessing vms_idx or vms_elfidx.
653
654 2020-08-03 Alan Modra <amodra@gmail.com>
655
656 PR 26330
657 * elf.c (_bfd_elf_get_symtab_upper_bound): Sanity check symbol table
658 size against file size. Correct LONG_MAX limit check.
659 (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
660 (_bfd_elf_get_reloc_upper_bound): Don't check file size if writing.
661 (_bfd_elf_get_dynamic_reloc_upper_bound): Likewise.
662 * elf64-x86-64-.c (elf_x86_64_get_synthetic_symtab): Use
663 bfd_malloc_and_get_section.
664
665 2020-07-31 Alan Modra <amodra@gmail.com>
666
667 PR 26314
668 * elflink.c (bfd_elf_link_record_dynamic_symbol): Don't allow
669 IR symbols to become dynamic.
670 (elf_link_add_object_symbols): Don't exclude IR symbols when
671 deciding whether an as-needed shared library is needed.
672
673 2020-07-30 Szabolcs Nagy <szabolcs.nagy@arm.com>
674
675 PR ld/26312
676 * elfnn-aarch64.c (elfNN_aarch64_init_small_plt0_entry): Set sh_entsize
677 to 0.
678 (elfNN_aarch64_finish_dynamic_sections): Remove sh_entsize setting.
679
680 2020-07-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
681
682 * bfd.m4 (BFD_SYS_PROCFS_H): New macro.
683 (BFD_HAVE_SYS_PROCFS_TYPE): Require BFD_SYS_PROCFS_H.
684 Don't define _STRUCTURED_PROC.
685 (BFD_HAVE_SYS_PROCFS_TYPE_MEMBER): Likewise.
686 * elf.c [HAVE_SYS_PROCFS_H] (_STRUCTURED_PROC): Don't define.
687 * configure.ac: Use BFD_SYS_PROCFS_H to check for <sys/procfs.h>.
688 * configure, config.in: Regenerate.
689 * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS.
690 * Makefile.in, doc/Makefile.in: Regenerate.
691
692 2020-07-30 H.J. Lu <hongjiu.lu@intel.com>
693
694 * elf-bfd.h (sym_cache): Moved before elf_link_hash_table.
695 (elf_link_hash_table): Add sym_cache.
696 * elf32-arm.c (elf32_arm_link_hash_table): Remove sym_cache.
697 (elf32_arm_check_relocs): Updated.
698 (elf32_arm_size_dynamic_sections): Likewise.
699 * elf32-bfin.c (bfin_link_hash_table): Removed.
700 (bfin_link_hash_newfunc): Updated.
701 (bfin_hash_table): Removed.
702 * elf32-csky.c (csky_elf_link_hash_table): Remove sym_cache.
703 (csky_elf_check_relocs): Updated.
704 * elf32-hppa.c (elf32_hppa_link_hash_table): Remove sym_cache.
705 (elf32_hppa_check_relocs): Updated.
706 * elf32-i386.c (elf_i386_tls_transition): Updated.
707 (elf_i386_convert_load_reloc): Likewise.
708 (elf_i386_check_relocs): Likewise.
709 * elf32-m32r.c (elf_m32r_link_hash_table): Removed.
710 (m32r_elf_hash_table): Updated.
711 (m32r_elf_link_hash_table_create): Likewise.
712 (m32r_elf_create_dynamic_sections): Likewise.
713 (m32r_elf_adjust_dynamic_symbol): Likewise.
714 (allocate_dynrelocs): Likewise.
715 (m32r_elf_size_dynamic_sections): Likewise.
716 (m32r_elf_relocate_section): Likewise.
717 (m32r_elf_finish_dynamic_symbol): Likewise.
718 (m32r_elf_check_relocs): Likewise.
719 * elf32-m68hc1x.h (m68hc11_elf_link_hash_table): Remove
720 sym_cache.
721 * elf32-m68k.c (elf_m68k_link_hash_table): Likewise.
722 (elf_m68k_check_relocs): Updated.
723 * elf32-metag.c (elf_metag_link_hash_table): Remove sym_cache.
724 (elf_metag_check_relocs): Updated.
725 * elf32-microblaze.c (elf32_mb_link_hash_table): Remove sym_sec.
726 (microblaze_elf_check_relocs): Updated.
727 * elf32-nds32.c (nds32_elf_link_hash_table_create): Likewise.
728 (nds32_elf_create_dynamic_sections): Likewise.
729 (nds32_elf_adjust_dynamic_symbol): Likewise.
730 (nds32_elf_check_relocs): Likewise.
731 * elf32-nds32.h (elf_nds32_link_hash_table): Remove sdynbss,
732 srelbss and aym_cache.
733 * elf32-nios2.c (elf32_nios2_link_hash_table): Remove sym_cache.
734 (nios2_elf32_check_relocs): Updated.
735 * elf32-or1k.c (elf_or1k_link_hash_table): Remove sym_sec.
736 (or1k_elf_check_relocs): Updated.
737 * elf32-ppc.c (ppc_elf_check_relocs): Remove sym_cache.
738 (ppc_elf_check_relocs): Updated.
739 * elf32-s390.c (elf_s390_link_hash_table): Remove sym_cache.
740 (elf_s390_check_relocs): Updated.
741 (elf_s390_finish_dynamic_sections): Likewise.
742 * elf32-sh.c (elf_sh_link_hash_table): Remove sdynbss, srelbss
743 and aym_cache.
744 (sh_elf_create_dynamic_sections): Updated.
745 (sh_elf_adjust_dynamic_symbol): Likewise.
746 (sh_elf_size_dynamic_sections): Likewise.
747 (sh_elf_check_relocs): Likewise.
748 * elf32-tic6x.c (elf32_tic6x_link_hash_table): Remove sym_cache.
749 (elf32_tic6x_check_relocs): Updated.
750 * elf32-tilepro.c (tilepro_elf_link_hash_table): Removed.
751 (tilepro_elf_hash_table): Updated.
752 (tilepro_elf_link_hash_table_create): Likewise.
753 (tilepro_elf_check_relocs): Likewise.
754 (tilepro_elf_adjust_dynamic_symbol): Likewise.
755 (allocate_dynrelocs): Likewise.
756 (tilepro_elf_size_dynamic_sections): Likewise.
757 (tilepro_elf_relocate_section): Likewise.
758 (tilepro_elf_finish_dynamic_symbol): Likewise.
759 (tilepro_finish_dyn): Likewise.
760 (tilepro_elf_finish_dynamic_sections): Likewise.
761 * elf64-ppc.c (ppc_link_hash_table): Remove sym_cache.
762 (ppc64_elf_before_check_relocs): Updated.
763 (ppc64_elf_check_relocs): Likewise.
764 * elf64-s390.c (elf_s390_link_hash_table): Remove sym_cache.
765 (elf_s390_check_relocs): Updated.
766 (elf_s390_relocate_section): Likewise.
767 (elf_s390_finish_dynamic_sections): Likewise.
768 * elf64-x86-64.c (elf_x86_64_tls_transition): Likewise.
769 (elf_x86_64_check_relocs): Likewise.
770 * elfnn-aarch64.c (elf_aarch64_link_hash_table): Remove
771 sym_cache.
772 (elfNN_aarch64_check_relocs): Updated.
773 * elfnn-riscv.c (riscv_elf_link_hash_table): Remove sym_cache.
774 (riscv_elf_check_relocs): Updated.
775 * elfxx-mips.c (mips_elf_link_hash_table): Remove sym_cache.
776 (mips_elf_resolve_got_page_ref): Updated.
777 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
778 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove
779 sym_cache.
780 * elfxx-tilegx.c (tilegx_elf_link_hash_table): Likewise.
781 (tilegx_elf_check_relocs): Updated.
782 * elfxx-x86.h (elf_x86_link_hash_table): Remove sym_cache.
783
784 2020-07-29 Maciej W. Rozycki <macro@linux-mips.org>
785
786 * elflink.c (bfd_elf_final_link): Give local symbols a name if
787 so requested.
788 * elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): Only
789 return TRUE if making ET_REL output.
790
791 2020-07-29 Maciej W. Rozycki <macro@linux-mips.org>
792
793 * elf-bfd.h (elf_backend_data): Add
794 `elf_backend_elfsym_local_is_section' member.
795 * elfxx-target.h (elf_backend_elfsym_local_is_section): New
796 macro.
797 (elfNN_bed): Add `elf_backend_elfsym_local_is_section' member.
798 * elflink.c (bfd_elf_final_link): Use it to determine whether
799 set the `.symtab' section's `sh_info' value to the index of the
800 first non-local or non-section symbol.
801 * elf32-mips.c (mips_elf32_elfsym_local_is_section): New
802 function.
803 (elf_backend_elfsym_local_is_section): New macro.
804 * elfn32-mips.c (mips_elf_n32_elfsym_local_is_section): New
805 function.
806 (elf_backend_elfsym_local_is_section): New macro.
807
808 2020-07-29 Alan Modra <amodra@gmail.com>
809
810 * elflink.c (bfd_elf_final_link): Don't segfault on local dynsyms
811 defined in excluded sections.
812
813 2020-07-28 Alan Modra <amodra@gmail.com>
814
815 * elf.c (assign_section_numbers): Comment. Don't segfault on
816 discarded sections when setting linked-to section for generic
817 ELF linker.
818 * elflink.c (bfd_elf_match_symbols_in_sections): Allow NULL info.
819
820 2020-07-27 Alan Modra <amodra@gmail.com>
821
822 * xcofflink.c (xcoff_need_ldrel_p): Accept --just-symbols symbols and
823 similar as absolute.
824 (bfd_xcoff_import_symbol): Don't fuss over absolute symbol
825 redefinitions here.
826
827 2020-07-24 Nick Clifton <nickc@redhat.com>
828
829 * config.bfd: Move xc16x target to the obsolete list.
830
831 2020-07-22 Kevin Buettner <kevinb@redhat.com>
832
833 * binary.c (binary_get_section_contents): Seek using offset
834 from section's file position.
835
836 2020-07-22 Kevin Buettner <kevinb@redhat.com>
837
838 * elf.c (_bfd_elf_make_section_from_phdr): Remove hack for GDB.
839
840 2020-07-22 Max Filippov <jcmvbkbc@gmail.com>
841
842 PR 26246
843 * elf32-xtensa.c (removed_literal_compare): Use correct pointer
844 type for the first function argument. Rename pointers to reflect
845 that they have distinct types.
846
847 2020-07-20 Alan Modra <amodra@gmail.com>
848
849 * elflink.c (_bfd_elf_gc_keep): Use bfd_is_const_section.
850
851 2020-07-19 Alan Modra <amodra@gmail.com>
852
853 * elf64-ppc.c (struct ppc_link_hash_table): Add has_power10_relocs.
854 (select_alt_stub): New function.
855 (ppc_get_stub_entry): Use it here.
856 (ppc64_elf_check_relocs): Set had_power10_relocs rather than
857 power10_stubs.
858 (ppc64_elf_size_stubs): Clear power10_stubs here instead. Don't
859 merge notoc stubs with other varieties when power10_stubs is "auto".
860 Instead dup the stub hash table entry.
861 (plt_stub_size, ppc_build_one_stub, ppc_size_one_stub): Adjust
862 tests of power10_stubs.
863
864 2020-07-15 Alan Modra <amodra@gmail.com>
865
866 PR 26239
867 * coffgen.c (_bfd_coff_close_and_cleanup): Free dwarf2 info.
868
869 2020-07-15 Nick Clifton <nickc@redhat.com>
870
871 PR26240
872 * coffgen.c (coff_get_normalized_symtab): Fix off-by-one error in
873 check for aux entries that overflow the buufer.
874
875 2020-07-15 Hans-Peter Nilsson <hp@bitrange.com>
876
877 * elf64-mmix.c (mmix_elf_relax_section): Improve accounting for
878 R_MMIX_PUSHJ_STUBBABLE relocs against undefined symbols.
879
880 2020-07-15 Markus Böck <markus.boeck02@gmail.com>
881 Alan Modra <amodra@gmail.com>
882
883 PR 26198
884 * coffgen.c (_bfd_coff_section_already_linked): Allow for plugin
885 objects both before and after normal object files.
886 * elflink.c (_bfd_elf_section_already_linked): Likewise.
887
888 2020-07-10 Alan Modra <amodra@gmail.com>
889
890 * elf64-ppc.h (struct ppc64_elf_params): Add power10_stubs.
891 * elf64-ppc.c (struct ppc_link_hash_table): Delete
892 power10_stubs.
893 (ppc64_elf_check_relocs): Adjust setting of power10_stubs.
894 (plt_stub_size, ppc_build_one_stub, ppc_size_one_stub): Adjust
895 uses of power10_stubs.
896
897 2020-07-09 Alan Modra <amodra@gmail.com>
898
899 * coff-ppc.c: Delete.
900 * pe-ppc.c: Delete.
901 * pei-ppc.c: Delete.
902 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Remove PE PPC.
903 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags): Remove
904 PPCMAGIC code.
905 (coff_write_object_contents): Remove PPC_PE code.
906 * config.bfd: Move powerpcle-pe to removed targets.
907 * configure.ac: Remove powerpc PE entries.
908 * libcoff-in.h (ppc_allocate_toc_section): Delete.
909 (ppc_process_before_allocation): Delete.
910 * peXXigen.c: Remove POWERPC_LE_PE code and comments.
911 * targets.c: Remove powerpc PE vectors.
912 * po/SRC-POTFILES.in: Regenerate.
913 * libcoff.h: Regenerate.
914 * Makefile.in: Regenerate.
915 * configure: Regenerate.
916
917 2020-07-09 Nick Clifton <nickc@redhat.com>
918
919 * po/fr.po: Updated French translation.
920
921 2020-07-07 Alan Modra <amodra@gmail.com>
922
923 * xcofflink.c (xcoff_mark): Don't mark const sections.
924 (bfd_xcoff_record_link_assignment): Add FIXME.
925 (_bfd_xcoff_bfd_final_link): Don't segfault on assorted magic
926 sections being discarded by linker script.
927
928 2020-07-07 Alan Modra <amodra@gmail.com>
929
930 * coff-rs6000.c (xcoff_write_archive_contents_old): Set default
931 time, uid, gid and mode for deterministic archive.
932 (xcoff_write_archive_contents_big): Likewise.
933
934 2020-07-07 Alan Modra <amodra@gmail.com>
935
936 * coffcode.h (coff_classify_symbol): Handle C_HIDEXT and
937 C_AIX_WEAKEXT.
938
939 2020-07-06 Nick Clifton <nickc@redhat.com>
940
941 * po/pt.po: Updated Portuguese translation.
942 * po/uk.po: Updated Ukranian translation.
943
944 2020-07-04 Nick Clifton <nickc@redhat.com>
945
946 * version.m4: Set version to 2.35.50.
947 * configure: Regenerate.
948 * po/bbfd.pot: Regenerate.
949
950 2020-07-04 Nick Clifton <nickc@redhat.com>
951
952 Binutils 2.35 branch created.
953
954 2020-07-01 Alan Modra <amodra@gmail.com>
955
956 PR 26188
957 * coffgen.c (coff_find_nearest_line_with_names): Sanity check
958 raw syment index before dereferencing.
959
960 2020-07-01 Alan Modra <amodra@gmail.com>
961
962 * elf32-i386.c (elf_backend_object_p): Undef for vxworks.
963
964 2020-07-01 Alan Modra <amodra@gmail.com>
965
966 * config.bfd: Obsolete xc16x.
967
968 2020-06-30 H.J. Lu <hongjiu.lu@intel.com>
969
970 * archures.c (bfd_mach_i386_nacl): Removed.
971 (bfd_mach_i386_i386_nacl): Likewise.
972 (bfd_mach_x86_64_nacl): Likewise.
973 (bfd_mach_x64_32_nacl): Likewise.
974 * config.bfd: Remove *-*-nacl* targets.
975 * configure.ac: Remove x86 NaCl target vectors.
976 * cpu-i386.c (bfd_arch_i386_onebyte_nop_fill): Removed.
977 (bfd_x64_32_nacl_arch): Likewise.
978 (bfd_x86_64_nacl_arch): Likewise.
979 (bfd_i386_nacl_arch): Likewise.
980 (bfd_x64_32_arch_intel_syntax): Updated.
981 * elf32-i386.c: Don't include "elf-nacl.h".
982 (elf_i386_nacl_plt): Removed.
983 (elf_i386_nacl_plt0_entry): Likewise.
984 (elf_i386_nacl_plt_entry): Likewise.
985 (elf_i386_nacl_pic_plt0_entry): Likewise.
986 (elf_i386_nacl_pic_plt_entry): Likewise.
987 (elf_i386_nacl_eh_frame_plt): Likewise.
988 (elf_i386_nacl_plt): Likewise.
989 (elf32_i386_nacl_elf_object_p): Likewise.
990 (elf_i386_get_synthetic_symtab): Updated.
991 (elf_i386_link_setup_gnu_properties): Likewise.
992 * elf64-x86-64.c: Don't include "elf-nacl.h".
993 (elf_x86_64_nacl_plt): Removed.
994 (elf64_x86_64_nacl_elf_object_p): Likewise.
995 (elf_x86_64_nacl_plt0_entry): Likewise.
996 (elf_x86_64_nacl_plt_entry): Likewise.
997 (elf_x86_64_nacl_eh_frame_plt): Likewise.
998 (elf_x86_64_nacl_plt): Likewise.
999 (elf32_x86_64_nacl_elf_object_p): Likewise.
1000 (elf_x86_64_get_synthetic_symtab): Updated.
1001 (elf_x86_64_link_setup_gnu_properties): Likewise.
1002 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
1003 * targets.c: Remove x86 NaCl target vectors.
1004 * bfd-in2.h: Regenerated.
1005 * configure: Likewise.
1006
1007 2020-06-29 H.J. Lu <hongjiu.lu@intel.com>
1008
1009 * elf32-tic6x.c (elf32_tic6x_size_dynamic_sections): Call
1010 _bfd_elf_add_dynamic_tags.
1011
1012 2020-06-29 Alan Modra <amodra@gmail.com>
1013
1014 * peXXigen.c (_bfd_XXi_slurp_codeview_record): Properly check
1015 return value of bfd_bread. Don't read more than requested length.
1016 Sanity check length. Properly terminate file name.
1017
1018 2020-06-29 Alan Modra <amodra@gmail.com>
1019
1020 * arc-got.h: Use C style comments.
1021 * coff-z80.c: Likewise.
1022 * elf32-csky.c: Likewise.
1023 * peXXigen.c: Likewise.
1024 * elf32-m32c.c (m32c_elf_relax_delete_bytes): Remove commented out
1025 code.
1026
1027 2020-06-26 Pat Bernardi <bernardi@adacore.com>
1028
1029 * elf32-m68k.c (m68k_elf_merge_obj_attributes): New function.
1030 (elf32_m68k_merge_private_bfd_data): Merge GNU attributes.
1031
1032 2020-06-26 Alan Modra <amodra@gmail.com>
1033
1034 * elfxx-riscv.c (struct priv_spec_t, priv_specs),
1035 (riscv_get_priv_spec_class, riscv_get_priv_spec_class_from_numbers),
1036 (riscv_get_priv_spec_name): Move to..
1037 * cpu-riscv.c: ..here.
1038 (riscv_get_priv_spec_class_from_numbers): Don't xmalloc temp buffer.
1039 Use %u to print unsigned numbers.
1040
1041 2020-06-24 Andrew Burgess <andrew.burgess@embecosm.com>
1042
1043 * cpu-riscv.c (riscv_scan): Don't allow shorter matches using the
1044 default architecture.
1045
1046 2020-06-24 H.J. Lu <hongjiu.lu@intel.com>
1047
1048 PR ld/26083
1049 * elf32-csky.c (csky_elf_size_dynamic_sections): Call
1050 _bfd_elf_add_dynamic_tags.
1051
1052 2020-06-24 H.J. Lu <hongjiu.lu@intel.com>
1053
1054 PR ld/26083
1055 * elf32-cris.c (elf_cris_size_dynamic_sections): Call
1056 _bfd_elf_add_dynamic_tags.
1057
1058 2020-06-24 Alan Modra <amodra@gmail.com>
1059
1060 * vms-alpha.c (_bfd_vms_slurp_etir <ETIR__C_OPR_ASH>): Implement
1061 shifts without undefined behaviour.
1062
1063 2020-06-23 H.J. Lu <hongjiu.lu@intel.com>
1064
1065 * elf-bfd.h (elf_link_hash_table): Add dt_pltgot_required and
1066 dt_jmprel_required.
1067 (_bfd_elf_add_dynamic_tags): New.
1068 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Call
1069 _bfd_elf_add_dynamic_tags.
1070 * elf32-arc.c (elf_arc_size_dynamic_sections): Likewise.
1071 * elf32-bfin.c (elf32_bfinfdpic_size_dynamic_sections): Likewise.
1072 * elf32-cr16.c (_bfd_cr16_elf_size_dynamic_sections): Likewise.
1073 * elf32-frv.c (elf32_frvfdpic_size_dynamic_sections): Likewise.
1074 * elf32-lm32.c (lm32_elf_size_dynamic_sections): Likewise.
1075 * elf32-m32r.c (m32r_elf_size_dynamic_sections): Likewise.
1076 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
1077 * elf32-microblaze.c (microblaze_elf_size_dynamic_sections):
1078 Likewise.
1079 * elf32-nds32.c (nds32_elf_size_dynamic_sections): Likewise.
1080 * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Likewise.
1081 * elf32-or1k.c (or1k_elf_size_dynamic_sections): Likewise.
1082 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
1083 * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Likewise.
1084 * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
1085 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
1086 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
1087 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections):
1088 Likewise.
1089 * elfnn-riscv.c (riscv_elf_size_dynamic_sections): Likewise.
1090 * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): Likewise.
1091 * elf32-arm.c (elf32_arm_size_dynamic_sections): Call
1092 _bfd_elf_maybe_vxworks_add_dynamic_tags.
1093 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
1094 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections):
1095 Likewise.
1096 * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Likewise.
1097 (_bfd_x86_elf_size_dynamic_sections): Likewise.
1098 * elfxx-x86.h (elf_x86_link_hash_table): Remove dt_reloc,
1099 dt_reloc_sz and dt_reloc_ent.
1100 * elf-vxworks.c (_bfd_elf_maybe_vxworks_add_dynamic_tags): New.
1101 * elf-vxworks.h (_bfd_elf_maybe_vxworks_add_dynamic_tags):
1102 Likewise.
1103 * elf32-hppa.c (elf32_hppa_link_hash_table_create): Set
1104 etab.dt_pltgot_required.
1105 (elf32_hppa_size_dynamic_sections): Call
1106 _bfd_elf_add_dynamic_tags.
1107 * elf32-metag.c (elf_metag_link_hash_table_create): Set
1108 etab.dt_pltgot_required.
1109 (elf_metag_size_dynamic_sections): Call _bfd_elf_add_dynamic_tags.
1110 * elf32-sh.c (sh_elf_link_hash_table_create): Set
1111 root.dt_pltgot_required for FDPIC output.
1112 (sh_elf_size_dynamic_sections): Call
1113 _bfd_elf_maybe_vxworks_add_dynamic_tags.
1114 * elf32-xtensa.c (elf_xtensa_link_hash_table_create): Set
1115 elf.dt_pltgot_required.
1116 (elf_xtensa_size_dynamic_sections): Call
1117 _bfd_elf_add_dynamic_tags.
1118 * elf64-hppa.c (elf64_hppa_hash_table_create): Set
1119 root.dt_pltgot_required.
1120 (elf64_hppa_size_dynamic_sections): Call
1121 _bfd_elf_add_dynamic_tags.
1122 * elfnn-ia64.c (elfNN_ia64_hash_table_create): Set
1123 root.dt_pltgot_required.
1124 (elfNN_ia64_size_dynamic_sections): Set root.dt_jmprel_required
1125 for rel_pltoff_sec. Call _bfd_elf_add_dynamic_tags.
1126 * elflink.c (_bfd_elf_add_dynamic_tags): New.
1127
1128 2020-06-22 Saagar Jha <saagar@saagarjha.com>
1129
1130 * mach-o.c: Support the new load commands by reading a linkedit
1131 data command for them.
1132
1133 2020-06-22 Nelson Chu <nelson.chu@sifive.com>
1134
1135 * elfxx-riscv.c (struct priv_spec_t priv_specs[]): Move them from
1136 opcodes/riscv-opc.c to bfd/elfxx-riscv.c, since we need it in linker.
1137 (riscv_get_priv_spec_class): Likewise.
1138 (riscv_get_priv_spec_name): Likewise.
1139 (riscv_get_priv_spec_class_from_numbers): New function, convert
1140 the version numbers into string, then call riscv_get_priv_spec_class
1141 to get the priv spec class.
1142 * elfxx-riscv.h (riscv_get_priv_spec_class): Move forward declaration
1143 from include/opcode/riscv.h to bfd/elfxx-riscv.h.
1144 (riscv_get_priv_spec_name): Likewise.
1145 (riscv_get_priv_spec_class_from_numbers): New forward declaration.
1146 (opcode/riscv.h): Include it in the header rather than elfxx-riscv.c.
1147 * elfnn-riscv.c (riscv_merge_attributes): Get the priv spec classes
1148 of input and output objects form their priv spec attributes by
1149 riscv_get_priv_spec_class_from_numbers. Report warning rather than
1150 errors when linking objects with differnet priv spec versions. We do
1151 know v1.9.1 may have conflicts to other versions, so report the
1152 warning, too. After that, update the output priv spec version to the
1153 newest one so far.
1154
1155 2020-06-22 Nelson Chu <nelson.chu@sifive.com>
1156
1157 * elfnn-riscv.c (riscv_merge_attributes): Once we meet one of the
1158 priv attributes, we will check the conflicts for all of them (major,
1159 minor and revision), and then set the priv_attrs_merged to TRUE to
1160 indicate that we have handled all of the priv attributes. Remove
1161 the unused boolean priv_may_conflict, in_priv_zero and out_priv_zero.
1162
1163 2020-06-21 Alan Modra <amodra@gmail.com>
1164
1165 PR 26132
1166 * configure.ac: Disable plugins by default for some targets.
1167 * plugin.c: Comment typo fix.
1168 * configure: Regenerate.
1169
1170 2020-06-19 Nick Clifton <nickc@redhat.com>
1171
1172 * plugin.c (try_load_plugin): Suppress the error message about
1173 being unable to open a plugin if creating a list of viable
1174 plugins.
1175
1176 2020-06-16 Alan Modra <amodra@gmail.com>
1177
1178 * aout-tic30.c: Delete file.
1179 * Makefile.am (BFD32_BACKENDS): Remove aout-tic30.lo.
1180 (BFD32_BACKENDS_CFILES): Remove aout-tic30.c.
1181 * config.bfd (c30-*-*aout*, tic30-*-*aout*): Remove entry.
1182 (xc16x-*-elf): Sort properly.
1183 * configure.ac: Remove tic30_aout_vec.
1184 * targets.c: Likewise.
1185 * Makefile.in: Regenerate.
1186 * configure: Regenerate.
1187 * po/SRC-POTFILES.in: Regenerate.
1188
1189 2020-06-15 Max Filippov <jcmvbkbc@gmail.com>
1190
1191 * elf32-xtensa.c (XSHAL_ABI, XTHAL_ABI_UNDEFINED)
1192 (XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): New macros.
1193 (elf32xtensa_abi): New global variable.
1194 (xtensa_abi_choice): New function.
1195 (elf_xtensa_create_plt_entry): Use xtensa_abi_choice instead of
1196 XSHAL_ABI to select PLT code.
1197
1198 2020-06-15 Roland McGrath <mcgrathr@google.com>
1199
1200 * elflink.c (bfd_elf_define_start_stop): Use start_stop_visibility
1201 field of bfd_link_info.
1202
1203 2020-06-15 Alan Modra <amodra@gmail.com>
1204
1205 * config.bfd: Obsolete powerpcle-*-pe targets.
1206
1207 2020-06-15 Alan Modra <amodra@gmail.com>
1208
1209 PR 26103
1210 * elflink.c (elf_link_add_archive_symbols): Exclude undefined
1211 symbols that were defined in discarded sections.
1212 * cofflink.c (coff_link_check_archive_element): Likewise.
1213 (coff_link_add_symbols): Set indx to -3 for symbols defined in
1214 discarded sections.
1215 (_bfd_coff_write_global_sym): Don't emit such symbols.
1216 libcoff-in.h (struct coff_link_hash_entry): Update indx comment.
1217 libcoff.h: Regenerate.
1218
1219 2020-06-11 Alan Modra <amodra@gmail.com>
1220
1221 PR 26107
1222 * pdp11.c (is_stab): Replace legacy "index" function with "strchr".
1223
1224 2020-06-10 H.J. Lu <hongjiu.lu@intel.com>
1225
1226 * elfnn-ia64.c (elfNN_ia64_link_hash_table): Remove reltext.
1227 (allocate_dynrel_entries): Set DF_TEXTREL instead of reltext.
1228 (elfNN_ia64_size_dynamic_sections): Check DF_TEXTREL instead
1229 of reltext.
1230
1231 2020-06-10 H.J. Lu <hongjiu.lu@intel.com>
1232
1233 PR ld/26094
1234 * elflink.c (bfd_elf_define_start_stop): Handle common symbols.
1235 Clear verinfo.verdef.
1236
1237 2020-06-09 H.J. Lu <hongjiu.lu@intel.com>
1238
1239 PR ld/18801
1240 * elf-bfd.h (elf_link_hash_table): Add ifunc_resolvers.
1241 (_bfd_elf_allocate_ifunc_dyn_relocs): Remove the
1242 bfd_boolean * argument. Set ifunc_resolvers if there are IFUNC
1243 resolvers.
1244 * elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Updated.
1245 Set ifunc_resolvers if there are FUNC resolvers.
1246 * elf64-ppc.c (ppc_link_hash_table): Remove local_ifunc_resolver.
1247 (build_global_entry_stubs_and_plt): Replace local_ifunc_resolver
1248 with elf.ifunc_resolvers.
1249 (write_plt_relocs_for_local_syms): Likewise.
1250 (ppc64_elf_relocate_section): Likewise.
1251 (ppc64_elf_finish_dynamic_sections): Likewise.
1252 * elfnn-aarch64.c (elfNN_aarch64_allocate_ifunc_dynrelocs):
1253 Updated.
1254 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Likewise.
1255 (_bfd_x86_elf_size_dynamic_sections): Check elf.ifunc_resolvers
1256 instead of readonly_dynrelocs_against_ifunc.
1257 * elfxx-x86.h (elf_x86_link_hash_table): Remove
1258 readonly_dynrelocs_against_ifunc.
1259
1260 2020-06-09 Alan Modra <amodra@gmail.com>
1261
1262 * elf64-ppc.c (struct ppc_link_hash_table): Delete
1263 maybe_local_ifunc_resolver field.
1264 (build_global_entry_stubs_and_plt): Set local_ifunc_resolver in
1265 cases where maybe_local_ifunc_resolver was set.
1266 (ppc64_elf_relocate_section): Likewise.
1267 (ppc64_elf_finish_dynamic_sections): Downgrade ifunc with textrel
1268 error to a warning.
1269
1270 2020-06-08 H.J. Lu <hongjiu.lu@intel.com>
1271
1272 * elf-bfd.h (elf_link_hash_entry): Add tlsdesc_plt and
1273 tlsdesc_got.
1274 * elf32-arm.c (elf32_arm_link_hash_table): Remove tlsdesc_plt
1275 and dt_tlsdesc_got.
1276 (elf32_arm_size_dynamic_sections): Updated. Clear
1277 root.tlsdesc_plt for DF_BIND_NOW.
1278 (elf32_arm_finish_dynamic_sections): Updated.
1279 (elf32_arm_output_arch_local_syms): Likewise.
1280 * elf32-nds32.c (nds32_elf_size_dynamic_sections): Updated.
1281 Clear root.tlsdesc_plt for DF_BIND_NOW.
1282 (nds32_elf_finish_dynamic_sections): Updated.
1283 * elf32-nds32.h (elf_nds32_link_hash_table): Remove
1284 dt_tlsdesc_plt and dt_tlsdesc_got.
1285 * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Updated.
1286 * elfnn-aarch64.c (elf_aarch64_link_hash_table): Remove
1287 tlsdesc_plt and dt_tlsdesc_got.
1288 (elfNN_aarch64_allocate_dynrelocs): Updated.
1289 (elfNN_aarch64_finish_dynamic_sections): Likewise.
1290 (elfNN_aarch64_size_dynamic_sections): Updated. Clear
1291 root.tlsdesc_plt for DF_BIND_NOW. Don't check DF_BIND_NOW
1292 twice.
1293 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Updated.
1294 (_bfd_x86_elf_size_dynamic_sections): Likewise.
1295 (_bfd_x86_elf_finish_dynamic_sections): Likewise.
1296 * elfxx-x86.h (elf_x86_link_hash_table): Remove tlsdesc_plt and
1297 tlsdesc_got.
1298
1299 2020-06-07 H.J. Lu <hongjiu.lu@intel.com>
1300
1301 * elf32-tic6x.c (elf32_bed): Defined the default to
1302 elf32_tic6x_bed.
1303
1304 2020-06-07 H.J. Lu <hongjiu.lu@intel.com>
1305
1306 * elf64-hppa.c (elf64_hppa_link_hash_table): Remove plt_sec and
1307 plt_rel_sec.
1308 (elf64_hppa_check_relocs): Replace plt_sec/plt_rel_sec with
1309 root.splt/root.srelplt.
1310 (elf64_hppa_create_dynamic_sections): Likewise.
1311 (elf64_hppa_size_dynamic_sections): Likewise.
1312 (elf64_hppa_finish_dynamic_symbol): Likewise.
1313 (elf_hppa_final_link): Likewise.
1314 (elf_hppa_final_link_relocate): Likewise.
1315
1316 2020-06-06 H.J. Lu <hongjiu.lu@intel.com>
1317
1318 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Updated.
1319 * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove
1320 is_vxworks.
1321
1322 2020-06-06 H.J. Lu <hongjiu.lu@intel.com>
1323
1324 * elf-bfd.h (elf_target_os): New.
1325 (elf_link_hash_table): Add target_os.
1326 (elf_backend_data): Add target_os.
1327 * elf32-arm.c (elf32_arm_link_hash_table): Remove vxworks_p,
1328 symbian_p and nacl_p.
1329 (create_got_section): Updated.
1330 (elf32_arm_create_dynamic_sections): Likewise.
1331 (arm_type_of_stub): Likewise.
1332 (elf32_arm_create_or_find_stub_sec): Likewise.
1333 (elf32_arm_allocate_plt_entry): Likewise.
1334 (elf32_arm_populate_plt_entry): Likewise.
1335 (elf32_arm_final_link_relocate): Likewise.
1336 (elf32_arm_check_relocs): Likewise.
1337 (allocate_dynrelocs_for_symbol): Likewise.
1338 (elf32_arm_finish_dynamic_symbol): Likewise.
1339 (elf32_arm_finish_dynamic_sections): Likewise.
1340 (elf32_arm_output_plt_map_1): Likewise.
1341 (elf32_arm_output_arch_local_syms): Likewise.
1342 (elf32_arm_add_symbol_hook): Likewise.
1343 (elf32_arm_nacl_link_hash_table_create): Likewise.
1344 (elf32_arm_vxworks_link_hash_table_create): Likewise.
1345 (elf32_arm_symbian_link_hash_table_create): Likewise.
1346 (ELF_TARGET_OS): New.
1347 * elf32-i386.c (elf_i386_arch_bed): Removed.
1348 (elf_backend_arch_data): Likewise.
1349 (elf_i386_solaris_arch_bed): Likewise.
1350 (elf_i386_nacl_arch_bed): Likewise.
1351 (elf_i386_vxworks_arch_bed): Likewise.
1352 (elf_i386_relocate_section): Updated.
1353 (elf_i386_finish_dynamic_sections): Likewise.
1354 (elf_i386_get_synthetic_symtab): Likewise.
1355 (elf_i386_link_setup_gnu_properties): Likewise.
1356 (ELF_TARGET_OS): New.
1357 * elf32-mips.c (ELF_TARGET_OS): New.
1358 * elf32-ppc.c (ppc_elf_link_hash_table): Remove is_vxworks.
1359 (ppc_elf_create_got): Updated.
1360 (ppc_elf_create_dynamic_sections): Likewise.
1361 (ppc_elf_check_relocs): Likewise.
1362 (ppc_elf_adjust_dynamic_symbol): Likewise.
1363 (ppc_elf_size_dynamic_sections): Likewise.
1364 (ppc_elf_relocate_section): Likewise.
1365 (ppc_elf_finish_dynamic_sections): Likewise.
1366 (ppc_elf_vxworks_link_hash_table_create): Likewise.
1367 (ELF_TARGET_OS): New.
1368 * elf32-sh.c (elf_sh_link_hash_table): Remove vxworks_p.
1369 (sh_elf_link_hash_table_create): Updated.
1370 (sh_elf_create_dynamic_sections): Likewise.
1371 (allocate_dynrelocs): Likewise.
1372 (sh_elf_size_dynamic_sections): Likewise.
1373 (sh_elf_relocate_section): Likewise.
1374 (sh_elf_finish_dynamic_symbol): Likewise.
1375 (sh_elf_finish_dynamic_sections): Likewise.
1376 (ELF_TARGET_OS): New.
1377 * elf32-sparc.c (elf32_sparc_vxworks_link_hash_table_create):
1378 Removed.
1379 (bfd_elf32_bfd_link_hash_table_create): Likewise.
1380 (ELF_TARGET_OS): New.
1381 * elf64-x86-64.c (elf_x86_64_arch_bed): Removed.
1382 (elf_x86_64_solaris_arch_bed): Likewise.
1383 (elf_x86_64_nacl_arch_bed): Likewise.
1384 (elf_x86_64_finish_dynamic_sections): Updated.
1385 (elf_x86_64_get_synthetic_symtab): Likewise.
1386 (elf_x86_64_link_setup_gnu_properties): Likewise.
1387 (ELF_TARGET_OS): New.
1388 * elflink.c (_bfd_elf_link_hash_table_init): Initialize
1389 target_o.
1390 * elfxx-mips.c (mips_elf_link_hash_table): Remove is_vxworks.
1391 (MIPS_ELF_REL_DYN_NAME): Updated.
1392 (ELF_MIPS_GP_OFFSET): Likewise.
1393 (mips_elf_create_local_got_entry): Likewise.
1394 (mips_elf_allocate_dynamic_relocations): Likewise.
1395 (mips_elf_count_got_symbols): Likewise.
1396 (is_gott_symbol): Likewise.
1397 (mips_elf_calculate_relocation): Likewise.
1398 (mips_elf_create_dynamic_relocation): Likewise.
1399 (_bfd_mips_elf_check_relocs): Likewise.
1400 (allocate_dynrelocs): Likewise.
1401 (_bfd_mips_elf_adjust_dynamic_symbol): Likewise.
1402 (mips_elf_lay_out_got): Likewise.
1403 (mips_elf_set_plt_sym_value): Likewise.
1404 (_bfd_mips_elf_size_dynamic_sections): Likewise.
1405 (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
1406 (_bfd_mips_elf_finish_dynamic_sections): Likewise.
1407 (_bfd_mips_elf_final_link): Likewise.
1408 (_bfd_mips_init_file_header): Likewise.
1409 * elfxx-sparc.c (_bfd_sparc_elf_create_dynamic_sections):
1410 Likewise.
1411 (allocate_dynrelocs): Likewise.
1412 (_bfd_sparc_elf_size_dynamic_sections): Likewise.
1413 (_bfd_sparc_elf_relocate_section): Likewise.
1414 (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.
1415 (sparc_finish_dyn): Likewise.
1416 (_bfd_sparc_elf_finish_dynamic_sections): Likewise.
1417 * elfxx-target.h (ELF_TARGET_OS): New.
1418 (elfNN_bed): Add ELF_TARGET_OS.
1419 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Updated.
1420 (_bfd_x86_elf_link_hash_table_create): Likewise.
1421 (_bfd_x86_elf_size_dynamic_sections): Likewise.
1422 (_bfd_x86_elf_finish_dynamic_sections): Likewise.
1423 (_bfd_x86_elf_adjust_dynamic_symbol): Likewise.
1424 (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
1425 * elfxx-x86.h (elf_x86_target_os): Removed.
1426 (elf_x86_backend_data): Likewise.
1427 (get_elf_x86_backend_data): Likewise.
1428 (elf_x86_link_hash_table): Remove target_os.
1429
1430 2020-06-06 Alan Modra <amodra@gmail.com>
1431
1432 * reloc.c: Rename
1433 BFD_RELOC_PPC64_GOT_TLSGD34 to BFD_RELOC_PPC64_GOT_TLSGD_PCREL34,
1434 BFD_RELOC_PPC64_GOT_TLSLD34 to BFD_RELOC_PPC64_GOT_TLSLD_PCREL34,
1435 BFD_RELOC_PPC64_GOT_TPREL34 to BFD_RELOC_PPC64_GOT_TPREL_PCREL34,
1436 BFD_RELOC_PPC64_GOT_DTPREL34 to BFD_RELOC_PPC64_GOT_DTPREL_PCREL34.
1437 * elf64-ppc.c: Update throughout for reloc renaming.
1438 (ppc64_elf_reloc_name_lookup): Handle old reloc names.
1439 * libbfd.h: Regenerate.
1440 * bfd-in2.h: Regenerate.
1441
1442 2020-06-05 H.J. Lu <hongjiu.lu@intel.com>
1443
1444 PR ld/26080
1445 * elf32-bfin.c (bfinfdpic_relocate_section): Skip non SEC_ALLOC
1446 section.
1447
1448 2020-06-05 Nick Clifton <nickc@redhat.com>
1449
1450 * pdp11.c (aout_link_add_symbols): Fix use before initialisation
1451 bug.
1452
1453 2020-06-05 Nelson Chu <nelson.chu@sifive.com>
1454
1455 * elfnn-riscv.c (riscv_merge_attributes): Add new boolean
1456 priv_may_conflict, in_priv_zero and out_priv_zero to decide
1457 whether the object can be linked according to it's priv
1458 attributes. The object without any priv spec attributes can
1459 be linked with others. If the first input object doesn't contain
1460 any priv attributes, then we need to copy the setting from the
1461 next input one. Also report more detailed error messages to user.
1462
1463 2020-06-04 Stephen Casner <casner@acm.org>
1464
1465 Extend pdp11-aout symbol table format to accommodate .stab
1466 symbols and implement correct handling of them.
1467
1468 * pdp11.c (pdp11_external_nlist): Repurposed e_unused to e_desc.
1469 (N_STAB, is_stab): Needed new function is_stab to disambiguate
1470 normal vs. .stab symbol table type values, replacing N_STAB mask.
1471 (translate_from_native_sym_flags): Determine correct section for
1472 different .stab types.
1473 (translate_to_native_sym_flags): Leave .stab types intact.
1474 (translate_symbol_table): Error if symbol indicates overlay;
1475 store desc field from .stab symbols.
1476 (write_syms): Output desc field with symbol.
1477 (aout_link_check_ar_symbols): Skip .stab symbols.
1478 (aout_link_add_symbols): Correctly distinguish .stab symbols.
1479 (aout_link_write_other_symbol): Write 0 for desk and ovly fields.
1480 (aout_link_write_symbols): Write 0 for desk and ovly fields;
1481 correctly distinguish .stab symbols and select calculate their
1482 section and value; and copy desc and ovly fields from input symbol
1483 to output symbol.
1484
1485 2020-06-04 Stephen Casner <casner@acm.org>
1486
1487 * aoutx.h (translate_symbol_table): Comment had external and
1488 internal swapped.
1489 * pdp11.c (translate_symbol_table): Likewise.
1490
1491 2020-06-04 H.J. Lu <hongjiu.lu@intel.com>
1492
1493 * elfxx-x86.h (elf_x86_link_hash_table): Remove target_id.
1494 (is_x86_elf): Check elf.hash_table_id instead of target_id.
1495 * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Updated.
1496
1497 2020-06-04 H.J. Lu <hongjiu.lu@intel.com>
1498
1499 PR ld/26080
1500 * elf-m10300.c (mn10300_elf_relocate_section): Resolve relocation
1501 in debug section against symbol defined in shared library to 0.
1502 * elf32-i386.c (elf_i386_check_relocs): Remove SEC_ALLOC check.
1503 * elf32-lm32.c (lm32_elf_check_relocs): Likewise.
1504 * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
1505 * elf32-nds32.c (nds32_elf_check_relocs): Likewise.
1506 * elf32-nios2.c (nios2_elf32_check_relocs): Likewise.
1507 * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
1508 * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
1509 * elf32-sh.c (sh_elf_check_relocs): Likewise.
1510 * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
1511 * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
1512 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1513 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1514 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
1515 * elf32-vax.c (elf_vax_check_relocs): Set non_got_ref for non-GOT
1516 reference.
1517 (elf_vax_adjust_dynamic_symbol): Generate a copy reloc only if
1518 there is non-GOT reference.
1519 * elflink.c (_bfd_elf_link_check_relocs): Skip non-loaded,
1520 non-alloced sections.
1521
1522 2020-06-03 Stephen Casner <casner@acm.org>
1523
1524 Copy several years of fixes from bfd/aoutx.h to bfd/pdp11.c.
1525
1526 * pdp11.c (some_aout_object_p): 4c1534c7a2a - Don't set EXEC_P for
1527 files with relocs.
1528 (aout_get_external_symbols): 6b8f0fd579d - Return if count is zero.
1529 0301ce1486b PR 22306 - Handle stringsize of zero, and error for any
1530 other size that doesn't qcover the header word.
1531 bf82069dce1 PR 23056 - Allocate an extra byte at the end of the
1532 string table, and zero it.
1533 (translate_symbol_table): 0d329c0a83a PR 22887 - Print an error
1534 message and set bfd_error on finding an invalid name string offset.
1535 (add_to_stringtab): INLINE -> inline
1536 (pdp11_aout_swap_reloc_in): 116acb2c268 PR 22887 - Correct r_index
1537 bound check.
1538 (squirt_out_relocs): e2996cc315d PR 20921 - Check for and report
1539 any relocs that could not be recognised.
1540 92744f05809 PR 20929 - Check for relocs without an associated symbol.
1541 (find_nearest_line): 808346fcfcf PR 23055 - Check that the symbol
1542 name exists and is long enough, before attempting to see if it is
1543 for a .o file.
1544 c3864421222 - Correct case for N_SO being the last symbol.
1545 50455f1ab29 PR 20891 - Handle the case where the main file name
1546 and the directory name are both empty.
1547 e82ab856bb4 PR 20892 - Handle the case where function name is empty.
1548 (aout_link_add_symbols): e517df3dbf7 PR 19629 - Check for out of
1549 range string table offsets.
1550 531336e3a0b PR 20909 - Fix off-by-one error in check for an
1551 illegal string offset.
1552 (aout_link_includes_newfunc): Add comment.
1553 (pdp11_aout_link_input_section): ad756e3f9e6 - Return with an error
1554 on unexpected relocation type rather than ASSERT.
1555
1556 2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
1557
1558 PR ld/26066
1559 * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Call
1560 _bfd_elf_maybe_set_textrel to set DF_TEXTREL.
1561
1562 2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
1563
1564 PR ld/26066
1565 * elf32-nios2.c (nios2_elf32_check_relocs): Skip non-loaded,
1566 non-alloced sections.
1567
1568 2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
1569
1570 * elf32-frv.c (elf32_frv_relocate_section): Don't generate
1571 dynamic relocations for non SEC_ALLOC sections.
1572
1573 2020-06-03 Gunther Nikl <gnikl@justmail.de>
1574
1575 * aout64.c (BMAGIC, QMAGIC): Do not define.
1576 * aoutx.h (N_IS_BMAGIC, N_SET_QMAGIC): New defines.
1577 (NAME (aout, some_aout_object_p)): Use N_IS_QMAGIC and N_IS_BMAGIC
1578 to check the file format.
1579 (adjust_z_magic): Use N_SET_QMAGIC to set file format.
1580 * i386aout.c (NO_WRITE_HEADER_KLUDGE): Delete define.
1581 * libaout.h (NO_WRITE_HEADER_KLUDGE): Do not define.
1582
1583 2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
1584
1585 * elf32-arc.c (elf_arc_relocate_section): Don't generate dynamic
1586 relocations for non SEC_ALLOC sections.
1587
1588 2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
1589
1590 * elf-bfd.h (_bfd_elf_maybe_set_textrel): New
1591 * elf32-arm.c (maybe_set_textrel): Removed.
1592 (elf32_arm_size_dynamic_sections): Replace maybe_set_textrel
1593 with _bfd_elf_maybe_set_textrel.
1594 * elf32-csky.c (maybe_set_textrel): Removed.
1595 (csky_elf_size_dynamic_sections): Replace maybe_set_textrel
1596 with _bfd_elf_maybe_set_textrel.
1597 * elf32-hppa.c (maybe_set_textrel): Removed.
1598 (elf32_hppa_size_dynamic_sections): Replace maybe_set_textrel
1599 with _bfd_elf_maybe_set_textrel.
1600 * elf32-lm32.c (maybe_set_textrel): Removed.
1601 (lm32_elf_size_dynamic_sections): Replace maybe_set_textrel
1602 with _bfd_elf_maybe_set_textrel.
1603 * elf32-m32r.c (maybe_set_textrel): Removed.
1604 (m32r_elf_size_dynamic_sections): Replace maybe_set_textrel
1605 with _bfd_elf_maybe_set_textrel.
1606 * elf32-metag.c (maybe_set_textrel): Removed.
1607 (elf_metag_size_dynamic_sections): Replace maybe_set_textrel
1608 with _bfd_elf_maybe_set_textrel.
1609 * elf32-nds32.c (maybe_set_textrel): Removed.
1610 (nds32_elf_size_dynamic_sections): Replace maybe_set_textrel
1611 with _bfd_elf_maybe_set_textrel.
1612 * elf32-or1k.c (maybe_set_textrel): Removed.
1613 (or1k_elf_size_dynamic_sections): Replace maybe_set_textrel
1614 with _bfd_elf_maybe_set_textrel.
1615 * elf32-ppc.c (maybe_set_textrel): Removed.
1616 (ppc_elf_size_dynamic_sections): Replace maybe_set_textrel
1617 with _bfd_elf_maybe_set_textrel.
1618 * elf32-s390.c (maybe_set_textrel): Removed.
1619 (elf_s390_size_dynamic_sections): Replace maybe_set_textrel
1620 with _bfd_elf_maybe_set_textrel.
1621 * elf32-sh.c (maybe_set_textrel): Removed.
1622 (sh_elf_size_dynamic_sections): Replace maybe_set_textrel
1623 with _bfd_elf_maybe_set_textrel.
1624 * elf32-tic6x.c (maybe_set_textrel): Removed.
1625 (elf32_tic6x_size_dynamic_sections): Replace maybe_set_textrel
1626 with _bfd_elf_maybe_set_textrel.
1627 * elf32-tilepro.c (maybe_set_textrel): Removed.
1628 (tilepro_elf_size_dynamic_sections): Replace maybe_set_textrel
1629 with _bfd_elf_maybe_set_textrel.
1630 * elf64-ppc.c (maybe_set_textrel): Removed.
1631 (ppc64_elf_size_dynamic_sections): Replace maybe_set_textrel
1632 with _bfd_elf_maybe_set_textrel.
1633 * elf64-s390.c (maybe_set_textrel): Removed.
1634 (elf_s390_size_dynamic_sections): Replace maybe_set_textrel
1635 with _bfd_elf_maybe_set_textrel.
1636 * elfnn-aarch64.c (maybe_set_textrel): Removed.
1637 (elfNN_aarch64_size_dynamic_sections): Replace maybe_set_textrel
1638 with _bfd_elf_maybe_set_textrel.
1639 * elfnn-riscv.c (maybe_set_textrel): Removed.
1640 (riscv_elf_size_dynamic_sections): Replace maybe_set_textrel
1641 with _bfd_elf_maybe_set_textrel.
1642 * elfxx-sparc.c (maybe_set_textrel): Removed.
1643 (_bfd_sparc_elf_size_dynamic_sections): Replace maybe_set_textrel
1644 with _bfd_elf_maybe_set_textrel.
1645 * elfxx-tilegx.c (maybe_set_textrel): Removed.
1646 (tilegx_elf_size_dynamic_sections): Replace maybe_set_textrel
1647 with _bfd_elf_maybe_set_textrel.
1648 * elfxx-x86.c (maybe_set_textrel): Removed.
1649 (_bfd_x86_elf_size_dynamic_sections): Replace maybe_set_textrel
1650 with _bfd_elf_maybe_set_textrel.
1651 * elflink.c (_bfd_elf_maybe_set_textrel): New.
1652
1653 2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
1654
1655 PR ld/26067
1656 * elf32-arm.c (elf32_arm_copy_indirect_symbol): Don't copy
1657 dyn_relocs.
1658 * elf32-csky.c (csky_elf_copy_indirect_symbol): Likewise.
1659 * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
1660 * elf32-metag.c (elf_metag_copy_indirect_symbol): Likewise.
1661 * elf32-microblaze.c (microblaze_elf_copy_indirect_symbol):
1662 Likewise.
1663 * elf32-nds32.c (nds32_elf_copy_indirect_symbol): Likewise.
1664 * elf32-nios2.c (nios2_elf32_copy_indirect_symbol): Likewise.
1665 * elf32-or1k.c (or1k_elf_copy_indirect_symbol): Likewise.
1666 * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
1667 * elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
1668 * elf32-tilepro.c (tilepro_elf_copy_indirect_symbol): Likewise.
1669 * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
1670 * elfnn-aarch64.c (elfNN_aarch64_copy_indirect_symbol): Likewise.
1671 * elfnn-riscv.c (riscv_elf_copy_indirect_symbol): Likewise.
1672 * elfxx-sparc.c (_bfd_sparc_elf_copy_indirect_symbol): Likewise.
1673 * elfxx-tilegx.c (tilegx_elf_copy_indirect_symbol): Likewise.
1674 * elfxx-x86.c (_bfd_x86_elf_copy_indirect_symbol): Likewise.
1675 * elf32-lm32.c (lm32_elf_copy_indirect_symbol): Removed.
1676 (elf_backend_copy_indirect_symbol): Likewise.
1677 * elf32-m32r.c (m32r_elf_copy_indirect_symbol): Removed.
1678 (elf_backend_copy_indirect_symbol): Likewise.
1679 * elflink.c (_bfd_elf_link_hash_copy_indirect): Copy dyn_relocs.
1680
1681 2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
1682
1683 PR ld/26067
1684 * elf-bfd.h (_bfd_elf_readonly_dynrelocs): New.
1685 * elf32-arm.c (readonly_dynrelocs): Removed.
1686 (maybe_set_textrel): Replace readonly_dynrelocs with
1687 _bfd_elf_readonly_dynrelocs.
1688 * elf32-csky.c (readonly_dynrelocs): Removed.
1689 (maybe_set_textrel): Replace readonly_dynrelocs with
1690 _bfd_elf_readonly_dynrelocs.
1691 * elf32-hppa.c(readonly_dynrelocs): Removed.
1692 (alias_readonly_dynrelocs): Replace readonly_dynrelocs with
1693 _bfd_elf_readonly_dynrelocs.
1694 (maybe_set_textrel): Likewise.
1695 * elf32-lm32.c (readonly_dynrelocs): Removed.
1696 (lm32_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
1697 with _bfd_elf_readonly_dynrelocs.
1698 (maybe_set_textrel): Likewise.
1699 * elf32-m32r.c (readonly_dynrelocs): Removed.
1700 (m32r_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
1701 with _bfd_elf_readonly_dynrelocs.
1702 (maybe_set_textrel): Likewise.
1703 * elf32-metag.c (readonly_dynrelocs): Removed.
1704 (elf_metag_adjust_dynamic_symbol): Replace readonly_dynrelocs
1705 with _bfd_elf_readonly_dynrelocs.
1706 (maybe_set_textrel): Likewise.
1707 * elf32-microblaze.c (readonly_dynrelocs): Removed.
1708 (microblaze_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
1709 with _bfd_elf_readonly_dynrelocs.
1710 * elf32-nds32.c (readonly_dynrelocs): Removed.
1711 (nds32_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
1712 with _bfd_elf_readonly_dynrelocs.
1713 (maybe_set_textrel): Likewise.
1714 * elf32-or1k.c (readonly_dynrelocs): Removed.
1715 (or1k_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
1716 with _bfd_elf_readonly_dynrelocs.
1717 * elf32-ppc.c (readonly_dynrelocs): Removed.
1718 (alias_readonly_dynrelocs): Replace readonly_dynrelocs with
1719 _bfd_elf_readonly_dynrelocs.
1720 (ppc_elf_adjust_dynamic_symbol): Likewise.
1721 (maybe_set_textrel): Likewise.
1722 * elf32-s390.c (readonly_dynrelocs): Removed.
1723 (elf_s390_adjust_dynamic_symbol): Replace readonly_dynrelocs
1724 with _bfd_elf_readonly_dynrelocs.
1725 (maybe_set_textrel): Likewise.
1726 * elf32-sh.c (readonly_dynrelocs): Removed.
1727 (sh_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs with
1728 _bfd_elf_readonly_dynrelocs.
1729 (maybe_set_textrel): Likewise.
1730 * elf32-tic6x.c (readonly_dynrelocs): Removed.
1731 (maybe_set_textrel): Replace readonly_dynrelocs with
1732 _bfd_elf_readonly_dynrelocs.
1733 * elf32-tilepro.c (readonly_dynrelocs): Removed.
1734 (tilepro_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
1735 with _bfd_elf_readonly_dynrelocs.
1736 (maybe_set_textrel): Likewise.
1737 * elf64-ppc.c (readonly_dynrelocs): Removed.
1738 (alias_readonly_dynrelocs): Replace readonly_dynrelocs with
1739 _bfd_elf_readonly_dynrelocs.
1740 (ppc64_elf_adjust_dynamic_symbol): Likewise.
1741 (maybe_set_textrel): Likewise.
1742 * elf64-s390.c (readonly_dynrelocs): Removed.
1743 (elf_s390_adjust_dynamic_symbol): Replace readonly_dynrelocs
1744 with _bfd_elf_readonly_dynrelocs.
1745 (maybe_set_textrel): Likewise.
1746 * elflink.c (_bfd_elf_readonly_dynrelocs): New.
1747 * elfnn-aarch64.c (readonly_dynrelocs): Removed.
1748 (maybe_set_textrel): Replace readonly_dynrelocs with
1749 _bfd_elf_readonly_dynrelocs.
1750 * elfnn-riscv.c (readonly_dynrelocs): Removed.
1751 (riscv_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
1752 with _bfd_elf_readonly_dynrelocs.
1753 (maybe_set_textrel): Likewise.
1754 * elfxx-sparc.c (readonly_dynrelocs): Removed.
1755 (_bfd_sparc_elf_adjust_dynamic_symbol): Replace
1756 readonly_dynrelocs with _bfd_elf_readonly_dynrelocs.
1757 (maybe_set_textrel): Likewise.
1758 * elfxx-tilegx.c (readonly_dynrelocs): Removed.
1759 (tilegx_elf_adjust_dynamic_symbol): Replace readonly_dynrelocs
1760 with _bfd_elf_readonly_dynrelocs.
1761 (maybe_set_textrel): Likewise.
1762 * elfxx-x86.c (readonly_dynrelocs): Removed.
1763 (maybe_set_textrel): Replace readonly_dynrelocs with
1764 _bfd_elf_readonly_dynrelocs.
1765 (_bfd_x86_elf_adjust_dynamic_symbol): Likewise.
1766
1767 2020-06-03 H.J. Lu <hongjiu.lu@intel.com>
1768
1769 * elfxx-x86.h (GENERATE_DYNAMIC_RELOCATION_P): Silence
1770 -fsanitize=undefined.
1771
1772 2020-06-03 Alan Modra <amodra@gmail.com>
1773
1774 PR 26069
1775 PR 18758
1776 * peicode.h (pe_ILF_make_a_section): Align data for compilers
1777 other than gcc.
1778 (pe_ILF_build_a_bfd): Likewise.
1779
1780 2020-06-03 Alan Modra <amodra@gmail.com>
1781
1782 PR 26069
1783 * elf.c (_bfd_elf_close_and_cleanup): Free elf_shstrtab for
1784 core files as well as objects.
1785
1786 2020-06-01 H.J. Lu <hongjiu.lu@intel.com>
1787
1788 PR ld/26067
1789 * elf-bfd.h (elf_link_hash_entry): Add dyn_relocs after size.
1790 * elf-s390-common.c (s390_elf_allocate_ifunc_dyn_relocs):
1791 Updated.
1792 * elf32-arc.c (elf_arc_link_hash_entry): Remove dyn_relocs.
1793 (elf_arc_link_hash_newfunc): Updated.
1794 * elf32-arm.c (elf32_arm_link_hash_entry): Remove dyn_relocs.
1795 (elf32_arm_link_hash_newfunc): Updated.
1796 (elf32_arm_copy_indirect_symbol): Likewise.
1797 (elf32_arm_check_relocs): Likewise.
1798 (readonly_dynrelocs): Likewise.
1799 (allocate_dynrelocs_for_symbol): Likewise.
1800 * elf32-csky.c (csky_elf_link_hash_entry): Remove dyn_relocs.
1801 (csky_elf_link_hash_newfunc): Updated.
1802 (csky_allocate_dynrelocs): Likewise.
1803 (readonly_dynrelocs): Likewise.
1804 (csky_elf_copy_indirect_symbol): Likewise.
1805 * elf32-hppa.c (elf32_hppa_link_hash_entry): Remove dyn_relocs.
1806 (hppa_link_hash_newfunc): Updated.
1807 (elf32_hppa_copy_indirect_symbol): Likewise.
1808 (elf32_hppa_hide_symbol): Likewise.
1809 (elf32_hppa_adjust_dynamic_symbol): Likewise.
1810 (allocate_dynrelocs): Likewise.
1811 (elf32_hppa_relocate_section): Likewise.
1812 * elf32-i386.c (elf_i386_check_relocs): Likewise.
1813 * elf32-lm32.c (elf_lm32_link_hash_entry): Removed.
1814 (lm32_elf_link_hash_newfunc): Likewise.
1815 (lm32_elf_link_hash_table_create): Updated.
1816 (readonly_dynrelocs): Likewise.
1817 (allocate_dynrelocs): Likewise.
1818 (lm32_elf_copy_indirect_symbol): Likewise.
1819 * elf32-m32r.c (elf_m32r_link_hash_entry): Removed.
1820 (m32r_elf_link_hash_newfunc): Likewise.
1821 (m32r_elf_link_hash_table_create): Updated.
1822 (m32r_elf_copy_indirect_symbol): Likewise.
1823 (allocate_dynrelocs): Likewise.
1824 * elf32-metag.c (elf_metag_link_hash_entry): Remove dyn_relocs.
1825 (metag_link_hash_newfunc): Updated.
1826 (elf_metag_copy_indirect_symbol): Likewise.
1827 (readonly_dynrelocs): Likewise.
1828 (allocate_dynrelocs): Likewise.
1829 * elf32-microblaze.c (elf32_mb_link_hash_entry): Remove
1830 dyn_relocs.
1831 (link_hash_newfunc): Updated.
1832 (microblaze_elf_check_relocs): Likewise.
1833 (microblaze_elf_copy_indirect_symbol): Likewise.
1834 (readonly_dynrelocs): Likewise.
1835 (allocate_dynrelocs): Likewise.
1836 * elf32-nds32.c (elf_nds32_link_hash_entry): Remove dyn_relocs.
1837 (nds32_elf_link_hash_newfunc): Updated.
1838 (nds32_elf_copy_indirect_symbol): Likewise.
1839 (readonly_dynrelocs): Likewise.
1840 (allocate_dynrelocs): Likewise.
1841 (nds32_elf_check_relocs): Likewise.
1842 * elf32-nios2.c (elf32_nios2_link_hash_entry): Remove dyn_relocs.
1843 (link_hash_newfunc): Updated.
1844 (nios2_elf32_copy_indirect_symbol): Likewise.
1845 (nios2_elf32_check_relocs): Likewise.
1846 (allocate_dynrelocs): Likewise.
1847 * elf32-or1k.c (elf_or1k_link_hash_entry): Remove dyn_relocs.
1848 (or1k_elf_link_hash_newfunc): Updated.
1849 (readonly_dynrelocs): Likewise.
1850 (allocate_dynrelocs): Likewise.
1851 (or1k_elf_copy_indirect_symbol): Likewise.
1852 * elf32-ppc.c (ppc_elf_link_hash_entry): Remove dyn_relocs.
1853 (ppc_elf_link_hash_newfunc): Updated.
1854 (ppc_elf_copy_indirect_symbol): Likewise.
1855 (ppc_elf_check_relocs): Likewise.
1856 (readonly_dynrelocs): Likewise.
1857 (ppc_elf_adjust_dynamic_symbol): Likewise.
1858 (allocate_dynrelocs): Likewise.
1859 (ppc_elf_relocate_section): Likewise.
1860 * elf32-s390.c (elf_s390_link_hash_entry): Remove dyn_relocs.
1861 (link_hash_newfunc): Updated.
1862 (elf_s390_copy_indirect_symbol): Likewise.
1863 (readonly_dynrelocs): Likewise.
1864 (elf_s390_adjust_dynamic_symbol): Likewise.
1865 (allocate_dynrelocs): Likewise.
1866 * elf32-sh.c (elf_sh_link_hash_entry): Remove dyn_relocs.
1867 (sh_elf_link_hash_newfunc): Updated.
1868 (readonly_dynrelocs): Likewise.
1869 (allocate_dynrelocs): Likewise.
1870 (sh_elf_copy_indirect_symbol): Likewise.
1871 (sh_elf_check_relocs): Likewise.
1872 * elf32-tic6x.c (elf32_tic6x_link_hash_entry): Removed.
1873 (elf32_tic6x_link_hash_newfunc): Likewise.
1874 (elf32_tic6x_link_hash_table_create): Updated.
1875 (readonly_dynrelocs): Likewise.
1876 (elf32_tic6x_check_relocs): Likewise.
1877 (elf32_tic6x_allocate_dynrelocs): Likewise.
1878 * elf32-tilepro.c (tilepro_elf_link_hash_entry): Remove
1879 dyn_relocs.
1880 (link_hash_newfunc): Updated.
1881 (tilepro_elf_copy_indirect_symbol): Likewise.
1882 (tilepro_elf_check_relocs): Likewise.
1883 (allocate_dynrelocs): Likewise.
1884 * elf64-ppc.c (ppc_link_hash_entry): Remove dyn_relocs.
1885 (ppc64_elf_copy_indirect_symbol): Updated.
1886 (ppc64_elf_check_relocs): Likewise.
1887 (readonly_dynrelocs): Likewise.
1888 (ppc64_elf_adjust_dynamic_symbol): Likewise.
1889 (dec_dynrel_count): Likewise.
1890 (allocate_dynrelocs): Likewise.
1891 (ppc64_elf_relocate_section): Likewise.
1892 * elf64-s390.c (elf_s390_link_hash_entry): Remove dyn_relocs.
1893 (link_hash_newfunc): Updated.
1894 (elf_s390_copy_indirect_symbol): Likewise.
1895 (readonly_dynrelocs): Likewise.
1896 (allocate_dynrelocs): Likewise.
1897 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1898 * elfnn-aarch64.c (elf_aarch64_link_hash_entry): Remove
1899 dyn_relocs.
1900 (elfNN_aarch64_link_hash_newfunc): Updated.
1901 (elfNN_aarch64_copy_indirect_symbol): Likewise.
1902 (readonly_dynrelocs): Likewise.
1903 (need_copy_relocation_p): Likewise.
1904 (elfNN_aarch64_allocate_dynrelocs): Likewise.
1905 (elfNN_aarch64_allocate_ifunc_dynrelocs): Likewise.
1906 * elfnn-riscv.c (riscv_elf_link_hash_entry): Remove dyn_relocs.
1907 (link_hash_newfunc): Updated.
1908 (riscv_elf_copy_indirect_symbol): Likewise.
1909 (riscv_elf_check_relocs): Likewise.
1910 (readonly_dynrelocs): Likewise.
1911 (allocate_dynrelocs): Likewise.
1912 * elfxx-sparc.c (_bfd_sparc_elf_link_hash_entry): Remove
1913 dyn_relocs.
1914 (link_hash_newfunc): Updated.
1915 (_bfd_sparc_elf_copy_indirect_symbol): Likewise.
1916 (_bfd_sparc_elf_check_relocs): Likewise.
1917 (readonly_dynrelocs): Likewise.
1918 (allocate_dynrelocs): Likewise.
1919 * elfxx-tilegx.c (tilegx_elf_link_hash_entry): Remove dyn_relocs.
1920 (link_hash_newfunc): Updated.
1921 (tilegx_elf_copy_indirect_symbol): Likewise.
1922 (tilegx_elf_check_relocs): Likewise.
1923 (readonly_dynrelocs): Likewise.
1924 (allocate_dynrelocs): Likewise.
1925 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Likewise.
1926 (readonly_dynrelocs): Likewise.
1927 (_bfd_x86_elf_copy_indirect_symbol): Likewise.
1928 * elfxx-x86.h (elf_x86_link_hash_entry): Remove dyn_relocs.
1929
1930 2020-06-01 Alan Modra <amodra@gmail.com>
1931
1932 * vms-alpha.c (_bfd_vms_slurp_etir): Check bound for the current
1933 command against cmd_length, not the end of record. For
1934 ETIR__C_STO_IMMR check size against cmd_length, mask repeat count
1935 to 32-bits and break out on zero size. Add ETIR__C_STC_LP_PSB
1936 cmd_length test.
1937
1938 2020-05-28 David Faust <david.faust@oracle.com>
1939
1940 * elf64-bpf.c (bpf_elf_relocate_section): Fix handling of
1941 R_BPF_INSN_{32,64} relocations.
1942
1943 2020-05-28 Stephen Casner <casner@acm.org>
1944
1945 * pdp11.c: Implement BRD_RELOC_32 to relocate the low 16 bits of
1946 addreses in .long (used in testsuites) and .stab values.
1947
1948 2020-05-27 H.J. Lu <hongjiu.lu@intel.com>
1949
1950 PR ld/22909
1951 * elflink.c (bfd_elf_final_link): Use bfd_link_textrel_check.
1952 Check bfd_link_dll when issue a DT_TEXTREL warning.
1953 * elfxx-x86.c (maybe_set_textrel): Likewise.
1954 (_bfd_x86_elf_size_dynamic_sections): Likewise.
1955
1956 2020-05-26 Nick Clifton <nickc@redhat.com>
1957
1958 * plugin.c (try_load_plugin): Extend error message when a plugin
1959 fails to open.
1960
1961 2020-05-23 Alan Modra <amodra@gmail.com>
1962
1963 * bfdio.c (bfd_get_file_size): Don't segfault on NULL arch_header.
1964
1965 2020-05-22 Alan Modra <amodra@gmail.com>
1966
1967 PR 25882
1968 * elf32-ppc.c (_bfd_elf_ppc_merge_fp_attributes): Don't init FP
1969 attributes from shared libraries, and do not return an error if
1970 they don't match.
1971
1972 2020-05-21 Alan Modra <amodra@gmail.com>
1973
1974 PR 25993
1975 * opncls.c (_bfd_free_cached_info): Keep a copy of the bfd
1976 filename.
1977 (_bfd_delete_bfd): Free the copy.
1978 (_bfd_new_bfd): Free nbfd->memory on error.
1979
1980 2020-05-21 Alan Modra <amodra@gmail.com>
1981
1982 * aoutx.h: Replace "if (x) free (x)" with "free (x)" throughout.
1983 * archive.c, * bfd.c, * bfdio.c, * coff-alpha.c, * coff-ppc.c,
1984 * coff-sh.c, * coff-stgo32.c, * coffcode.h, * coffgen.c,
1985 * cofflink.c, * cpu-arm.c, * doc/chew.c, * dwarf2.c, * ecoff.c,
1986 * ecofflink.c, * elf-eh-frame.c, * elf-m10200.c, * elf-m10300.c,
1987 * elf-strtab.c, * elf.c, * elf32-arc.c, * elf32-arm.c,
1988 * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c, * elf32-crx.c,
1989 * elf32-epiphany.c, * elf32-ft32.c, * elf32-h8300.c,
1990 * elf32-ip2k.c, * elf32-m32c.c, * elf32-m68hc11.c,
1991 * elf32-m68k.c, * elf32-microblaze.c, * elf32-msp430.c,
1992 * elf32-nds32.c, * elf32-nios2.c, * elf32-ppc.c, * elf32-pru.c,
1993 * elf32-rl78.c, * elf32-rx.c, * elf32-sh.c, * elf32-spu.c,
1994 * elf32-v850.c, * elf32-xtensa.c, * elf64-alpha.c,
1995 * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mips.c
1996 * elf64-mmix.c, * elf64-ppc.c, * elf64-sparc.c, * elfcode.h,
1997 * elflink.c, * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-mips.c,
1998 * elfxx-x86.c, * format.c, * ihex.c, * libbfd.c, * linker.c,
1999 * mmo.c, * opncls.c, * pdp11.c, * peXXigen.c, * pef.c,
2000 * peicode.h, * simple.c, * som.c, * srec.c, * stabs.c, * syms.c,
2001 * targets.c, * vms-lib.c, * xcofflink.c, * xtensa-isa.c: Likewise.
2002
2003 2020-05-20 Nelson Chu <nelson.chu@sifive.com>
2004
2005 * elfxx-riscv.h (riscv_parse_subset_t): Add new callback function
2006 get_default_version. It is used to find the default version for
2007 the specific extension.
2008 * elfxx-riscv.c (riscv_parsing_subset_version): Remove the parameters
2009 default_major_version and default_minor_version. Add new bfd_boolean
2010 parameter *use_default_version. Set it to TRUE if we need to call
2011 the callback rps->get_default_version to find the default version.
2012 (riscv_parse_std_ext): Call rps->get_default_version if we fail to find
2013 the default version in riscv_parsing_subset_version, and then call
2014 riscv_add_subset to add the subset into subset list.
2015 (riscv_parse_prefixed_ext): Likewise.
2016 (riscv_std_z_ext_strtab): Support Zicsr extensions.
2017 * elfnn-riscv.c (riscv_merge_std_ext): Use strcasecmp to compare the
2018 strings rather than characters.
2019 riscv_merge_arch_attr_info): The callback function get_default_version
2020 is only needed for assembler, so set it to NULL int the linker.
2021 * elfxx-riscv.c (riscv_estimate_digit): Remove the static.
2022 * elfxx-riscv.h: Updated.
2023
2024 2020-05-20 Alan Modra <amodra@gmail.com>
2025
2026 PR 25993
2027 * archive.c (_bfd_get_elt_at_filepos): Don't strdup filename,
2028 use bfd_set_filename.
2029 * elfcode.h (_bfd_elf_bfd_from_remote_memory): Likewise.
2030 * mach-o.c (bfd_mach_o_fat_member_init): Likewise.
2031 * opncls.c (bfd_fopen, bfd_openstreamr, bfd_openr_iovec, bfd_openw),
2032 (bfd_create): Likewise.
2033 (_bfd_delete_bfd): Don't free filename.
2034 (bfd_set_filename): Copy filename param to bfd_alloc'd memory,
2035 return pointer to the copy or NULL on alloc fail.
2036 * vms-lib.c (_bfd_vms_lib_get_module): Free newname and test
2037 result of bfd_set_filename.
2038 * bfd-in2.h: Regenerate.
2039
2040 2020-05-20 Alan Modra <amodra@gmail.com>
2041
2042 PR 26011
2043 * elf.c (_bfd_elf_get_reloc_upper_bound): Sanity check reloc
2044 section size against file size.
2045 (_bfd_elf_get_dynamic_reloc_upper_bound): Likewise.
2046
2047 2020-05-19 Gunther Nikl <gnikl@justmail.de>
2048
2049 PR 26005
2050 * elf.c (bfd_section_from_shdr): Replace bfd_zmalloc with bfd_malloc
2051 and memset when allocating memory for the sections_being_created
2052 array.
2053
2054 2020-05-19 Stafford Horne <shorne@gmail.com>
2055
2056 * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Rename srela
2057 to relgot.
2058 (or1k_elf_relocate_section): Access srelgot via
2059 htab->root.srelgot. Add assertions for srelgot->contents.
2060 Introduce local variable for srelgot to not reuse global
2061 sreloc.
2062 (or1k_elf_relocate_section): Fixup dynamic symbol detection.
2063 (or1k_set_got_and_rela_sizes): New function.
2064 (or1k_initial_exec_offset): New function.
2065 (TLS_GD, TLS_IE, TLS_LD, TLS_LE): Redefine macros as masks.
2066 (or1k_elf_relocate_section): Allow for TLS to handle multiple
2067 model access.
2068 (or1k_elf_check_relocs): Use OR to set TLS access.
2069 (allocate_dynrelocs): Use or1k_set_got_and_rela_sizes to set
2070 sizes.
2071 (or1k_elf_size_dynamic_sections): Use
2072 or1k_set_got_and_rela_sizes to set sizes.
2073 (or1k_elf_relocate_section): Fixup PCREL relocation calculation.
2074 (TCB_SIZE): New macro.
2075 (tpoff): Use TCB_SIZE and alignment to calculate offset.
2076 (allocate_dynrelocs, readonly_dynrelocs, or1k_elf_check_relocs)
2077 (or1k_elf_size_dynamic_sections): Rename p to sec_relocs.
2078 (allocate_dynrelocs): Rename s to splt or sgot based on usage.
2079 (tpoff): Add dynamic boolean argument.
2080 (or1k_elf_relocate_section): Pass dynamic flag to tpoff.
2081
2082 2020-05-19 Siddhesh Poyarekar <siddesh.poyarekar@arm.com>
2083
2084 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Club
2085 BFD_RELOC_AARCH64_BRANCH19 and BFD_RELOC_AARCH64_TSTBR14
2086 cases with BFD_RELOC_AARCH64_JUMP26.
2087 (elfNN_aarch64_check_relocs): Likewise.
2088
2089 2020-05-19 Alan Modra <amodra@gmail.com>
2090
2091 * aix5ppc-core.c (xcoff64_core_file_matches_executable_p): Use
2092 bfd_get_filename rather than accessing bfd->filename directly.
2093 * aout-target.h (MY (object_p)): Likewise.
2094 * aoutx.h (aout_find_nearest_line, aout_link_write_symbols): Likewise.
2095 * archive.c (find_nested_archive, _bfd_generic_read_ar_hdr_mag),
2096 (_bfd_construct_extended_name_table, _bfd_bsd44_write_ar_hdr),
2097 (_bfd_archive_bsd44_construct_extended_name_table),
2098 (_bfd_write_archive_contents, _bfd_compute_and_write_armap),
2099 (_bfd_bsd_write_armap): Likewise.
2100 * bfd.c (bfd_errmsg, _bfd_doprnt): Likewise.
2101 * cache.c (bfd_open_file): Likewise.
2102 * ecoff.c (_bfd_ecoff_write_armap): Likewise.
2103 * ecofflink.c (bfd_ecoff_debug_accumulate_other): Likewise.
2104 * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
2105 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2106 * elf32-hppa.c (elf32_hppa_final_link): Likewise.
2107 * elf32-nds32.c (nds32_elf_output_symbol_hook),
2108 (patch_tls_desc_to_ie): Likewise.
2109 * elf32-spu.c (sort_bfds, print_one_overlay_section),
2110 (spu_elf_auto_overlay): Likewise.
2111 * elf64-hppa.c (elf_hppa_final_link): Likewise.
2112 * elf64-ia64-vms.c (elf64_ia64_size_dynamic_sections): Likewise.
2113 * elfcore.h (elf_core_file_matches_executable_p): Likewise.
2114 * elflink.c (bfd_elf_size_dynamic_sections),
2115 (elf_link_input_bfd): Likewise.
2116 * linker.c (_bfd_generic_link_output_symbols): Likewise.
2117 * mach-o.c (bfd_mach_o_follow_dsym),
2118 (bfd_mach_o_close_and_cleanup): Likewise.
2119 * opncls.c (_bfd_delete_bfd, _maybe_make_executable),
2120 (find_separate_debug_file, get_build_id_name): Likewise.
2121 * pdp11.c (aout_find_nearest_line, aout_link_write_symbols): Likewise.
2122 * plugin.c (bfd_plugin_open_input): Likewise.
2123 * rs6000-core.c (rs6000coff_core_file_matches_executable_p): Likewise.
2124 * som.c (som_write_armap): Likewise.
2125 * srec.c (srec_write_record, srec_write_symbols): Likewise.
2126 * vms-lib.c (_bfd_vms_lib_get_imagelib_file),
2127 (_bfd_vms_lib_write_archive_contents): Likewise.
2128 * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
2129
2130 2020-05-19 Alan Modra <amodra@gmail.com>
2131
2132 PR 25713
2133 * bfdio.c (_bfd_real_fopen): Typo fix.
2134
2135 2020-05-18 Nick Clifton <nickc@redhat.com>
2136
2137 PR 26005
2138 * elf.c (bfd_section_from_shdr): Use bfd_malloc to allocate memory
2139 for the sections_being_created array.
2140
2141 2020-05-18 Alan Modra <amodra@gmail.com>
2142
2143 * ecoff.c (ecoff_slurp_reloc_table): Malloc external_relocs so
2144 they can be freed without also freeing internal_relocs.
2145
2146 2020-05-18 Jaydeep Chauhan <jaydeepchauhan1494@gmail.com>
2147
2148 PR 25713
2149 * bfdio.c (_bfd_real_fopen): Convert UNIX style sirectory
2150 separators into DOS style when creating a WIN32 fullpath.
2151
2152 2020-05-14 Nelson Chu <nelson.chu@sifive.com>
2153
2154 * elfnn-riscv.c (elfNN_riscv_mkobject): New function. We need this
2155 to initialize RISC-V tdata.
2156
2157 2020-05-12 Gunther Nikl <gnikl@justmail.de>
2158
2159 * aoutx.h (NAME (aout, swap_std_reloc_out)): Reject an unsupported
2160 relocation size.
2161
2162 2020-05-11 Alan Modra <amodra@gmail.com>
2163
2164 * elf64-ppc.c (xlate_pcrel_opt): Handle lxvp and stxvp.
2165
2166 2020-05-11 Alan Modra <amodra@gmail.com>
2167
2168 * elf64-ppc.c: Rename powerxx to power10 throughout.
2169
2170 2020-05-11 Alan Modra <amodra@gmail.com>
2171
2172 PR 25961
2173 * coffgen.c (coff_get_normalized_symtab): Check that buffer
2174 contains required number of auxents before processing any auxent.
2175 * coffswap.h (coff_swap_aux_in <C_FILE>): Only swap in extended
2176 file name from auxents for PE.
2177
2178 2020-05-04 Gunther Nikl <gnikl@justmail.de>
2179
2180 * aout-cris.c (DEFAULT_ARCH): Delete define.
2181 (MY_set_arch_mach): Likewise.
2182 (SET_ARCH_MACH): Use bfd_set_arch_mach with an explicit architecture
2183 of bfd_arch_cris.
2184 (swap_ext_reloc_in): Add casts to r_index extraction. Mask valid bits
2185 of r_type before the shift.
2186
2187 2020-05-04 Wilco Dijkstra <wdijkstr@arm.com>
2188
2189 PR ld/25665
2190 * elfnn-aarch64.c (group_sections): Copy implementation from
2191 elf32-arm.c.
2192
2193 2020-05-01 Alan Modra <amodra@gmail.com>
2194
2195 PR 25900
2196 * elfnn-riscv.c (_bfd_riscv_relax_section): Check root.type before
2197 accessing root.u.def of symbols. Also check root.u.def.section
2198 is non-NULL. Reverse tests so as to make the logic positive.
2199
2200 2020-05-01 Alan Modra <amodra@gmail.com>
2201
2202 PR 25882
2203 * elf32-tic6x.c (elf32_tic6x_merge_attributes): Don't transfer
2204 Tag_ABI_PIC or Tag_ABI_PID from dynamic objects to the output.
2205
2206 2020-05-01 Alan Modra <amodra@gmail.com>
2207
2208 PR 25882
2209 * elf32-bfin.c (elf32_bfin_merge_private_bfd_data): Add FIXME.
2210 * elf32-frv.c (frv_elf_merge_private_bfd_data): Likewise.
2211 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Likewise.
2212 * elf32-nds32.c (nds32_elf_merge_private_bfd_data): Likewise.
2213 * elf32-score.c (s3_elf32_score_merge_private_bfd_data): Likewise.
2214 * elf32-score7.c (s7_elf32_score_merge_private_bfd_data): Likewise.
2215 * elf32-sh.c (sh_elf_merge_private_data): Likewise.
2216 * elf32-tic6x.c (elf32_tic6x_merge_attributes): Likewise.
2217 * elf64-ia64-vms.c (elf64_ia64_merge_private_bfd_data): Likewise.
2218 * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): Likewise.
2219
2220 2020-05-01 Alan Modra <amodra@gmail.com>
2221
2222 PR 25882
2223 * elf32-ppc.c (ppc_elf_merge_private_bfd_data): Ignore e_flags
2224 from shared libraries.
2225
2226 2020-04-29 Max Filippov <jcmvbkbc@gmail.com>
2227
2228 * elf32-xtensa.c (relax_section): Don't negate diff_value for
2229 XTENSA_NDIFF relocations. Don't add sign bits whe diff_value
2230 equals 0. Report overflow when the result has negative sign but
2231 all significant bits are zero.
2232
2233 2020-04-29 Gunther Nikl <gnikl@justmail.de>
2234
2235 * aoutx.h (swap_std_reloc_out): Special case 64 bit relocations.
2236 (aout_link_reloc_link_order): Likewise. Make r_length an unsigned.
2237
2238 2020-04-28 Alan Modra <amodra@gmail.com>
2239
2240 * vms-alpha.c (_bfd_vms_slurp_etir): Correct divide by zero check.
2241 Emit warning message.
2242
2243 2020-04-27 Tamar Christina <tamar.christina@arm.com>
2244
2245 * coff-i386.c (COFF_WITH_PE_BIGOBJ): New.
2246 * coff-x86_64.c (COFF_WITH_PE_BIGOBJ): New.
2247 * config.bfd (targ_selvecs): Rename x86_64_pe_be_vec
2248 to x86_64_pe_big_vec as it not a big-endian format.
2249 (vec i386_pe_big_vec): New.
2250 * configure.ac: Likewise.
2251 * targets.c: Likewise.
2252 * configure: Regenerate.
2253 * pe-i386.c (TARGET_SYM_BIG, TARGET_NAME_BIG,
2254 COFF_WITH_PE_BIGOBJ): New.
2255 * pe-x86_64.c (TARGET_SYM_BIG, TARGET_NAME_BIG):
2256 New.
2257 (x86_64_pe_be_vec): Moved.
2258
2259 2020-04-23 Anton Kolesov <anton.kolesov@synopsys.com>
2260
2261 * elf-bfd.h (elfcore_write_arc_v2): Add prototype.
2262 * elf.c (elfcore_grok_arc_v2): New function.
2263 (elfcore_grok_note): Call the new function to handle the corresponding
2264 note.
2265 (elfcore_write_arc_v2): New function.
2266 (elfcore_write_register_note): Call the new function to handle the
2267 corresponding pseudo-sections.
2268
2269 2020-04-22 Max Filippov <jcmvbkbc@gmail.com>
2270
2271 PR ld/25861
2272 * bfd-in2.h: Regenerated.
2273 * elf32-xtensa.c (elf_howto_table): New entries for
2274 R_XTENSA_PDIFF{8,16,32} and R_XTENSA_NDIFF{8,16,32}.
2275 (elf_xtensa_reloc_type_lookup, elf_xtensa_do_reloc)
2276 (relax_section): Add cases for R_XTENSA_PDIFF{8,16,32} and
2277 R_XTENSA_NDIFF{8,16,32}.
2278 * libbfd.h (bfd_reloc_code_real_names): Add names for
2279 BFD_RELOC_XTENSA_PDIFF{8,16,32} and
2280 BFD_RELOC_XTENSA_NDIFF{8,16,32}.
2281 * reloc.c: Add documentation for BFD_RELOC_XTENSA_PDIFF{8,16,32}
2282 and BFD_RELOC_XTENSA_NDIFF{8,16,32}.
2283
2284 2020-04-21 Tamar Christina <tamar.christina@arm.com>
2285
2286 PR binutils/24753
2287 * compress.c (bfd_get_full_section_contents): Exclude sections with no
2288 content.
2289
2290 2020-04-21 H.J. Lu <hongjiu.lu@intel.com>
2291
2292 PR ld/25849
2293 * elf-bfd.h (elf_backend_data): Add
2294 elf_backend_strip_zero_sized_dynamic_sections.
2295 (_bfd_elf_strip_zero_sized_dynamic_sections): New prototype.
2296 * elf64-alpha.c (elf_backend_strip_zero_sized_dynamic_sections):
2297 New macro.
2298 * elflink.c (_bfd_elf_strip_zero_sized_dynamic_sections): New
2299 function.
2300 * elfxx-target.h (elf_backend_strip_zero_sized_dynamic_sections):
2301 New macro.
2302 (elfNN_bed): Add elf_backend_strip_zero_sized_dynamic_sections.
2303
2304 2020-04-21 H.J. Lu <hongjiu.lu@intel.com>
2305
2306 * elf64-alpha.c (alpha_elf_reloc_entry): Replace reltext with
2307 sec.
2308 (elf64_alpha_check_relocs): Set sec instead of reltext. Warn
2309 DT_TEXTREL with -M.
2310 (elf64_alpha_calc_dynrel_sizes): Warn DT_TEXTREL with -M.
2311
2312 2020-04-21 Nick Clifton <nickc@redhat.com>
2313
2314 * po/sr.po: Updated Serbian translation.
2315
2316 2020-04-21 Alan Modra <amodra@gmail.com>
2317
2318 * elf32-sh.c (sh_elf_relocate_section): Remove STO_SH5_ISA32
2319 processing.
2320
2321 2020-04-20 Stephen Casner <casner@acm.org>
2322
2323 * pdp11.c (N_STAB): Modify value to avoid conflict with N_EXT
2324 causing globals from linker script to be treated as debug symbols.
2325 (translate_symbol_table): Don't sign-extend symbol values from 16
2326 to 64 bits in nm output.
2327
2328 2020-04-20 Alan Modra <amodra@gmail.com>
2329
2330 * elf64-ppc.c (ppc64_elf_size_stubs): Strip relbrlt too.
2331
2332 2020-04-18 Alan Modra <amodra@gmail.com>
2333
2334 * section.c (bfd_is_const_section): Correct test for special
2335 sections.
2336 * bfd-in2.h: Regenerate.
2337
2338 2020-04-17 Alan Modra <amodra@gmail.com>
2339
2340 PR 25842
2341 * elf.c (_bfd_elf_get_symbol_version_string): Don't segfault on
2342 NULL nodename.
2343
2344 2020-04-16 Nick Clifton <nickc@redhat.com>
2345
2346 PR 25803
2347 * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol): Replace an
2348 abort with a more helpful error message.
2349
2350 2020-04-16 Alan Modra <amodra@gmail.com>
2351
2352 PR 25827
2353 * dwarf2.c (scan_unit_for_symbols): Wrap overlong lines. Don't
2354 strdup(0).
2355
2356 2020-04-15 Fangrui Song <maskray@google.com>
2357
2358 PR binutils/24613
2359 * coff-rs6000.c (xcoff_ppc_relocate_section): Change RM_GENERATE_ERROR
2360 to RM_DIAGNOSE plus a check of warn_unresolved_syms.
2361 * coff64-rs6000.c (xcoff_ppc_relocate_section): Likewise.
2362 * elf-bfd.h (_bfd_elf_large_com_section): Likewise.
2363 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
2364 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
2365 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
2366 * elf32-sh.c (sh_elf_relocate_section): Likewise.
2367 * elf32-spu.c (spu_elf_relocate_section): Likewise.
2368 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
2369 * elflink.c (elf_link_output_extsym): Likewise.
2370 * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2371
2372 2020-04-15 Alan Modra <amodra@gmail.com>
2373
2374 PR 25823
2375 * peXXigen.c (_bfd_XXi_swap_sym_in <C_SECTION>): Don't use a
2376 pointer into strings that may be freed for section name, always
2377 allocate a new string.
2378
2379 2020-04-14 Juan Manuel Guerrero <juan.guerrero@gmx.de>
2380 Jan W. Jagersma <jwjagersma@gmail.com>
2381
2382 * coff-go32.c (COFF_GO32, IMAGE_SCN_LNK_NRELOC_OVFL)
2383 (coff_SWAP_scnhdr_in, coff_SWAP_scnhdr_out): Define.
2384 (_bfd_go32_swap_scnhdr_in, _bfd_go32_swap_scnhdr_out)
2385 (_bfd_go32_mkobject): New functions.
2386 * coff-stgo32.c (IMAGE_SCN_LNK_NRELOC_OVFL)
2387 (coff_SWAP_scnhdr_in, coff_SWAP_scnhdr_out): Define.
2388 (go32exe_mkobject): Call _bfd_go32_mkobject.
2389 * coffcode.h (COFF_WITH_EXTENDED_RELOC_COUNTER): Define.
2390 (coff_set_alignment_hook): Define function for COFF_GO32_EXE
2391 and COFF_GO32.
2392 (coff_write_relocs): Enable extended reloc counter code if
2393 COFF_WITH_EXTENDED_RELOC_COUNTER is defined. Test for obj_go32.
2394 (coff_write_object_contents): Likewise. Pad section headers
2395 for COFF_GO32 and COFF_GO32EXE. Use bfd_coff_swap_scnhdr_out
2396 instead of coff_swap_scnhdr_out.
2397 * cofflink.c (_bfd_coff_final_link): Test also for obj_go32 to
2398 enable extended reloc counter.
2399 * coffswap.h: (coff_swap_scnhdr_in, coff_swap_scnhdr_out):
2400 Declare with ATTRIBUTE_UNUSED.
2401 * libcoff-in.h: (struct coff_tdata): New field go32.
2402 (obj_go32): Define.
2403 * libcoff.h: Regenerate.
2404
2405 2020-04-14 Fangrui Song <maskray@google.com>
2406
2407 PR gas/25768
2408 * elf.c (assign_section_numbers): Always set .stab sh_entsize to
2409 12.
2410
2411 2020-04-14 Stephen Casner <casner@acm.org>
2412
2413 PR ld/25677
2414 * pdp11.c: Add implementation of --imagic option.
2415 (adjust_o_magic): Fix objcopy --extract-symbol test.
2416 * libaout.h (enum aout_magic): Add i_magic.
2417
2418 2020-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2419 Nick Clifton <nickc@redhat.com>
2420
2421 * elf32-sparc.c (sparc_final_write_processing): Fix whitespace.
2422 <0>: Ignore.
2423 <default>: Error rather than abort.
2424
2425 2020-04-03 H.J. Lu <hongjiu.lu@intel.com>
2426
2427 PR ld/25767
2428 * elf.c (_bfd_elf_fixup_group_sections): Remove zero-sized
2429 relocation section from section group.
2430
2431 2020-04-02 Jan W. Jagersma <jwjagersma@gmail.com>
2432
2433 * bfdio.c (bfd_bread, bfd_tell, bfd_seek, bfd_mmap): Always add
2434 bfd->origin to file offset.
2435 * bfdwin.c (bfd_get_file_window): Likewise.
2436 * bfd.c: Clarify the use of the bfd->origin field.
2437 * bfd-in2.h: Regenerate.
2438 * coff-i386.c: Don't include go32exe.h. Allow overriding
2439 coff_write_object_contents via COFF_WRITE_CONTENTS.
2440 * coff-stgo32.c (go32exe_cleanup, go32exe_mkobject)
2441 (go32exe_write_object_contents): New functions.
2442 (go32exe_temp_stub, go32exe_temp_stub_size): New static globals.
2443 (COFF_WRITE_CONTENTS, GO32EXE_DEFAULT_STUB_SIZE): Define.
2444 (create_go32_stub): Remove check for 2k size limit. Read stub
2445 from go32exe_temp_stub if present.
2446 (go32_stubbed_coff_bfd_copy_private_bfd_data): Allocate and
2447 copy variable-length stub.
2448 (go32_check_format): Read stub to go32exe_temp_stub, set
2449 origin, return go32exe_cleanup.
2450 (adjust_filehdr_in_post, adjust_filehdr_out_pre)
2451 (adjust_filehdr_out_post, adjust_scnhdr_in_post)
2452 (adjust_scnhdr_out_pre, adjust_scnhdr_out_post)
2453 (adjust_aux_in_post, adjust_aux_out_pre, adjust_aux_out_post):
2454 Remove functions and their associated #defines.
2455 * coffcode.h (coff_mkobject_hook): Remove stub copying code.
2456 * libcoff-in.h: (struct coff_tdata): New field stub_size.
2457 Rename field go32stub to stub.
2458 * libcoff.h: Regenerate.
2459 * coff-stgo32.c (go32_check_format): Rename to...
2460 (go32exe_check_format): ...this.
2461 (go32_stubbed_coff_bfd_copy_private_bfd_data): Rename to...
2462 (go32exe_copy_private_bfd_data): ...this.
2463 (stub_bytes): Rename to...
2464 (go32exe_default_stub): ...this.
2465 (create_go32_stub): Rename to...
2466 (go32exe_create_stub): ...this.
2467 * coff-stgo32.c (go32exe_copy_private_bfd_data): Avoid realloc
2468 when possible.
2469
2470 2020-04-01 H.J. Lu <hongjiu.lu@intel.com>
2471
2472 PR ld/25749
2473 PR ld/25754
2474 * elf32-i386.c (elf_i386_convert_load_reloc): Convert load
2475 relocation to R_386_32 for relocation against non-preemptible
2476 absolute symbol.
2477 (elf_i386_check_relocs): Call _bfd_elf_x86_valid_reloc_p. Don't
2478 allocate dynamic relocation for non-preemptible absolute symbol.
2479 (elf_i386_relocate_section): Pass sec to
2480 GENERATE_DYNAMIC_RELOCATION_P.
2481 * elf64-x86-64.c (R_X86_64_converted_reloc_bit): Moved.
2482 (elf_x86_64_convert_load_reloc): Covert load relocation to
2483 R_X86_64_32S or R_X86_64_32 for relocation against non-preemptible
2484 absolute symbol. Don't convert to R_X86_64_32S nor R_X86_64_32
2485 for non-preemptible absolute symbol if they overflow.
2486 (elf_x86_64_check_relocs): Call _bfd_elf_x86_valid_reloc_p. Set
2487 tls_type for GOT slot to GOT_ABS for non-preemptible absolute
2488 symbol. Don't allocate dynamic relocation for non-preemptible
2489 absolute symbol.
2490 (elf_x86_64_relocate_section): Don't generate relative relocation
2491 for GOTPCREL relocations aganst local absolute symbol. Pass sec
2492 to GENERATE_DYNAMIC_RELOCATION_P.
2493 * elfxx-x86.c (elf_x86_allocate_dynrelocs): No dynamic relocation
2494 against non-preemptible absolute symbol.
2495 (_bfd_elf_x86_valid_reloc_p): New function.
2496 (_bfd_x86_elf_size_dynamic_sections): No dynamic relocation for
2497 GOT_ABS GOT slot.
2498 * elfxx-x86.h (GENERATE_DYNAMIC_RELOCATION_P): Add an SEC
2499 argument. Don't generate dynamic relocation against
2500 non-preemptible absolute symbol.
2501 (ABS_SYMBOL_P): New.
2502 (GENERATE_RELATIVE_RELOC_P): Don't generate relative relocation
2503 against non-preemptible absolute symbol.
2504 (GOT_ABS): New.
2505 (R_X86_64_converted_reloc_bit): New. Moved from elf64-x86-64.c.
2506 (_bfd_elf_x86_valid_reloc_p): New.
2507
2508 2020-04-01 Tamar Christina <tamar.christina@arm.com>
2509
2510 PR ld/16017
2511 * elf32-arm.c (elf32_arm_populate_plt_entry): Set LSB of the PLT0
2512 address in the GOT if in thumb only mode.
2513
2514 2020-04-01 Tamar Christina <tamar.christina@arm.com>
2515
2516 * elf32-arm.c (elf32_thumb2_plt_entry): Fix PC-rel offset.
2517
2518 2020-04-01 Hans-Peter Nilsson <hp@bitrange.com>
2519
2520 * mmo.c (mmo_scan): Create .text section only when needed, not
2521 from the start.
2522
2523 2020-03-31 Alan Modra <amodra@gmail.com>
2524
2525 * coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Correct bfd_bread
2526 return value check.
2527
2528 2020-03-31 Alan Modra <amodra@gmail.com>
2529
2530 * vms-alpha.c (image_write): Check bounds for sections without
2531 contents too. Error on non-zero write to section without
2532 contents.
2533 (_bfd_vms_slurp_etir): Check return of image_write* functions.
2534
2535 2020-03-31 Alan Modra <amodra@gmail.com>
2536
2537 * tekhex.c (pass_over): Check is_eof before reading buffer.
2538
2539 2020-03-30 Nick Clifton <nickc@redhat.com>
2540
2541 PR binutils/pr25662
2542 * libcoff-in.h (struct pe_tdata): Rename the insert_timestamp
2543 field to timestamp and make it an integer.
2544 * libcoff.h: Regenerate.
2545 * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Test the timestamp
2546 field in the pe_data structure rather than the insert_timestamp
2547 field.
2548
2549 2020-03-30 Alan Modra <amodra@gmail.com>
2550
2551 PR 25745
2552 * elf64-ppc.c (ppc64_elf_build_stubs): Use asprintf to form
2553 statistics message.
2554
2555 2020-03-26 Nick Clifton <nickc@redhat.com>
2556
2557 * cofflink.c (bfd_coff_get_internal_extra_pe_aouthdr): Delete.
2558 * libbfd-in.h (bfd_coff_get_internal_extra_pe_aouthdr): Remove
2559 prototype.
2560 * libbfd.h: Regenerate.
2561
2562 2020-03-26 Alan Modra <amodra@gmail.com>
2563
2564 * i386msdos.c (msdos_object_p): Catch -1 return from bfd_bread.
2565
2566 2020-03-26 Alan Modra <amodra@gmail.com>
2567
2568 * vms-alpha.c (dst_define_location): Limit size of dst_ptr_offsets
2569 array.
2570 (_bfd_vms_slurp_object_records): Rename "err" to "ok".
2571
2572 2020-03-25 Nick Clifton <nickc@redhat.com>
2573
2574 * cofflink.c (bfd_coff_get_internal_extra_pe_aouthdr): New
2575 function.
2576 * libbfd-in.h (bfd_coff_get_internal_extra_pe_aouthdr): Prototype.
2577 * libbfd.h: Regenerate.
2578
2579 2020-03-25 Shahab Vahedi <shahab@synopsys.com>
2580
2581 * elf32-arc.c (PRINT_DEBUG_RELOC_INFO_BEFORE): Use the
2582 correct field name in the output string.
2583
2584 2020-03-25 Alan Modra <amodra@gmail.com>
2585
2586 PR 25662
2587 * elf.c (assign_file_positions_for_load_sections): Adjust offset
2588 for SHT_NOBITS section if first in segment.
2589
2590 2020-03-24 H.J. Lu <hongjiu.lu@intel.com>
2591
2592 PR binutils/25708
2593 * elf-bfd.h (_bfd_elf_get_symbol_version_name): Renamed to ...
2594 (_bfd_elf_get_symbol_version_string): This.
2595 * elf.c (_bfd_elf_get_symbol_version_name): Renamed to ...
2596 (_bfd_elf_get_symbol_version_string): This.
2597 (bfd_elf_print_symbol): Pass TRUE to
2598 _bfd_elf_get_symbol_version_string.
2599 * libbfd-in.h (_bfd_nosymbols_get_symbol_version_string): Add a
2600 bfd_boolean argument.
2601 * syms.c (_bfd_nosymbols_get_symbol_version_string): Likewise.
2602 * targets.c (_bfd_get_symbol_version_string): Likewise.
2603 (bfd_get_symbol_version_string): Likewise.
2604 * bfd-in2.h: Regenerated.
2605
2606 2020-03-24 Nick Clifton <nickc@redhat.com>
2607 Jaydeep Chauhan <jaydeepchauhan1494@gmail.com>
2608
2609 PR 25713
2610 * bfdio.c (_bfd_real_fopen): Add code to handle long filenames on
2611 Win32 systems.
2612
2613 2020-03-24 Nick Clifton <nickc@redhat.com>
2614
2615 PR 25681
2616 * elf.c (_bfd_elf_map_sections_to_segments): When looking for a
2617 segment to use for PT_GNU_RELRO, ignore empty sections in a
2618 segment's current list.
2619
2620 2020-03-24 H.J. Lu <hongjiu.lu@intel.com>
2621
2622 PR binutils/25717
2623 * elf-bfd.h (elf_obj_tdata): Change num_group to unsigned int.
2624
2625 2020-03-24 H.J. Lu <hongjiu.lu@intel.com>
2626
2627 PR binutils/25708
2628 * elf-bfd.h (_bfd_elf_get_symbol_version_name): New.
2629 * elf.c (_bfd_elf_get_symbol_version_name): New function. Based
2630 on the previous _bfd_elf_get_symbol_version_string.
2631 (_bfd_elf_get_symbol_version_string): Use it.
2632
2633 2020-03-24 Alan Modra <amodra@gmail.com>
2634
2635 * archive.c (_bfd_generic_read_ar_hdr_mag): Sanity check extended
2636 name size. Use bfd_malloc rather than bfd_zmalloc, clearing just
2637 struct areltdata.
2638
2639 2020-03-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
2640
2641 * elflink.c (_bfd_elf_tls_setup): Mention .tdata in comment.
2642
2643 2020-03-23 Alan Modra <amodra@gmail.com>
2644
2645 * ecoff.c (_bfd_ecoff_slurp_armap): Sanity check parsed_size and
2646 symbol count. Allocate an extra byte to ensure name strings
2647 are terminated. Sanity check name offsets. Release memory on
2648 error return.
2649
2650 2020-03-23 Alan Modra <amodra@gmail.com>
2651
2652 * i386msdos.c (msdos_object_p): Don't access e_lfanew when that
2653 field hasn't been read. Remove unnecessary casts.
2654
2655 2020-03-22 Alan Modra <amodra@gmail.com>
2656
2657 * coff64-rs6000.c (xcoff64_slurp_armap): Ensure size is large
2658 enough to read number of symbols.
2659
2660 2020-03-20 H.J. Lu <hongjiu.lu@intel.com>
2661
2662 * configure.ac (HAVE_EXECUTABLE_SUFFIX): Removed.
2663 (EXECUTABLE_SUFFIX): Likewise.
2664 * config.in: Regenerated.
2665 * configure: Likewise.
2666 * plugin.c (bfd_plugin_close_and_cleanup): Defined as
2667 _bfd_generic_close_and_cleanup.
2668 (plugin_list_entry): Remove resolution_file, resolution_option,
2669 real_bfd, real_nsyms, real_syms, lto_nsyms, lto_syms, gcc,
2670 lto_wrapper, gcc_env and initialized,
2671 (need_lto_wrapper_p): Removed.
2672 (get_lto_wrapper): Likewise.
2673 (setup_lto_wrapper_env): Likewise.
2674 (register_all_symbols_read): Likewise.
2675 (egister_cleanup): Likewise.
2676 (get_symbols): Likewise.
2677 (add_input_file): Likewise.
2678 (bfd_plugin_set_program_name): Remove need_lto_wrapper.
2679 (add_symbols): Updated.
2680 (try_claim): Likewise.
2681 (try_load_plugin): Likewise.
2682 (bfd_plugin_canonicalize_symtab): Likewise.
2683 * plugin.h (bfd_plugin_set_program_name): Remove int argument.
2684 (plugin_data_struct): Remove real_bfd, real_nsyms and real_syms.
2685
2686 2020-03-19 H.J. Lu <hongjiu.lu@intel.com>
2687
2688 PR binutils/25640
2689 * plugin.c (plugin_list_entry): Add has_symbol_type.
2690 (add_symbols_v2): New function.
2691 (bfd_plugin_open_input): Don't invoke LTO wrapper if LTO plugin
2692 provides symbol type.
2693 (try_load_plugin): Add LDPT_ADD_SYMBOLS_V2.
2694 (bfd_plugin_canonicalize_symtab): Use LTO plugin symbol type if
2695 available.
2696
2697 2020-03-20 Alan Modra <amodra@gmail.com>
2698
2699 * coff-rs6000.c (_bfd_xcoff_slurp_armap): Ensure size is large
2700 enough to read number of symbols.
2701
2702 2020-03-20 Alan Modra <amodra@gmail.com>
2703
2704 * elf.c (_bfd_elf_setup_sections): Don't test known non-NULL
2705 backend functions for NULL before calling.
2706 (copy_special_section_fields, _bfd_elf_copy_private_bfd_data),
2707 (bfd_section_from_shdr, assign_section_numbers): Likewise.
2708 * elfcode.h (elf_write_relocs, elf_slurp_reloc_table): Likewise.
2709 * elfnn-ia64.c (ignore_errors): New function.
2710 (elf_backend_link_order_error_handler): Redefine as ignore_errors.
2711
2712 2020-03-19 Nick Clifton <nickc@redhat.com>
2713
2714 PR 25676
2715 * dwarf2.c (struct varinfo): Add unit_offset field to record the
2716 location of the varinfo in the unit's debug info data. Change the
2717 type of the stack field to a boolean.
2718 (lookup_var_by_offset): New function. Returns the varinfo
2719 structure for the variable described at the given offset in the
2720 unit's debug info.
2721 (scan_unit_for_symbols): Add support for variables which have the
2722 DW_AT_specification attribute.
2723
2724 2020-03-19 Nick Clifton <nickc@redhat.com>
2725
2726 PR 25699
2727 * elf.c (bfd_elf_set_group_contents): Replace assertion with an
2728 error return.
2729
2730 2020-03-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
2731
2732 * elfxx-riscv.c (riscv_parse_subset): Don't use C99.
2733
2734 2020-03-18 Nick Clifton <nickc@redhat.com>
2735
2736 PR 25673
2737 * elf.c (_bfd_elf_write_secondary_reloc_section): Fix illegal
2738 memory access when processing a corrupt secondary reloc section.
2739
2740 2020-03-18 Christophe Lyon <christophe.lyon@linaro.org>
2741
2742 * elf32-arm.c (arm_build_one_stub): Emit a fatal error message
2743 instead of calling abort.
2744 * elf32-csky.c (csky_build_one_stub): Likewise.
2745 * elf32-hppa.c (hppa_build_one_stub): Likewise.
2746 * elf32-m68hc11.c (m68hc11_elf_build_one_stub): Likewise.
2747 * elf32-m68hc12.c (m68hc12_elf_build_one_stub): Likewise.
2748 * elf32-metag.c (metag_build_one_stub): Likewise.
2749 * elf32-nios2.c (nios2_build_one_stub): Likewise.
2750 * elf64-ppc.c (ppc_build_one_stub): Likewise.
2751 (ppc_size_one_stub): Likewise.
2752 * elfnn-aarch64.c (aarch64_build_one_stub): Likewise.
2753
2754 2020-03-17 Nick Clifton <nickc@redhat.com>
2755
2756 PR 25688
2757 * elf.c (_bfd_elf_copy_special_section_fields): Replace assertions
2758 with error messages.
2759
2760 2020-03-17 Nick Clifton <nickc@redhat.com>
2761
2762 PR 25687
2763 * elf.c (_bfd_elf_slurp_secondary_reloc_section): Remove redundant
2764 free. Add free on another failure path.
2765
2766 2020-03-16 Alan Modra <amodra@gmail.com>
2767
2768 PR 25675
2769 * elf.c (elf_sort_segments): Don't call bfd_octets_per_byte unless
2770 we have a non-zero section count. Do lma comparison in octets.
2771
2772 2020-03-16 Alan Modra <amodra@gmail.com>
2773
2774 * vms-alpha.c (dst_restore_location): Validate index into
2775 dst_ptr_offsets array before accessing. Return status.
2776 (dst_retrieve_location): Similarly, making "loc" parameter a
2777 pointer to return value.
2778 (_bfd_vms_slurp_etir): Update calls to above functions.
2779
2780 2020-03-14 Kamil Rytarowski <n54@gmx.com>
2781
2782 * configure.ac: Include netbsd-core.lo for all NetBSD arm and mips
2783 targets.
2784 * configure: Regenerated.
2785
2786 2020-03-14 Alan Modra <amodra@gmail.com>
2787
2788 * section.c (BFD_FAKE_SECTIONS): Formatting.
2789 * bfd-in2.h: Regenerate.
2790
2791 2020-03-13 Kamil Rytarowski <n54@gmx.com>
2792
2793 * elf.c (elfcore_grok_netbsd_note): Add support for
2794 NT_NETBSDCORE_LWPSTATUS notes.
2795
2796 2020-03-13 Christophe Lyon <christophe.lyon@linaro.org>
2797
2798 * bfd-in2.h: Regenerate.
2799 * section.c (asection): Add already_assigned field.
2800 (BFD_FAKE_SECTION): Add default initializer for it.
2801 * ecoff.c (bfd_debug_section): Initialize already_assigned field.
2802 * elf32-arm.c (arm_build_one_stub): Add support for
2803 non_contiguous_regions.
2804 * elf32-csky.c (csky_build_one_stub): Likewise.
2805 * elf32-hppa.c (hppa_build_one_stub): Likewise.
2806 * elf32-m68hc11.c (m68hc11_elf_build_one_stub): Likewise.
2807 * elf32-m68hc12.c (m68hc12_elf_build_one_stub): Likewise.
2808 * elf32-metag.c (metag_build_one_stub): Likewise.
2809 * elf32-nios2.c (nios2_build_one_stub): Likewise.
2810 * elf64-ppc.c (ppc_build_one_stub): Likewise.
2811 (ppc_size_one_stub): Likewise.
2812 * elfnn-aarch64.c (aarch64_build_one_stub): Likewise.
2813 * elflink.c (elf_link_input_bfd): Likewise.
2814
2815 2020-03-13 H.J. Lu <hongjiu.lu@intel.com>
2816
2817 PR ld/24920
2818 * elf-linker-x86.h (elf_linker_x86_params): Add
2819 static_before_all_inputs and has_dynamic_linker.
2820 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report
2821 dynamic input objects if -static is passed at command-line
2822 before all input files without --dynamic-linker unless
2823 --no-dynamic-linker is used.
2824
2825 2020-03-13 Kamil Rytarowski <n54@gmx.com>
2826
2827 * elf.c (elfcore_grok_netbsd_note): Add support for aarch64.
2828
2829 2020-03-13 Christian Eggers <ceggers@gmx.de>
2830
2831 * bfd.c (bfd_record_phdr): New local "opb". Fix assignment of
2832 "p_paddr" from "at".
2833 * elfcode.h (bfd_from_remote_memory): Add units to several
2834 parameters. New local "opb". Fix usage of p_align. Fix
2835 calculation of "localbase" from "ehdr_vma" and "p_vaddr". Fix
2836 call of target_read_memory.
2837 * elflink.c (elf_fixup_link_order): Fix scope of "s" local. Fix
2838 calculation of "offset" and "output_offset".
2839 (bfd_elf_final_link): New local "opb". Fix calculation of "size"
2840 from "offset" and fix calculation of "end" from "vma+size". Fix
2841 comparison between "sh_addr" and "vma"/"output_offset".
2842 (bfd_elf_discard_info): Fix calculation of "eh_alignment".
2843 * elf-bfd.h (struct elf_link_hash_table): Add unit to tls_size
2844 member.
2845 * elf.c (_bfd_elf_map_sections_to_segments): Add unit (bytes/
2846 octets) to "wrap_to2 and "phdr_size" locals. Fix calculation of
2847 "wrap_to" value. Add unit (bytes) to phdr_lma variable. Fix
2848 assignment of p_paddr from phdr_lma. Fix comparison between
2849 "lma+size" and "next->lma".
2850 (elf_sort_segments): Fix assignment from p_paddr to lma.
2851 (assign_file_positions_for_load_sections): Add unit (bytes) to
2852 local "align". Fix calculation of local "off_adjust". Fix
2853 calculation of local "filehdr_vaddr".
2854 (assign_file_positions_for_non_load_sections): New local "opb".
2855 Fix calculation of "end" from "p_size". Fix comparison between
2856 "vma+SECTION_SIZE" and "start". Fix calculation of "p_memsz"
2857 from "end" and "p_vaddr".
2858 (rewrite_elf_program_header): Fix comparison between p_vaddr and
2859 vma. Fix assignment to p_paddr from lma. Fix comparison between
2860 p_paddr and lma. Fix assignment to p_paddr from lma.
2861 * merge.c (sec_merge_emit): New local "opb". Convert
2862 "alignment_power" to octets.
2863 (_bfd_add_merge_section): New locals "alignment_power" and
2864 "opb". Fix comparison between "alignment_power" and
2865 "sizeof(align)".
2866 (_bfd_merge_sections): New local "opb". Divide size by opb
2867 before checking align mask.
2868
2869 2020-03-13 Christian Eggers <ceggers@gmx.de>
2870
2871 * elf.c (_bfd_elf_make_section_from_shdr): Introduce new temp
2872 opb. Divide Elf_Internal_Shdr::sh_addr by opb when setting
2873 section LMA/VMA.
2874 (_bfd_elf_make_section_from_phdr): Similarly.
2875 (elf_fake_sections): Fix calculation of
2876 Elf_Internal_shdr::sh_addr from section VMA.
2877 (_bfd_elf_map_sections_to_segments): Fix mixup between octets
2878 and bytes.
2879 (assign_file_positions_for_load_sections): Fix calculations of
2880 Elf_Internal_shdr::p_vaddr and p_paddr from section LMA/VMA. Fix
2881 comparison between program header address and section LMA.
2882 (assign_file_positions_for_non_load_sections): Likewise.
2883 (rewrite_elf_program_header): Likewise. Introduce new temp opb.
2884 (IS_CONTAINED_BY_VMA): Add parameter opb.
2885 (IS_CONTAINED_BY_LMA,IS_SECTION_IN_INPUT_SEGMENT,
2886 INCLUDE_SECTION_IN_SEGMENT): Likewise.
2887 (copy_elf_program_header): Update call to ELF_SECTION_IN_SEGMENT.
2888 Fix calculations of p_addr_valid and p_vaddr_offset.
2889 * elflink.c (elf_link_add_object_symbols): Multiply section VMA
2890 with octets per byte when comparing against p_vaddr.
2891
2892 2020-03-11 Alan Modra <amodra@gmail.com>
2893
2894 * som.c (setup_sections): Sanity check subspace.name.
2895
2896 2020-03-11 Alan Modra <amodra@gmail.com>
2897
2898 * elf64-ppc.c (ppc64_elf_inline_plt): Do increment rel in for loop.
2899
2900 2020-03-10 Alan Modra <amodra@gmail.com>
2901
2902 PR 25648
2903 * ihex.c (ihex_write_object_contents): Don't assume ordering of
2904 addresses here.
2905
2906 2020-03-09 Alan Modra <amodra@gmail.com>
2907
2908 * wasm-module.c (wasm_scan): Sanity check file name length
2909 before allocating memory. Move common section setup code. Do
2910 without bfd_tell to calculate section size.
2911
2912 2020-03-06 Nick Clifton <nickc@redhat.com>
2913
2914 * elf.c (_bfd_elf_set_section_contents): Replace call to abort
2915 with error messages and failure return values.
2916
2917 2020-03-05 Max Filippov <jcmvbkbc@gmail.com>
2918
2919 * elf32-xtensa.c (shrink_dynamic_reloc_sections): Shrink dynamic
2920 relocation sections for any removed reference to a dynamic symbol.
2921
2922 2020-03-05 Nick Clifton <nickc@redhat.com>
2923
2924 * elf-bfd.h (struct elf_backend_data): Add new fields:
2925 init_secondary_reloc_section, slurp_secondary_reloc_section,
2926 write_secondary_reloc_section.
2927 (_bfd_elf_init_secondary_reloc_section): Prototype.
2928 (_bfd_elf_slurp_secondary_reloc_section): Prototype.
2929 (_bfd_elf_write_secondary_reloc_section): Prototype.
2930 * elf.c ( bfd_section_from_shdr): Invoke the new
2931 init_secondary_reloc_section backend function, if defined, when a
2932 second reloc section is encountered.
2933 (swap_out_syms): Invoke the new symbol_section_index function, if
2934 defined, when computing the section index of an OS/PROC specific
2935 symbol.
2936 (_bfd_elf_init_secondary_reloc_section): New function.
2937 (_bfd_elf_slurp_secondary_reloc_section): New function.
2938 (_bfd_elf_write_secondary_reloc_section): New function.
2939 (_bfd_elf_copy_special_section_fields): New function.
2940 * elfcode.h (elf_write_relocs): Invoke the new
2941 write_secondary_relocs function, if defined, in order to emit
2942 secondary relocs.
2943 (elf_slurp_reloc_table): Invoke the new slurp_secondary_relocs
2944 function, if defined, in order to read in secondary relocs.
2945 * elfxx-target.h (elf_backend_copy_special_section_fields):
2946 Provide a non-NULL default definition.
2947 (elf_backend_init_secondary_reloc_section): Likewise.
2948 (elf_backend_slurp_secondary_reloc_section): Likewise.
2949 (elf_backend_write_secondary_reloc_section): Likewise.
2950 (struct elf_backend_data elfNN_bed): Add initialisers for the new
2951 fields.
2952 * configure.ac (score_elf32_[bl]e_vec): Add elf64.lo
2953 * configure: Regenerate.
2954
2955 2020-03-05 Alan Modra <amodra@gmail.com>
2956
2957 * archive64.c (_bfd_archive_64_bit_slurp_armap): Check parsed_size
2958 against file size before allocating memory. Use bfd_alloc rather
2959 than bfd_zalloc for carsym/strings memory.
2960
2961 2020-03-04 Alan Modra <amodra@gmail.com>
2962
2963 * elf.c (elf_fake_sections): Ensure sh_addralign is such that
2964 sh_addr mod sh_addalign is zero.
2965
2966 2020-03-04 Alan Modra <amodra@gmail.com>
2967
2968 * format.c (bfd_check_format_matches): Call cleanup on error exit.
2969
2970 2020-03-03 Alan Modra <amodra@gmail.com>
2971
2972 * format.c (struct bfd_preserve): Add cleanup field.
2973 (bfd_preserve_save): Add cleanup param and save.
2974 (bfd_preserve_restore): Return cleanup.
2975 (bfd_preserve_finish): Call the cleanup for the discarded match.
2976 (bfd_check_format_matches): Pass cleanup to bfd_preserve_save,
2977 and clear when preserving a match. Restore cleanup too when
2978 restoring that match.
2979
2980 2020-03-02 Alan Modra <amodra@gmail.com>
2981
2982 * cisco-core.c (cisco_core_file_p): Return bfd_cleanup.
2983 * hpux-core.c (hpux_core_core_file_p): Update prototype.
2984 * sco5-core.c (sco5_core_file_p): Return bfd_cleanup.
2985 (core_sco5_vec): Correct initialisers.
2986
2987 2020-03-02 Alan Modra <amodra@gmail.com>
2988
2989 * aix386-core.c (aix386_core_file_p): Return bfd_cleanup.
2990 * aix5ppc-core.c (xcoff64_core_p): Likewise.
2991 * cisco-core.c (cisco_core_file_validate): Likewise.
2992 * hppabsd-core.c (hppabsd_core_core_file_p): Likewise.
2993 * hpux-core.c (hpux_core_core_file_p): Likewise.
2994 * irix-core.c (irix_core_core_file_p): Likewise.
2995 * lynx-core.c (lynx_core_file_p): Likewise.
2996 * netbsd-core.c (netbsd_core_file_p): Likewise.
2997 * osf-core.c (osf_core_core_file_p): Likewise.
2998 * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
2999 * sco5-core.c (sco5_core_file_p): Likewise.
3000
3001 2020-03-02 H.J. Lu <hongjiu.lu@intel.com>
3002
3003 * trad-core.c (trad_unix_core_file_p): Return bfd_cleanup.
3004
3005 2020-03-02 Alan Modra <amodra@gmail.com>
3006
3007 * targets.c (bfd_cleanup): New typedef.
3008 (struct bfd <_bfd_check_format>): Return a bfd_cleanup.
3009 * libbfd-in.h (_bfd_no_cleanup): Define.
3010 * format.c (bfd_reinit): Add cleanup parameter, call it.
3011 (bfd_check_format_matches): Set cleanup from _bfd_check_format
3012 call and pass to bfd_reinit. Delete temp, use abfd->xvec instead.
3013 * aout-target.h (callback, object_p): Return bfd_cleanup.
3014 * aout-tic30.c (tic30_aout_callback, tic30_aout_object_p): Likewise.
3015 * archive.c (bfd_generic_archive_p): Likewise.
3016 * binary.c (binary_object_p): Likewise.
3017 * coff-alpha.c (alpha_ecoff_object_p): Likewise.
3018 * coff-ia64.c (ia64coff_object_p): Likewise.
3019 * coff-rs6000.c (_bfd_xcoff_archive_p, rs6000coff_core_p): Likewise.
3020 * coff-sh.c (coff_small_object_p): Likewise.
3021 * coff-stgo32.c (go32_check_format): Likewise.
3022 * coff64-rs6000.c (xcoff64_archive_p, rs6000coff_core_p),
3023 (xcoff64_core_p): Likewise.
3024 * coffgen.c (coff_real_object_p, coff_object_p): Likewise.
3025 * elf-bfd.h (bfd_elf32_object_p, bfd_elf32_core_file_p),
3026 (bfd_elf64_object_p, bfd_elf64_core_file_p): Likewise.
3027 * elfcode.h (elf_object_p): Likewise.
3028 * elfcore.h (elf_core_file_p): Likewise.
3029 * i386msdos.c (msdos_object_p): Likewise.
3030 * ihex.c (ihex_object_p): Likewise.
3031 * libaout.h (some_aout_object_p): Likewise.
3032 * libbfd-in.h (bfd_generic_archive_p, _bfd_dummy_target),
3033 (_bfd_vms_lib_alpha_archive_p, _bfd_vms_lib_ia64_archive_p): Likewise.
3034 * libbfd.c (_bfd_dummy_target): Likewise.
3035 * libcoff-in.h (coff_object_p): Likewise.
3036 * mach-o-aarch64.c (bfd_mach_o_arm64_object_p),
3037 (bfd_mach_o_arm64_core_p): Likewise.
3038 * mach-o-arm.c (bfd_mach_o_arm_object_p),
3039 (bfd_mach_o_arm_core_p): Likewise.
3040 * mach-o-i386.c (bfd_mach_o_i386_object_p),
3041 (bfd_mach_o_i386_core_p): Likewise.
3042 * mach-o-x86-64.c (bfd_mach_o_x86_64_object_p),
3043 (bfd_mach_o_x86_64_core_p): Likewise.
3044 * mach-o.c (bfd_mach_o_header_p, bfd_mach_o_gen_object_p),
3045 (bfd_mach_o_gen_core_p, bfd_mach_o_fat_archive_p): Likewise.
3046 * mach-o.h (bfd_mach_o_object_p, bfd_mach_o_core_p),
3047 (bfd_mach_o_fat_archive_p, bfd_mach_o_header_p): Likewise.
3048 * mmo.c (mmo_object_p): Likewise.
3049 * pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
3050 * peicode.h (coff_real_object_p, pe_ILF_object_p),
3051 (pe_bfd_object_p): Likewise.
3052 * plugin.c (ld_plugin_object_p, bfd_plugin_object_p): Likewise.
3053 * ppcboot.c (ppcboot_object_p): Likewise.
3054 * rs6000-core.c (rs6000coff_core_p): Likewise.
3055 * som.c (som_object_setup, som_object_p): Likewise.
3056 * srec.c (srec_object_p, symbolsrec_object_p): Likewise.
3057 * tekhex.c (tekhex_object_p): Likewise.
3058 * vms-alpha.c (alpha_vms_object_p): Likewise.
3059 * vms-lib.c (_bfd_vms_lib_archive_p, _bfd_vms_lib_alpha_archive_p),
3060 (_bfd_vms_lib_ia64_archive_p, _bfd_vms_lib_txt_archive_p): Likewise.
3061 * wasm-module.c (wasm_object_p): Likewise.
3062 * xsym.c (bfd_sym_object_p): Likewise.
3063 * xsym.h (bfd_sym_object_p): Likewise.
3064 * aoutx.h (some_aout_object_p): Likewise, and callback parameter
3065 return type.
3066 * pdp11.c (some_aout_object_p): Likewise.
3067 * plugin.c (register_ld_plugin_object_p): Update object_p
3068 parameter type.
3069 * plugin.h (register_ld_plugin_object_p): Likewise.
3070 * bfd-in2.h: Regenerate.
3071 * libbfd.h: Regenerate.
3072 * libcoff.h: Regenerate.
3073
3074 2020-03-02 Alan Modra <amodra@gmail.com>
3075
3076 * coff-alpha.c (alpha_ecoff_le_vec): Add SEC_SMALL_DATA to
3077 applicable section flags.
3078 * coff-mips.c (mips_ecoff_le_vec, mips_ecoff_be_vec): Likewise.
3079 (mips_ecoff_bele_vec): Likewise.
3080 * coffcode.h (sec_to_styp_flags): Set SEC_SMALL_DATA for .sdata
3081 and .sbss sections.
3082 * ecoff.c (_bfd_ecoff_new_section_hook): Likewise.
3083 (_bfd_ecoff_styp_to_sec_flags): Likewise.
3084
3085 2020-03-02 Alan Modra <amodra@gmail.com>
3086
3087 * elf32-m32r.c (m32r_elf_section_flags): New function.
3088 (elf_backend_section_flags): Define.
3089 * elf32-nds32.c (nds32_elf_section_flags): New function.
3090 (elf_backend_section_flags): Define.
3091 * elf32-ppc.c (ppc_elf_section_from_shdr): Set SEC_SMALL_DATA for
3092 .sbss and .sdata sections.
3093 * elf32-v850.c (v850_elf_section_from_shdr): Set SEC_SMALL_DATA
3094 for SHF_V850_GPREL sections.
3095 * elf64-alpha.c (elf64_alpha_section_from_shdr): Delete outdated
3096 FIXME.
3097 * elf64-hppa.c (elf64_hppa_section_from_shdr): Set SEC_SMALL_DATA
3098 for SHF_PARISC_SHORT sections.
3099 * elf64-ppc.c (ppc64_elf_section_flags): New function.
3100 (elf_backend_section_flags): Define.
3101 * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Set SEC_SMALL_DATA
3102 for SHF_MIPS_GPREL sections. Delete FIXME.
3103
3104 2020-03-02 Alan Modra <amodra@gmail.com>
3105
3106 * elf-bfd.h (elf_backend_section_flags): Remove flagword* param.
3107 * elf.c (_bfd_elf_make_section_from_shdr): Set section flags before
3108 calling elf_backend_section_flags with adjusted params. Use
3109 newsect->flags past that point.
3110 (_bfd_elf_new_section_hook): Always set sh_type and sh_flags for
3111 special sections.
3112 (_bfd_elf_init_private_section_data): Allow normal sh_type sections
3113 to have their type overridden, and all sh_flags but processor and
3114 os specific.
3115 * elf32-arm.c (elf32_arm_section_flags): Adjust for changed params.
3116 * elf32-mep.c (mep_elf_section_flags): Likewise.
3117 * elf32-nios2.c (nios2_elf32_section_flags): Likewise.
3118 * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
3119 * elf64-ia64-vms.c (elf64_ia64_section_flags): Likewise.
3120 * elfnn-ia64.c (elfNN_ia64_section_flags): Likewise.
3121 * elfnn-aarch64.c (elfNN_aarch64_size_stubs): Exclude the linker
3122 stub BFD and non-aarch64 input files when scanning for stubs.
3123
3124 2020-03-02 Alan Modra <amodra@gmail.com>
3125
3126 * coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Provide an upper
3127 limit to decompressed element size.
3128
3129 2020-03-02 Alan Modra <amodra@gmail.com>
3130
3131 * vms-lib.c (vms_traverse_index): Add recur_count param and
3132 update calls. Fail on excessive recursion.
3133
3134 2020-03-02 Alan Modra <amodra@gmail.com>
3135
3136 * vms-alpha.c (vms_get_remaining_object_record): Use
3137 bfd_realloc_or_free rather than bfd_realloc.
3138 (add_symbol_entry, vector_grow1, alpha_vms_slurp_relocs): Likewise.
3139 (dst_define_location, parse_module): Likewise, and check realloc
3140 return status before using memory. Return status from function
3141 adjusting all callers.
3142
3143 2020-02-28 Alan Modra <amodra@gmail.com>
3144
3145 * vms-lib.c (_bfd_vms_lib_archive_p): Free memory on error paths.
3146
3147 2020-02-28 Alan Modra <amodra@gmail.com>
3148
3149 * vms-alpha.c (alpha_vms_object_p): Use _bfd_malloc_and_read.
3150 Remove duplicate undersize check.
3151
3152 2020-02-27 Alan Modra <amodra@gmail.com>
3153
3154 PR 24511
3155 * mmo.c (mmo_scan): Set SEC_DATA for .data.
3156
3157 2020-02-27 Alan Modra <amodra@gmail.com>
3158
3159 PR 24511
3160 * syms.c (stt): Trim off all but 'e', 'i' and 'p' entries.
3161 (coff_section_type): Adjust comment.
3162 (decode_section_type): Likewise. Call coff_section_type before
3163 decode_section_type.
3164 (bfd_decode_symclass): Use 'c' for common sections other than
3165 the standard one.
3166
3167 2020-02-27 Alan Modra <amodra@gmail.com>
3168
3169 * coff-rs6000.c (_bfd_xcoff_read_ar_hdr): Put all data in one
3170 malloc'd block.
3171
3172 2020-02-27 Alan Modra <amodra@gmail.com>
3173
3174 * bfd.c (bfd_stat_arch_elt): Use vector of containing archive,
3175 if file is an archive element.
3176 * bfd-in2.h: Regenerate.
3177
3178 2020-02-26 Alan Modra <amodra@gmail.com>
3179
3180 * archive.c (do_slurp_bsd_armap): Increase minimum parsed_size, and
3181 bfd_set_error on failing test. Don't bother changing bfd_error on
3182 file read error. Check symdef_count is multiple of BSD_SYMDEF_SIZE.
3183 Check sym name is within string buffer. Use size_t for some vars.
3184 (do_slurp_coff_armap): Use size_t for some variables, fix size of
3185 int_buf. Don't change bfd_error on file read error. Use
3186 _bfd_mul_overflow when calculating carsym buffer size. Reorder
3187 calculations to catch overflows before they occur. malloc and
3188 free raw armap rather than using bfd_alloc. Read raw armap before
3189 allocating carsym+strings buffer.
3190 (_bfd_slurp_extended_name_table): Localize variables. Check
3191 name size against file size.
3192
3193 2020-02-26 Alan Modra <amodra@gmail.com>
3194
3195 * vms-lib.c (vms_lib_read_index): Release correct buffer.
3196
3197 2020-02-26 Alan Modra <amodra@gmail.com>
3198
3199 * elf32-rx.c (rx_elf_relocate_section): Use bfd_malloc rather than
3200 malloc. Check for NULL return from bfd_malloc.
3201 (rx_table_find, rx_table_map): Likewise.
3202 (rx_set_section_contents): Check bfd_alloc return.
3203 (rx_dump_symtab): Don't alloc internal_syms or external_syms.
3204
3205 2020-02-26 Alan Modra <amodra@gmail.com>
3206
3207 * aoutx.h: Indent labels correctly. Format error strings.
3208 * archive.c: Likewise.
3209 * archive64.c: Likewise.
3210 * coff-arm.c: Likewise.
3211 * coff-rs6000.c: Likewise.
3212 * coff-stgo32.c: Likewise.
3213 * cpu-arm.c: Likewise.
3214 * dwarf2.c: Likewise.
3215 * elf-ifunc.c: Likewise.
3216 * elf-properties.c: Likewise.
3217 * elf-s390-common.c: Likewise.
3218 * elf-strtab.c: Likewise.
3219 * elf.c: Likewise.
3220 * elf32-arm.c: Likewise.
3221 * elf32-bfin.c: Likewise.
3222 * elf32-cr16.c: Likewise.
3223 * elf32-csky.c: Likewise.
3224 * elf32-i386.c: Likewise.
3225 * elf32-m68k.c: Likewise.
3226 * elf32-msp430.c: Likewise.
3227 * elf32-nds32.c: Likewise.
3228 * elf32-nios2.c: Likewise.
3229 * elf32-pru.c: Likewise.
3230 * elf32-xtensa.c: Likewise.
3231 * elf64-ia64-vms.c: Likewise.
3232 * elf64-x86-64.c: Likewise.
3233 * elfcode.h: Likewise.
3234 * elfcore.h: Likewise.
3235 * elflink.c: Likewise.
3236 * elfnn-aarch64.c: Likewise.
3237 * elfnn-ia64.c: Likewise.
3238 * elfnn-riscv.c: Likewise.
3239 * elfxx-mips.c: Likewise.
3240 * elfxx-sparc.c: Likewise.
3241 * elfxx-x86.c: Likewise.
3242 * i386lynx.c: Likewise.
3243 * merge.c: Likewise.
3244 * pdp11.c: Likewise.
3245 * plugin.c: Likewise.
3246 * reloc.c: Likewise.
3247
3248 2020-02-26 Alan Modra <amodra@gmail.com>
3249
3250 PR 25593
3251 * elf-bfd.h (struct elf_link_hash_table): Rename "loaded" to
3252 "dyn_loaded".
3253 (bfd_elf_add_dt_needed_tag): Declare.
3254 * elf-strtab.c (_bfd_elf_strtab_restore): Handle NULL buf.
3255 * elflink.c (bfd_elf_add_dt_needed_tag): Make global and rename
3256 from elf_add_dt_needed_tag. Remove soname and doit param.
3257 (elf_link_add_object_symbols): Don't use elf_add_dt_needed_tag
3258 to see whether as-needed lib is already loaded, use dyn_loaded
3259 list instead. When saving and restoring around as-needed lib
3260 handle possibility that dynstr has not been initialised. Don't
3261 add DT_NEEDED tags here. Limit dyn_loaded list to dynamic libs.
3262 Mark libs loaded via DT_NEEDED entries of other libs with
3263 DYN_NO_NEEDED if they should not be mentioned in DT_NEEDED of
3264 the output.
3265 (elf_link_check_versioned_symbol): Remove now unneccesary
3266 DYNAMIC check when traversing dyn_loaded list.
3267
3268 2020-02-26 Alan Modra <amodra@gmail.com>
3269
3270 * bfdio.c (bfd_get_file_size): Ignore bogus archive element sizes.
3271
3272 2020-02-25 H.J. Lu <hongjiu.lu@intel.com>
3273
3274 PR binutils/25584
3275 * plugin.c (need_lto_wrapper_p): New.
3276 (bfd_plugin_set_program_name): Add an int argument to set
3277 need_lto_wrapper_p.
3278 (get_lto_wrapper): Return FALSE if need_lto_wrapper_p isn't
3279 set.
3280 * plugin.h (bfd_plugin_set_program_name): Add an int argument.
3281
3282 2020-02-24 Alan Modra <amodra@gmail.com>
3283
3284 * vms-lib.c (_bfd_vms_lib_archive_p): Correct overflow checks.
3285
3286 2020-02-24 Alan Modra <amodra@gmail.com>
3287
3288 * vms-lib.c (struct carsym_mem): Add limit.
3289 (vms_add_index): Heed limit.
3290 (vms_traverse_index): Catch buffer overflows. Remove outdated fixme.
3291 (vms_lib_read_index): Set up limit. Catch 32-bit overflow.
3292 Always return actual number read.
3293 (_bfd_vms_lib_archive_p): Catch buffer overflows. Replace
3294 assertion with error exit.
3295
3296 2020-02-22 Alan Modra <amodra@gmail.com>
3297
3298 PR 25585
3299 * elf.c (assign_file_positions_for_load_sections): Continue linking
3300 on "PHDR segment not covered by LOAD segment" errors.
3301
3302 2020-02-21 Alan Modra <amodra@gmail.com>
3303
3304 * mach-o.c (bfd_mach_o_canonicalize_relocs): Fix ineffective
3305 overflow check.
3306 (bfd_mach_o_canonicalize_reloc): Likewise.
3307 (bfd_mach_o_canonicalize_dynamic_reloc): Likewise. Sanity check
3308 counts and offsets against file size.
3309 (bfd_mach_o_build_dysymtab): Fix ineffective overflow check.
3310 (bfd_mach_o_mangle_sections): Remove unnecessary overflow check.
3311 (bfd_mach_o_read_symtab_symbols): Sanity check count and offset
3312 against file size. Delete symbol table error message.
3313 (bfd_mach_o_read_dysymtab): Sanity check counts and offsets
3314 against file size.
3315 (bfd_mach_o_read_symtab): Likewise.
3316 (bfd_mach_o_read_command): Pass file size.
3317 (bfd_mach_o_scan): Sanity check command count against file size.
3318
3319 2020-02-21 Alan Modra <amodra@gmail.com>
3320
3321 PR 25569
3322 * aoutx.h (adjust_o_magic, adjust_z_magic, adjust_n_magic): Use
3323 "text", "data" and "bss" section pointer vars. Don't update
3324 section size, just exec header sizes.
3325 (adjust_sizes_and_vmas): Don't update text section size. Set
3326 initial exec header a_text. Print exec headers sizes.
3327 * pdp11.c (adjust_o_magic, adjust_z_magic, adjust_n_magic),
3328 (adjust_sizes_and_vmas): Similarly. Formatting.
3329 (final_link): Correct final file extension.
3330
3331 2020-02-20 Nick Clifton <nickc@redhat.com>
3332
3333 * elf-bfd.h (struct elf_backend_data): Add symbol_section_index
3334 callback.
3335 * elfxx-target.h (elf_backend_symbol_section_index): Provide
3336 default definition.
3337 (elfNN_bed): Initialise the symbol_section_index field.
3338 * elf.c (swap_out_syms): Call symbol_section_index, if defined, on
3339 OS and PROC specific section indicies. Warn if converting other
3340 reserved incidies to SHN_ABS.
3341
3342 2020-02-19 Sergey Belyashov <sergey.belyashov@gmail.com>
3343
3344 PR 25537
3345 * cpu-z80.c: Add machine type compatibility checking.
3346
3347 2020-02-19 H.J. Lu <hongjiu.lu@intel.com>
3348
3349 PR binutils/25355
3350 * plugin.c (plugin_list_entry): Remove handle.
3351 (try_load_plugin): Call dlclose before return.
3352
3353 2020-02-19 Alan Modra <amodra@gmail.com>
3354
3355 * libbfd-in.h (_bfd_constant_p): Define.
3356 (_bfd_alloc_and_read, _bfd_malloc_and_read): Check read size against
3357 file size before allocating memory.
3358 * coffgen.c (_bfd_coff_get_external_symbols): Remove file size check.
3359 * elf.c (bfd_elf_get_str_section): Likewise.
3360 (_bfd_elf_slurp_version_tables): Likewise.
3361 * libbfd.h: Regenerate.
3362
3363 2020-02-19 Alan Modra <amodra@gmail.com>
3364
3365 * libbfd-in.h (_bfd_alloc_and_read, _bfd_malloc_and_read): New.
3366 * aoutx.h (aout_get_external_symbols): Replace calls to
3367 bfd_[m]alloc and bfd_bread with call to _bfd_[m]alloc_and_read.
3368 (slurp_reloc_table): Likewise.
3369 * archive.c (do_slurp_bsd_armap): Likewise.
3370 (do_slurp_coff_armap): Likewise.
3371 * archive64.c (_bfd_archive_64_bit_slurp_armap): Likewise.
3372 * coff-rs6000.c (_bfd_xcoff_slurp_armap): Likewise.
3373 * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
3374 * coffcode.h (coff_set_arch_mach_hook, buy_and_read): Likewise.
3375 * coffgen.c (coff_real_object_p, coff_object_p, build_debug_section),
3376 (_bfd_coff_get_external_symbols): Likewise.
3377 * ecoff.c (ecoff_slurp_symbolic_header),
3378 (_bfd_ecoff_slurp_symbolic_info, ecoff_slurp_reloc_table),
3379 (_bfd_ecoff_slurp_armap, ecoff_link_add_object_symbols, READ),
3380 (ecoff_indirect_link_order): Likewise.
3381 * elf.c (bfd_elf_get_str_section, setup_group, elf_read_notes),
3382 (_bfd_elf_slurp_version_tables): Likewise.
3383 * elf32-m32c.c (m32c_elf_relax_section): Likewise.
3384 * elf32-rl78.c (rl78_elf_relax_section): Likewise.
3385 * elf32-rx.c (elf32_rx_relax_section): Likewise.
3386 * elf64-alpha.c (READ): Likewise.
3387 * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Likewise.
3388 * elf64-sparc.c (elf64_sparc_slurp_one_reloc_table): Likewise.
3389 * elfcode.h (elf_slurp_symbol_table),
3390 (elf_slurp_reloc_table_from_section): Likewise.
3391 * elflink.c (elf_link_add_object_symbols),
3392 (elf_link_check_versioned_symbol): Likewise.
3393 * elfxx-mips.c (READ): Likewise.
3394 * i386lynx.c (slurp_reloc_table): Likewise.
3395 * lynx-core.c (lynx_core_file_p): Likewise.
3396 * mach-o.c (bfd_mach_o_canonicalize_relocs),
3397 (bfd_mach_o_read_symtab_strtab, bfd_mach_o_alloc_and_read),
3398 (bfd_mach_o_read_prebound_dylib, bfd_mach_o_read_dyld_content
3399 * pdp11.c (aout_get_external_symbols, slurp_reloc_table
3400 * pef.c (bfd_pef_print_loader_section, bfd_pef_scan_start_address),
3401 (bfd_pef_parse_symbols): Likewise.
3402 * peicode.h (pe_ILF_object_p, pe_bfd_object_p
3403 * som.c (setup_sections, som_slurp_string_table),
3404 (som_slurp_reloc_table, som_bfd_count_ar_symbols),
3405 (som_bfd_fill_in_ar_symbols): Likewise.
3406 * vms-alpha.c (module_find_nearest_line, evax_bfd_print_dst),
3407 (evax_bfd_print_image): Likewise.
3408 * vms-lib.c (_bfd_vms_lib_archive_p): Likewise.
3409 * wasm-module.c (wasm_scan): Likewise.
3410 * xcofflink.c (xcoff_link_add_symbols): Likewise.
3411 * xsym.c (bfd_sym_read_name_table),
3412 (bfd_sym_print_type_information_table_entry): Likewise.
3413 * libbfd.h: Regenerate.
3414
3415 2020-02-19 Alan Modra <amodra@gmail.com>
3416
3417 * aoutx.h (slurp_reloc_table): Allocate reloc_cache after
3418 reading external relocs.
3419 * ecoff.c (ecoff_slurp_reloc_table): Likewise.
3420 * archive.c (_bfd_write_archive_contents): Don't twiddle bfd_error
3421 after bfd_bread.
3422 * archive64.c (_bfd_archive_64_bit_slurp_armap): Remove unnecessary
3423 bfd_release.
3424 * elf32-m32c.c (m32c_offset_for_reloc): Make shndx_buf a bfd_byte*.
3425 (m32c_elf_relax_section): Likewise.
3426 * elf32-rl78.c (rl78_offset_for_reloc): Likewise.
3427 (rl78_elf_relax_section): Likewise.
3428 * elf32-rx.c (rx_offset_for_reloc): Likewise.
3429 (elf32_rx_relax_section): Likewise.
3430 * mach-o.c (bfd_mach_o_alloc_and_read): Move earlier with better
3431 parameter types and use..
3432 (bfd_mach_o_read_dylinker, bfd_mach_o_read_dylib),
3433 (bfd_mach_o_read_fvmlib, bfd_mach_o_read_str): ..in these functions.
3434 * peicode.h (pe_bfd_object_p): Don't zero the part of opthdr
3435 being read from file, just the extra.
3436 * som.c (som_slurp_symbol_table): Allocate internal symbol buffer
3437 after reading external syms. Free on failure.
3438
3439 2020-02-19 Alan Modra <amodra@gmail.com>
3440
3441 * coffcode.h (buy_and_read, coff_slurp_line_table),
3442 (coff_slurp_symbol_table, coff_slurp_reloc_table): Replace
3443 bfd_[z][m]alloc2 calls with _bfd_mul_overflow followed by the
3444 corresponding bfd_alloc call. Adjust variables to suit.
3445 * coffgen.c (_bfd_coff_get_external_symbols): Likewise.
3446 * ecoff.c (_bfd_ecoff_slurp_symbolic_info),
3447 (_bfd_ecoff_slurp_symbol_table, READ): Likewise.
3448 * elf.c (bfd_elf_get_elf_syms, setup_group, bfd_section_from_shdr),
3449 (swap_out_syms, _bfd_elf_slurp_version_tables): Likewise.
3450 * elf32-m32c.c (m32c_elf_relax_section): Likewise.
3451 * elf32-rl78.c (rl78_elf_relax_section): Likewise.
3452 * elf32-rx.c (elf32_rx_relax_section): Likewise.
3453 * elf64-alpha.c (READ): Likewise.
3454 * elfcode.h (elf_object_p, elf_write_relocs, elf_write_shdrs_and_ehdr),
3455 (elf_slurp_symbol_table, elf_slurp_reloc_table),
3456 (bfd_from_remote_memory): Likewise.
3457 * elfcore.h (core_find_build_id): Likewise.
3458 * elfxx-mips.c (READ): Likewise.
3459 * mach-o.c (bfd_mach_o_mangle_sections),
3460 (bfd_mach_o_read_symtab_symbols, bfd_mach_o_read_thread),
3461 (bfd_mach_o_read_dysymtab, bfd_mach_o_flatten_sections),
3462 (bfd_mach_o_scan, bfd_mach_o_fat_archive_p): Likewise.
3463 * som.c (setup_sections, som_prep_for_fixups)
3464 (som_build_and_write_symbol_table, som_slurp_symbol_table),
3465 (som_slurp_reloc_table, som_bfd_count_ar_symbols),
3466 (som_bfd_fill_in_ar_symbols, som_slurp_armap),
3467 (som_bfd_ar_write_symbol_stuff): Likewise.
3468 * vms-alpha.c (vector_grow1): Likewise.
3469 * vms-lib.c (vms_add_index): Likewise.
3470 * wasm-module.c (wasm_scan_name_function_section): Likewise.
3471 * libbfd.c (bfd_malloc2, bfd_realloc2, bfd_zmalloc2): Delete.
3472 * opncls.c (bfd_alloc2, bfd_zalloc2): Delete.
3473 * libbfd-in.h (bfd_malloc2, bfd_realloc2, bfd_zmalloc2),
3474 (bfd_alloc2, bfd_zalloc2): Delete.
3475 (_bfd_mul_overflow): Define.
3476 * libbfd.h: Regenerate.
3477
3478 2020-02-19 Alan Modra <amodra@gmail.com>
3479
3480 * elf.c (bfd_section_from_shdr): Use bfd_zalloc rather than
3481 bfd_zalloc2.
3482 (assign_section_numbers): Likewise.
3483 (elf_map_symbols): Likewise, and bfd_alloc rather than bfd_alloc2.
3484 (_bfd_elf_map_sections_to_segments): Use bfd_malloc rather than
3485 bfd_malloc2, size_t amt, and unsigned tls_count.
3486 (rewrite_elf_program_header): Use bfd_malloc and size_t amt.
3487 * elflink.c (elf_create_symbuf): Use bfd_malloc.
3488 (elf_output_implib): Use bfd_alloc.
3489
3490 2020-02-19 Alan Modra <amodra@gmail.com>
3491
3492 * bfd.c (struct bfd): Move format and direction to other
3493 bitfields. Add "size".
3494 * bfdio.c (bfd_get_size): Cache size when not writing file.
3495 * opncls.c (bfd_get_debug_link_info_1): Allow for bfd_get_size
3496 returning zero, ie. unknown.
3497 (bfd_get_alt_debug_link_info): Likewise.
3498 * bfd-in2.h: Regenerate.
3499
3500 2020-02-19 Alan Modra <amodra@gmail.com>
3501
3502 * coffgen.c (_bfd_coff_get_external_symbols): Don't call
3503 bfd_get_file_size twice.
3504 (_bfd_coff_read_string_table): Allow for bfd_get_file_size
3505 zero, ie. unknown, return.
3506 * elf-attrs.c (_bfd_elf_parse_attributes): Likewise.
3507 * elfcode.h (elf_swap_shdr_in): Likewise.
3508 (elf_object_p): Don't call bfd_get_file_size twice and correct
3509 file size check.
3510
3511 2020-02-19 Alan Modra <amodra@gmail.com>
3512
3513 * mach-o.c (bfd_mach_o_flatten_sections): Return a bfd_boolean,
3514 FALSE if memory alloc fails. Adjust calls.
3515 * som.c (som_prep_for_fixups): Likewise.
3516 * vms-alpha.c (alpha_vms_add_fixup_lp, alpha_vms_add_fixup_ca),
3517 (alpha_vms_add_fixup_qr, alpha_vms_add_fixup_lr),
3518 (alpha_vms_add_lw_reloc, alpha_vms_add_qw_reloc): Likewise.
3519 * som.c (som_build_and_write_symbol_table): Return via error_return
3520 on seek failure.
3521 * vms-alpha.c (VEC_APPEND): Adjust for vector_grow1 changes.
3522 (VEC_APPEND_EL): Delete.
3523 (vector_grow1): Return pointer to element. Catch overflow.
3524 Return NULL on memory allocation failure.
3525 (alpha_vms_add_fixup_lp): Replace VEC_APPEND_EL with VEC_APPEND.
3526 (alpha_vms_add_fixup_ca): Likewise.
3527 (alpha_vms_link_add_object_symbols): Check VEC_APPEND result
3528 before using.
3529 * elf.c (bfd_section_from_shdr): Check bfd_zalloc2 result.
3530
3531 2020-02-19 Alan Modra <amodra@gmail.com>
3532
3533 * aix386-core.c (aix386_core_file_p): Use size_t for "amt".
3534 * aout-target.h (object_p): Likewise.
3535 * aout-tic30.c (tic30_aout_object_p): Likewise.
3536 * aoutx.h (some_aout_object_p, mkobject, make_empty_symbol),
3537 (emit_stringtab, write_syms, link_hash_table_create),
3538 (aout_link_write_other_symbol): Likewise.
3539 * archive.c (_bfd_generic_mkarchive, bfd_generic_archive_p),
3540 (bfd_ar_hdr_from_filesystem, _bfd_write_archive_contents),
3541 (_bfd_compute_and_write_armap): Likewise.
3542 * archures.c (bfd_arch_list): Likewise.
3543 * bfd.c (bfd_record_phdr): Likewise.
3544 * binary.c (binary_canonicalize_symtab): Likewise.
3545 * cisco-core.c (cisco_core_file_validate): Likewise.
3546 * coff-arm.c (coff_arm_link_hash_table_create, find_thumb_glue),
3547 (find_arm_glue, record_arm_to_thumb_glue),
3548 (record_thumb_to_arm_glue): Likewise.
3549 * coff-ppc.c (ppc_coff_link_hash_table_create, record_toc),
3550 (ppc_allocate_toc_section): Likewise.
3551 * coff-rs6000.c (_bfd_xcoff_mkobject, _bfd_xcoff_archive_p): Likewise.
3552 * coff-sh.c (sh_relax_section): Likewise.
3553 * coff64-rs6000.c (xcoff64_archive_p): Likewise.
3554 * coffcode.h (handle_COMDAT, coff_new_section_hook),
3555 (coff_set_alignment_hook, coff_mkobject),
3556 (coff_compute_section_file_positions): Likewise.
3557 * coffgen.c (coff_make_empty_symbol, coff_bfd_make_debug_symbol),
3558 (coff_find_nearest_line_with_names),
3559 ( bfd_coff_set_symbol_class): Likewise.
3560 * cofflink.c (_bfd_coff_link_hash_table_create),
3561 (_bfd_coff_link_input_bfd): Likewise.
3562 * dwarf1.c (alloc_dwarf1_unit, alloc_dwarf1_func): Likewise.
3563 * dwarf2.c (read_abbrevs, read_attribute_value, add_line_info),
3564 (build_line_info_table, sort_line_sequences),
3565 (line_info_add_include_dir, line_info_add_file_name),
3566 (decode_line_info, scan_unit_for_symbols, parse_comp_unit),
3567 (place_sections, _bfd_dwarf2_slurp_debug_info): Likewise.
3568 * ecoff.c (_bfd_ecoff_mkobject, _bfd_ecoff_make_empty_symbol),
3569 (_bfd_ecoff_find_nearest_line),
3570 (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
3571 * ecofflink.c (bfd_ecoff_debug_init): Likewise.
3572 * elf-hppa.h (_bfd_elf_hppa_gen_reloc_type): Likewise.
3573 * elf-m10300.c (mn10300_elf_relax_section),
3574 (elf32_mn10300_link_hash_table_create): Likewise.
3575 * elf-strtab.c (_bfd_elf_strtab_init): Likewise.
3576 * elf.c (make_mapping, copy_elf_program_header): Likewise.
3577 * elf32-arm.c (elf32_arm_link_hash_table_create),
3578 (elf32_arm_setup_section_lists, elf32_arm_check_relocs),
3579 (elf32_arm_new_section_hook): Likewise.
3580 * elf32-avr.c (elf_avr_new_section_hook),
3581 (elf32_avr_link_hash_table_create, get_local_syms),
3582 (elf32_avr_setup_section_lists): Likewise.
3583 * elf32-bfin.c (bfinfdpic_elf_link_hash_table_create),
3584 (bfin_link_hash_table_create): Likewise.
3585 * elf32-cr16.c (elf32_cr16_link_hash_table_create): Likewise.
3586 * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
3587 * elf32-csky.c (csky_elf_link_hash_table_create),
3588 (csky_elf_check_relocs, elf32_csky_setup_section_lists): Likewise.
3589 * elf32-frv.c (frvfdpic_elf_link_hash_table_create): Likewise.
3590 * elf32-hppa.c (elf32_hppa_link_hash_table_create),
3591 (elf32_hppa_setup_section_lists, get_local_syms): Likewise.
3592 * elf32-i386.c (elf_i386_check_relocs): Likewise.
3593 * elf32-lm32.c (lm32_elf_link_hash_table_create): Likewise.
3594 * elf32-m32r.c (m32r_elf_link_hash_table_create),
3595 (m32r_elf_check_relocs): Likewise.
3596 * elf32-m68hc1x.c (m68hc11_elf_hash_table_create),
3597 (elf32_m68hc11_setup_section_lists),
3598 (elf32_m68hc11_size_stubs): Likewise.
3599 * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
3600 * elf32-metag.c (elf_metag_link_hash_table_create),
3601 (elf_metag_setup_section_lists): Likewise.
3602 * elf32-microblaze.c (microblaze_elf_link_hash_table_create),
3603 (microblaze_elf_check_relocs): Likewise.
3604 * elf32-nds32.c (nds32_elf_link_hash_table_create),
3605 (nds32_elf_check_relocs): Likewise.
3606 * elf32-nios2.c (nios2_elf32_setup_section_lists),
3607 (get_local_syms, nios2_elf32_check_relocs),
3608 (nios2_elf32_link_hash_table_create): Likewise.
3609 * elf32-or1k.c (or1k_elf_link_hash_table_create),
3610 (or1k_elf_check_relocs): Likewise.
3611 * elf32-ppc.c (ppc_elf_modify_segment_map, update_plt_info): Likewise.
3612 * elf32-pru.c (pru_elf32_link_hash_table_create): Likewise.
3613 * elf32-s390.c (elf_s390_link_hash_table_create),
3614 (elf_s390_check_relocs): Likewise.
3615 * elf32-score.c (score_elf_create_got_section),
3616 (s3_elf32_score_new_section_hook),
3617 (elf32_score_link_hash_table_create): Likewise.
3618 * elf32-score7.c (score_elf_create_got_section),
3619 (s7_elf32_score_new_section_hook): Likewise.
3620 * elf32-sh.c (sh_elf_link_hash_table_create),
3621 (sh_elf_check_relocs): Likewise.
3622 * elf32-tic6x.c (elf32_tic6x_link_hash_table_create),
3623 (elf32_tic6x_new_section_hook, elf32_tic6x_check_relocs): Likewise.
3624 * elf32-tilepro.c (tilepro_elf_link_hash_table_create),
3625 (tilepro_elf_check_relocs): Likewise.
3626 * elf32-v850.c (remember_hi16s_reloc): Likewise.
3627 * elf32-vax.c (elf_vax_link_hash_table_create): Likewise.
3628 * elf32-xtensa.c (elf_xtensa_link_hash_table_create),
3629 (elf_xtensa_new_section_hook): Likewise.
3630 * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create),
3631 (get_got_entry, elf64_alpha_check_relocs): Likewise.
3632 * elf64-hppa.c (elf64_hppa_hash_table_create): Likewise.
3633 * elf64-ia64-vms.c (elf64_ia64_object_p): Likewise.
3634 * elf64-mmix.c (mmix_elf_new_section_hook): Likewise.
3635 * elf64-ppc.c (ppc64_elf_new_section_hook),
3636 (ppc64_elf_link_hash_table_create, update_local_sym_info),
3637 (update_plt_info, ppc64_elf_check_relocs): Likewise.
3638 * elf64-s390.c (elf_s390_link_hash_table_create),
3639 (elf_s390_check_relocs): Likewise.
3640 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
3641 * elflink.c (bfd_elf_link_record_local_dynamic_symbol),
3642 (_bfd_elf_link_find_version_dependencies, elf_link_add_object_symbols),
3643 (elf_link_add_archive_symbols, compute_bucket_count),
3644 (bfd_elf_size_dynsym_hash_dynstr, _bfd_elf_link_hash_table_create),
3645 (bfd_elf_get_bfd_needed_list, elf_link_swap_symbols_out),
3646 (bfd_elf_final_link): Likewise.
3647 * elfnn-aarch64.c (elfNN_aarch64_link_hash_table_create),
3648 (elfNN_aarch64_setup_section_lists, elfNN_aarch64_check_relocs),
3649 (elfNN_aarch64_new_section_hook): Likewise.
3650 * elfnn-ia64.c (elfNN_ia64_object_p): Likewise.
3651 * elfnn-riscv.c (riscv_elf_link_hash_table_create),
3652 (riscv_elf_check_relocs): Likewise.
3653 * elfxx-mips.c (_bfd_mips_elf_new_section_hook),
3654 (_bfd_mips_elf_add_symbol_hook, _bfd_mips_elf_check_relocs),
3655 (_bfd_mips_elf_modify_segment_map, _bfd_mips_elf_set_section_contents),
3656 (_bfd_mips_elf_link_hash_table_create): Likewise.
3657 * elfxx-sparc.c (_bfd_sparc_elf_link_hash_table_create),
3658 (_bfd_sparc_elf_check_relocs),
3659 (_bfd_sparc_elf_new_section_hook): Likewise.
3660 * elfxx-tilegx.c (tilegx_elf_link_hash_table_create),
3661 (tilegx_elf_check_relocs): Likewise.
3662 * elfxx-x86.c (_bfd_x86_elf_link_hash_table_create): Likewise.
3663 * format.c (bfd_check_format_matches): Likewise.
3664 * hash.c (_bfd_stringtab_init): Likewise.
3665 * ihex.c (ihex_scan): Likewise.
3666 * irix-core.c (irix_core_core_file_p): Likewise.
3667 * linker.c (bfd_wrapped_link_hash_lookup),
3668 (_bfd_generic_link_hash_table_create),
3669 (_bfd_generic_reloc_link_order): Likewise.
3670 * lynx-core.c (lynx_core_file_p): Likewise.
3671 * netbsd-core.c (netbsd_core_file_p): Likewise.
3672 * osf-core.c (osf_core_core_file_p): Likewise.
3673 * pdp11.c (some_aout_object_p, mkobject, make_empty_symbol),
3674 (link_hash_table_create, aout_link_write_other_symbol): Likewise.
3675 * peXXigen.c (_bfd_XX_bfd_copy_private_section_data): Likewise.
3676 * peicode.h (pe_mkobject): Likewise.
3677 * ppcboot.c (ppcboot_mkobject, ppcboot_canonicalize_symtab): Likewise.
3678 * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
3679 * sco5-core.c (read_uarea): Likewise.
3680 * som.c (hppa_som_gen_reloc_type, som_object_p, som_prep_headers),
3681 (som_write_fixups, som_write_space_strings, som_write_symbol_strings),
3682 (som_finish_writing, som_canonicalize_symtab, som_new_section_hook),
3683 (som_bfd_copy_private_section_data, bfd_som_set_section_attributes),
3684 (bfd_som_attach_aux_hdr, som_write_armap): Likewise.
3685 * srec.c (srec_scan): Likewise.
3686 * syms.c (_bfd_generic_make_empty_symbol): Likewise.
3687 * targets.c (bfd_target_list): Likewise.
3688 * tekhex.c (first_phase, tekhex_sizeof_headers): Likewise.
3689 * trad-core.c (trad_unix_core_file_p): Likewise.
3690 * vms-alpha.c (vms_initialize, alpha_vms_bfd_link_hash_table_create),
3691 (vms_new_section_hook): Likewise.
3692 * wasm-module.c (wasm_make_empty_symbol): Likewise.
3693 * xcofflink.c (xcoff_get_section_contents),
3694 (_bfd_xcoff_bfd_link_hash_table_create, xcoff_set_import_path),
3695 (xcoff_find_function, bfd_xcoff_link_record_set, xcoff_build_ldsym),
3696 (bfd_xcoff_size_dynamic_sections, xcoff_link_input_bfd): Likewise.
3697
3698 2020-02-19 Alan Modra <amodra@gmail.com>
3699
3700 * elfxx-riscv.c (riscv_multi_letter_ext_valid_p): Don't use C99.
3701
3702 2020-02-13 H.J. Lu <hongjiu.lu@intel.com>
3703
3704 * plugin.c (try_load_plugin): Make plugin_list_iter an argument
3705 and use it if it isn't NULL. Remove has_plugin_p argument. Add
3706 a build_list_p argument. Don't search plugin_list. Short circuit
3707 when building the plugin list.
3708 (has_plugin): Renamed to has_plugin_list.
3709 (bfd_plugin_set_plugin): Don't set has_plugin.
3710 (bfd_plugin_specified_p): Check plugin_list instead.
3711 (build_plugin_list): New function.
3712 (load_plugin): Call build_plugin_list and use plugin_list.
3713
3714 2020-02-11 H.J. Lu <hongjiu.lu@intel.com>
3715
3716 PR binutils/25355
3717 * plugin.c (try_claim): Always clean up for LTO wrapper.
3718 (try_load_plugin): Treat each object as independent. Create a
3719 copy for plugin name.
3720
3721 2020-02-11 Nick Clifton <nickc@redhat.com>
3722
3723 * elf32-msp430.c (msp430_final_link_relocate): Always use longs
3724 for addresses in print statements.
3725 (msp430_elf_relax_delete_bytes): Likewise.
3726 (msp430_elf_relax_add_words): Likewise.
3727 (msp430_elf_relax_section): Likewise.
3728
3729 2020-02-11 H.J. Lu <hongjiu.lu@intel.com>
3730
3731 * plugin.c (add_symbols): Clear plugin_data memory.
3732
3733 2020-02-10 H.J. Lu <hongjiu.lu@intel.com>
3734
3735 PR binutils/25355
3736 * configure.ac (HAVE_EXECUTABLE_SUFFIX): New AC_DEFINE.
3737 (EXECUTABLE_SUFFIX): Likewise.
3738 * config.in: Regenerated.
3739 * configure: Likewise.
3740 * plugin.c (bfd_plugin_close_and_cleanup): Removed.
3741 (plugin_list_entry): Add all_symbols_read, cleanup_handler,
3742 gcc, lto_wrapper, resolution_file, resolution_option, gcc_env,
3743 real_bfd, real_nsyms, real_syms, lto_nsyms and lto_syms.
3744 (get_lto_wrapper): New.
3745 (setup_lto_wrapper_env): Likewise.
3746 (current_plugin): Likewise.
3747 (register_all_symbols_read): Likewise.
3748 (register_cleanup): Likewise.
3749 (get_symbols): Likewise.
3750 (add_input_file): Likewise.
3751 (bfd_plugin_close_and_cleanup): Likewise.
3752 (claim_file): Removed.
3753 (register_claim_file): Set current_plugin->claim_file.
3754 (add_symbols): Make a copy of LTO symbols. Set lto_nsyms and
3755 lto_syms in current_plugin.
3756 (try_claim): Use current_plugin->claim_file. Call LTO plugin
3757 all_symbols_read handler. Copy real symbols to plugin_data.
3758 Call LTO plugin cleanup handler. Clean up for LTO wrapper.
3759 (try_load_plugin): Don't reuse the previous plugin for LTO
3760 wrapper. Set up GCC LTO wrapper if possible. Don't set
3761 plugin_list_iter->claim_file.
3762 (bfd_plugin_canonicalize_symtab): Use real LTO symbols if
3763 possible.
3764 * plugin.h (plugin_data_struct): Add real_bfd, real_nsyms and
3765 real_syms.
3766
3767 2020-02-10 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3768
3769 * elf32-msp430.c (msp430_elf_relax_section): Before relaxing a branch,
3770 check if previous instruction matches a conditional jump inserted
3771 earlier. Invert conditional jump and delete branch in this case.
3772
3773 2020-02-10 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3774
3775 * elf32-msp430.c (msp430_elf_relax_add_two_words): Rename to
3776 msp430_elf_relax_add_words. Support insertion of either one or two
3777 words.
3778 (msp430_elf_relax_section): Catch opcode of 0x3c00 when relocation
3779 needs to be grown. Handle insertion of branch instruction to replace
3780 jump.
3781
3782 2020-02-10 Jozef Lawrynowicz <jozef.l@mittosystems.com>
3783
3784 * elf32-msp430.c (msp430_final_link_relocate): Add printf statements for
3785 debugging relocations.
3786 (msp430_elf_relax_delete_bytes): Likewise.
3787 (msp430_elf_relax_add_two_words): Likewise.
3788 (msp430_elf_relax_section): Likewise.
3789
3790 2020-02-10 Alan Modra <amodra@gmail.com>
3791
3792 * archures.c: Wrap overlong z80 comments.
3793 * bfd-in2.h: Regenerate.
3794
3795 2020-02-07 Sergey Belyashov <sergey.belyashov@gmail.com>
3796
3797 PR 25469
3798 * archures.c: Add GBZ80 and Z80N machine values.
3799 * reloc.c: Add BFD_RELOC_Z80_16_BE.
3800 * coff-z80.c: Add support for new reloc.
3801 * coffcode.h: Add support for new machine values.
3802 * cpu-z80.c: Add support for new machine names.
3803 * elf32-z80.c: Add support for new reloc.
3804 * bfd-in2.h: Regenerate.
3805 * libbfd.h: Regenerate.
3806
3807 2020-02-07 Nick Clifton <nickc@redhat.com>
3808
3809 PR 23932
3810 * elf.c (rewrite_elf_program_header): Do not complain if no
3811 sections are mapped to a segment.
3812
3813 2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
3814
3815 PR ld/25490
3816 * elflink.c (_bfd_elf_gc_mark_extra_sections): Issue an error
3817 for garbage collection on __patchable_function_entries section
3818 without linked-to section.
3819
3820 2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
3821
3822 PR gas/25381
3823 * bfd-in2.h: Regenerated.
3824 * elflink.c (_bfd_elf_gc_mark_extra_sections): Call mark_hook
3825 on section if gc_mark of any of its linked-to sections is set
3826 and don't set gc_mark again.
3827 * section.c (asection): Add linked_to_symbol_name to map_head
3828 union.
3829
3830 2020-02-06 Maciej W. Rozycki <macro@wdc.com>
3831
3832 * elf32-v850.c (v850_elf_relax_section): Fix the index used for
3833 reporting an unrecognized instruction with R_V850_LONGJUMP.
3834
3835 2020-02-05 Alan Modra <amodra@gmail.com>
3836
3837 * elf64-ppc.c (ppc_stub_plt_branch): Match comment with reality.
3838
3839 2020-02-04 Alan Modra <amodra@gmail.com>
3840
3841 * elf32-ppc.c (ppc_elf_relocate_section): After applying
3842 R_PPC_VLE_ADDR20, goto copy_reloc.
3843
3844 2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
3845
3846 * bfd-in2.h: Regenerated.
3847 * section.c (SEC_ASSEMBLER_SECTION_ID): Fix a typo in comments.
3848
3849 2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
3850
3851 PR gas/25380
3852 * bfd-in2.h: Regenerated.
3853 * ecoff.c (bfd_debug_section): Add section_id.
3854 * section.c (bfd_section): Add section_id.
3855 (SEC_ASSEMBLER_SECTION_ID): New.
3856 (BFD_FAKE_SECTION): Add section_id.
3857
3858 2020-02-01 Nick Clifton <nickc@redhat.com>
3859
3860 * config.bfd: Move the c30-aout and tic30-aout targets onto the
3861 obsolete list.
3862
3863 2020-01-31 Sandra Loosemore <sandra@codesourcery.com>
3864
3865 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): DW_EH_PE_datarel
3866 encodings are relative to the GOT on nios2, too.
3867
3868 2020-01-31 Alan Modra <amodra@gmail.com>
3869
3870 * Makefile.am (elf32-target.h, elf64-target.h): Don't use a temp
3871 file. Use $< and $@ in rules.
3872 (elf32-aarch64.c, elf64-aarch64.c): Likewise.
3873 (elf32-ia64.c, elf64-ia64.c): Likewise.
3874 (elf32-riscv.c, elf64-riscv.c): Likewise.
3875 (peigen.c, pepigen.c, pex64igen.c): Likewise.
3876 (elf32-aarch64.c, elf64-aarch64.c): Don't emit $srcdir on #line.
3877 (elf32-riscv.c, elf64-riscv.c): Likewise, and use $(SED).
3878 (elf32-ia64.c, elf64-ia64.c): Do emit #line.
3879 (peigen.c, pepigen.c, pex64igen.c): Likewise.
3880 * Makefile.in: Regenerate.
3881
3882 2020-01-31 Alan Modra <amodra@gmail.com>
3883
3884 PR 4110
3885 * elf.c (setup_group): Don't clear entire section contents,
3886 just the padding after group flags. Release alloc'd memory
3887 after a seek or read failure.
3888
3889 2020-01-16 Jon Turney <jon.turney@dronecode.org.uk>
3890
3891 * peXXigen.c (pe_is_repro): New function.
3892 (_bfd_XX_print_private_bfd_data_common): Note timestamp is
3893 actually a build hash if PE_IMAGE_DEBUG_TYPE_REPRO is present.
3894
3895 2020-01-16 Jon Turney <jon.turney@dronecode.org.uk>
3896
3897 * peXXigen.c (debug_type_names): Add names for new debug data type
3898 values.
3899
3900 2020-01-16 Jon Turney <jon.turney@dronecode.org.uk>
3901
3902 * peXXigen.c (pe_print_debugdata): Fix the iteration variable for
3903 inner loop. Fix a memory leak.
3904
3905 2020-01-30 Alan Modra <amodra@gmail.com>
3906
3907 * coffgen.c (coff_real_object_p): Don't clear obj_coff_keep_syms
3908 or obj_coff_keep_strings here.
3909 (coff_get_normalized_symtab): Free external syms directly.
3910 * xcofflink.c (xcoff_link_input_bfd): Restore obj_coff_keep_syms
3911 on error exit path.
3912
3913 2020-01-27 Jim Wilson <jimw@sifive.com>
3914
3915 * cpu-riscv.c (riscv_scan): New.
3916 (N): Change bfd_default_scan to riscv_scan.
3917
3918 2020-01-27 Andreas Schwab <schwab@suse.de>
3919
3920 * Makefile.am (ALL_MACHINES): Remove cpu-plugin.lo.
3921 (ALL_MACHINES_CFILES): Remove cpu-plugin.c.
3922 * Makefile.in: Regenerate.
3923 * cpu-plugin.c: Remove.
3924 * archures.c (enum bfd_architecture): Remove bfd_arch_plugin.
3925 (bfd_plugin_arch): Remove declaration.
3926 * bfd-in2.h: Regenerate.
3927 * po/SRC-POTFILES.in: Regenerate.
3928
3929 2020-01-27 H.J. Lu <hongjiu.lu@intel.com>
3930 Alan Modra <amodra@gmail.com>
3931
3932 PR ld/25458
3933 * elflink.c (_bfd_elf_gc_mark_rsec): Mark all weak aliases.
3934
3935 2020-01-24 Jim Wilson <jimw@sifive.com>
3936
3937 * elfxx-riscv.c (riscv_get_prefix_class): Format s case like others.
3938 (riscv_parse_prefixed_ext): Fix s extension comment and reword to
3939 avoid over long line.
3940
3941 2020-01-24 Nick Clifton <nickc@redhat.com>
3942
3943 PR 25447
3944 * coffgen.c (_bfd_coff_close_and_cleanup): Do not clear the keep
3945 syms and keep strings flags as these may have been set in order to
3946 prevent a bogus call to free.
3947
3948 2020-01-23 Nick Clifton <nickc@redhat.com>
3949
3950 * po/fr.po: Updated French translation.
3951
3952 2020-01-23 Alan Modra <amodra@gmail.com>
3953
3954 PR 25444
3955 * elf.c (assign_file_positions_for_load_sections): Avoid divide
3956 by zero when p_align is zero.
3957
3958 2020-01-22 Maxim Blinov <maxim.blinov@embecosm.com>
3959
3960 * bfd/elfnn-riscv.c (riscv_skip_prefix): New.
3961 (riscv_prefix_cmp): Likewise.
3962 (riscv_non_std_ext_p): Deleted.
3963 (riscv_std_sv_ext_p): Likewise.
3964 (riscv_non_std_sv_ext_p): Likewise.
3965 (riscv_merge_non_std_and_sv_ext): Rename to...
3966 (riscv_merge_multi_letter_ext): and modified to use riscv_prefix_cmp.
3967 (riscv_merge_arch_attr_info): Replace 3 calls to
3968 riscv_merge_non_std_and_sv_ext with single call to
3969 riscv_merge_multi_letter_ext.
3970 * bfd/elfxx-riscv.c (riscv_parse_std_ext): Break if we
3971 encounter a 'z' prefix.
3972 (riscv_get_prefix_class): New function, return prefix class based
3973 on first few characters of input string.
3974 (riscv_parse_config): New structure to factor out minor differences
3975 in extension class parsing behaviour.
3976 (riscv_parse_sv_or_non_std_ext): Rename to...
3977 (riscv_parse_prefixed_ext): and parameterise with
3978 riscv_parse_config.
3979 (riscv_std_z_ext_strtab, riscv_std_s_ext_strtab): New.
3980 (riscv_multi_letter_ext_valid_p): New.
3981 (riscv_ext_x_valid_p, riscv_ext_z_valid_p, riscv_ext_s_valid_p): New.
3982 (riscv_parse_subset): Delegate all non-single-letter parsing work
3983 to riscv_parse_prefixed_ext.
3984 * bfd/elfxx-riscv.h (riscv_isa_ext_class): New type.
3985 (riscv_get_prefix_class): Declare.
3986
3987 2020-01-22 Alan Modra <amodra@gmail.com>
3988
3989 * elf64-ppc.c (struct ppc_link_hash_table): Add tga_group.
3990 (ppc64_elf_archive_symbol_lookup): Extract __tls_get_addr_opt for
3991 __tls_get_addr_desc.
3992 (ppc64_elf_size_stubs): Add section for linker generated
3993 __tls_get_addr_desc wrapper function. Loop at least once if
3994 generating this function.
3995 (emit_tga_desc, emit_tga_desc_eh_frame): New functions.
3996 (ppc64_elf_build_stubs): Generate __tls_get_addr_desc.
3997
3998 2020-01-22 Alan Modra <amodra@gmail.com>
3999
4000 * elf64-ppc.h (struct ppc64_elf_params): Add no_tls_get_addr_regsave.
4001 * elf64-ppc.c (struct ppc_link_hash_table): Add tga_desc and
4002 tga_desc_fd.
4003 (is_tls_get_addr): Match tga_desc and tga_desc_df too.
4004 (STDU_R1_0R1, ADDI_R1_R1): Define.
4005 (tls_get_addr_prologue, tls_get_addr_epilogue): New functions.
4006 (ppc64_elf_tls_setup): Set up tga_desc and tga_desc_fd. Indirect
4007 tga_desc_fd to opt_fd, and tga_desc to opt. Set
4008 no_tls_get_addr_regsave.
4009 (branch_reloc_hash_match): Add hash3 and hash4.
4010 (ppc64_elf_tls_optimize): Handle tga_desc_fd and tga_desc too.
4011 (ppc64_elf_size_dynamic_sections): Likewise.
4012 (ppc64_elf_relocate_section): Likewise.
4013 (plt_stub_size, build_plt_stub): Likewise. Size regsave
4014 __tls_get_addr stub.
4015 (build_tls_get_addr_stub): Build regsave __tls_get_addr stub and
4016 eh_frame.
4017 (ppc_size_one_stub): Handle tga_desc_fd and tga_desc too. Size
4018 eh_frame for regsave __tls_get_addr.
4019
4020 2020-01-22 Alan Modra <amodra@gmail.com>
4021
4022 * elf64-ppc.c (ppc64_elf_size_stubs): Correct condition under
4023 which __tls_get_addr calls will be eliminated.
4024
4025 2020-01-20 Nick Clifton <nickc@redhat.com>
4026
4027 * po/pt.po: Updates Portuguese translation.
4028 * po/ru.po: Updated Russian translation.
4029 * po/uk.po: Updated Ukranian translation.
4030
4031 2020-01-20 H.J. Lu <hongjiu.lu@intel.com>
4032
4033 PR ld/25416
4034 * elf64-x86-64.c (elf_x86_64_check_tls_transition): Support
4035 "rex leal x@tlsdesc(%rip), %reg" and "call *x@tlsdesc(%eax)" in
4036 X32 mode.
4037 (elf_x86_64_relocate_section): In x32 mode, for GDesc -> LE
4038 transition, relax "rex leal x@tlsdesc(%rip), %reg" to
4039 "rex movl $x@tpoff, %reg", for GDesc -> IE transition, relax
4040 "rex leal x@tlsdesc(%rip), %reg" to
4041 "rex movl x@gottpoff(%rip), %eax". For both transitions, relax
4042 "call *(%eax)" to "nopl (%rax)".
4043
4044 2020-01-20 Alan Modra <amodra@gmail.com>
4045
4046 * elf64-ppc.c (LD_R11_0R3, CMPDI_R11_0, STD_R11_0R1, LD_R11_0R1),
4047 (MTLR_R11): Don't define.
4048 (LD_R0_0R3, CMPDI_R0_0): Define.
4049 (build_tls_get_addr_stub): Don't use r11 in stub.
4050
4051 2020-01-20 Alan Modra <amodra@gmail.com>
4052
4053 * elf64-ppc.c (ppc_elf_hash_entry): New function, use throughout file.
4054 (defined_sym_val, is_tls_get_addr): Likewise.
4055
4056 2020-01-18 Nick Clifton <nickc@redhat.com>
4057
4058 * version.m4 (BFD_VERSION): Set to 2.34.50.
4059 * configure: Regenerate.
4060 * po/bfd.pot: Regenerate.
4061
4062 2020-01-18 Nick Clifton <nickc@redhat.com>
4063
4064 Binutils 2.34 branch created.
4065
4066 2020-01-17 Christian Biesinger <cbiesinger@google.com>
4067
4068 * coff-arm.c: Fix spelling error (seperate).
4069 * elfxx-riscv.c (riscv_parse_sv_or_non_std_ext): Fix spelling
4070 error (seperate).
4071 * sysdep.h (strnlen): Fix spelling error (seperate).
4072
4073 2020-01-15 Lars Brinkhoff <lars@nocrew.org>
4074
4075 PR 20694
4076 * pdp11.c (TARGET_PAGE_SIZE): Set to 8192.
4077
4078 2020-01-15 Alan Modra <amodra@gmail.com>
4079
4080 PR 25384
4081 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Update comment.
4082 (ppc64_elf_adjust_dynamic_symbol): Don't allow .dynbss copies
4083 of function symbols unless dot symbols are present. Do warn
4084 whenever one is created, regardles of whether a PLT entry is
4085 also emitted for the function symbol.
4086
4087 2020-01-14 Alan Modra <amodra@gmail.com>
4088
4089 * som.c (som_bfd_count_ar_symbols): Error when file position
4090 of symbols on chains is not strictly increasing.
4091
4092 2020-01-14 Alan Modra <amodra@gmail.com>
4093
4094 * vms.h (VMS_DEBUG): Define as 0.
4095 * vms-alpha.c (image_write): Move debug output after bounds check.
4096 Tidy bounds check.
4097 (_bfd_vms_slurp_eihd): Warning fix.
4098 (_bfd_vms_slurp_etir): Init variables to avoid bogus warnings.
4099
4100 2020-01-13 Alan Modra <amodra@gmail.com>
4101
4102 * vms-alpha.c (_bfd_vms_slurp_egsd): Ensure minimum size even
4103 for "ignored" records.
4104
4105 2020-01-13 Alan Modra <amodra@gmail.com>
4106
4107 * wasm-module.c (wasm_scan_name_function_section): Formatting.
4108 Delete asect name check. Move asect NULL check to wasm_object_p.
4109 Correct bounds check of sizes against end. Replace uses of
4110 bfd_zalloc with bfd_alloc, zeroing only necessary bytes. Use
4111 just one bfd_release.
4112 (wasm_scan): Don't use malloc/strdup for section names,
4113 bfd_alloc instead. Simplify code prefixing section name.
4114 Formatting. Don't attempt to free memory here..
4115 (wasm_object_p): ..do so here.
4116
4117 2020-01-10 Szabolcs Nagy <szabolcs.nagy@arm.com>
4118
4119 PR ld/22269
4120 * elf32-arm.c (elf32_arm_final_link_relocate): Use
4121 UNDEFWEAK_NO_DYNAMIC_RELOC.
4122 (allocate_dynrelocs_for_symbol): Likewise.
4123
4124 2020-01-10 Tamar Christina <tamar.christina@arm.com>
4125
4126 PR 25210
4127 * elfnn-aarch64.c (_bfd_aarch64_create_stub_section): Remove elfclass.
4128
4129 2020-01-10 Alan Modra <amodra@gmail.com>
4130
4131 * coff-alpha.c (alpha_ecoff_object_p): Calculate size in bfd_size_type.
4132
4133 2020-01-09 Nick Clifton <nickc@redhat.com>
4134
4135 PR 25221
4136 * bfd.c (bfd_convert_section_contents): Check for a compress
4137 header size that is larger than the actual section size.
4138
4139 2020-01-08 Alan Modra <amodra@gmail.com>
4140
4141 PR 25351
4142 * elflink.c (bfd_elf_final_link): Call _bfd_fix_excluded_sec_syms
4143 after removing sections.
4144
4145 2020-01-06 Jim Wilson <jimw@sifive.com>
4146
4147 PR 25205
4148 * elfnn-riscv.c (riscv_elf_relocate_section) <R_RISCV_CALL>: Add
4149 check for !bfd_link_pic (info).
4150 <R_RISCV_CALL_PLT>: Move next to R_RISCV_CALL.
4151 <R_RISCV_JAL>: Add comment.
4152 (_bfd_riscv_relax_section): For plt.offset check, add check for
4153 bfd_link_pic (info). Add comment.
4154
4155 2020-01-06 Alan Modra <amodra@gmail.com>
4156
4157 * format.c (bfd_check_format_matches): Ignore bfd_error on target
4158 match failures. Don't init to bfd_error_wrong_format before
4159 calling _bfd_check_format.
4160
4161 2020-01-06 Alan Modra <amodra@gmail.com>
4162
4163 * vms-alpha.c (_bfd_vms_push, _bfd_vms_pop): Return pass/fail
4164 status rather than exiting on stack overflow or underflow.
4165 (_bfd_vms_slurp_etir): Adjust to suit.
4166
4167 2020-01-06 Alan Modra <amodra@gmail.com>
4168
4169 * som.c (som_bfd_fill_in_ar_symbols): Bounds check som_dict index.
4170
4171 2020-01-06 Alan Modra <amodra@gmail.com>
4172
4173 * mach-o.c (bfd_mach_o_read_dylinker): Don't read past end of
4174 command. Check name offset is within command.
4175 (bfd_mach_o_read_dylib, bfd_mach_o_read_prebound_dylib),
4176 (bfd_mach_o_read_prebind_cksum, bfd_mach_o_read_twolevel_hints),
4177 (bfd_mach_o_read_fvmlib, bfd_mach_o_read_dysymtab),
4178 (bfd_mach_o_read_symtab, bfd_mach_o_read_uuid),
4179 (bfd_mach_o_read_linkedit, bfd_mach_o_read_str),
4180 (bfd_mach_o_read_dyld_info, bfd_mach_o_read_version_min),
4181 (bfd_mach_o_read_encryption_info, bfd_mach_o_read_source_version),
4182 (bfd_mach_o_read_encryption_info_64, bfd_mach_o_read_main),
4183 (bfd_mach_o_read_note, bfd_mach_o_read_build_version),
4184 (bfd_mach_o_read_segment): Similarly.
4185 (bfd_mach_o_read_thread): Properly bound check thread struct.
4186 Don't repeat checks on second loop.
4187 (bfd_mach_o_read_command): Fail on invalid command length.
4188
4189 2020-01-04 Alan Modra <amodra@gmail.com>
4190
4191 * format.c (bfd_check_format_matches): Add preserve_match.
4192 Save initial bfd state in "preserve", matched bfd state in
4193 "preserve_match". Save just the first match. Release
4194 bfd_alloc memory. Restore and finish preserved state as
4195 appropriate on all function exit paths.
4196
4197 2020-01-04 Alan Modra <amodra@gmail.com>
4198
4199 * mmo.c (mmo_mkobject): Allocate tdata with bfd_zalloc.
4200
4201 2020-01-04 Alan Modra <amodra@gmail.com>
4202
4203 * coffgen.c (coff_real_object_p): Free malloc'd memory on target
4204 match too.
4205
4206 2020-01-03 Nick Clifton <nickc@redhat.com>
4207
4208 PR 25307
4209 (bfd_pef_parse_function_stubs): Correct the test that ensures that
4210 there is enough data remaining in the code buffer before
4211 attempting to read a function stub.
4212
4213 2020-01-03 Nick Clifton <nickc@redhat.com>
4214
4215 PR 25308
4216 * elf-properties.c (_bfd_elf_convert_gnu_properties): Check the
4217 return value from bfd_malloc.
4218 * elf32-arm.c (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
4219 (bfd_elf32_arm_stm32l4xx_fix_veneer_locations): Likewise.
4220 (elf32_arm_filter_cmse_symbols): Likewise.
4221 (elf32_arm_write_section): Likewise.
4222 * mach-o.c (bfd_mach_o_core_fetch_environment): Likewise.
4223 (bfd_mach_o_follow_dsym): Likewise.
4224 * pef.c (bfd_pef_print_loader_section): Likewise.
4225 (bfd_pef_scan_start_address): Likewise.
4226 (bfd_pef_parse_function_stubs): Likewise.
4227 (bfd_pef_parse_symbols): Likewise.
4228
4229 2020-01-03 Sergei Trofimovich <siarheit@google.com>
4230
4231 * elfnn-ia64.c (elfNN_ia64_merge_private_bfd_data): don't fail
4232 on binary inputs ld/PR25316.
4233 (is_ia64_elf): new helper to filter on ia64 objects.
4234
4235 2020-01-03 Jan Beulich <jbeulich@suse.com>
4236
4237 * mach-o.c (cpusubtype, bfd_mach_o_header_p): Insert underscore
4238 in parameter names.
4239 (bfd_mach_o_scan): Insert underscore in two variable names.
4240
4241 2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
4242
4243 * Makefile.am: Add z80-elf target support.
4244 * configure.ac: Likewise.
4245 * targets.c: Likewise.
4246 * Makefile.in: Regenerate.
4247 * configure: Regenerate.
4248 * config.bfd: Add z80-elf target support and new arches: ez80 and
4249 z180.
4250 * elf32-z80.c: New file.
4251 * archures.c: Add new z80 architectures: eZ80 and Z180.
4252 * coffcode.h: Likewise.
4253 * cpu-z80.c: Likewise.
4254 * coff-z80.c: Add new relocations for Z80 target and local label
4255 check.
4256 * reloc.c: Add new relocs.
4257 * bfd-in2.h: Regenerate.
4258 * libbfd.h: Regenerate.
4259
4260 2020-01-02 Tamar Christina <tamar.christina@arm.com>
4261
4262 PR 25210
4263 PR 24753
4264 * elfnn-aarch64.c (_bfd_aarch64_create_stub_section): Set ELF class.
4265
4266 2020-01-01 Alan Modra <amodra@gmail.com>
4267
4268 Update year range in copyright notice of all files.
4269
4270 For older changes see ChangeLog-2019
4271 \f
4272 Copyright (C) 2020 Free Software Foundation, Inc.
4273
4274 Copying and distribution of this file, with or without modification,
4275 are permitted in any medium without royalty provided the copyright
4276 notice and this notice are preserved.
4277
4278 Local Variables:
4279 mode: change-log
4280 left-margin: 8
4281 fill-column: 74
4282 version-control: never
4283 End:
This page took 0.138709 seconds and 4 git commands to generate.