aarch64: Add -mcpu option for Cortex-R82
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
95830c98
AC
12020-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
7ba11550
AM
82020-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
b5ffa918
NC
202020-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
8642dafa
AM
252020-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
1e3b96fd
AM
322020-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
ac267c75
NC
422020-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
9184ef8a
NC
482020-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
32f0ce4d
NC
552020-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
72bd6912
KC
672020-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
d48b742b
AM
742020-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
26009aa7
AM
792020-09-02 Alan Modra <amodra@gmail.com>
80
81 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Correct type
82 of constant shifted left.
83
2f26cc79
AM
842020-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
821e059c
AM
892020-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
f911bb22
AM
952020-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
00c91124
AM
1012020-09-01 Alan Modra <amodra@gmail.com>
102
103 PR 26423
104 * elf32-arm.c (calculate_group_reloc_mask): Use 3u in shift.
105
1174d920
AM
1062020-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
227d539b
AM
1132020-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
1a211fc7
AM
1222020-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
108f6f97
AM
1302020-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
f2173852
AM
1362020-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
c1f138f9
AM
1422020-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
8f383897
AM
1482020-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
34d8e6d0
AM
1542020-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
e6f04d55
NC
1612020-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
736c9875
AM
1672020-08-29 Alan Modra <amodra@gmail.com>
168
55b8e31a 169 PR 26459
736c9875
AM
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
07319acc
AM
1732020-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
7ca371db
AM
1792020-08-28 Alan Modra <amodra@gmail.com>
180
181 PR 26418
182 * ecofflink.c (WRITE): Really don't write zero size chunks.
183
1e597a89
T
1842020-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
0861f561
CQ
1902020-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
6194b866
NC
2042020-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
3b1450b3
NC
2112020-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
9e7ed8b0
JDA
2182020-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
4b69ce9b
AM
2242020-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
cd570d49
AM
2392020-08-27 Alan Modra <amodra@gmail.com>
240
241 PR 26462
242 * reloc.c (bfd_check_overflow): Return early if zero bitsize.
243
2ac865ac
AM
2442020-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
c415c83b
AM
2492020-08-27 Alan Modra <amodra@gmail.com>
250
251 PR 26416
252 * elf64-alpha.c (elf64_alpha_relax_tls_get_addr): Correct "dynamic".
253
b74a6c60
NC
2542020-08-26 Nick Clifton <nickc@redhat.com>
255
8c51f2f2
NC
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
eae0b5c3
NC
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
b74a6c60
NC
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
4d430725
AM
2802020-08-26 Alan Modra <amodra@gmail.com>
281
282 PR 26507
283 * elf32-xtensa.c (find_removed_literal): Don't bsearch empty map.
284
252e57fd
AM
2852020-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
2d0ce677
AM
2912020-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
9e51d549
AM
2972020-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
00bc5e68
AM
3112020-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
55e61b8a
AM
3162020-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
66ad6b44
AM
3222020-08-26 Alan Modra <amodra@gmail.com>
323
324 PR 26453
325 * som.c (som_prep_for_fixups): Return early when no symbols.
326
9863cbb7
AM
3272020-08-26 Alan Modra <amodra@gmail.com>
328
329 PR 26418
330 * ecofflink.c (WRITE): Don't write size 0 chunks.
331
c01de193
AM
3322020-08-26 Alan Modra <amodra@gmail.com>
333
334 * bfdio.c (bfd_get_file_size): Don't segv on NULL adata.
335
b4e125d9
AM
3362020-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
4449c81a
DF
3412020-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
13f8a246
AM
3482020-08-26 Alan Modra <amodra@gmail.com>
349
350 * archures.c (bfd_mach_ck860): Define.
351
c3757b58
MW
3522020-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
1ab8d928
AM
3642020-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
a93ba4c0
AM
3702020-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
1438dd86
AM
3762020-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
2186273a
AM
3822020-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
0c1438eb
AM
3882020-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
d2327e47
AM
3952020-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
b8ff233b
AM
4052020-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
0f55320b
AM
4112020-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
3cdad084
JT
4462020-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
918dc783
AM
4512020-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
573eb292
AM
4572020-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
a8d549c0
AM
4632020-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
19d80e5f
MW
4692020-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
531c73a3
CQ
4742020-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
252dcdf4
AM
4792020-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
c40e6650
JDA
4932020-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
3f2e9699
L
4992020-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
ccf61261
NC
5062020-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
610ed3e0
JB
5122020-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
01147b20
NC
5172020-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
44466e45
NC
5232020-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
10885e24
AM
5342020-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
4d182367
AM
5532020-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
19bddbe9
AM
5672020-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
2b6ba032
AM
5732020-08-13 Alan Modra <amodra@gmail.com>
574
73d0dc16 575 * config.bfd: Obsolete arm*-*-symbianelf*, and ia64*-*-*.
2b6ba032 576
6738c8a7
AM
5772020-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
75e100a3
AM
5842020-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
2fef9373
JT
5942020-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
404ec933
JT
5992020-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
d61f3d03
JT
6052020-07-01 Jon Turney <jon.turney@dronecode.org.uk>
606
607 * elf.c (elfcore_grok_win32pstatus): Handle NOTE_INFO_MODULE64.
608
04ec0fa2
JT
6092020-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
03c29a6f
JT
6152020-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
8fbac78b
JT
6212020-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
ff2084b9
JT
6262020-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
79ddc884
NC
6322020-08-12 Nick Clifton <nickc@redhat.com>
633
634 * po/ru.po: Updated Russian translation.
635 * po/sr.po: Updated Serbian translation.
636
d844f10a
DF
6372020-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
3ee9565c
DF
6422020-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
e44a1d7b
AM
6492020-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
b5f386d5
AM
6542020-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
a896df97
AM
6652020-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
4d3bb356
SN
6732020-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
c8693053
RO
6802020-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
f1dfbfdb
L
6922020-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
c77cb2a0
MR
7842020-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
3f1b17bb
MR
7912020-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
4d68fd75
AM
8082020-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
67411cbf
AM
8132020-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
93fd13c7
AM
8202020-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
04f096fb
NC
8272020-07-24 Nick Clifton <nickc@redhat.com>
828
829 * config.bfd: Move xc16x target to the obsolete list.
830
5efb6779
KB
8312020-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
ea57e509
KB
8362020-07-22 Kevin Buettner <kevinb@redhat.com>
837
838 * elf.c (_bfd_elf_make_section_from_phdr): Remove hack for GDB.
04f096fb 839
1ad2776d
MF
8402020-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
2f5541f3
AM
8472020-07-20 Alan Modra <amodra@gmail.com>
848
849 * elflink.c (_bfd_elf_gc_keep): Use bfd_is_const_section.
850
e10a07b3
AM
8512020-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
28b80303
AM
8642020-07-15 Alan Modra <amodra@gmail.com>
865
866 PR 26239
867 * coffgen.c (_bfd_coff_close_and_cleanup): Free dwarf2 info.
868
4fd8d585
NC
8692020-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
a8a48c75
HPN
8752020-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
e8a83e93
MB
8802020-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
d3b10ee7
AM
8882020-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
fe49679d
AM
8972020-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
7646efdf
NC
9172020-07-09 Nick Clifton <nickc@redhat.com>
918
919 * po/fr.po: Updated French translation.
920
23f5e55e
AM
9212020-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
c8001886
AM
9282020-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
8af7926f
AM
9342020-07-07 Alan Modra <amodra@gmail.com>
935
936 * coffcode.h (coff_classify_symbol): Handle C_HIDEXT and
937 C_AIX_WEAKEXT.
938
17550be7
NC
9392020-07-06 Nick Clifton <nickc@redhat.com>
940
941 * po/pt.po: Updated Portuguese translation.
942 * po/uk.po: Updated Ukranian translation.
943
b4396c5e
NC
9442020-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
b115b9fd
NC
9502020-07-04 Nick Clifton <nickc@redhat.com>
951
952 Binutils 2.35 branch created.
953
33d1369f
AM
9542020-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
cc574a35
AM
9602020-07-01 Alan Modra <amodra@gmail.com>
961
962 * elf32-i386.c (elf_backend_object_p): Undef for vxworks.
963
3443489c
AM
9642020-07-01 Alan Modra <amodra@gmail.com>
965
966 * config.bfd: Obsolete xc16x.
967
bbd19b19
L
9682020-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
a57f74bb
L
10072020-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
07d22f64
AM
10122020-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
279edac5
AM
10182020-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
85f7484a
PB
10272020-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
ba9b3ef5
AM
10322020-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
069057bf
AB
10412020-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
2c8e3708
L
10462020-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
c679ec98
L
10522020-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
f8b1e5f6
AM
10582020-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
3084d7a2
L
10632020-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
d768f160
SJ
11282020-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
39ff0b81
NC
11332020-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
cbd7581f
NC
11552020-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
1e927850
AM
11632020-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
13aa5ceb
NC
11702020-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
a435742a
AM
11762020-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
7a77f1ac
MF
11892020-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
cae64165
RM
11982020-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
40be168c
AM
12032020-06-15 Alan Modra <amodra@gmail.com>
1204
1205 * config.bfd: Obsolete powerpcle-*-pe targets.
1206
75cfe082
AM
12072020-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
f0aa3025
AM
12192020-06-11 Alan Modra <amodra@gmail.com>
1220
1221 PR 26107
1222 * pdp11.c (is_stab): Replace legacy "index" function with "strchr".
1223
447f6d86
L
12242020-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
e1b5d517
L
12312020-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
cebd6b8a
L
12372020-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
efb2a7b4
AM
12602020-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
9bcc30e4
L
12702020-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
845b83d7
L
12992020-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
9b8a8575
L
13042020-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
bcab203d
L
13162020-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
90c14f0c
L
13222020-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
87c69f97
AM
14302020-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
981f1518
L
14422020-06-05 H.J. Lu <hongjiu.lu@intel.com>
1443
8a4ba3a1 1444 PR ld/26080
981f1518
L
1445 * elf32-bfin.c (bfinfdpic_relocate_section): Skip non SEC_ALLOC
1446 section.
1447
9c65eeac
NC
14482020-06-05 Nick Clifton <nickc@redhat.com>
1449
1450 * pdp11.c (aout_link_add_symbols): Fix use before initialisation
1451 bug.
1452
41285764
NC
14532020-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
a975c88e
SC
14632020-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
3b9313c4
SC
14852020-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
add5f777
L
14912020-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
c4b126b8
L
14972020-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
31af1e68
SC
15222020-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
cae64165 1551 illegal string offset.
31af1e68
SC
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
d4d8aee3
L
15562020-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
58ee44ef
L
15622020-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
9a689602
L
15682020-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
0bff7528
GN
15732020-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
50d03636
L
15832020-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
d49e5065
L
15882020-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
ad172eaa
L
16532020-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
5dbc8b37
L
16812020-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
433953ff
L
17672020-06-03 H.J. Lu <hongjiu.lu@intel.com>
1768
1769 * elfxx-x86.h (GENERATE_DYNAMIC_RELOCATION_P): Silence
1770 -fsanitize=undefined.
1771
67580036
AM
17722020-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
0ed18fa1
AM
17802020-06-03 Alan Modra <amodra@gmail.com>
1781
7eea15c5 1782 PR 26069
0ed18fa1
AM
1783 * elf.c (_bfd_elf_close_and_cleanup): Free elf_shstrtab for
1784 core files as well as objects.
1785
190eb1dd
L
17862020-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
2fdb65f2
AM
19302020-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
12adf805
DF
19382020-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
66e3eb08
SC
19432020-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
a6dbf402
L
19482020-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
9e7cb4c3
NC
19562020-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
c892b447
AM
19612020-05-23 Alan Modra <amodra@gmail.com>
1962
1963 * bfdio.c (bfd_get_file_size): Don't segfault on NULL arch_header.
1964
6f3fe02b
AM
19652020-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
0490dd41
AM
19722020-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
c9594989
AM
19802020-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
8f595e9b
NC
20032020-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
7b958a48
AM
20242020-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
3c568b8a
AM
20402020-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
6fd1d259
GN
20472020-05-19 Gunther Nikl <gnikl@justmail.de>
2048
2049 PR 26005
11c0dd51
NC
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.
6fd1d259 2053
7e94cf6c
SH
20542020-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
7e057737
SP
20822020-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
765cf5f6
AM
20892020-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
39a1432c
AM
21302020-05-19 Alan Modra <amodra@gmail.com>
2131
2132 PR 25713
2133 * bfdio.c (_bfd_real_fopen): Typo fix.
2134
ed02cdb5
NC
21352020-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
7a87e9c8
AM
21412020-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
ca859a89
JC
21462020-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
fc46e8bd
NC
21522020-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
533f049e
GN
21572020-05-12 Gunther Nikl <gnikl@justmail.de>
2158
2159 * aoutx.h (NAME (aout, swap_std_reloc_out)): Reject an unsupported
2160 relocation size.
2161
94ba9882
AM
21622020-05-11 Alan Modra <amodra@gmail.com>
2163
2164 * elf64-ppc.c (xlate_pcrel_opt): Handle lxvp and stxvp.
2165
7c1f4227
AM
21662020-05-11 Alan Modra <amodra@gmail.com>
2167
2168 * elf64-ppc.c: Rename powerxx to power10 throughout.
2169
4d5acb1e
AM
21702020-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
7242fa8a
GN
21782020-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
21872020-05-04 Wilco Dijkstra <wdijkstr@arm.com>
cff69cf4
WD
2188
2189 PR ld/25665
2190 * elfnn-aarch64.c (group_sections): Copy implementation from
2191 elf32-arm.c.
2192
a2714d6c
AM
21932020-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
a8acd6ee
AM
22002020-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
6b728d32
AM
22062020-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
91ed9b71
AM
22202020-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
d548f47d
MF
22262020-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
dfa85db1
GN
22332020-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
48e5bada
AM
22382020-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
251dae91
TC
22432020-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
27456742
AK
22592020-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
30ce8e47
MF
22692020-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
c36876fe
TC
22842020-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
6f6fd151
L
22902020-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
1f7f2abb
L
23042020-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
e04f33c0
NC
23122020-04-21 Nick Clifton <nickc@redhat.com>
2313
2314 * po/sr.po: Updated Serbian translation.
2315
fad3d2c1
AM
23162020-04-21 Alan Modra <amodra@gmail.com>
2317
2318 * elf32-sh.c (sh_elf_relocate_section): Remove STO_SH5_ISA32
2319 processing.
2320
23c8270e
SC
23212020-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
2efec98b
AM
23282020-04-20 Alan Modra <amodra@gmail.com>
2329
2330 * elf64-ppc.c (ppc64_elf_size_stubs): Strip relbrlt too.
2331
18f97353
AM
23322020-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
8d55d10a
AM
23382020-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
8e4979ac
NC
23442020-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
aec72fda
AM
23502020-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
95a51568
FS
23562020-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
7ecb5154
AM
23722020-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
f717994f
JMG
23792020-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
34ca5531
FS
24052020-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
fa1477dc
SC
24112020-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
a0543b0b
RO
24182020-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
3349112e
L
24252020-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
4d095f5b
JJ
24312020-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
382aae06
L
24702020-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
a7618269
TC
25082020-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
15ccbdd7
TC
25142020-04-01 Tamar Christina <tamar.christina@arm.com>
2515
2516 * elf32-arm.c (elf32_thumb2_plt_entry): Fix PC-rel offset.
2517
7b948a25
HPN
25182020-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
89b599df
AM
25232020-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
81699544
AM
25282020-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
b3b360de
AM
25352020-03-31 Alan Modra <amodra@gmail.com>
2536
2537 * tekhex.c (pass_over): Check is_eof before reading buffer.
2538
00386881
NC
25392020-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
988b7300
AM
25492020-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
aa49fc22
NC
25552020-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
ff768510
AM
25622020-03-26 Alan Modra <amodra@gmail.com>
2563
2564 * i386msdos.c (msdos_object_p): Catch -1 return from bfd_bread.
2565
f75fbe8a
AM
25662020-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
aac88046
NC
25722020-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
cf2611fe
SV
25792020-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
d16e3d2e
AM
25842020-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
1081065c
L
25902020-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
0b8448af 26062020-03-24 Nick Clifton <nickc@redhat.com>
e11cd7c4 2607 Jaydeep Chauhan <jaydeepchauhan1494@gmail.com>
0b8448af
NC
2608
2609 PR 25713
2610 * bfdio.c (_bfd_real_fopen): Add code to handle long filenames on
2611 Win32 systems.
2612
ec2e748a
NC
26132020-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
cda7e560
L
26202020-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
7e6e972f
L
26252020-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
65109548
AM
26332020-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
fdde2fb6
SH
26392020-03-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
2640
2641 * elflink.c (_bfd_elf_tls_setup): Mention .tdata in comment.
2642
cf28cfef
AM
26432020-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
5e737279
AM
26502020-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
c15a8f17
AM
26552020-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
3d98c460
L
26602020-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
c3a1714c
L
26862020-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
67338173
AM
26972020-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
a859124d
AM
27022020-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
f3a08f77
NC
27122020-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
6a541707
NC
27242020-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
effc14f5
SH
27302020-03-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
2731
2732 * elfxx-riscv.c (riscv_parse_subset): Don't use C99.
2733
ac4bf06c
NC
27342020-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
53215f21
CL
27402020-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
327ef784
NC
27542020-03-17 Nick Clifton <nickc@redhat.com>
2755
d3c3c542 2756 PR 25688
327ef784
NC
2757 * elf.c (_bfd_elf_copy_special_section_fields): Replace assertions
2758 with error messages.
2759
ecbbbdba
NC
27602020-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
4b3ecb3b
AM
27662020-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
7bac4137
AM
27722020-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
8b5d0a4f
KR
27802020-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
48e81d7f
AM
27862020-03-14 Alan Modra <amodra@gmail.com>
2787
2788 * section.c (BFD_FAKE_SECTIONS): Formatting.
2789 * bfd-in2.h: Regenerate.
2790
06d949ec
KR
27912020-03-13 Kamil Rytarowski <n54@gmx.com>
2792
2793 * elf.c (elfcore_grok_netbsd_note): Add support for
2794 NT_NETBSDCORE_LWPSTATUS notes.
2795
abf874aa
CL
27962020-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
74e10d17
L
28152020-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
015ec493
KR
28252020-03-13 Kamil Rytarowski <n54@gmx.com>
2826
2827 * elf.c (elfcore_grok_netbsd_note): Add support for aarch64.
2828
66631823
CE
28292020-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
502794d4
CE
28692020-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
8248d21a
AM
28922020-03-11 Alan Modra <amodra@gmail.com>
2893
2894 * som.c (setup_sections): Sanity check subspace.name.
2895
435edf0b
AM
28962020-03-11 Alan Modra <amodra@gmail.com>
2897
2898 * elf64-ppc.c (ppc64_elf_inline_plt): Do increment rel in for loop.
2899
6b5e16ff
AM
29002020-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
2f57795b
AM
29062020-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
a0dcf297
NC
29122020-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
e15a8da9
MF
29172020-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
a8e14f4c
NC
29222020-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
6f8f95b4
AM
29552020-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
233bf4f8
AM
29612020-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
1039fd9a
AM
29662020-03-04 Alan Modra <amodra@gmail.com>
2967
2968 * format.c (bfd_check_format_matches): Call cleanup on error exit.
2969
f5714099
AM
29702020-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
40b35c78
AM
29802020-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
601b73d5
AM
29872020-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
728d32c4
L
30012020-03-02 H.J. Lu <hongjiu.lu@intel.com>
3002
3003 * trad-core.c (trad_unix_core_file_p): Return bfd_cleanup.
3004
cb001c0d
AM
30052020-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
a4dd6c97
AM
30742020-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
bf577467
AM
30852020-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
8c803a2d
AM
31042020-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
7d4b2d2d
AM
31242020-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
26f60d59
AM
31292020-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
9cb56943
AM
31342020-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
182ec670
AM
31432020-02-28 Alan Modra <amodra@gmail.com>
3144
3145 * vms-lib.c (_bfd_vms_lib_archive_p): Free memory on error paths.
3146
1b088c82
AM
31472020-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
5f602802
AM
31522020-02-27 Alan Modra <amodra@gmail.com>
3153
3154 PR 24511
3155 * mmo.c (mmo_scan): Set SEC_DATA for .data.
3156
49d9fd42
AM
31572020-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
05f52dc2
AM
31672020-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
ff69a894
AM
31722020-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
02f7e7ee
AM
31782020-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
cc4c4f40
AM
31932020-02-26 Alan Modra <amodra@gmail.com>
3194
3195 * vms-lib.c (vms_lib_read_index): Release correct buffer.
3196
e0b317de
AM
31972020-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
dc1e8a47
AM
32052020-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
e310298c
AM
32482020-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
b570b954
AM
32682020-02-26 Alan Modra <amodra@gmail.com>
3269
3270 * bfdio.c (bfd_get_file_size): Ignore bogus archive element sizes.
3271
ecda9016
L
32722020-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
a98c743f
AM
32822020-02-24 Alan Modra <amodra@gmail.com>
3283
3284 * vms-lib.c (_bfd_vms_lib_archive_p): Correct overflow checks.
3285
c893ce36
AM
32862020-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
7b3c2715
AM
32962020-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
a4425a57
AM
33022020-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
dda2980f
AM
33192020-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
00e49dff
NC
33312020-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
fcaaac0a
SB
33422020-02-19 Sergey Belyashov <sergey.belyashov@gmail.com>
3343
3344 PR 25537
3345 * cpu-z80.c: Add machine type compatibility checking.
3346
dcf06b89
L
33472020-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
2c7c5554
AM
33532020-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
2bb3687b
AM
33632020-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
806470a2
AM
34152020-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
1f4361a7
AM
34392020-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
446f7ed5
AM
34782020-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
b03202e3
AM
34902020-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
7c5fa58e
AM
35002020-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
96d3b80f
AM
35112020-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
986f0783
AM
35312020-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
2d0e1217
AM
36982020-02-19 Alan Modra <amodra@gmail.com>
3699
3700 * elfxx-riscv.c (riscv_multi_letter_ext_valid_p): Don't use C99.
3701
99845b3b
L
37022020-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
22fe7df8
L
37142020-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
c675ec1e
NC
37212020-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
1d07a805
L
37292020-02-11 H.J. Lu <hongjiu.lu@intel.com>
3730
3731 * plugin.c (add_symbols): Clear plugin_data memory.
3732
0aa99dcd
L
37332020-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
ac4280da
JL
37672020-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
8d6cb116
JL
37732020-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
d60f5448
JL
37822020-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
e1f85e11
AM
37902020-02-10 Alan Modra <amodra@gmail.com>
3791
3792 * archures.c: Wrap overlong z80 comments.
3793 * bfd-in2.h: Regenerate.
3794
9fc0b501
SB
37952020-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
9984857c
NC
38072020-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
5242a0a0
L
38132020-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
b7d07216
L
38202020-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
b93a662b
MR
38302020-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
6df4c9c2
AM
38352020-02-05 Alan Modra <amodra@gmail.com>
3836
3837 * elf64-ppc.c (ppc_stub_plt_branch): Match comment with reality.
3838
24872cb3
AM
38392020-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
ef4627fa
L
38442020-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
a8c4d40b
L
38492020-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
5a9212a1
NC
38582020-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
e7cbe0c4
SL
38632020-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
72ebe8c5
AM
38682020-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
327301a4
AM
38822020-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
b5d36aaa
JT
38892020-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
1957ab10
JT
38952020-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
87b2920f
JT
39002020-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
72913831
AM
39052020-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
c35d018b
JW
39132020-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
086b06f3
AS
39182020-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
3024a17a
AM
39292020-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
b5f998b2
JW
39352020-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
caa31cfa
NC
39412020-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
24e648d4
NC
39482020-01-23 Nick Clifton <nickc@redhat.com>
3949
3950 * po/fr.po: Updated French translation.
3951
67641dd3
AM
39522020-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
403d1bd9
JW
39582020-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
a804e476
AM
39872020-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
9e7028aa
AM
39982020-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
abc489c6
AM
40202020-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
26916852
NC
40252020-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
14470f07
L
40312020-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
b9ca1af6
AM
40442020-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
ed7007c1
AM
40512020-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
1b1bb2c6
NC
40562020-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
ae774686
NC
40622020-01-18 Nick Clifton <nickc@redhat.com>
4063
4064 Binutils 2.34 branch created.
4065
07f1f3aa
CB
40662020-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
0d1cc75d
LB
40732020-01-15 Lars Brinkhoff <lars@nocrew.org>
4074
4075 PR 20694
4076 * pdp11.c (TARGET_PAGE_SIZE): Set to 8192.
4077
e1c6cf61
AM
40782020-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
ef4e5ba5
AM
40872020-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
8ab484c2
AM
40922020-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
b50ef514
AM
41002020-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
0c0adcc5
AM
41052020-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
7f026732
SN
41172020-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
8cd0e5e9
TC
41242020-01-10 Tamar Christina <tamar.christina@arm.com>
4125
4126 PR 25210
4127 * elfnn-aarch64.c (_bfd_aarch64_create_stub_section): Remove elfclass.
4128
71780f45
AM
41292020-01-10 Alan Modra <amodra@gmail.com>
4130
4131 * coff-alpha.c (alpha_ecoff_object_p): Calculate size in bfd_size_type.
4132
b899eb3b
NC
41332020-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
4c6ee646
AM
41392020-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
85f78364
JW
41452020-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
49078ece
AM
41552020-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
ab356be7
AM
41612020-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
85d86817
AM
41672020-01-06 Alan Modra <amodra@gmail.com>
4168
4169 * som.c (som_bfd_fill_in_ar_symbols): Bounds check som_dict index.
4170
3e6aa775
AM
41712020-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
ea933f17
AM
41892020-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
f24bdec4
AM
41972020-01-04 Alan Modra <amodra@gmail.com>
4198
4199 * mmo.c (mmo_mkobject): Allocate tdata with bfd_zalloc.
4200
991fb595
AM
42012020-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
f2a3559d
NC
42062020-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
7a0fb7be
NC
42132020-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
b26a3d58
ST
42292020-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
4bb7a87e
JB
42352020-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
6655dba2
SB
42412020-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
0db131fb
TC
42602020-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
b14ce8bf
AM
42662020-01-01 Alan Modra <amodra@gmail.com>
4267
4268 Update year range in copyright notice of all files.
4269
0b114740 4270For older changes see ChangeLog-2019
3499769a 4271\f
0b114740 4272Copyright (C) 2020 Free Software Foundation, Inc.
3499769a
AM
4273
4274Copying and distribution of this file, with or without modification,
4275are permitted in any medium without royalty provided the copyright
4276notice and this notice are preserved.
4277
4278Local Variables:
4279mode: change-log
4280left-margin: 8
4281fill-column: 74
4282version-control: never
4283End:
This page took 0.567112 seconds and 4 git commands to generate.