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