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