abb9e09a849481f2e3e8fb71cb8a21a43821c526
[binutils-gdb.git] / bfd / ChangeLog
1 2021-06-30 YunQiang Su <yunqiang.su@cipunited.com>
2
3 PR mips/28009
4 * bfd/elfxx-mips.c (_bfd_mips_elf_section_from_shdr,
5 _bfd_mips_elf_fake_sections): Mark LTO debug info as
6 SHT_MIPS_DWARF.
7
8 2021-06-29 Nick Clifton <nickc@redhat.com>
9
10 * config.bfd (obsolete configurations): Add netbsdpe.
11
12 2021-06-22 Nelson Chu <nelson.chu@sifive.com>
13
14 * elfnn-riscv.c (riscv_pcrel_hi_reloc): Added field to store
15 the original relocation type, in case the type is converted to
16 R_RISCV_HI20.
17 (riscv_pcrel_lo_reloc): Removed unused name field.
18 (riscv_pcrel_relocs): Added comments.
19 (riscv_zero_pcrel_hi_reloc): Removed unused input_bfd.
20 (riscv_record_pcrel_hi_reloc): Updated.
21 (riscv_record_pcrel_lo_reloc): Likewise.
22 (riscv_resolve_pcrel_lo_relocs): Likewise. Check the original
23 type of auipc, to make sure the %pcrel_lo without any addends.
24 Otherwise, report dangerous relocation error.
25 (riscv_elf_relocate_section): Updated above functions are changed.
26 For R_RISCV_GOT_HI20, report dangerous relocation error when addend
27 isn't zero.
28
29 2021-06-19 H.J. Lu <hongjiu.lu@intel.com>
30
31 PR ld/27998
32 * elfxx-x86.c (elf_x86_allocate_dynrelocs): Count PLT for GOTOFF
33 relocation against IFUNC symbols.
34 (_bfd_x86_elf_adjust_dynamic_symbol): Likewise.
35
36 2021-06-19 H.J. Lu <hongjiu.lu@intel.com>
37
38 * elflink.c (bfd_elf_final_link): Correct DT_TEXTREL warning in
39 PDE.
40
41 2021-06-18 H.J. Lu <hongjiu.lu@intel.com>
42
43 * elf-properties.c (_bfd_elf_parse_gnu_properties): Handle
44 GNU_PROPERTY_UINT32_AND_LO, GNU_PROPERTY_UINT32_AND_HI,
45 GNU_PROPERTY_UINT32_OR_LO and GNU_PROPERTY_UINT32_OR_HI.
46 (elf_merge_gnu_properties): Likewise.
47
48 2021-06-11 Alan Modra <amodra@gmail.com>
49
50 PR 27952
51 * elf-bfd.h (struct elf_obj_tdata): Add is_pie.
52 * elflink.c (elf_link_add_object_symbols): Set is_pie.
53
54 2021-06-09 Nick Clifton <nickc@redhat.com>
55
56 PR 27666
57 * config.bfd: Do not add the sparc_elf32_vec or sparc_elf64_vec
58 vectors to Sparc Solaris2 targets.
59
60 2021-06-08 Michael Matz <matz@suse.de>
61
62 * elf.c (bfd_section_from_shdr): Set has_secondary_relocs flag.
63 (_bfd_elf_slurp_secondary_reloc_section): Use it for early-out.
64
65 2021-06-07 Jan Beulich <jbeulich@suse.com>
66
67 * dwarf2.c (read_ranges, read_rnglists): Add u suffix to constant.
68
69 2021-06-02 Alan Modra <amodra@gmail.com>
70
71 * elf-attrs.c (_bfd_elf_parse_attributes): Break out of loop if
72 subsection length is too small to cover tag and length field.
73
74 2021-05-31 Nelson Chu <nelson.chu@sifive.com>
75 Lifang Xia <lifang_xia@c-sky.com>
76
77 PR 27566
78 * elfnn-riscv.c (struct riscv_elf_link_hash_table): New integer pointer
79 to monitor the data segment phase.
80 (bfd_elfNN_riscv_set_data_segment_info): New function called by
81 after_allocation, to set the data_segment_phase from expld.dataseg.
82 (_bfd_riscv_relax_section): Don't relax when data_segment_phase is
83 exp_seg_relro_adjust (0x4).
84 * elfxx-riscv.h (bfd_elf32_riscv_set_data_segment_info): New extern.
85 (bfd_elf64_riscv_set_data_segment_info): Likewise
86
87 2021-05-28 H.J. Lu <hongjiu.lu@intel.com>
88
89 PR ld/27905
90 * elf32-i386.c: Don't include "libiberty.h".
91 (elf_howto_table): Revert commits a7664973b24 and 50c95a739c9.
92 (elf_i386_rtype_to_howto): Revert commit 50c95a739c9.
93 (elf_i386_info_to_howto_rel): Likewise.
94 (elf_i386_tls_transition): Likewise.
95 (elf_i386_relocate_section): Likewise.
96 * elf64-x86-64.c (x86_64_elf_howto_table): Revert commits
97 a7664973b24 and 50c95a739c9.
98 (elf_x86_64_rtype_to_howto): Revert commit 50c95a739c9.
99 * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Likewise.
100 * elfxx-x86.h (elf_x86_obj_tdata): Likewise.
101 (elf_x86_has_code16): Likewise.
102
103 2021-05-26 H.J. Lu <hongjiu.lu@intel.com>
104
105 PR ld/27905
106 * elf32-i386.c: Include "libiberty.h".
107 (elf_howto_table): Add 16-bit R_386_PC16 entry.
108 (elf_i386_rtype_to_howto): Add a BFD argument. Use 16-bit
109 R_386_PC16 if input has 16-bit mode instructions.
110 (elf_i386_info_to_howto_rel): Update elf_i386_rtype_to_howto
111 call.
112 (elf_i386_tls_transition): Likewise.
113 (elf_i386_relocate_section): Likewise.
114 * elf64-x86-64.c (x86_64_elf_howto_table): Add 16-bit
115 R_X86_64_PC16 entry.
116 (elf_x86_64_rtype_to_howto): Use 16-bit R_X86_64_PC16 if input
117 has 16-bit mode instructions.
118 * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Set
119 elf_x86_has_code16 if relocatable input is marked with
120 GNU_PROPERTY_X86_FEATURE_2_CODE16.
121 * elfxx-x86.h (elf_x86_obj_tdata): Add has_code16.
122 (elf_x86_has_code16): New.
123
124 2021-05-26 Nelson Chu <nelson.chu@sifive.com>
125
126 * elfxx-riscv.h (check_unknown_prefixed_ext): New bool.
127 * elfxx-riscv.c (riscv_parse_prefixed_ext): Do not check the
128 prefixed extension name if check_unknown_prefixed_ext is false.
129 * elfnn-riscv.c (riscv_merge_arch_attr_info): Set
130 check_unknown_prefixed_ext to false for linker.
131
132 2021-05-25 Nick Clifton <nickc@redhat.com>
133
134 * elf32-arn.c (struct elf_arm_obj_tdata): Add num_entries field.
135 (elf32_arm_num_entries): New macro.
136 (elf32_arm_allocate_local_sym_info): Initialise the new field.
137 Allocate arrays individually so that buffer overruns can be
138 detected by memory checkers.
139 (elf32_arm_create_local_iplt): Check num_entries.
140 (elf32_arm_get_plt_info): Likewise.
141 (elf32_arm_final_link_relocate): Likewise.
142 (elf32_arm_check_relocs): Likewise.
143 (elf32_arm_size_dynamic_sections): Likewise.
144 (elf32_arm_output_arch_local_syms): Likewise.
145
146 2021-05-25 Nick Clifton <nickc@redhat.com>
147
148 * elf32-arm.c: Fix formatting.
149
150 2021-05-25 Alan Modra <amodra@gmail.com>
151
152 * elf-attrs.c (elf_attr_strdup): New function.
153 (_bfd_elf_attr_strdup): Use it here.
154 (elf_add_obj_attr_string): New function, extracted from..
155 (bfd_elf_add_obj_attr_string): ..here.
156 (elf_add_obj_attr_int_string): New function, extracted from..
157 (bfd_elf_add_obj_attr_int_string): ..here.
158 (_bfd_elf_parse_attributes): Don't allocate an extra byte for a
159 string terminator. Instead ensure parsing doesn't go past
160 end of sub-section. Use size_t variables for lengths.
161
162 2021-05-22 Alan Modra <amodra@gmail.com>
163
164 * libbfd.c (_bfd_safe_read_leb128): Remove length_return parameter.
165 Replace data pointer with pointer to pointer. Increment pointer
166 over bytes read.
167 * libbfd-in.h (_bfd_safe_read_leb128): Update prototype.
168 * elf-attrs.c (_bfd_elf_parse_attributes): Adjust to suit. Be
169 careful not to increment data pointer past end. Remove now
170 redundant pr17512 check.
171 * wasm-module.c (READ_LEB128): Adjust to suit changes to
172 _bfd_safe_read_leb128.
173 * dwarf2.c (read_n_bytes): New inline function, old one renamed to..
174 (read_blk): ..this. Allocate and return block. Increment bfd_byte**
175 arg.
176 (read_3_bytes): New function.
177 (read_1_byte, read_1_signed_byte, read_2_bytes, read_4_bytes),
178 (read_8_bytes, read_string, read_indirect_string),
179 (read_indirect_line_string, read_alt_indirect_string): Take a
180 byte_byte** arg which is incremented over bytes read. Remove any
181 bytes_read return. Rewrite limit checks to compare lengths
182 rather than pointers.
183 (read_abbrevs, read_attribute_value, read_formatted_entries),
184 (decode_line_info, find_abstract_instance, read_ranges),
185 (read_rnglists, scan_unit_for_symbols, parse_comp_unit),
186 (stash_comp_unit): Adjust to suit. Rewrite limit checks to
187 compare lengths rather than pointers.
188 * libbfd.h: Regenerate.
189
190 2021-05-21 Luis Machado <luis.machado@linaro.org>
191
192 * elf.c (elfcore_make_memtag_note_section): New function.
193 (elfcore_grok_note): Handle NT_MEMTAG note types.
194
195 2021-05-20 Andrew Burgess <andrew.burgess@embecosm.com>
196
197 * section.c (bfd_get_section_by_name): Return NULL if name is
198 NULL.
199 (bfd_get_section_by_name_if): Likewise.
200 * dwarf2.c (read_section): Remove unneeded NULL check.
201 (find_debug_info): Likewise.
202
203 2021-05-19 Nick Clifton <nickc@redhat.com>
204
205 * plugin.c (bfd_plugin_open_input): Inform the user if the limit
206 on the number of open files is reached. If possible, try to
207 increase this limit before failing.
208
209 2021-05-14 Nelson Chu <nelson.chu@sifive.com>
210
211 * elfnn-riscv.c (riscv_resolve_pcrel_lo_relocs): Check the values
212 of %pcrel_hi, before and after adding the addend. Make sure the
213 value won't be changed, otherwise, report dangerous error.
214
215 2021-05-13 Nelson Chu <nelson.chu@sifive.com>
216
217 * elfxx-riscv.c (check_implicit_always): The check_func, always add
218 the implicit subset without checking.
219 (check_implicit_for_i): The check_func for i, only add zicsr and
220 zifencei when the version of i less than 2.1.
221 (struct riscv_implicit_subset): Record the subsets and their
222 corresponding implicit subsets.
223 (riscv_implicit_subsets): Table records all implicit informations.
224 (riscv_parse_add_implicit_subsets): Updated and add implicit subsets
225 according to riscv_implicit_subsets. Remove the redundant codes.
226
227 2021-05-13 Alan Modra <amodra@gmail.com>
228
229 PR 27858
230 * elf32-sh.c (sh_elf_info_to_howto): Correct check for last valid
231 reloc howto.
232
233 2021-05-12 Luis Machado <luis.machado@linaro.org>
234
235 * elf-bfd.h (elfcore_write_aarch_mte): New prototype.
236 * elf.c (elfcore_grok_aarch_mte, elfcore_write_aarch_mte): New
237 functions.
238 (elfcore_grok_note): Handle notes of type NT_ARM_TAGGED_ADDR_CTRL.
239 (elfcore_write_register_note): Handle MTE notes.
240
241 2021-05-11 Alan Modra <amodra@gmail.com>
242
243 PR 27844
244 * pdp11.c (aout_get_external_symbols): Clear first four bytes of
245 strings array, not just the first byte.
246 * aoutx.h (aout_get_external_symbols): Likewise.
247
248 2021-05-10 H.J. Lu <hongjiu.lu@intel.com>
249
250 PR binutils/27839
251 * simple.c (bfd_simple_get_relocated_section_contents): Remove
252 strayed fprintf.
253
254 2021-05-10 Nick Clifton <nickc@redhat.com>
255
256 PR 27839
257 * simple.c (simple_dummy_add_to_set): New function.
258 (simple_dummy_constructor): New function.
259 (simple_dummy_multiple_common): New function.
260 (bfd_simple_get_relocated_section_contents): Zero out the
261 callbacks structure, and then set the add_to_set, constructor and
262 multiple_common fields.
263
264 2021-05-10 Dimitar Dimitrov <dimitar@dinux.eu>
265
266 * elf32-pru.c (elf_backend_can_gc_sections): Define as 1.
267
268 2021-05-08 Mike Frysinger <vapier@gentoo.org>
269
270 * doc/Makefile.am (html-local, bfd/index.html): New targets.
271 * doc/Makefile.in: Regenerate.
272
273 2021-05-08 Mike Frysinger <vapier@gentoo.org>
274
275 * doc/Makefile.am (AM_MAKEINFOFLAGS): Define.
276 * doc/Makefile.in: Regenerate.
277
278 2021-05-07 Clément Chigot <clement.chigot@atos.net>
279
280 * coff-rs6000.c (xcoff_dwsect_names): Add new DWARF
281 sections.
282 * coffgen.c (coff_pointerize_aux): Handle C_DWARF.
283 (coff_print_symbol): Likewise.
284 * libxcoff.h (XCOFF_DWSECT_NBR_NAMES): Update.
285
286 2021-05-07 Jan Beulich <jbeulich@suse.com>
287
288 * elf64-x86-64.c (x86_64_elf_howto_table): Set src_mask fields
289 to zero.
290
291 2021-05-07 Alan Modra <amodra@gmail.com>
292
293 * bfd-in2.h: Regenerate.
294 * libbfd.h: Regenerate.
295
296 2021-05-06 Stafford Horne <shorne@gmail.com>
297
298 PR 27746
299 * elf32-or1k.c (PLT_ENTRY_SIZE_LARGE, PLT_MAX_INSN_COUNT,
300 OR1K_ADD, OR1K_ORI): New macros to help with plt creation.
301 (elf_or1k_link_hash_table): New field plt_count.
302 (elf_or1k_link_hash_entry): New field plt_index.
303 (elf_or1k_plt_entry_size): New function.
304 (or1k_write_plt_entry): Update to support variable size PLTs.
305 (or1k_elf_finish_dynamic_sections): Use new or1k_write_plt_entry
306 API.
307 (or1k_elf_finish_dynamic_symbol): Update to write large PLTs
308 when needed.
309 (allocate_dynrelocs): Use elf_or1k_plt_entry_size to account for
310 PLT size.
311
312 2021-05-06 Stafford Horne <shorne@gmail.com>
313
314 PR 21464
315 * elf32-or1k.c (or1k_elf_relocate_section): Relax R_OR1K_GOT16
316 overflow check if we have R_OR1K_GOT_AHI16 followed by
317 R_OR1K_GOT16.
318
319 2021-05-06 Stafford Horne <shorne@gmail.com>
320
321 PR 21464
322 * bfd-in2.h: Add BFD_RELOC_OR1K_GOT_AHI16 relocation.
323 * elf32-or1k.c (or1k_elf_howto_table, or1k_reloc_map): Likewise.
324 (or1k_final_link_relocate, or1k_elf_relocate_section,
325 or1k_elf_check_relocs): Likewise.
326 * libbfd.h (bfd_reloc_code_real_names): Likewise.
327 * reloc.c: Likewise.
328
329 2021-05-06 Stafford Horne <shorne@gmail.com>
330
331 PR 27624
332 * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Change
333 condition used to cleanup plt entries to cleanup forced local
334 entries.
335
336 2021-05-05 H.J. Lu <hongjiu.lu@intel.com>
337
338 PR ld/27825
339 * elflink.c (elf_link_output_symstrtab): Always append ".COUNT"
340 to local symbols.
341
342 2021-05-05 Alan Modra <amodra@gmail.com>
343
344 * vms-lib.c (vms_traverse_index): Account for vms_kbn size when
345 sanity checking keylen.
346
347 2021-05-04 Nick Clifton <nickc@redhat.com>
348
349 * libbfd.c (bfd_malloc): Provide some documenation. Treat a size
350 of 0 as 1.
351 (bfd_realloc): Likewise.
352 (bfd_zmalloc): Likewise.
353 (bfd_realloc_or_free): Provide some documentation. Treat a size
354 of 0 as a request to free.
355 * libbfd-in.h (bfd_realloc): Remove prototype.
356 (bfd_realloc_or_free): Remove prototype.
357 (bfd_zmalloc): Remove prototype.
358 * libbfd.h: Regenerate.
359
360 2021-05-03 Jan Beulich <jbeulich@suse.com>
361
362 * elf32-i386.c (elf_howto_table): Switch all 32-bit relocs to
363 complain_overflow_dont.
364 * elf64-x86-64.c (x86_64_elf_howto_table): Switch all 64-bit
365 relocs to complain_overflow_dont.
366
367 2021-05-03 Alan Modra <amodra@gmail.com>
368
369 * elf32-ppc.c (allocate_dynrelocs): Keep dyn_relocs for undefweak
370 symbols when -z dynamic-undefined-weak or when there are no
371 dynamic relocs in read-only sections and -z nodynamic-undefined-weak
372 is not given.
373 * elf64-ppc.c (allocate_dynrelocs): Likewise.
374
375 2021-05-03 Alan Modra <amodra@gmail.com>
376
377 * elf32-ppc.c (allocate_dynrelocs): Call ensure_undef_dynamic for
378 weak undefined symols that only appear on PLT relocs.
379 * elf64-ppc.c (allocate_dynrelocs): Likewise.
380
381 2021-05-03 Alan Modra <amodra@gmail.com>
382
383 PR 27755
384 * elf32-ppc.c (ppc_elf_inline_plt): Do increment rel in loop.
385
386 2021-05-03 Alan Modra <amodra@gmail.com>
387
388 * elf32-csky.c (is_mapping_symbol_name): New function.
389 (csky_elf_is_target_special_symbol): Likewise.
390 (csky_elf_maybe_function_sym): Likewise.
391 (bfd_elf32_bfd_is_target_special_symbol): Define.
392 (elf_backend_maybe_function_sym): Define.
393
394 2021-04-30 Nick Clifton <nickc@redhat.com>
395
396 PR 27801
397 * mach-o.c (bfd_mach_o_core_fetch_environment): Use bfd_get_32 to
398 read 32-bit value.
399
400 2021-04-30 Nick Clifton <nickc@redhat.com>
401
402 PR 27799
403 * elf32-xtensa.c (elf_xtensa_grok_prstatus): Check for core notes
404 that are too small.
405
406 2021-04-30 Nick Clifton <nickc@redhat.com>
407
408 PR 27797
409 * libbfd.c (bfd_realloc_or_free): Do not free a pointer than has
410 been realloc'ed to size 0.
411
412 2021-04-30 Nick Clifton <nickc@redhat.com>
413
414 PR 27795
415 * coff-rs6000.c (_bfd_xcoff_read_ar_hdr): Check for invalid name
416 lengths.
417
418 2021-04-29 Nick Clifton <nickc@redhat.com>
419
420 PR 27793
421 * som.c (som_slurp_symbol_table): Assign symbols without any scope
422 to the undefined section.
423 (som_decode_symclass): Check for a missing symbol section.
424 * syms.c (bfd_decode_symclass): Likewise.
425
426 2021-04-29 Nick Clifton <nickc@redhat.com>
427
428 PR 27792
429 * som.c (som_slurp_string_table): Place a terminating NUL byte at
430 the end of the table.
431 (som_slurp_symbol_table): Check for an over-large offset into the
432 string string table.
433
434 2021-04-28 Nick Clifton <nickc@redhat.com>
435
436 * elf.c (_bfd_elf_maybe_function_sym): Do not accept annobin
437 symbols as potential function symbols.
438 * elfnn-aarch64.c (elfNN_aarch64_maybe_function_sym): Likewise.
439 * elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise.
440 * elf32-arm.c (elf32_arm_maybe_function_sym): Likewise.
441
442 2021-04-26 Mike Frysinger <vapier@gentoo.org>
443
444 * elf-bfd.h: Include stdlib.h.
445
446 2021-04-26 Jan Beulich <jbeulich@suse.com>
447
448 * elf32-i386.c (elf_howto_table): Switch R_386_PC16 to
449 complain_overflow_signed.
450 * elf64-x86-64.c (x86_64_elf_howto_table): Switch R_X86_64_PC16
451 to complain_overflow_signed.
452
453 2021-04-23 Eric Botcazou <ebotcazou@adacore.com>
454
455 * elf.c (special_sections_p): Add .persistent.bss.
456
457 2021-04-23 Jan Beulich <jbeulich@suse.com>
458
459 * elf32-i386.c (elf_howto_table): R_386_TLS_DESC_CALL has zero
460 size field.
461 * elf64-x86-64.c (x86_64_elf_howto_table): R_X86_64_TLSDESC_CALL
462 has zero size field.
463
464 2021-04-22 Clément Chigot <clement.chigot@atos.net>
465
466 * hash.c (struct bfd_strtab_hash): Remove xcoff field.
467 Add length_field_size field.
468 (_bfd_stringtab_init): Change prototype.
469 Adapt to new length_field_size.
470 (_bfd_xcoff_stringtab_init): Likewise.
471 (_bfd_stringtab_add): Likewise.
472 (_bfd_stringtab_emit): Likewise.
473 * libbfd-in.h (_bfd_xcoff_stringtab_init):
474 Change prototype.
475 * libbfd.h: Regenerate.
476 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create):
477 Call _bfd_xcoff_stringtab_init with isxcoff64 value.
478
479 2021-04-22 Clément Chigot <clement.chigot@atos.net>
480
481 * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Add errors for
482 unsupported storage class or auxialiry entries.
483 Improve and adapt to new aux structures.
484 Add C_DWARF support.
485 (_bfd_xcoff_swap_aux_out): Likewise.
486 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Likewise.
487 (_bfd_xcoff64_swap_aux_out): Likewise.
488
489 2021-04-21 Eli Zaretskii <eliz@gnu.org>
490
491 PR 27760
492 * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Add display
493 of IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP,
494 IMAGE_FILE_NET_RUN_FROM_SWAP and IMAGE_FILE_UP_SYSTEM_ONLY flags.
495 Decode the contents of the DllCharacteristics field.
496
497 2021-04-21 Nick Clifton <nickc@redhat.com>
498
499 PR 27759
500 * srec.c (srec_read_section): Replace assertions with error
501 returns.
502
503 2021-04-20 Clément Chigot <clement.chigot@atos.net>
504
505 PR binutils/21700
506 * reloc.c (BFD_RELOC_PPC_NEG): New relocation.
507 * bfd-in2.h: Regenerate.
508 * libbfd.h: Regenerate.
509 * coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Add
510 BFD_RELOC_PPC_NEG handler.
511 (xcoff_reloc_type_neg): Correctly substract addend.
512 * coff64-rs6000.c (xcoff64_howto_table): Add R_NEG_32
513 howto.
514 (xcoff64_rtype2howto): Add handler for R_NEG_32.
515 (xcoff64_reloc_type_lookup): Add BFD_RELOC_PPC_NEG handler.
516 * xcofflink.c (xcoff_need_ldrel_p): Check output section
517 for R_POS-like relocations. New argument added.
518 (xcoff_mark): Adapt to new xcoff_need_ldrel_p argument.
519 (xcoff_link_input_bfd): Likewise.
520
521 2021-04-16 Alan Modra <amodra@gmail.com>
522
523 PR 27567
524 * coffcode.h (styp_to_sec_flags): Use an unsigned long styp_flags.
525 (coff_write_object_contents): Pass bfd to COFF_ENCODE_ALIGNMENT,
526 ignore alignment checks when return is false. Formatting.
527
528 2021-04-15 Nelson Chu <nelson.chu@sifive.com>
529
530 PR27584
531 * elfnn-riscv.c (riscv_elf_is_target_special_symbol): Added to
532 omit local and empty symbols since they usually generated to
533 mark the auipc instructions.
534
535 2021-04-15 Lifang Xia<lifang_xia@c-sky.com>
536
537 * elf32-csky.c (csky_elf_howto_table)
538 <R_CKCORE_PCREL_IMM16BY2>: Set special_function to
539 bfd_elf_generic_reloc.
540 <R_CKCORE_PCREL_IMM16BY4>: Likewise.
541 <R_CKCORE_PCREL_IMM10BY4>: Likewise.
542 <R_CKCORE_PCREL_IMM18BY2>: Likewise.
543 <R_CKCORE_PCREL_FLRW_IMM8BY4>: Likewise.
544
545 2021-04-14 H.J. Lu <hongjiu.lu@intel.com>
546
547 PR binutils/27708
548 * elf.c (assign_file_positions_for_non_load_sections): Set
549 p_memsz to p_filesz for the loadable PT_NOTE segment.
550
551 2021-04-14 Frederic Cambus <fred@statdns.com>
552
553 * elf.c (elfcore_grok_netbsd_note): Remove unneeded #ifdef
554 checks for NT_NETBSDCORE_AUXV and NT_NETBSDCORE_LWPSTATUS.
555
556 2021-04-14 Alan Modra <amodra@gmail.com>
557
558 PR 27631
559 * elf32-metag.c (elf_metag_relocate_section): Don't use &hh->elf
560 when hh might be NULL, test for NULL first.
561
562 2021-04-14 Alan Modra <amodra@gmail.com>
563
564 PR 27630
565 * elf32-arm.c (elf32_arm_size_stubs): Don't use &hash->root when
566 hash might be NULL, cast instead.
567
568 2021-04-13 Clément Chigot <clement.chigot@atos.net>
569
570 * xcofflink.c (xcoff_link_check_ar_symbols): Update esym earlier.
571
572 2021-04-13 Nelson Chu <nelson.chu@sifive.com>
573
574 * elfnn-riscv.c (riscv_version_mismatch): Do not report the warning
575 when the version of input or output is RISCV_UNKNOWN_VERSION, since
576 the extension is added implicitly.
577 * elfxx-riscv.c: Updated the obsolete comments.
578 (RISCV_UNKNOWN_VERSION): Moved to elfxx-riscv.h.
579 * elfxx-riscv.h (RISCV_UNKNOWN_VERSION): Added.
580
581 2021-04-12 Alan Modra <amodra@gmail.com>
582
583 * elf-bfd.h (ENABLE_CHECKING): Define.
584 (elf_link_hash_lookup): Abort if wrong type of hash table.
585 * configure.ac (--enable-checking): Add support.
586 * config.in: Regenerate.
587 * configure: Regenerate.
588
589 2021-04-12 Alan Modra <amodra@gmail.com>
590
591 * elf-bfd.h (is_elf_hash_table): Convert macro to inline function.
592 (elf_link_hash_lookup, elf_link_hash_traverse): Likewise.
593 (elf_hash_table, elf_hash_table_id): Likewise.
594 * elf32-arm.c (elf32_arm_setup_section_lists): Delete redundant
595 is_elf_hash_table check.
596 * elf32-csky.c (elf32_csky_setup_section_lists): Likewise.
597 * elf32-hppa.c (clobber_millicode_symbols): Correct param types.
598 * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
599 * elfnn-ia64.c (elfNN_ia64_global_dyn_info_free: Likewise.
600 (elfNN_ia64_global_dyn_sym_thunk: Likewise.
601 * elf64-ia64-vms.c (elf64_ia64_global_dyn_info_free): Likewise.
602 (elf64_ia64_global_dyn_sym_thunk): Likewise.
603 (elf64_vms_link_add_object_symbols): Pass base type of hash table
604 to is_elf_hash_table.
605 * elflink.c (_bfd_elf_dynamic_symbol_p): Likewise.
606 (_bfd_elf_symbol_refs_local_p, _bfd_elf_add_dynamic_entry): Likewise.
607 (_bfd_elf_strip_zero_sized_dynamic_sections): Likewise.
608 (_bfd_elf_link_check_relocs, elf_link_add_object_symbols): Likewise.
609 (bfd_elf_final_link): Likewise.
610 * elfnn-aarch64.c (elfNN_aarch64_setup_section_lists): Likewise.
611 * elf64-ppc.c (ppc64_elf_set_toc): Likewise. Use bfd_link_hash_lookup.
612
613 2021-04-12 Alan Modra <amodra@gmail.com>
614
615 * elf-bfd.h (struct elf_backend_data): Return bfd_link_hash_entry*
616 from elf_backend_archive_symbol_lookup.
617 (_bfd_elf_archive_symbol_lookup): Return bfd_link_hash_entry*.
618 * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Likewise. Check
619 we have a ppc_hash_table before accessing ppc_link_hash_entry
620 fields.
621 * elflink.c (_bfd_elf_archive_symbol_lookup): Return
622 bfd_link_hash_entry*.
623 (elf_link_add_archive_symbols): Adjust to suit.
624
625 2021-04-12 Nelson Chu <nelson.chu@sifive.com>
626
627 * elfxx-riscv.c (riscv_parse_std_ext): Fixed the wrong versions of
628 i-ext when expanding g-ext.
629
630 2021-04-12 Nelson Chu <nelson.chu@sifive.com>
631
632 * elfxx-riscv.c (riscv_ext_dont_care_version): Removed.
633 (riscv_parse_add_subset): Always add the implicit extensions, even if
634 their versions are RISCV_UNKNOWN_VERSION.
635 (riscv_parse_std_ext): Delay to add i-ext as the implicit extension
636 in the riscv_parse_add_implicit_subsets. Besides, add g-ext as the
637 implicit extension after it has been expanded.
638 (riscv_parse_add_implicit_subsets): Updated.
639
640 2021-04-12 Nelson Chu <nelson.chu@sifive.com>
641
642 * elfxx-riscv.c (riscv_std_z_ext_strtab): Moved forward.
643 (riscv_std_s_ext_strtab): Likewise.
644 (riscv_std_h_ext_strtab): Likewise.
645 (riscv_std_zxm_ext_strtab): Added for the zxm prefix.
646 (enum riscv_prefix_ext_class): Moved forward and renamed from
647 riscv_isa_ext_class. Reorder them according to the parsing order,
648 since the enum values are used to check the orders in the
649 riscv_compare_subsets.
650 (struct riscv_parse_prefix_config): Moved forward and renamed from
651 riscv_parse_config_t. Also removed the ext_valid_p field, the
652 related functions are replaced by riscv_valid_prefixed_ext.
653 (parse_config): Moved forward and updated. The more letters of the
654 prefix string, the more forward it must be defined. Otherwise, we
655 will get the wrong mapping when using strncmp in riscv_get_prefix_class.
656 (riscv_get_prefix_class): Moved forward. Support to parse the
657 multi-letter prefix, like zxm.
658 (riscv_known_prefixed_ext): New function, check if the prefixed
659 extension is supported according to the right riscv_std_*_ext_strtab.
660 (riscv_valid_prefixed_ext): New function, used to replace the
661 riscv_ext_*_valid_p functions.
662 (riscv_init_ext_order): Do not set the values for prefix keywords
663 since they may have multiple letters for now.
664 (riscv_compare_subsets): Set the order values of prefix keywords
665 to negative numbers according to the riscv_prefix_ext_class.
666 (riscv_parse_std_ext): Call riscv_get_prefix_class to see if we
667 have parsed the prefixed extensions.
668 (riscv_parse_prefixed_ext): Updated and removed the parameter config.
669 Report error when the prefix is unknown.
670 (riscv_parse_subset): Do not parse the prefixed extensions according
671 to the orders in the parse_config. Remove the confused message and
672 let riscv_parse_prefixed_ext to report the details.
673 * elfxx-riscv.h (enum riscv_isa_ext_class): Moved to elfxx-riscv.c.
674 (riscv_get_prefix_class): Removed to static.
675
676 2021-04-08 Mike Frysinger <vapier@gentoo.org>
677
678 * configure.ac (ACX_BUGURL): Use https://.
679 * configure.com (COPY_TEXT): Likewise.
680 * configure: Regenerate.
681
682 2021-04-05 Alan Modra <amodra@gmail.com>
683
684 * configure.ac: Don't check for long long or long double type.
685 Don't check for alloca.h, limits.h, stddef.h, stdlib.h, string.h,
686 strings.h, time.h, wchar.h, wctype.h or sys/time.h. Don't check
687 for strtoull, free, malloc, realloc, getenv, strstr, snprintf,
688 vsnprintf, strlen or setitimer. Sort AC_CHECK_DECLS.
689 (AC_ISC_POSIX): Don't invoke.
690 (AC_HEADER_TIME, AC_HEADER_DIRENT, ACX_HEADER_STRING): Likewise.
691 * sysdep.h: Remove many HAVE_*_H checks and fallback declarations.
692 Do test HAVE_SYS_TYPES_H. Don't include sys/time.h. Reorder
693 header order as per automake AC_INCLUDES_DEFAULT.
694 * bfd-in.h: Include inttypes.h unconditionally.
695 * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Assume long long and
696 long double are available.
697 (bfd_scan_vma): Assume long long and strtoull are available.
698 * elflink.c: Include limits.h unconditionally.
699 * elfnn-riscv.c: Likewise.
700 * wasm-module.c: Likewise.
701 * hpux-core.c: Include dirent.h unconditionally.
702 * trad-core.c: Likewise.
703 * hosts/x86-64linux.h: Include stdlib.h unconditionally.
704 * peXXigen.c: Remove HAVE_WCHAR_H and HAVE_WCTYPE_H checks.
705 * elf32-m68hc1x.c: Don't include alloca-conf.h.
706 * elf64-hppa.c: Likewise.
707 * som.c: Likewise.
708 * wasm-module.c: Likewise.
709 * xsym.c: Likewise.
710 * bfd-in2.h: Regenerate.
711 * config.in: Regenerate.
712 * configure: Regenerate.
713
714 2021-04-01 Tamar Christina <tamar.christina@arm.com>
715
716 PR ld/26659
717 * cofflink.c (_bfd_coff_generic_relocate_section): Ignore overflow.
718
719 2021-04-01 Martin Liska <mliska@suse.cz>
720
721 * ecoff.c (strneq): Remove strneq and use startswith.
722 (_bfd_ecoff_slurp_armap): Likewise.
723
724 2021-04-01 Martin Liska <mliska@suse.cz>
725
726 * elf-bfd.h (bfd_section_is_ctf): Use startswith function.
727 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
728 (elf_get_reloc_section): Likewise.
729 * elf32-arc.c (elf_arc_size_dynamic_sections): Likewise.
730 * elf32-m32r.c (m32r_elf_section_flags): Likewise.
731 * elf32-microblaze.c (microblaze_elf_size_dynamic_sections): Likewise.
732 * elf32-nds32.c (nds32_elf_size_dynamic_sections): Likewise.
733 (nds32_elf_relocate_section): Likewise.
734 (nds32_elf_action_discarded): Likewise.
735 (nds32_elf_check_relocs): Likewise.
736 (nds32_elf_section_flags): Likewise.
737 * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
738 * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
739 * elf32-rx.c (rx_table_find): Likewise.
740 (rx_table_map): Likewise.
741 * elf32-spu.c (spu_elf_backend_symbol_processing): Likewise.
742 (spu_elf_find_overlays): Likewise.
743 (needs_ovl_stub): Likewise.
744 (allocate_spuear_stubs): Likewise.
745 (build_spuear_stubs): Likewise.
746 (mark_overlay_section): Likewise.
747 (spu_elf_auto_overlay): Likewise.
748 (spu_elf_output_symbol_hook): Likewise.
749 * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Likewise.
750 * elf32-xtensa.c (xtensa_property_section_name): Likewise.
751 * elf64-ppc.c (ppc64_elf_section_flags): Likewise.
752 (ppc64_elf_relocate_section): Likewise.
753 * elflink.c (resolve_section): Likewise.
754 (UNARY_OP): Likewise.
755 (BINARY_OP_HEAD): Likewise.
756 (elf_link_input_bfd): Likewise.
757 * elfnn-riscv.c (riscv_elf_size_dynamic_sections): Likewise.
758 * elfxx-riscv.c (riscv_parse_subset): Likewise.
759 * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): Likewise.
760 * opncls.c (get_build_id): Likewise.
761
762 2021-03-31 Alan Modra <amodra@gmail.com>
763
764 PR 27671
765 * bfd-in.h: Don't poison FALSE or TRUE.
766 * bfd-in2.h: Regenerate.
767
768 2021-03-31 Alan Modra <amodra@gmail.com>
769
770 * sysdep.h: POISON_BFD_BOOLEAN: Define.
771 * aix5ppc-core.c, * aout-cris.c, * aout-ns32k.c, * aout-target.h,
772 * aoutx.h, * arc-got.h, * archive.c, * archive64.c, * archures.c,
773 * bfd-in.h, * bfd.c, * bfdwin.c, * binary.c, * cache.c,
774 * coff-alpha.c, * coff-arm.c, * coff-arm.h, * coff-bfd.c,
775 * coff-bfd.h, * coff-go32.c, * coff-i386.c, * coff-ia64.c,
776 * coff-mcore.c, * coff-mips.c, * coff-rs6000.c, * coff-sh.c,
777 * coff-stgo32.c, * coff-tic30.c, * coff-tic4x.c, * coff-tic54x.c,
778 * coff-x86_64.c, * coff-z80.c, * coff-z8k.c, * coff64-rs6000.c,
779 * coffcode.h, * coffgen.c, * cofflink.c, * compress.c,
780 * corefile.c, * cpu-aarch64.c, * cpu-aarch64.h, * cpu-alpha.c,
781 * cpu-arc.c, * cpu-arm.c, * cpu-arm.h, * cpu-avr.c, * cpu-bfin.c,
782 * cpu-bpf.c, * cpu-cr16.c, * cpu-cris.c, * cpu-crx.c,
783 * cpu-csky.c, * cpu-d10v.c, * cpu-d30v.c, * cpu-dlx.c,
784 * cpu-epiphany.c, * cpu-fr30.c, * cpu-frv.c, * cpu-ft32.c,
785 * cpu-h8300.c, * cpu-hppa.c, * cpu-i386.c, * cpu-ia64.c,
786 * cpu-iamcu.c, * cpu-ip2k.c, * cpu-iq2000.c, * cpu-k1om.c,
787 * cpu-l1om.c, * cpu-lm32.c, * cpu-m10200.c, * cpu-m10300.c,
788 * cpu-m32c.c, * cpu-m32r.c, * cpu-m68hc11.c, * cpu-m68hc12.c,
789 * cpu-m68k.c, * cpu-m9s12x.c, * cpu-m9s12xg.c, * cpu-mcore.c,
790 * cpu-mep.c, * cpu-metag.c, * cpu-microblaze.c, * cpu-mips.c,
791 * cpu-mmix.c, * cpu-moxie.c, * cpu-msp430.c, * cpu-mt.c,
792 * cpu-nds32.c, * cpu-nfp.c, * cpu-nios2.c, * cpu-ns32k.c,
793 * cpu-or1k.c, * cpu-pdp11.c, * cpu-pj.c, * cpu-powerpc.c,
794 * cpu-pru.c, * cpu-riscv.c, * cpu-rl78.c, * cpu-rs6000.c,
795 * cpu-rx.c, * cpu-s12z.c, * cpu-s390.c, * cpu-score.c,
796 * cpu-sh.c, * cpu-sparc.c, * cpu-spu.c, * cpu-tic30.c,
797 * cpu-tic4x.c, * cpu-tic54x.c, * cpu-tic6x.c, * cpu-tilegx.c,
798 * cpu-tilepro.c, * cpu-v850.c, * cpu-v850_rh850.c, * cpu-vax.c,
799 * cpu-visium.c, * cpu-wasm32.c, * cpu-xc16x.c, * cpu-xgate.c,
800 * cpu-xstormy16.c, * cpu-xtensa.c, * cpu-z80.c, * cpu-z8k.c,
801 * dwarf1.c, * dwarf2.c, * ecoff-bfd.h, * ecoff.c, * ecofflink.c,
802 * elf-attrs.c, * elf-bfd.h, * elf-eh-frame.c, * elf-hppa.h,
803 * elf-ifunc.c, * elf-m10200.c, * elf-m10300.c, * elf-nacl.c,
804 * elf-nacl.h, * elf-properties.c, * elf-s390-common.c,
805 * elf-s390.h, * elf-strtab.c, * elf-vxworks.c, * elf-vxworks.h,
806 * elf.c, * elf32-am33lin.c, * elf32-arc.c, * elf32-arm.c,
807 * elf32-arm.h, * elf32-avr.c, * elf32-avr.h, * elf32-bfin.c,
808 * elf32-bfin.h, * elf32-cr16.c, * elf32-cr16.h, * elf32-cris.c,
809 * elf32-crx.c, * elf32-csky.c, * elf32-csky.h, * elf32-d10v.c,
810 * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
811 * elf32-fr30.c, * elf32-frv.c, * elf32-ft32.c, * elf32-gen.c,
812 * elf32-h8300.c, * elf32-hppa.c, * elf32-hppa.h, * elf32-i386.c,
813 * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c,
814 * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
815 * elf32-m68hc1x.c, * elf32-m68hc1x.h, * elf32-m68k.c,
816 * elf32-m68k.h, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c,
817 * elf32-metag.h, * elf32-microblaze.c, * elf32-mips.c,
818 * elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c,
819 * elf32-nios2.c, * elf32-nios2.h, * elf32-or1k.c, * elf32-pj.c,
820 * elf32-ppc.c, * elf32-ppc.h, * elf32-pru.c, * elf32-rl78.c,
821 * elf32-rx.c, * elf32-s12z.c, * elf32-s390.c, * elf32-score.c,
822 * elf32-score.h, * elf32-score7.c, * elf32-sh-relocs.h,
823 * elf32-sh.c, * elf32-sparc.c, * elf32-spu.c, * elf32-spu.h,
824 * elf32-tic6x.c, * elf32-tic6x.h, * elf32-tilegx.c,
825 * elf32-tilepro.c, * elf32-v850.c, * elf32-v850.h,
826 * elf32-vax.c, * elf32-visium.c, * elf32-wasm32.c,
827 * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
828 * elf32-xtensa.c, * elf32-z80.c, * elf64-alpha.c, * elf64-bpf.c,
829 * elf64-gen.c, * elf64-hppa.c, * elf64-ia64-vms.c,
830 * elf64-mips.c, * elf64-mmix.c, * elf64-nfp.c, * elf64-ppc.c,
831 * elf64-ppc.h, * elf64-s390.c, * elf64-sparc.c,
832 * elf64-tilegx.c, * elf64-x86-64.c, * elfcode.h,
833 * elfcore.h, * elflink.c, * elfn32-mips.c, * elfnn-aarch64.c,
834 * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-aarch64.c,
835 * elfxx-aarch64.h, * elfxx-ia64.c, * elfxx-ia64.h,
836 * elfxx-mips.c, * elfxx-mips.h, * elfxx-riscv.c, * elfxx-riscv.h,
837 * elfxx-sparc.c, * elfxx-sparc.h, * elfxx-target.h,
838 * elfxx-tilegx.c, * elfxx-tilegx.h, * elfxx-x86.c, * elfxx-x86.h,
839 * format.c, * genlink.h, * hash.c, * i386aout.c, * i386lynx.c,
840 * i386msdos.c, * ihex.c, * libaout.h, * libbfd-in.h,
841 * libbfd.c, * libcoff-in.h, * libecoff.h, * libpei.h,
842 * libxcoff.h, * linker.c, * mach-o-aarch64.c, * mach-o-arm.c,
843 * mach-o-i386.c, * mach-o-x86-64.c, * mach-o.c, * mach-o.h,
844 * merge.c, * mmo.c, * netbsd.h, * opncls.c, * pc532-mach.c,
845 * pdp11.c, * pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-sh.c,
846 * pe-x86_64.c, * peXXigen.c, * pef.c, * pei-arm.c, * pei-i386.c,
847 * pei-ia64.c, * pei-mcore.c, * pei-sh.c, * pei-x86_64.c,
848 * peicode.h, * plugin.c, * plugin.h, * ppcboot.c, * reloc.c,
849 * reloc16.c, * rs6000-core.c, * section.c, * simple.c, * som.c,
850 * som.h, * srec.c, * stabs.c, * syms.c, * targets.c, * tekhex.c,
851 * verilog.c, * vms-alpha.c, * vms-lib.c, * vms-misc.c, * vms.h,
852 * wasm-module.c, * xcofflink.c, * xcofflink.h, * xsym.c,
853 * xsym.h: Replace bfd_boolean with bool, FALSE with false, and
854 TRUE with true throughout.
855 * bfd-in2.h: Regenerate.
856 * libbfd.h: Regenerate.
857 * libcoff.h: Regenerate.
858
859 2021-03-31 Alan Modra <amodra@gmail.com>
860
861 * bfd-in.h: Include stdbool.h.
862 (bfd_boolean): Define as bool
863 * bfd-in2.h: Regenerate.
864
865 2021-03-31 Alan Modra <amodra@gmail.com>
866
867 * .gitignore: Delete bfd_stdint.h entry.
868 * Makefile.am (bfdinclude_HEADERS): Delete bfd_stdint.h.
869 (BUILD_HFILES, LOCAL_H_DEPS): Likewise.
870 * bfd-in.h: Include stdint.h in place of bfd_stdint.h.
871 * configure.ac: Don't invoke GCC_HEADER_STDINT.
872 * configure.com: Don't create bfd_stdint.h.
873 * Makefile.in: Regenerate.
874 * aclocal.m4: Regenerate.
875 * bfd-in2.h: Regenerate.
876 * config.in: Regenerate.
877 * configure: Regenerate.
878 * doc/Makefile.in: Regenerate.
879 * po/BLD-POTFILES.in: Regenerate.
880
881 2021-03-31 Alan Modra <amodra@gmail.com>
882
883 * bfd-in.h: Include string.h.
884 (LITMEMCPY, LITSTRCPY): Delete.
885 * bfd-in2.h: Regenerate.
886
887 2021-03-30 Alan Modra <amodra@gmail.com>
888
889 * elflink.c (elf_link_add_object_symbols): Don't set h->indx
890 unless is_elf_hash_table.
891
892 2021-03-29 Alan Modra <amodra@gmail.com>
893
894 * aoutx.h (aout_link_write_symbols): Don't cast boolean expression
895 to bfd_boolean.
896 * elf32-or1k.c (or1k_set_got_and_rela_sizes): Dont compare booleans
897 against FALSE.
898 * elf32-arc.c (name_for_global_symbol): Don't compare boolean to TRUE.
899 (is_reloc_PC_relative): Don't use "boolean_condition ? TRUE : FALSE".
900 (is_reloc_SDA_relative, is_reloc_for_GOT): Likewise.
901 (is_reloc_for_PLT, is_reloc_for_TLS): Likewise.
902 * elf32-arm.c (stm32l4xx_need_create_replacing_stub): Likewise.
903 * elf32-nds32.c (insert_nds32_elf_blank): Likewise.
904 * elf32-rx.c (rx_set_section_contents): Likewise.
905 * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
906 * elfxx-mips.c (_bfd_mips_elf_ignore_undef_symbol): Likewise.
907 * mach-o.c (bfd_mach_o_read_command): Likewise.
908 * targets.c (bfd_get_target_info): Likewise.
909
910 2021-03-29 Alan Modra <amodra@gmail.com>
911
912 * coff-z80.c (z80_is_local_label_name): Return bfd_boolean.
913 * elf32-z80.c (z80_is_local_label_name): Likewise.
914 * elf32-spu.c (spu_elf_modify_headers): Likewise.
915 * elf32-nds32.h (struct elf_nds32_link_hash_table <hyper_relax>):
916 Change type to int.
917 * vms-lib.c (_bfd_vms_lib_write_archive_contents): Correct test
918 for error return from vms_write_data_block.
919
920 2021-03-29 Alan Modra <amodra@gmail.com>
921
922 * elf32-i386.c (elf_i386_finish_local_dynamic_symbol): Return int.
923 * elf64-ia64-vms.c (elf64_ia64_local_dyn_info_free): Likewise.
924 (elf64_ia64_local_dyn_sym_thunk): Likewise.
925 * elf64-x86-64.c (elf_x86_64_finish_local_dynamic_symbol): Likewise.
926 * elfnn-aarch64.c (elfNN_aarch64_allocate_local_ifunc_dynrelocs),
927 (elfNN_aarch64_finish_local_dynamic_symbol): Likewise.
928 * elfnn-ia64.c (elfNN_ia64_local_dyn_info_free): Likewise.
929 (elfNN_ia64_local_dyn_sym_thunk): Likewise.
930 * elfnn-riscv.c (allocate_local_ifunc_dynrelocs): Likewise.
931 (riscv_pcrel_reloc_eq): Likewise.
932 (riscv_elf_finish_local_dynamic_symbol): Likewise.
933 * elfxx-sparc.c (allocate_local_dynrelocs): Likewise.
934 (finish_local_dynamic_symbol): Likewise.
935 * elfxx-x86.c (elf_x86_allocate_local_dynreloc): Likewise.
936 * elfxx-mips.c (mips_elf_resolve_got_page_ref): Likewise.
937 (mips_elf_count_got_symbols): Change return type to bfd_boolean.
938
939 2021-03-29 Alan Modra <amodra@gmail.com>
940
941 * elflink.c (elf_link_output_symstrtab): Make flinfo parameter
942 a void pointer.
943 (bfd_elf_final_link): Delete out_sym_func typedef and don't cast
944 elf_link_output_symstrtab when calling output_arch_syms and
945 output_arch_local_syms.
946 * elf-bfd.h (struct elf_backend_data <elf_backend_output_arch_syms,
947 elf_backend_output_arch_local_syms>): Change return type of func
948 arg to match elf_link_output_symstrtab.
949 * elf-vxworks.h (elf_vxworks_link_output_symbol_hook): Correct
950 return type.
951 * elf32-nds32.c (nds32_elf_output_symbol_hook): Correct return type.
952 (nds32_elf_output_arch_syms): Correct func return type.
953
954 2021-03-29 Alan Modra <amodra@gmail.com>
955
956 * elf-m10200.c (mn10200_elf_relocate_section): Return int.
957 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
958 * elf32-arc.c (elf_arc_relocate_section): Likewise.
959 * elf32-arm.c (elf32_arm_relocate_section): Likewise.
960 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
961 * elf32-bfin.c (bfin_relocate_section): Likewise.
962 (bfinfdpic_relocate_section): Likewise.
963 * elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
964 * elf32-cris.c (cris_elf_relocate_section): Likewise.
965 * elf32-crx.c (elf32_crx_relocate_section): Likewise.
966 * elf32-csky.c (csky_elf_relocate_section): Likewise.
967 * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
968 * elf32-epiphany.c (epiphany_elf_relocate_section): Likewise.
969 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
970 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
971 * elf32-ft32.c (ft32_elf_relocate_section): Likewise.
972 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
973 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
974 * elf32-i386.c (elf_i386_relocate_section): Likewise.
975 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
976 * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
977 * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
978 * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
979 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
980 * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
981 * elf32-m68hc1x.h (elf32_m68hc11_relocate_section): Likewise.
982 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
983 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
984 * elf32-mep.c (mep_elf_relocate_section): Likewise.
985 * elf32-metag.c (elf_metag_relocate_section): Likewise.
986 * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
987 * elf32-moxie.c (moxie_elf_relocate_section): Likewise.
988 * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
989 * elf32-mt.c (mt_elf_relocate_section): Likewise.
990 * elf32-nds32.c (nds32_elf_relocate_section): Likewise.
991 * elf32-nios2.c (nios2_elf32_relocate_section): Likewise.
992 * elf32-or1k.c (or1k_elf_relocate_section): Likewise.
993 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
994 * elf32-pru.c (pru_elf32_relocate_section): Likewise.
995 * elf32-rl78.c (rl78_elf_relocate_section): Likewise.
996 * elf32-rx.c (rx_elf_relocate_section): Likewise.
997 * elf32-s390.c (elf_s390_relocate_section): Likewise.
998 * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
999 (_bfd_score_elf_relocate_section): Likewise.
1000 * elf32-score.h (s7_bfd_score_elf_relocate_section): Likewise.
1001 * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
1002 * elf32-sh.c (sh_elf_relocate_section): Likewise.
1003 * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
1004 * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
1005 * elf32-v850.c (v850_elf_relocate_section): Likewise.
1006 * elf32-vax.c (elf_vax_relocate_section): Likewise.
1007 * elf32-visium.c (visium_elf_relocate_section): Likewise.
1008 * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
1009 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
1010 * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
1011 * elf32-z80.c (z80_elf_relocate_section): Likewise.
1012 * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
1013 (elf64_alpha_relocate_section): Likewise.
1014 * elf64-bpf.c (bpf_elf_relocate_section): Likewise.
1015 * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
1016 * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
1017 * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
1018 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1019 * elf64-s390.c (elf_s390_relocate_section): Likewise.
1020 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1021 * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Likewise.
1022 * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
1023 * elfnn-riscv.c (riscv_elf_relocate_section): Likewise.
1024 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
1025 * elfxx-mips.h (_bfd_mips_elf_relocate_section): Likewise.
1026 * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
1027 * elfxx-sparc.h (_bfd_sparc_elf_relocate_section): Likewise.
1028 * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
1029 * elfxx-tilegx.h (tilegx_elf_relocate_section): Likewise.
1030
1031 2021-03-26 Keith Seitz <keiths@redhat.com>
1032
1033 * elfcore.h (_bfd_elf_core_find_build_id): Seek file
1034 offset of program headers after calling elf_read_notes.
1035
1036 2021-03-23 Jan Beulich <jbeulich@suse.com>
1037
1038 * dwarf2.c (read_indexed_string): Rename index to idx.
1039
1040 2021-03-22 Martin Liska <mliska@suse.cz>
1041
1042 * bfd-in.h (startswith): Add startswith function.
1043 (CONST_STRNEQ): Remove.
1044 * bfd-in2.h (startswith): Regenerate with make headers.
1045 * archive.c (bfd_slurp_armap): Replace usage of CONST_STRNEQ with startswith.
1046 (_bfd_slurp_extended_name_table): Likewise.
1047 * archive64.c (_bfd_archive_64_bit_slurp_armap): Likewise.
1048 * bfd.c (bfd_get_sign_extend_vma): Likewise.
1049 (bfd_convert_section_size): Likewise.
1050 (bfd_convert_section_contents): Likewise.
1051 * coff-stgo32.c (go32exe_create_stub): Likewise.
1052 (go32exe_check_format): Likewise.
1053 * coffcode.h (styp_to_sec_flags): Likewise.
1054 (GNU_DEBUGALTLINK): Likewise.
1055 * coffgen.c (_bfd_coff_section_already_linked): Likewise.
1056 (coff_gc_sweep): Likewise.
1057 (bfd_coff_gc_sections): Likewise.
1058 * cofflink.c (coff_link_add_symbols): Likewise.
1059 (process_embedded_commands): Likewise.
1060 * compress.c (bfd_is_section_compressed_with_header): Likewise.
1061 (bfd_init_section_decompress_status): Likewise.
1062 * dwarf2.c (find_debug_info): Likewise.
1063 (place_sections): Likewise.
1064 * ecoff.c (_bfd_ecoff_slurp_armap): Likewise.
1065 * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
1066 * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
1067 (assign_section_numbers): Likewise.
1068 (elfcore_grok_win32pstatus): Likewise.
1069 * elf32-arm.c (cmse_scan): Likewise.
1070 (elf32_arm_gc_mark_extra_sections): Likewise.
1071 (elf32_arm_size_dynamic_sections): Likewise.
1072 (is_arm_elf_unwind_section_name): Likewise.
1073 * elf32-bfin.c (bfin_size_dynamic_sections): Likewise.
1074 * elf32-cr16.c (_bfd_cr16_elf_size_dynamic_sections): Likewise.
1075 * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
1076 * elf32-csky.c (csky_elf_size_dynamic_sections): Likewise.
1077 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
1078 * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
1079 * elf32-lm32.c (lm32_elf_size_dynamic_sections): Likewise.
1080 * elf32-m32r.c (m32r_elf_size_dynamic_sections): Likewise.
1081 * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
1082 * elf32-metag.c (elf_metag_size_dynamic_sections): Likewise.
1083 * elf32-msp430.c (msp430_elf_relax_delete_bytes): Likewise.
1084 * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Likewise.
1085 * elf32-or1k.c (or1k_elf_size_dynamic_sections): Likewise.
1086 * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
1087 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
1088 * elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise.
1089 * elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise.
1090 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
1091 * elf32-tic6x.c (is_tic6x_elf_unwind_section_name): Likewise.
1092 (elf32_tic6x_size_dynamic_sections): Likewise.
1093 * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
1094 * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
1095 (xtensa_is_insntable_section): Likewise.
1096 (xtensa_is_littable_section): Likewise.
1097 (xtensa_is_proptable_section): Likewise.
1098 (xtensa_property_section_name): Likewise.
1099 (xtensa_callback_required_dependence): Likewise.
1100 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
1101 * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
1102 * elf64-ia64-vms.c (is_unwind_section_name): Likewise.
1103 (get_reloc_section): Likewise.
1104 (elf64_ia64_size_dynamic_sections): Likewise.
1105 (elf64_ia64_object_p): Likewise.
1106 * elf64-mmix.c (mmix_elf_add_symbol_hook): Likewise.
1107 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise.
1108 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
1109 * elflink.c (elf_link_add_object_symbols): Likewise.
1110 (_bfd_elf_gc_mark_extra_sections): Likewise.
1111 (bfd_elf_parse_eh_frame_entries): Likewise.
1112 (_bfd_elf_section_already_linked): Likewise.
1113 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Likewise.
1114 * elfnn-ia64.c (is_unwind_section_name): Likewise.
1115 (elfNN_ia64_size_dynamic_sections): Likewise.
1116 (elfNN_ia64_object_p): Likewise.
1117 * elfxx-mips.c (FN_STUB_P): Likewise.
1118 (CALL_STUB_P): Likewise.
1119 (CALL_FP_STUB_P): Likewise.
1120 (_bfd_mips_elf_section_from_shdr): Likewise.
1121 (_bfd_mips_elf_fake_sections): Likewise.
1122 (_bfd_mips_elf_size_dynamic_sections): Likewise.
1123 (_bfd_mips_final_write_processing): Likewise.
1124 (_bfd_mips_elf_final_link): Likewise.
1125 * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
1126 * elfxx-x86.c (elf_i386_is_reloc_section): Likewise.
1127 (elf_x86_64_is_reloc_section): Likewise.
1128 * hpux-core.c (thread_section_p): Likewise.
1129 * libcoff.h (bfd_pei_p): Likewise.
1130 * linker.c (REAL): Likewise.
1131 (unwrap_hash_lookup): Likewise.
1132 (_bfd_generic_link_add_one_symbol): Likewise.
1133 * mmo.c (mmo_internal_write_section): Likewise.
1134 * osf-core.c (osf_core_core_file_p): Likewise.
1135 * pef.c (bfd_pef_print_symbol): Likewise.
1136 * pei-x86_64.c (pex64_print_all_pdata_sections): Likewise.
1137 * som.c (som_slurp_symbol_table): Likewise.
1138 (som_slurp_armap): Likewise.
1139 * wasm-module.c (wasm_compute_custom_section_file_position): Likewise.
1140
1141 2021-03-22 Jan Beulich <jbeulich@suse.com>
1142
1143 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Add missing
1144 language translation wrapping to _bfd_error_handler()
1145 invocations.
1146
1147 2021-03-21 Alan Modra <amodra@gmail.com>
1148
1149 * bfd-in.h (startswith): New inline.
1150 (CONST_STRNEQ): Use startswith.
1151 * bfd-in2.h: Regenerate.
1152
1153 2021-03-20 Alan Modra <amodra@gmail.com>
1154
1155 PR 27590
1156 * elf.c (_bfd_elf_make_section_from_shdr): Remove SHF_EXCLUDE
1157 test for .gnu.debuglto*.
1158
1159 2021-03-18 H.J. Lu <hongjiu.lu@intel.com>
1160
1161 PR ld/27590
1162 * elf.c (_bfd_elf_make_section_from_shdr): Treat
1163 .gnu.debuglto_.debug_ section as debugging section unless it is
1164 marked with SHF_EXCLUDE.
1165 * elflink.c (elf_create_symbuf): Revert commit 994b2513281.
1166 (bfd_elf_match_symbols_in_sections): Ignore section symbols when
1167 matching non-debugging sections or linkonce section with comdat
1168 section.
1169
1170 2021-03-18 H.J. Lu <hongjiu.lu@intel.com>
1171
1172 PR ld/27587
1173 * dwarf2.c (read_attribute_value): Check version >= 3 for
1174 DW_FORM_ref_addr.
1175
1176 2021-03-16 Nick Clifton <nickc@redhat.com>
1177
1178 * peXXigen.c (_bfd_XXi_swap_aux_out): Avoid potential buffer
1179 overrun by using sizeof of the destination x_fname field as the
1180 limit for a memcpy.
1181
1182 2021-03-16 Kuan-Lin Chen <kuanlinchentw@gmail.com>
1183
1184 * elfxx-riscv.c (riscv_std_z_ext_strtab): Add zba, zbb and zbc.
1185
1186 2021-03-12 Clément Chigot <clement.chigot@atos.net>
1187
1188 * reloc.c (BFD_RELOC_PPC_TLS_LE, BFD_RELOC_PPC_TLS_IE,
1189 BFD_RELOC_PPC_TLS_M, BFD_RELOC_PPC_TLS_ML, BFD_RELOC_PPC64_TLS_GD,
1190 BFD_RELOC_PPC64_TLS_LD, BFD_RELOC_PPC64_TLS_LE,
1191 BFD_RELOC_PPC64_TLS_IE, BFD_RELOC_PPC64_TLS_M,
1192 BFD_RELOC_PPC64_TLS_ML): New relocations.
1193 * bfd-in2.h: Regenerate.
1194 * libbfd.h: Regenerate.
1195 * coff-rs6000.c (xcoff_calculate_relocation): Call
1196 xcoff_reloc_type_tls for TLS relocations.
1197 (xcoff_howto_table): Implement TLS relocations.
1198 (_bfd_xcoff_reloc_type_lookup): Add cases TLS relocations.
1199 (xcoff_reloc_type_tls): New function.
1200 * coff64-rs6000.c (xcoff_calculate_relocation): Likewise.
1201 (xcoff_howto_table): Likewise.
1202 (_bfd_xcoff_reloc_type_lookup): Likewise.
1203 * coffcode.h (sec_to_styp_flags): Handle TLS sections.
1204 (styp_to_sec_flags): Likewise.
1205 (coff_compute_section_file_positions): Avoid file offset
1206 optimisation for .data when the previous section is .tdata.
1207 (coff_write_object_contents): Handle TLS sections.
1208 * coffswap.h (coff_swap_aouthdr_out): Add support for
1209 new fields in aouthdr.
1210 * libxcoff.h (xcoff_reloc_type_tls): Add prototype.
1211 * xcofflink.c (xcoff_link_add_symbols): Handle XMC_UL.
1212 (xcoff_need_ldrel_p): Add cases for TLS relocations.
1213 (xcoff_create_ldrel): Add l_symndx for TLS sections.
1214
1215 2021-03-12 Clément Chigot <clement.chigot@atos.net>
1216
1217 * reloc.c (BFD_RELOC_PPC_TOC16_HI, BFD_RELOC_PPC_TOC16_LO):
1218 New relocations.
1219 * bfd-in2.h: Regenerate.
1220 * libbfd.h: Regenerate.
1221 * coff-rs6000.c (xcoff_calculate_relocation): Call
1222 xcoff_reloc_type_toc for R_TOCU and R_TOCL.
1223 (xcoff_howto_table): Remove src_mask for TOC relocations.
1224 Add R_TOCU and R_TOCL howtos.
1225 (_bfd_xcoff_reloc_type_lookup): Add cases for
1226 BFD_RELOC_PPC_TOC16_HI and BFD_RELOC_PPC_TOC16_LO.
1227 (xcoff_reloc_type_toc): Compute the whole offset.
1228 Implement R_TOCU and R_TOCL.
1229 * coff64-rs6000.c (xcoff64_calculate_relocation):
1230 Likewise.
1231 (xcoff64_howto_table): Likewise.
1232 (xcoff64_reloc_type_lookup): Likewise.
1233
1234 2021-03-12 Clément Chigot <clement.chigot@atos.net>
1235
1236 * coff-rs6000.c (xcoff_calculate_relocation): Correct and
1237 add new relocations.
1238 (xcoff_howto_table): Likewise.
1239 (xcoff_rtype2howto): Increase r_type maximum value.
1240 (xcoff_ppc_relocate_section): Reuse predefined HOWTOs instead
1241 of create a new one from scratch. Enable only some relocations
1242 to have a changing r_size.
1243 * coff64-rs6000.c (xcoff64_calculate_relocation): Likewise.
1244 (xcoff64_howto_table): Likewise.
1245 (xcoff64_rtype2howto): Likewise.
1246 (xcoff64_ppc_relocate_section): Likewise.
1247 * libxcoff.h (XCOFF_MAX_CALCULATE_RELOCATION): Fix value.
1248
1249 2021-03-12 Clément Chigot <clement.chigot@atos.net>
1250
1251 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Move.
1252
1253 2021-03-12 Clément Chigot <clement.chigot@atos.net>
1254
1255 * coff64-rs6000.c (xcoff64_write_object_contents): Remove.
1256 * coffcode.h (coff_write_object_contents): Add bfd_mach_ppc_620
1257 support for o_cputype field. Avoid creating an empty a.out header
1258 for XCOFF64.
1259
1260 2021-03-12 Clément Chigot <clement.chigot@atos.net>
1261
1262 * coff64-rs6000.c (xcoff64_create_csect_from_smclas): Add
1263 missing smclass.
1264
1265 2021-03-11 Nelson Chu <nelson.chu@sifive.com>
1266
1267 * elfnn-riscv.c (riscv_elf_link_hash_table): New boolean
1268 restart_relax, used to check if we need to run the whole
1269 relaxations from relax pass 0 to 2 again.
1270 (riscv_elf_link_hash_table_create): Init restart_relax to FALSE.
1271 (_bfd_riscv_relax_align): Remove obsolete sec_flg0 set.
1272 (_bfd_riscv_relax_delete): Set again to TRUE if we do delete the code.
1273 (bfd_elfNN_riscv_restart_relax_sections): New function. Called by
1274 after_allocation to check if we need to run the whole relaxations again.
1275 (_bfd_riscv_relax_section): We will only enter into the relax pass 3
1276 when the restart_relax is FALSE; At last set restart_relax to TRUE if
1277 again is TRUE, too.
1278 * elfxx-riscv.h (bfd_elf32_riscv_restart_relax_sections): Declaration.
1279 (bfd_elf64_riscv_restart_relax_sections): Likewise.
1280
1281 2021-03-10 Jan Beulich <jbeulich@suse.com>
1282
1283 * cofflink.c (_bfd_coff_write_global_sym): Range-check symbol
1284 offset.
1285
1286 2021-03-10 Alan Modra <amodra@gmail.com>
1287 Jan Beulich <jbeulich@suse.com>
1288
1289 * elf.c (bfd_elf_generic_reloc): Make references between debug
1290 sections use section relative values.
1291
1292 2021-03-09 Jan Beulich <jbeulich@suse.com>
1293
1294 * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Diagnose out of range RVA.
1295
1296 2021-03-05 H.J. Lu <hongjiu.lu@intel.com>
1297
1298 PR ld/27425
1299 PR ld/27432
1300 * bfd.c (_bfd_get_link_info): New function.
1301 * elf-bfd.h (output_elf_obj_tdata): Add link_info.
1302 (elf_link_info): New.
1303 * libbfd-in.h (_bfd_get_link_info): New prototype.
1304 * coff-x86_64.c (coff_amd64_reloc): Also subtract __ImageBase for
1305 R_AMD64_IMAGEBASE when generating x86-64 ELF executable.
1306 * pe-x86_64.c: Include "coff/internal.h" and "libcoff.h".
1307 (pex64_link_add_symbols): New function.
1308 (coff_bfd_link_add_symbols): New macro.
1309 * libbfd.h: Regenerated.
1310
1311 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
1312 Andrew Burgess <andrew.burgess@embecosm.com>
1313
1314 * elf-bfd.h (elfcore_write_riscv_csr): Declare.
1315 * elf.c (elfcore_grok_riscv_csr): New function.
1316 (elfcore_grok_note): Handle NT_RISCV_CSR.
1317 (elfcore_write_riscv_csr): New function.
1318 (elfcore_write_register_note): Handle '.reg-riscv-csr'.
1319
1320 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
1321 Andrew Burgess <andrew.burgess@embecosm.com>
1322
1323 * elfnn-riscv.c (PRPSINFO_PR_FNAME_LENGTH): Define.
1324 (PRPSINFO_PR_PSARGS_LENGTH): Define.
1325 (riscv_write_core_note): New function.
1326 (riscv_elf_grok_psinfo): Make use of two new length defines.
1327 (elf_backend_write_core_note): Define.
1328
1329 2021-03-05 Craig Blackmore <craig.blackmore@embecosm.com>
1330 Andrew Burgess <andrew.burgess@embecosm.com>
1331
1332 * elf-bfd.h (elfcore_write_gdb_tdesc): Declare new function.
1333 * elf.c (elfcore_grok_gdb_tdesc): New function.
1334 (elfcore_grok_note): Handle NT_GDB_TDESC.
1335 (elfcore_write_gdb_tdesc): New function.
1336 (elfcore_write_register_note): Handle NT_GDB_TDESC.
1337
1338 2021-03-05 Nick Clifton <nickc@redhat.com>
1339
1340 PR 27521
1341 * dwarf2.c (is_str_attr): Add DW_FORM_strx* forms.
1342 (read_indexed_string): Placeholder function.
1343 (read_attribute_value): Handle DW_FORM_strx* and DW_FORM_addrx*
1344 forms.
1345
1346 2021-03-05 Alan Modra <amodra@gmail.com>
1347
1348 * reloc.c (bfd_perform_relocation): Revert 2021-01-12 and
1349 2020-09-16 changes.
1350 * coff-x86_64.c (coff_amd64_reloc): Do more or less the same
1351 adjustments here instead. Separate pc-relative adjustments
1352 from symbol related adjustments. Tidy comments and formatting.
1353
1354 2021-03-04 Jan Beulich <jbeulich@suse.com>
1355
1356 * coffcode.h (sec_to_styp_flags): Don't set IMAGE_SCN_LNK_* in
1357 final PE images.
1358
1359 2021-03-04 Alan Modra <amodra@gmail.com>
1360
1361 * rs6000-core.c (rs6000coff_core_p): Correct prototype.
1362
1363 2021-03-03 Alan Modra <amodra@gmail.com>
1364
1365 PR 27500
1366 * elflink.c (_bfd_elf_gc_mark_rsec): Do special start/stop
1367 processing not when start/stop symbol section is unmarked but
1368 on first time a start/stop symbol is processed.
1369
1370 2021-03-03 Alan Modra <amodra@gmail.com>
1371
1372 * reloc.c: Include x86_64.h rather than internal.h.
1373
1374 2021-03-02 Nick Clifton <nickc@redhat.com>
1375
1376 PR 27484
1377 * dwarf2.c (scan_unit_for_symbols): Scan twice, once to accumulate
1378 function and variable tags and a second time to resolve their
1379 attributes.
1380
1381 2021-03-02 Nick Alcock <nick.alcock@oracle.com>
1382
1383 * elf-strtab.c (_bfd_elf_strtab_str): Skip strings with zero refcount.
1384
1385 2021-03-02 Alan Modra <amodra@gmail.com>
1386
1387 PR 27451
1388 * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore synthesized
1389 linker defined start/stop symbols when start_stop_gc.
1390
1391 2021-03-02 Alan Modra <amodra@gmail.com>
1392
1393 * elf64-ppc.c (ppc64_elf_relocate_section): Don't optimise got
1394 indirect to pc-relative or toc-relative for undefined symbols.
1395
1396 2021-03-01 Alan Modra <amodra@gmail.com>
1397 Fangrui Song <maskray@google.com>
1398
1399 * elflink.c (_bfd_elf_gc_mark_rsec): Ignore synthesized linker
1400 defined start/stop symbols when start_stop_gc.
1401 (bfd_elf_gc_mark_dynamic_ref_symbol): Likewise.
1402 (bfd_elf_define_start_stop): Don't modify ldscript_def syms.
1403 * linker.c (bfd_generic_define_start_stop): Likewise.
1404
1405 2021-02-25 Alan Modra <amodra@gmail.com>
1406
1407 PR 27441
1408 * elf-bfd.h (struct elf_link_hash_entry): Add ref_ir_nonweak.
1409 * elflink.c (elf_link_add_object_symbols): Set ref_ir_nonweak and
1410 use when deciding an as-needed library should be loaded instead
1411 of using the binding of the library definition.
1412
1413 2021-02-24 Alan Modra <amodra@gmail.com>
1414
1415 PR 27459
1416 * coff-stgo32.c (go32exe_check_format): Sanity check size of
1417 header to avoid a buffer overflow.
1418
1419 2021-02-22 Alan Modra <amodra@gmail.com>
1420
1421 * coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Remove BFD_RELOC_16.
1422 * coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.
1423
1424 2021-02-19 Nelson Chu <nelson.chu@sifive.com>
1425
1426 PR 27158
1427 * elfnn-riscv.c (perform_relocation): Updated encoding macros.
1428 (_bfd_riscv_relax_call): Likewise.
1429 (_bfd_riscv_relax_lui): Likewise.
1430 * elfxx-riscv.c (howto_table): Likewise.
1431
1432 2021-02-18 Nelson Chu <nelson.chu@sifive.com>
1433
1434 * Makefile.am: Added cpu-riscv.h.
1435 * Makefile.in: Regenerated.
1436 * po/SRC-POTFILES.in: Regenerated.
1437 * cpu-riscv.h: Added to support spec versions controlling.
1438 Also added extern arrays and functions for cpu-riscv.c.
1439 (enum riscv_spec_class): Define all spec classes here uniformly.
1440 (struct riscv_spec): Added for all specs.
1441 (RISCV_GET_SPEC_CLASS): Added to reduce repeated code.
1442 (RISCV_GET_SPEC_NAME): Likewise.
1443 (RISCV_GET_ISA_SPEC_CLASS): Added to get ISA spec class.
1444 (RISCV_GET_PRIV_SPEC_CLASS): Added to get privileged spec class.
1445 (RISCV_GET_PRIV_SPEC_NAME): Added to get privileged spec name.
1446 * cpu-riscv.c (struct priv_spec_t): Replaced with struct riscv_spec.
1447 (riscv_get_priv_spec_class): Replaced with RISCV_GET_PRIV_SPEC_CLASS.
1448 (riscv_get_priv_spec_name): Replaced with RISCV_GET_PRIV_SPEC_NAME.
1449 (riscv_priv_specs): Moved below.
1450 (riscv_get_priv_spec_class_from_numbers): Likewise, updated.
1451 (riscv_isa_specs): Moved from include/opcode/riscv.h.
1452 * elfnn-riscv.c: Included cpu-riscv.h.
1453 (riscv_merge_attributes): Initialize in_priv_spec and out_priv_spec.
1454 * elfxx-riscv.c: Included cpu-riscv.h and opcode/riscv.h.
1455 (RISCV_UNKNOWN_VERSION): Moved from include/opcode/riscv.h.
1456 * elfxx-riscv.h: Removed extern functions to cpu-riscv.h.
1457
1458 2021-02-17 Alan Modra <amodra@gmail.com>
1459
1460 * wasm-module.c: Guard include of limits.h.
1461 (CHAR_BIT): Provide backup define.
1462 (wasm_read_leb128): Use CHAR_BIT to size "result" in bits.
1463 Correct signed overflow checking.
1464
1465 2021-02-17 Nelson Chu <nelson.chu@sifive.com>
1466
1467 PR 27200
1468 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Delay
1469 copying the elf flags from input BFD to output BFD, until we have
1470 checked if the input BFD has no code section or not. Also fix the
1471 problem that we only check the first section rather than the entire
1472 sections for input BFD.
1473
1474 2021-02-16 Alan Modra <amodra@gmail.com>
1475
1476 * libbfd.c (_bfd_read_unsigned_leb128): Avoid excessive shift.
1477 (_bfd_safe_read_leb128, _bfd_read_signed_leb128): Likewise.
1478
1479 2021-02-15 Jan Beulich <jbeulich@suse.com>
1480
1481 * doc/Makefile.am: Replace "cp -p" by "$(LN_S)".
1482 * doc/Makefile.in: Re-generate.
1483
1484 2021-02-15 Alan Modra <amodra@gmail.com>
1485
1486 * elf32-nds32.c (nds32_get_section_contents): Replace
1487 bfd_malloc_and_get_section with bfd_get_full_section_contents.
1488 (nds32_elf_relax_delete_blanks): Init contents.
1489 (nds32_elf_relax_section, nds32_relax_fp_as_gp): Likewise.
1490
1491 2021-02-15 Alan Modra <amodra@gmail.com>
1492
1493 * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use
1494 bfd_get_full_section_contents.
1495
1496 2021-02-14 Alan Modra <amodra@gmail.com>
1497
1498 * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Apply
1499 all fixes to bfd_generic_get_relocated_section_contents since this
1500 function was split out.
1501
1502 2021-02-11 Alan Modra <amodra@gmail.com>
1503
1504 * config.bfd: Remove ia64 from obsolete list.
1505
1506 2021-02-11 Alan Modra <amodra@gmail.com>
1507
1508 PR ld/22269
1509 * elfnn-ia64.c: Revert 2017-10-14 git commit db41f6eb5234.
1510
1511 2021-02-11 Alan Modra <amodra@gmail.com>
1512
1513 PR 27294
1514 * elf32-avr.c (avr_elf32_load_records_from_section): Use
1515 bfd_malloc_and_get_section. Use bfd_byte* vars and remove then
1516 unnecessary casts.
1517
1518 2021-02-11 Alan Modra <amodra@gmail.com>
1519
1520 PR 27291
1521 * section.c (bfd_get_section_contents): Avoid possible overflow
1522 when range checking offset and count.
1523 (bfd_set_section_contents): Likewise.
1524
1525 2021-02-03 Nick Alcock <nick.alcock@oracle.com>
1526
1527 * configure.ac (SHARED_LIBADD): Remove explicit -lintl population in
1528 favour of LIBINTL.
1529 * configure: Regenerated.
1530
1531 2021-02-09 Alan Modra <amodra@gmail.com>
1532
1533 * config.bfd (arm*-*-symbianelf*): Move from obsolete to removed.
1534 * configure.ac: Delete symbian entries.
1535 * elf-bfd.h (enum elf_target_os): Delete is_symbian.
1536 * elf32-arm.c: Remove symbian support. Formatting.
1537 * targets.c: Delete symbian entries.
1538 * configure: Regenerate.
1539
1540 2021-02-04 H.J. Lu <hongjiu.lu@intel.com>
1541
1542 PR ld/19609
1543 * elf64-x86-64.c (elf_x86_64_relocate_section): Provide more
1544 info when failed to convert GOTPCREL relocation.
1545
1546 2021-02-04 Nelson Chu <nelson.chu@sifive.com>
1547
1548 * elfxx-riscv.c (riscv_parse_prefixed_ext): Removed zb*.
1549
1550 2021-02-04 Alan Modra <amodra@gmail.com>
1551
1552 PR 27311
1553 * elflink.c (elf_link_add_object_symbols): Don't pull in as-needed
1554 libraries for IR references on pass over libraries after LTO
1555 recompilation.
1556
1557 2021-02-03 Alan Modra <amodra@gmail.com>
1558
1559 PR 27311
1560 * elflink.c (_bfd_elf_add_default_symbol): Revert last two changes.
1561 (elf_link_add_object_symbols): Here too. Don't pull in as-needed
1562 libraries when H is an indirect symbol after calling
1563 _bfd_elf_add_default_symbol.
1564
1565 2021-02-03 Alan Modra <amodra@gmail.com>
1566
1567 PR 27311
1568 * elflink.c (_bfd_elf_add_default_symbol): Clear override when
1569 undecorated symbol will have a different version.
1570
1571 2021-02-02 Alan Modra <amodra@gmail.com>
1572
1573 PR 27311
1574 * elflink.c (_bfd_elf_add_default_symbol): Add override parameter.
1575 Use when handling default versioned symbol. Rename existing
1576 override variable to nondef_override and use for non-default
1577 versioned symbol.
1578 (elf_link_add_object_symbols): Adjust call to suit. Don't
1579 pull in as-needed libraries when override is set.
1580
1581 2021-02-01 Emery Hemingway <ehmry@posteo.net>
1582
1583 * config.bfd: Add *-*-genode* as a target for AArch64 and x86.
1584
1585 2021-02-01 Egor Vishnyakov <lenvampir@yandex.ru>
1586
1587 PR 27254
1588 * elf32-rl78.c (rl78_elf_relocate_section): Fix calculation of
1589 offset for the R_RL78_RH_SADDR relocation.
1590
1591 2021-01-29 Alan Modra <amodra@gmail.com>
1592
1593 PR 27271
1594 * elflink.c (bfd_elf_link_record_dynamic_symbol): Don't segfault
1595 on symbols defined in absolute or other special sections.
1596
1597 2021-01-28 Alan Modra <amodra@gmail.com>
1598
1599 PR 27259
1600 * elflink.c (_bfd_elf_gc_mark_extra_sections): Use linker_mark to
1601 prevent endless looping of linked-to sections.
1602
1603 2020-12-17 Mihails Strasuns <mihails.strasuns@intel.com>
1604
1605 * bfd-elf.h (elfcore_write_file_note): New function.
1606 * elf.c (elfcore_write_file_note): New function.
1607
1608 2021-01-26 Alan Modra <amodra@gmail.com>
1609
1610 * elf32-ft32.c (ft32_reloc_type_lookup): Don't miss ft32_reloc_map[0].
1611
1612 2021-01-24 H.J. Lu <hongjiu.lu@intel.com>
1613
1614 PR binutils/27231
1615 * dwarf2.c (read_rnglists): Ignore empty range when parsing line
1616 number tables.
1617
1618 2021-01-23 H.J. Lu <hongjiu.lu@intel.com>
1619
1620 PR binutils/27231
1621 * dwarf2.c (read_rnglists): Advance rngs_ptr after
1622 _bfd_safe_read_leb128 when parsing DW_RLE_offset_pair.
1623
1624 2021-01-20 Alan Modra <amodra@gmail.com>
1625
1626 * elf32-ppc.c: Delete outdated comment.
1627 (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): Define.
1628 * elf64-ppc.c (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): Define.
1629
1630 2021-01-20 Alan Modra <amodra@gmail.com>
1631
1632 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't assume
1633 section symbols are present.
1634
1635 2021-01-19 Alan Modra <amodra@gmail.com>
1636
1637 * elf64-ppc.c (elf_hash_entry): New inline function. Use
1638 throughout to replace casts.
1639 (branch_reloc_hash_match): Remove const from params.
1640 (use_local_plt): New function.
1641 (allocate_dynrelocs, ppc_build_one_stub, ppc_size_one_stub),
1642 (build_global_entry_stubs_and_plt, ppc64_elf_relocate_section):
1643 Use use_local_plt.
1644 * elf32-ppc.c (use_local_plt): New function.
1645 (allocate_dynrelocs, ppc_elf_relocate_section),
1646 (write_global_sym_plt): Use use_local_plt.
1647
1648 2021-01-17 H.J. Lu <hongjiu.lu@intel.com>
1649
1650 PR ld/27193
1651 * elflink.c (elf_create_symbuf): Also ignore section symbols.
1652
1653 2021-01-16 H.J. Lu <hongjiu.lu@intel.com>
1654
1655 PR ld/23169
1656 * elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): Don't
1657 check pointer_equality_needed.
1658
1659 2021-01-15 H.J. Lu <hongjiu.lu@intel.com>
1660
1661 * elf-linker-x86.h (elf_linker_x86_params): Add
1662 report_relative_reloc.
1663 * elf32-i386.c (elf_i386_relocate_section): Call
1664 _bfd_x86_elf_link_report_relative_reloc to report relative
1665 relocations for -z report-relative-reloc.
1666 (elf_i386_finish_dynamic_symbol): Likewse.
1667 * elf64-x86-64.c (elf_x86_64_relocate_section): Likewse.
1668 (elf_x86_64_finish_dynamic_symbol): Likewse.
1669 * elfxx-x86.c (_bfd_x86_elf_link_report_relative_reloc): New
1670 function.
1671 * elfxx-x86.h (_bfd_x86_elf_link_report_relative_reloc): New
1672 prototype.
1673
1674 2021-01-16 Alan Modra <amodra@gmail.com>
1675
1676 * compress.c (decompress_contents): Tidy inflateEnd result test.
1677
1678 2021-01-16 Alan Modra <amodra@gmail.com>
1679
1680 PR 26002
1681 * elflink.c (elf_link_output_extsym): Use version 1 in
1682 .gnu.version for undefined unversioned symbols.
1683
1684 2021-01-15 Nelson Chu <nelson.chu@sifive.com>
1685
1686 * elfnn-riscv.c (riscv_relax_delete_bytes): Fixed the indent that
1687 caused the by previous commit accidentally.
1688
1689 2021-01-15 Nelson Chu <nelson.chu@sifive.com>
1690
1691 * elfnn-riscv.c: Indent, labels and GNU coding standards tidy,
1692 also aligned the code.
1693
1694 2021-01-15 Nelson Chu <nelson.chu@sifive.com>
1695
1696 * elfnn-riscv.c (riscv_merge_attributes): Fix typos of messages.
1697
1698 2021-01-15 Nelson Chu <nelson.chu@sifive.com>
1699
1700 * elfnn-riscv.c: Comments tidy and improvement.
1701 * elfxx-riscv.c: Likewise.
1702 * elfxx-riscv.h: Likewise.
1703
1704 2021-01-14 H.J. Lu <hongjiu.lu@intel.com>
1705
1706 PR ld/26688
1707 * elf32-bfin.c (bfinfdpic_relocate_section): Skip non SEC_ALLOC
1708 section for R_BFIN_FUNCDESC.
1709
1710 2021-01-14 Nick Clifton <nickc@redhat.com>
1711
1712 * elf.c (elfcore_grok_win32pstatus): Check for a note type of 0.
1713
1714 2021-01-13 Alan Modra <amodra@gmail.com>
1715
1716 * Makefile.in: Regenerate.
1717 * doc/Makefile.in: Regenerate.
1718
1719 2021-01-13 Alan Modra <amodra@gmail.com>
1720
1721 PR 27160
1722 * section.c (struct bfd_section): Remove pattern field.
1723 (BFD_FAKE_SECTION): Adjust to suit.
1724 * bfd-in2.h: Regenerate.
1725 * elflink.c (compare_link_order, elf_fixup_link_order): Delete.
1726 (bfd_elf_final_link): Don't call elf_fixup_link_order.
1727
1728 2021-01-12 H.J. Lu <hongjiu.lu@intel.com>
1729
1730 PR binutils/26792
1731 * configure.ac: Use GNU_MAKE_JOBSERVER.
1732 * aclocal.m4: Regenerated.
1733 * configure: Likewise.
1734
1735 2021-01-12 H.J. Lu <hongjiu.lu@intel.com>
1736
1737 PR ld/27171
1738 * reloc.c (bfd_perform_relocation): Adjust R_AMD64_DIR64 and
1739 R_AMD64_DIR32 relocations for PE/x86-64 inputs.
1740
1741 2021-01-11 H.J. Lu <hongjiu.lu@intel.com>
1742
1743 PR ld/27173
1744 * configure: Regenerated.
1745
1746 2021-01-11 Nick Clifton <nickc@redhat.com>
1747
1748 * po/fr.po: Updated French translation.
1749 * po/pt.po: Updated Portuguese translation.
1750 * po/sr.po: Updated Serbian translation.
1751 * po/uk.po: Updated Ukranian translation.
1752
1753 2021-01-09 H.J. Lu <hongjiu.lu@intel.com>
1754
1755 * configure: Regenerated.
1756
1757 2021-01-09 H.J. Lu <hongjiu.lu@intel.com>
1758
1759 PR ld/27166
1760 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Handle
1761 -z lam-u48 and -z lam-u57.
1762
1763 2021-01-09 Nick Clifton <nickc@redhat.com>
1764
1765 * version.m4: Change to 2.36.50.
1766 * configure: Regenerate.
1767 * po/bfd.pot: Regenerate.
1768
1769 2021-01-09 Nick Clifton <nickc@redhat.com>
1770
1771 * 2.36 release branch crated.
1772
1773 2021-01-08 H.J. Lu <hongjiu.lu@intel.com>
1774
1775 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Also set
1776 LAM_U57 when setting LAM_U48.
1777
1778 2021-01-08 H.J. Lu <hongjiu.lu@intel.com>
1779
1780 PR ld/26256
1781 PR ld/27160
1782 * elflink.c (elf_fixup_link_order): Verify that fixing up
1783 SHF_LINK_ORDER doesn't increase the output section size.
1784
1785 2021-01-09 Alan Modra <amodra@gmail.com>
1786
1787 * configure: Regenerate.
1788
1789 2021-01-07 Samuel Thibault <samuel.thibault@gnu.org>
1790
1791 * configure: Regenerate.
1792
1793 2021-01-07 H.J. Lu <hongjiu.lu@intel.com>
1794
1795 PR 27109
1796 * aix386-core.c (core_aix386_vec): Initialize
1797 keep_unused_section_symbol to TARGET_KEEP_UNUSED_SECTION_SYMBOLS.
1798 * aout-target.h (MY (vec)): Likewise.
1799 * binary.c (binary_vec): Likewise.
1800 * cisco-core.c (core_cisco_be_vec): Likewise.
1801 (core_cisco_le_vec): Likewise.
1802 * coff-alpha.c (alpha_ecoff_le_vec): Likewise.
1803 * coff-i386.c (TARGET_SYM): Likewise.
1804 (TARGET_SYM_BIG): Likewise.
1805 * coff-ia64.c (TARGET_SYM): Likewise.
1806 * coff-mips.c (mips_ecoff_le_vec): Likewise.
1807 (mips_ecoff_be_vec): Likewise.
1808 (mips_ecoff_bele_vec): Likewise.
1809 * coff-rs6000.c (rs6000_xcoff_vec): Likewise.
1810 (powerpc_xcoff_vec): Likewise.
1811 * coff-sh.c (sh_coff_small_vec): Likewise.
1812 (sh_coff_small_le_vec): Likewise.
1813 * coff-tic30.c (tic30_coff_vec): Likewise.
1814 * coff-tic54x.c (tic54x_coff0_vec): Likewise.
1815 (tic54x_coff0_beh_vec): Likewise.
1816 (tic54x_coff1_vec): Likewise.
1817 (tic54x_coff1_beh_vec): Likewise.
1818 (tic54x_coff2_vec): Likewise.
1819 (tic54x_coff2_beh_vec): Likewise.
1820 * coff-x86_64.c (TARGET_SYM): Likewise.
1821 (TARGET_SYM_BIG): Likewise.
1822 * coff64-rs6000.c (rs6000_xcoff64_vec): Likewise.
1823 (rs6000_xcoff64_aix_vec): Likewise.
1824 * coffcode.h (CREATE_BIG_COFF_TARGET_VEC): Likewise.
1825 (CREATE_BIGHDR_COFF_TARGET_VEC): Likewise.
1826 (CREATE_LITTLE_COFF_TARGET_VEC): Likewise.
1827 * elfxx-target.h (TARGET_BIG_SYM): Likewise.
1828 (TARGET_LITTLE_SYM): Likewise.
1829 * hppabsd-core.c (core_hppabsd_vec): Likewise.
1830 * hpux-core.c (core_hpux_vec): Likewise.
1831 * i386msdos.c (i386_msdos_vec): Likewise.
1832 * ihex.c (ihex_vec): Likewise.
1833 * irix-core.c (core_irix_vec): Likewise.
1834 * mach-o-target.c (TARGET_NAME): Likewise.
1835 * mmo.c (mmix_mmo_vec): Likewise.
1836 * netbsd-core.c (core_netbsd_vec): Likewise.
1837 * osf-core.c (core_osf_vec): Likewise.
1838 * pdp11.c (MY (vec)): Likewise.
1839 * pef.c (pef_vec): Likewise.
1840 (pef_xlib_vec): Likewise.
1841 * plugin.c (plugin_vec): Likewise.
1842 * ppcboot.c (powerpc_boot_vec): Likewise.
1843 * ptrace-core.c (core_ptrace_vec): Likewise.
1844 * sco5-core.c (core_sco5_vec): Likewise.
1845 * som.c (hppa_som_vec): Likewise.
1846 * srec.c (srec_vec): Likewise.
1847 (symbolsrec_vec): Likewise.
1848 * tekhex.c (tekhex_vec): Likewise.
1849 * trad-core.c (core_trad_vec): Likewise.
1850 * verilog.c (verilog_vec): Likewise.
1851 * vms-alpha.c (alpha_vms_vec): Likewise.
1852 * vms-lib.c (alpha_vms_lib_txt_vec): Likewise.
1853 * wasm-module.c (wasm_vec): Likewise.
1854 * xsym.c (sym_vec): Likewise.
1855 * elf.c (ignore_section_sym): Return TRUE if BSF_SECTION_SYM_USED
1856 isn't set.
1857 (elf_map_symbols): Don't include ignored section symbols.
1858 * elfcode.h (elf_slurp_symbol_table): Also set
1859 BSF_SECTION_SYM_USED on STT_SECTION symbols.
1860 * elflink.c (bfd_elf_final_link): Generated section symbols only
1861 when emitting relocations or reqired.
1862 * elfxx-x86.h (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): New.
1863 * syms.c (BSF_SECTION_SYM_USED): New.
1864 * targets.c (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): New.
1865 (bfd_target): Add keep_unused_section_symbols.
1866 (bfd_keep_unused_section_symbols): New.
1867 * bfd-in2.h: Regenerated.
1868
1869 2021-01-07 Nick Clifton <nickc@redhat.com>
1870
1871 PR 25713
1872 * bfdio.c (_bfd_real_fopen): For Win32 convert relative paths to
1873 absolute paths and check to see if they are longer than MAX_PATH.
1874
1875 2021-01-07 Philipp Tomsich <prt@gnu.org>
1876
1877 * elfxx-riscv.c (riscv_std_z_ext_strtab): Added zihintpause.
1878
1879 2021-01-07 Claire Xenia Wolf <claire@symbioticeda.com>
1880 Jim Wilson <jimw@sifive.com>
1881 Andrew Waterman <andrew@sifive.com>
1882 Maxim Blinov <maxim.blinov@embecosm.com>
1883 Kito Cheng <kito.cheng@sifive.com>
1884 Nelson Chu <nelson.chu@sifive.com>
1885
1886 * elfxx-riscv.c (riscv_std_z_ext_strtab): Added zba, zbb and zbc.
1887
1888 2021-01-06 H.J. Lu <hongjiu.lu@intel.com>
1889
1890 * elf32-bfin.c (bfin_check_relocs): Check bfd_link_hash_indirect.
1891 (bfinfdpic_check_relocs): Likewise.
1892
1893 2021-01-06 Alan Modra <amodra@gmail.com>
1894
1895 * elf32-score.c (s3_bfd_score_info_to_howto): Report an error
1896 on unknown r_type.
1897 * elf32-score7.c (s7_bfd_score_info_to_howto): Likewise.
1898
1899 2021-01-06 Alan Modra <amodra@gmail.com>
1900
1901 * config.bfd (sparc-*-solaris2*): Add sparc_elf32_vec.
1902 (sparc64-*-solaris2*): Add sparc_elf64_vec and
1903 sparc_elf32_vec.
1904
1905 2021-01-06 Marcus Comstedt <marcus@mc.pp.se>
1906
1907 * config.bfd: Added targets riscv64be*-*-*, riscv32be*-*-* and
1908 riscvbe*-*-*. Also added riscv_elf[32|64]_be_vec.
1909 * configure.ac: Handle riscv_elf[32|64]_be_vec.
1910 * configure: Regenerate.
1911 * elfnn-riscv.c: Include <limits.h> and define CHAR_BIT for
1912 riscv_is_insn_reloc.
1913 (riscv_get_insn): RISC-V instructions are always little endian, but
1914 bfd_get may be used for big-endian, so add new riscv_get_insn to handle
1915 the insturctions.
1916 (riscv_put_insn): Likewsie.
1917 (riscv_is_insn_reloc): Check if we are relocaing an instruction.
1918 (perform_relocation): Call riscv_is_insn_reloc to decide if we should
1919 use riscv_[get|put]_insn or bfd_[get|put].
1920 (riscv_zero_pcrel_hi_reloc): Use riscv_[get|put]_insn, bfd_[get|put]l32
1921 or bfd_[get|put]l16 for code.
1922 (riscv_elf_relocate_section): Likewise.
1923 (riscv_elf_finish_dynamic_symbol): Likewise.
1924 (riscv_elf_finish_dynamic_sections): Likewise.
1925 (_bfd_riscv_relax_call): Likewise.
1926 (_bfd_riscv_relax_lui): Likewise.
1927 (_bfd_riscv_relax_align): Likewise.
1928 (_bfd_riscv_relax_pc): Likewise.
1929 (riscv_elf_object_p): Handled for big endian.
1930 (TARGET_BIG_SYM, TARGET_BIG_NAME): Defined.
1931 * targets.c: Add riscv_elf[32|64]_be_vec.
1932 (_bfd_target_vector): Likewise.
1933
1934 2021-01-05 Alan Modra <amodra@gmail.com>
1935
1936 * elflink.c (bfd_elf_link_record_dynamic_symbol): Handle no_export
1937 for relocatable executable.
1938
1939 2021-01-05 Alan Modra <amodra@gmail.com>
1940
1941 * vms-alpha.c (_bfd_vms_slurp_egsd): Read flags after size check.
1942
1943 2021-01-05 Nelson Chu <nelson.chu@sifive.com>
1944
1945 * elfnn-riscv.c (allocate_dynrelocs): When we are generating pde,
1946 make sure gp symbol is output as a dynamic symbol.
1947
1948 2021-01-04 H.J. Lu <hongjiu.lu@intel.com>
1949
1950 PR ld/26256
1951 * elflink.c (compare_link_order): Place unordered sections before
1952 ordered sections.
1953 (elf_fixup_link_order): Add a link info argument. Allow mixed
1954 ordered and unordered input sections for non-relocatable link.
1955 Sort the consecutive bfd_indirect_link_order sections with the
1956 same pattern. Change the offsets of the bfd_indirect_link_order
1957 sections only.
1958 (bfd_elf_final_link): Pass info to elf_fixup_link_order.
1959 * section.c (bfd_section): Add pattern.
1960 (BFD_FAKE_SECTION): Initialize pattern to NULL.
1961 * bfd-in2.h: Regenerated.
1962
1963 2021-01-04 Alexander Fedotov <alfedotov@gmail.com>
1964
1965 * elf32-arm.c (elf32_arm_print_private_bfd_data): Prefix hex value
1966 of private flags with 0x.
1967 * elfnn-aarch64.c (elfNN_aarch64_print_private_bfd_data): Likewise.
1968
1969 2021-01-04 Alan Modra <amodra@gmail.com>
1970
1971 PR 26822
1972 * elflink.c (elf_link_input_bfd): Use the file base name in
1973 linker generated STT_FILE symbols.
1974
1975 2021-01-04 Nelson Chu <nelson.chu@sifive.com>
1976
1977 * elfxx-riscv.c (riscv_compare_subsets): Removed static.
1978 * elfxx-riscv.h: Add declaration.
1979 * elfnn-riscv.c (riscv_merge_multi_letter_ext): Use
1980 riscv_compare_subsets to check the orders.
1981 (riscv_skip_prefix): Removed.
1982 (riscv_prefix_cmp): Removed.
1983
1984 2021-01-04 Alan Modra <amodra@gmail.com>
1985
1986 PR 26741
1987 * elfxx-riscv.c (riscv_parse_prefixed_ext): Free subset after
1988 calculating subset version length.
1989
1990 2021-01-01 Nicolas Boulenguez <nicolas@debian.org>
1991
1992 * xcofflink.c: Correct spelling in comments.
1993
1994 2021-01-01 Alan Modra <amodra@gmail.com>
1995
1996 Update year range in copyright notice of all files.
1997
1998 For older changes see ChangeLog-2020
1999 \f
2000 Copyright (C) 2021 Free Software Foundation, Inc.
2001
2002 Copying and distribution of this file, with or without modification,
2003 are permitted in any medium without royalty provided the copyright
2004 notice and this notice are preserved.
2005
2006 Local Variables:
2007 mode: change-log
2008 left-margin: 8
2009 fill-column: 74
2010 version-control: never
2011 End: