Fix illegal memory access implementing relocs in a fuzzed x86_64 object file.
[binutils-gdb.git] / bfd / ChangeLog
blob4fed6e16874b81be72e620898f8f310da2ece8c4
1 2023-06-19  Nick Clifton  <nickc@redhat.com>
3         PR 30560
4         * elf64-x86-64.c (elf_x86_64_relocate_section): Add more checks
5         for a valid relocation offset.
7 2023-06-07  Nick Clifton  <nickc@redhat.com>
9         PR 30499
10         * elflink.c (elf_link_add_object_symbols): Add a message
11         indicating that alignment and size discrepancies between the
12         definition of common symbols and normal symbols are serious and
13         should be investigated.
15 2023-05-31  Tristan Gingold  <tgingold@free.fr>
17         PR 30444
18         * coffcode.h (coff_write_object_contents): Handle base64 encoding
19         on PE.  Also check for too large string table.
20         * coffgen.c (extract_long_section_name): New function extracted
21         from ...
22         (make_a_section_from_file): ... here.  Add support for base64
23         long section names.
24         (decode_base64): New function.
26 2023-05-17  Luca Bacci  <luca.bacci@outlook.com>
28         PR 30421
29         * cofflink.c (_decoration_hash_newfunc): New function.
30         (_bfd_coff_link_hash_table_init): Call it.
31         * libcoff-in.h (struct coff_link_hash_table): Add decoration_hash
32         field.
33         (struct decoration_hash_entry): Declare.
34         (_decoration_hash_newfunc): Prototype.
35         * libcoff.h: Regenerate.
37 2023-05-16  Oleg Tolmatcev  <oleg.tolmatcev@gmail.com>
39         * libcoff-in.h (struct coff_tdata): Add section_by_index and
40         section_by_target_index hash tables.
41         * libcoff.h: Regenerate.
42         * coffcode.h (htab_hash_section_index): New function.
43         (htab_eq_section_index): New function.
44         (htab_hash_section_target_index): New function.
45         (htab_eq_section_target_index): New function.
46         (coff_mkobject_hool): Create the hash tables.
47         * peicode.h: Add the same new functions.
48         (pe_mkobject_hook): Create the hash tables.
49         * coff-x86_64.c (coff_amd64_rtype_to_howto): Use the new tables to
50         speed up lookups.
51         * coffgen.c (coff_section_from_bfd_index): Likewise.
52         (_bfd_coff_close_and_cleanup): Delete the hash tables.
54 2023-05-10  Luca Bonissi  <gcc@scarsita.it>
56         PR 30422
57         * elf32-or1k.c (or1k_elf_relocate_section): Prescan for
58         R_OR1K_GOT_AHI16 relocs as they may occur after R_OR1K_GOT16
59         relocs.
61 2023-05-05  Nick Clifton  <nickc@redhat.com>
63         PR 30354
64         * elf32-arm.c (elf32_arm_gc_mark_extra_sections): If any debug
65         sections are marked then rerun the extra marking in order to pick
66         up any dependencies.
68 2023-05-03  Oleg Tolmatcev  <oleg.tolmatcev@gmail.com>
70         * archive.c (_bfd_write_archive_contents): Use a larger buffer in
71         order to improve efficiency.
73 2023-05-03  Oleg Tolmatcev  <oleg.tolmatcev@gmail.com>
75         * coffcode.h (coff_read_word_from_buffer): New function.
76         * coffcode.h (COFF_CHECKSUM_BUFFER_SIZE): New constant.
77         * coffcode.h (coff_compute_checksum): Improve speed by reducing
78         the number of seeks and reads used.
80 2023-04-24  Nick Clifton  <nickc@redhat.com>
82         * po/la.po: New Georgian translation.
84 2023-04-17  Nick Clifton  <nickc@redhat.com>
86         PR 30142
87         * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do not force the .rsrc
88         section to be writeable.
90 2023-03-30  Nick Clifton  <nickc@redhat.com>
92         PR 30285
93         * elf.c (_bfd_elf_slurp_version_tables): Fail if no version
94         definitions are allocated.
96 2023-02-27  Felix Willgerodt  <felix.willgerodt@intel.com>
98         * elf64-x86-64.c (elf_x86_64_grok_psinfo): Check for
99         elf_external_linux_prpsinfo32_ugid32.
101 2023-02-23  Fangrui Song  <i@maskray.me>
103         * elfnn-riscv.c (struct riscv_elf_link_hash_table): Add params.
104         (riscv_elfNN_set_options): New.
105         (riscv_info_to_howto_rela): Check relax_gp.
106         (_bfd_riscv_relax_section): Likewise.
107         * elfxx-riscv.h (struct riscv_elf_params): New.
108         (riscv_elf32_set_options): New.
109         (riscv_elf64_set_options): New.
111 2023-02-23  Nick Clifton  <nickc@redhat.com>
112             Alan Modra  <amodra@gmail.com>
114         PR 30150
115         * dwarf2.c (comp_unit_contains_address): Renamed to ...
116         (comp_unit_may_contain_address): this, and added code to return
117         true if the CU's ranges have not yet been computed.
118         (_bfd_dwarf2_find_nearest_line_with_alt): Use the renamed
119         function, simplifying code in the process.
121 2023-02-21  Nick Clifton  <nickc@redhat.com>
123         * opncls.c (bfd_fill_in_gnu_debuglink_section): Update
124         description.
126 2023-02-17  Tom Tromey  <tom@tromey.com>
128         * doc/doc.str (FUNCTION): Call func.
130 2023-02-17  Tom Tromey  <tom@tromey.com>
132         * opncls.c: Hoist the SECTION comment.
134 2023-02-17  Tom Tromey  <tom@tromey.com>
136         * opncls.c (bfd_get_debug_link_info_1, separate_debug_file_exists)
137         (separate_alt_debug_file_exists, find_separate_debug_file)
138         (get_build_id, get_build_id_name, check_build_id_file): Don't use
139         chew comments.
141 2023-02-17  Tom Tromey  <tom@tromey.com>
143         * doc/doc.str (SYNOPSIS): Use collapse_whitespace.
144         * doc/chew.c (collapse_whitespace): New function.
145         (main): Register collapse_whitespace.
147 2023-02-07  Tom Tromey  <tom@tromey.com>
149         * bfd.c, cache.c, compress.c, opncls.c: Remove RETURNS from
150         documentation comments.
151         * doc/doc.str, doc/proto.str (RETURNS): Remove.
153 2023-02-07  Tom Tromey  <tom@tromey.com>
155         * syms.c (bfd_decode_symclass, bfd_is_undefined_symclass)
156         (bfd_symbol_info): Reorder documentation comment.
157         * doc/doc.str (synopsis_seen): New variable.
158         (SYNOPSIS): Set synopsis_seen.  Emit @deftypefn.
159         (DESCRIPTION): Use synopsis_seen.
160         * doc/chew.c (catstrif): New function.
161         (main): Add catstrif intrinsic.
162         (compile): Recognize "variable" command.
164 2023-02-07  Tom Tromey  <tom@tromey.com>
166         * doc/proto.str (external, internal, ifinternal, ENUMEQ, ENUMDOC):
167         Update.
168         * doc/chew.c (internalmode): Remove.
169         (add_intrinsic_variable): New function.
170         (main): Add internalmode as intrinsic.
171         (internal_mode): Remove global.
172         (maybecatstr): Update.
173         (free_words): Free variables.
175 2023-02-07  Tom Tromey  <tom@tromey.com>
177         * doc/chew.c (pcu) <l>: Now intptr_t.
178         (internal_mode, istack, isp): Likewise.
179         (bang, atsign): Use intptr_t.
181 2023-02-07  Tom Tromey  <tom@tromey.com>
183         * doc/proto.str (SYNOPSIS): Don't use paramstuff.
184         * doc/chew.c (paramstuff): Remove.
185         (main): Don't add paramstuff intrinsic.
187 2023-02-07  Tom Tromey  <tom@tromey.com>
189         * doc/doc.str, doc/proto.str: Add copyright header.
191 2023-02-07  Tom Tromey  <tom@tromey.com>
193         * doc/webassembly.texi (File layout): Remove second argument from
194         @node.
195         * doc/bfd.texi: Use single-argument @node everywhere.
197 2023-02-07  Tom Tromey  <tom@tromey.com>
199         * Makefile.in: Rebuild.
200         * doc/local.mk (%D%/chew.stamp): Don't use H_CFLAGS.
202 2023-01-24  Nick Clifton  <nickc@redhat.com>
204         PR 29998
205         * cofflink.c (_bfd_coff_generic_relocate_section): Add an
206         assertion that the output section is set for defined, global
207         symbols.
209 2023-01-17  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
211         * elf32-csky.c (elf32_csky_merge_attributes): Don't save
212         and restore the ARCH attribute, it will actually clear
213         the ARCH attribute.
214         (csky_elf_merge_private_bfd_data): Store the machine flag
215         correctly.
217 2023-01-13  Nick Clifton  <nickc@redhat.com>
219         * po/ro.po: Updated Romainian translation.
221 2023-01-11  Nick Clifton  <nickc@redhat.com>
223         PR 29988
224         * dwarf2.c (read_indexed_address): Fix check for an out of range
225         offset.
227 2023-01-06  Nick Clifton  <nickc@redhat.com>
229         * po/ru.po: Updated Russian translation.
231 2023-01-03  Himal  <himalr@proton.me>
233         PR 29947
234         * bfdio.c (_bfd_real_fopen): Do not add a prefix to the Windows'
235         nul device filename.
237 2023-01-03  Nick Clifton  <nickc@redhat.com>
239         * po/fr.po: Updated French trabslation.
240         * po/uk.po: Updated Ukrainian trabslation.
242 2022-12-31  Nick Clifton  <nickc@redhat.com>
244         * 2.40 branch created.
246 2022-12-23  Nick Clifton  <nickc@redhat.com>
248         PR 29936
249         * dwarf2.c (concat_filename): Fix check for a directory index off
250         the end of the directory table.
252 2022-12-21  Nick Clifton  <nickc@redhat.com>
254         * po/ro.po: Updated Romanian translation.
256 2022-12-06  Nick Clifton  <nickc@redhat.com>
258         PR 29852
259         * elf32-arm.c (cmse_scan): Check for NULL entries in the
260         sym_hashes array.
261         (elf32_arm_gc_mark_extra_sections): Likewise.
263 2022-12-05  Nick Clifton  <nickc@redhat.com>
265         PR 29848
266         * vms-alpha.c (parse_module): Fix potential out of bounds memory
267         access.
269 2022-12-01  Nick Clifton  <nickc@redhat.com>
271         PR 25202
272         * bfd.c (VerilogDataEndianness): New variable.
273         (verilog_write_record): Use VerilogDataEndianness, if set, to
274         choose the endianness of the output.
275         (verilog_write_section): Adjust the address by the data width.
277 2022-11-21  Nick Clifton  <nickc@redhat.com>
279         PR 29764
280         * cpu-arm.c (scan): Accept machine names prefixed with "arm:".
281         * cpu-aarch64.c (scan): Accept machine names prefixed with "aarch64:".
283 2022-10-19  Nick Clifton  <nickc@redhat.com>
285         PR 29699
286         * elf.c (_bfd_elf_slurp_version_tables): Fail if the sh_info field
287         of the section header is zero.
289 2022-09-09  Nick Clifton  <nickc@redhat.com>
291         PR 29532
292         * elf.c (setup_group): Do not return false if there is no group
293         information available.
295 2022-09-02  Aaron Merey  <amerey@redhat.com>
297         * aout-target.h (MY_find_nearest_line_with_alt): New macro.
298         * bfd-in2.h: Regenerate.
299         * bfd.c (bfd_find_nearest_line_with_alt): New macro.
300         * binary.c (binary_find_nearest_line_with_alt): New macro.
301         * coff-rs6000.c (_bfd_xcoff_find_nearest_line_with_alt): New macro.
302         (rs6000_xcoff64_vec): Add coff_find_nearest_line_with_alt.
303         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Calls
304         _bfd_dwarf2_find_nearest_line_with_alt.
305         (_bfd_dwarf2_find_nearest_line_with_alt): New function. Implements the
306         former _bfd_dwarf2_find_nearest_line. Adds parameter alt_filename.
307         Attempt to open alt_filename and use it as the .dwz file if not NULL.
308         * elf-bfd.h (_bfd_elf_find_nearest_line_with_alt): New declaration.
309         * elf.c (_bfd_elf_find_nearest_line): Calls
310         _bfd_elf_find_nearest_line_with_alt.
311         (_bfd_elf_find_nearest_line_with_alt): New function. Implements the
312         former _bfd_elf_find_nearest_line. Adds parameter alt_filename.
313         * elf32-mips.c (bfd_elf32_find_nearest_line_with_alt): New macro.
314         * elf64-mips.c (bfd_elf64_find_nearest_line_with_alt): New macro.
315         * elfn32-mips.c (bfd_elf32_find_nearest_line_with_alt): New macro.
316         * elfxx-mips.h (_bfd_mips_elf_find_nearest_line_with_alt): New macro.
317         * elfxx-target.h (bfd_elfNN_find_nearest_line_with_alt): New macro.
318         * i386mdos.c (msdos_find_nearest_line_with_alt): New macro.
319         * ihex.c (ihex_find_nearest_line_with_alt): New macro.
320         * libbfd-in.h (_bfd_nosymbols_find_nearest_line_with_alt): New
321         declaration.
322         (_bfd_dwarf2_find_nearest_line_with_alt): New declaration.
323         * libbfd.h: Regenerate.
324         * libcoff-in.h (coff_find_nearest_line_with_alt): New macro.
325         * libcoff.h: Regenerate.
326         * libecoff.h (_bfd_ecoff_find_nearest_line_with_alt): New macro.
327         * mach-o.h (bfd_mach_o_find_nearest_line_with_alt): New macro.
328         * mmo.c (mmo_find_nearest_line_with_alt): New macro.
329         * pef.c (bfd_pef_find_nearest_line_with_alt): New macro.
330         * plugin.c (bfd_plugin_find_nearest_line_with_alt): New macro.
331         * ppcboot.c (ppcboot_find_nearest_line_with_alt): New macro.
332         * som.h (som_find_nearest_line_with_alt): New macro.
333         * srec.c (srec_find_nearest_line_with_alt): New macro.
334         * syms.c (_bfd_nosymbols_find_nearest_line_with_alt): New function.
335         * targets.c (BFD_JUMP_TABLE_SYMBOLS): Add symbol for
336         NAME##_find_nearest_line_with_alt.
337         (_bfd_find_nearest_line_with_alt): Add declaration.
338         * tekhex.c (tekhex_find_nearest_line_with_alt): New macro.
339         * verilog.c (verilog_find_nearest_line_with_alt): New macro.
340         * vms-alpha.c (_bfd_vms_find_nearest_line_with_alt): New macro.
341         * wasm-module.c (wasm_find_nearest_line_with_alt): New macro.
342         * xsym.c (bfd_sym_find_nearest_line_with_alt): New macro.
344 2022-09-02  Frederic Cambus  <fred@statdns.com>
346         * config.bfd (arm-*-openbsd*): Restore target.
348 2022-08-30  Nick Clifton  <nickc@redhat.com>
350         PR 29529
351         * dwarf2.c (struct line_info_table): Add new field:
352         use_dir_and_file_0.
353         (concat_filename): Use new field to help select the correct table
354         slot.
355         (read_formatted_entries): Do not skip entry 0.
356         (decode_line_info): Set new field depending upon the version of
357         DWARF being parsed.  Initialise filename based upon the setting of
358         the new field.
360 2022-08-22  Frederic Cambus  <fred@statdns.com>
362         * config.bfd (aarch64-*-openbsd*): Add target.
364 2022-08-03  Nick Clifton  <nickc@redhat.com>
366         PR 29389
367         * bfd.c (BFD_CLOSED_BY_CACHE): New bfd flag.
368         * cache.c (bfd_cache_delete): Set BFD_CLOSED_BY_DELETE on the
369         closed bfd.
370         (bfd_cache_lookup_worker): Clear BFD_CLOSED_BY_DELETE on the newly
371         reopened bfd.
372         * opncls.c (bfd_set_filename): Refuse to change the name of a bfd
373         that has been closed by bfd_cache_delete.  Mark changed bfds as
374         uncacheable.
375         * bfd-in2.h: Regenerate.
377 2022-07-29  Nick Clifton  <nickc@redhat.com>
379         PR 29424
380         * dwarf2.c (read_attribute_value): Handle DW_FORM_rnglistx and
381         DW_FORM_loclistx.
383 2022-07-26  Nick Clifton  <nickc@redhat.com>
385         * elfnn-loongarch.c (loongarch_elf_relocate_section): Fix
386         indentation.
388 2022-07-08  Nick Clifton  <nickc@redhat.com>
390         * 2.39 branch created.
392 2022-05-19  Yvan Roux  <yvan.roux@foss.st.com>
394         PR 25713
395         * bfdio.c (_bfd_real_fopen): Delete ccs string.
397 2022-04-27  John Baldwin  <jhb@FreeBSD.org>
399         * elf.c (elfcore_grok_freebsd_note): Handle NT_ARM_TLS notes.
401 2022-04-25  Nick Clifton  <nickc@redhat.com>
403         PR 29072
404         * elflink.c (bfd_elf_size_dynamic_sections): Display a note to the
405         user that the current ehaviour of creating an executable stack
406         because of a missing .note.GNU-stack section is deprecated and
407         will be changed in a future release.
409 2022-04-20  Clément Chigot  <clement.chigot@atos.net>
411         * coff-rs6000.c (xcoff_reloc_type_noop): Add info argument.
412         (xcoff_reloc_type_fail): Likewise.
413         (xcoff_reloc_type_pos): Likewise.
414         (xcoff_reloc_type_neg): Likewise.
415         (xcoff_reloc_type_rel): Likewise.
416         (xcoff_reloc_type_toc): Likewise.
417         (xcoff_reloc_type_ba): Likewise.
418         (xcoff_reloc_type_crel): Likewise.
419         (xcoff_reloc_type_tls): Likewise.
420         (xcoff_reloc_type_br): Add stub handler.
421         (xcoff_ppc_relocate_section): Add info to
422         xcoff_calculate_relocation.
423         (xcoff_stub_indirect_call_code): New constant.
424         (xcoff_stub_shared_call_code): Likewise.
425         (bfd_xcoff_backend_data): Add stub code fields.
426         (bfd_pmac_xcoff_backend_data): Likewise.
427         * coff64-rs6000.c (xcoff64_reloc_type_br): Add stub handler.
428         (xcoff64_ppc_relocate_section): Add info to
429         xcoff64_calculate_relocation.
430         (xcoff64_stub_indirect_call_code): New constant.
431         (xcoff64_stub_shared_call_code): Likewise.
432         (bfd_xcoff_backend_data): Add stub code fields.
433         (bfd_xcoff_aix5_backend_data): Likewise.
434         * libxcoff.h (struct xcoff_backend_data_rec): Add stub fields.
435         (bfd_xcoff_stub_indirect_call_code): New define.
436         (bfd_xcoff_stub_indirect_call_size): New define.
437         (bfd_xcoff_stub_shared_call_code): New define.
438         (bfd_xcoff_stub_shared_call_size): New define.
439         (xcoff_reloc_function): Add info argument.
440         (enum xcoff_stub_type): New enum.
441         (struct xcoff_stub_hash_entry): New structure.
442         * xcofflink.c (struct xcoff_link_hash_table): Add stub hash
443         table and params fields.
444         (xcoff_stub_hash_entry): New define.
445         (xcoff_stub_hash_lookup): New define.
446         (stub_hash_newfunc): New function.
447         (_bfd_xcoff_bfd_link_hash_table_free): Free the new stub hash
448         table.
449         (_bfd_xcoff_bfd_link_hash_table_create): Create the new stub
450         hash table.
451         (xcoff_link_add_symbols): Save rawsize for XTY_SD.
452         (bfd_xcoff_link_init): New function.
453         (xcoff_stub_csect_name): New function.
454         (xcoff_stub_get_csect_in_range): New function.
455         (xcoff_stub_name): New function.
456         (bfd_xcoff_get_stub_entry): New function.
457         (bfd_xcoff_type_of_stub): New function.
458         (xcoff_add_stub): New function.
459         (xcoff_build_one_stub): New function.
460         (bfd_xcoff_size_stubs): New function.
461         (bfd_xcoff_build_stubs): New function.
462         (xcoff_stub_create_relocations): New function.
463         (xcoff_link_input_bfd): Adapt relocations to stub.
464         (xcoff_write_global_symbol): Adapt to new TOC entries generated
465         for stubs.
466         (_bfd_xcoff_bfd_final_link): Handle stub file.
467         * xcofflink.h (struct bfd_xcoff_link_params): New structure.
469 2022-04-20  Clément Chigot  <clement.chigot@atos.net>
471         * coff-rs6000.c (_bfd_xcoff_put_ldsymbol_name): Write len in
472         ldinfo->strings instead of directly in the output_bfd.
473         * coff64-rs6000.c (_bfd_xcoff64_put_ldsymbol_name): Likewise.
474         * xcofflink.c (struct xcoff_link_hash_table): Remove ldrel_count
475         field. Add ldinfo field.
476         (xcoff_mark_symbol): Adjust to new ldinfo field.
477         (xcoff_mark): Likewise.
478         (bfd_xcoff_link_count_reloc): Likewise.
479         (xcoff_build_loader_section): Split into two functions: one that
480         build the loader section (this function) and one that only size
481         it...
482         (xcoff_size_loader_section): ... (this function).
483         (bfd_xcoff_size_dynamic_sections): Adapt to new ldinfo field.
484         Move the part where the dynamic sections are build to ...
485         (bfd_xcoff_build_dynamic_sections): ... this function.
486         * xcofflink.h: Add bfd_xcoff_build_dynamic_sections prototype.
488 2022-04-13  Alexander von Gluck IV  <kallisti5@unixzen.com>
490         * config.bfd (x86-haiku): Add i386_pei_vec as a selectable format.
492 2022-04-08  Nick Clifton  <nickc@redhat.com>
494         PR 29038
495         * coffgen.c (coff_find_nearest_line_with_names): Fix typo
496         retrieving saved bias.
498 2022-04-07  Mark Harmstone  <mark@harmstone.com>
500         * coff-i386.c (in_reloc_p): Add R_SECTION.
501         (howto_table): Add R_SECTION.
502         (coff_pe_i386_relocation_section): Add support for R_SECTION.
503         (coff_i386_reloc_type_lookup): Add support for
504         BFD_RELOC_16_SECCIDX.
505         * coff-x86_64.c (in_reloc_p): Add R_SECTION.
506         (howto_table): Add R_SECTION.
507         (coff_pe_amd64_relocation_section): Add support for R_SECTION.
508         (coff_amd64_reloc_type_lookup): Add support for
509         BFD_RELOC_16_SECCIDX.
510         * reloc.c: Add BFD_RELOC_16_SECIDX.
511         * bfd-in2.h: Regenerate.
512         * libbfd.h: Regenerate.
514 2022-04-01  John Baldwin  <jhb@FreeBSD.org>
516         * elf-bfd.h (elfcore_write_x86_segbases): New.
517         * elf.c (elfcore_grok_freebsd_note): Add pseudosections for
518         NT_FREEBSD_X86_SEGBASES register notes.
519         (elfcore_write_x86_segbases): New.
520         (elfcore_write_register_note): Write NT_FREEBSD_X86_SEGBASES
521         register notes.
523 2022-04-01  John Baldwin  <jhb@FreeBSD.org>
525         * elf.c (elfcore_grok_freebsd_note): Remove checks for namesz.
527 2022-03-22  Steiner H Gunderson  <steinar+sourceware@gunderson.no>
529         * dwarf2.c (_bfd_dwarf2_find_nearest_line): if a function name is
530         found, but no line number info, then return a result of 2.
532 2022-03-21  Steiner H Gunderson  <steinar+sourceware@gunderson.no>
534         PR 28978
535         * dwarf2.c (scan_unit_for_symbols): When performing second pass,
536         check to see if the function or variable being processed is the
537         same as the previous one.
539 2022-03-18  Viorel Preoteasa  <viorel.preoteasa@gmail.com>
541         PR 28924
542         * elf32-arm.c (THM_MAX_FWD_BRANCH_OFFSET): Fix definition.
543         (THM2_MAX_FWD_BRANCH_OFFSET): Likewise.
545 2022-03-16  Simon Marchi  <simon.marchi@efficios.com>
547         * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES):
548         Add cpu-amdgcn.c.
549         (BFD64_BACKENDS): Add elf64-amdgcn.lo.
550         (BFD64_BACKENDS_CFILES): Add elf64-amdgcn.c.
551         * Makefile.in: Re-generate.
552         * cpu-amdgcn.c: New.
553         * elf64-amdgcn.c: New.
554         * archures.c (bfd_architecture): Add bfd_arch_amdgcn and related
555         mach defines.
556         (bfd_amdgcn_arch): New.
557         (bfd_archures_list): Add bfd_amdgcn_arch.
558         * bfd-in2.h: Re-generate.
559         * config.bfd: Handle amdgcn* target.
560         * configure.ac: Handle amdgcn_elf64_le_vec.
561         * configure: Re-generate.
562         * elf-bfd.h (elf_target_id): Add AMDGCN_ELF_DATA.
563         * targets.c (amdgcn_elf64_le_vec): New.
564         (_bfd_target_vector): Add amdgcn_elf64_le_vec.
566 2022-03-01  Torbjörn Svensson  <torbjorn.svensson@st.com>
567             Fred Eisele  <fredrick.eisele@gmail.com>
569         PR 25713
570         * bfdio.c (_bfd_real_fopen): Fix typo.
572 2022-03-01  Nick Clifton  <nickc@redhat.com>
574         PR 28848
575         * elf32-arm.c (elf32_arm_merge_eabi_attributes): If the first
576         input bfd has a Tag_ABI_HardFP_use set to 3 but does not also have
577         TAG_FP_arch set then reset the TAG_ABI_HardFP_use.
579 2022-02-28  Torbjörn Svensson  <torbjorn.svensson@st.com>
580             Fred Eisele  <fredrick.eisele@gmail.com>
582         PR 25713
583         * bfdio.c (_bfd_real_fopen): Fix handling of paths longer than 260
584         characters on Windows hosts.
586 2022-02-28  Nick Clifton  <nickc@redhat.com>
588         PR 28886
589         * config.bfd: Update error message for obsolete configurations.
591 2022-02-17  Nick Clifton  <nickc@redhat.com>
593         * po/sr.po: Updated Serbian translation.
595 2022-02-16  Fangrui Song  <maskray@google.com>
596         Nick Clifton  <nickc@redhat.com>
598         PR ld/28841
599         * bfd-in2.h (struct bfd_section): Add type.
600         (discarded_section): Add field.
601         * elf.c (elf_fake_sections): Handle bfd_section::type.
602         * section.c (BFD_FAKE_SECTION): Add field.
603         * mri.c (mri_draw_tree): Update function call.
605 2022-02-11  Michael Forney  <mforney@mforney.org>
607         * bfd.c (bfd_set_gp_value): Remove return with expression
608         in void function.
610 2022-02-09  Nick Clifton  <nickc@redhat.com>
612         * config.bfd: Move pending obsolesence targets into the definitely
613         obsolete list.
615 2022-02-02  Nick Clifton  <nickc@redhat.com>
617         PR 28834
618         * dwarf2.c (read_section): Change the heuristic that checks for
619         overlarge dwarf debug info sections.
621 2022-02-02  Stafford Horne  <shorne@gmail.com>
623         PR 28735
624         * elf32-or1k.c (or1k_elf_got16_no_overflow_howto): Define.
625         (or1k_elf_relocate_section): Use new howto instead of trying to
626         mask out relocation bits.
628 2022-01-24  Roland McGrath  <mcgrathr@google.com>
630         * doc/local.mk (%D%/bfdver.texi): Add mkdir command.
632 2022-01-24  Nick Clifton  <nickc@redhat.com>
634         * po/fr.po: Updated French translation.
635         * po/ro.po: Updated Romanian translation.
636         * po/uk.po: Updated Ukranian translation.
638 2022-01-22  Nick Clifton  <nickc@redhat.com>
640         * version.m4: Change to 2.38.50.
641         * configure: Regenerate.
642         * po/bfd.pot: Regenerate.
644 2022-01-22  Nick Clifton  <nickc@redhat.com>
646         * 2.38 release branch created.
648 2022-01-17  Nick Clifton  <nickc@redhat.com>
650         * Makefile.in: Regenerate.
651         * configure: Regenerate.
652         * doc/Makefile.in: Regenerate.
653         * po/bfd.pot: Regenerate.
655 2021-12-15  Nikita Popov  <npv1310@gmail.com>
657         PR 28687
658         * dwarf1.c (parse_die): Fix undefined behaviour in range tests.
660 2021-11-17  Nick Clifton  <nickc@redhat.com>
662         PR 28452
663         * elf.c (assign_file_positions_for_non_load_sections): Replace
664         assertion with a warning message.
666 2021-10-19  Nick Clifton  <nickc@redhat.com>
668         * linker.c (_bfd_generic_link_add_one_symbol): Test for a NULL
669         name before checking to see if the symbol is __gnu_lto_slim.
670         * archive.c (_bfd_compute_and_write_armap): Likewise.
672 2021-09-27  Nick Alcock  <nick.alcock@oracle.com>
674         * configure: Regenerate.
676 2021-09-15  Andrew Burgess  <andrew.burgess@embecosm.com>
678         * archures.c (bfd_arch_list): Use 'char *' instead of 'char **'
679         when calculating space for a string list.
681 2021-09-014  Cupertino Miranda  <cmiranda@synopsys.com>
682            Claudiu Zissulescu  <claziss@synopsys.com>
684         * arc-got.h (arc_static_sym_data): New structure.
685         (get_static_sym_data): New function.
686         (relocate_fix_got_relocs_for_got_info): Move the computation fo
687         symbol value and section to above introduced function, and use
688         this new function.
690 2021-09-07  Luis Machado  <luis.machado@linaro.org>
692         Revert: [AArch64] MTE corefile support
694         2021-05-21  Luis Machado  <luis.machado@linaro.org>
696         * elf.c (elfcore_make_memtag_note_section): New function.
697         (elfcore_grok_note): Handle NT_MEMTAG note types.
699 2021-09-07  Nick Clifton  <nickc@redhat.com>
701         PR 28305
702         * elf32-xtensa.c (elf_xtensa_do_reloc): Add check for put of range
703         reloc.
705         PR 28303
706         * elfxx-riscv.c (riscv_elf_add_sub_reloc): Add check for out of
707         range relocs.
709 2021-08-10  Nick Clifton  <nickc@redhat.com>
711         * po/sr.po: Updated Serbian translation.
713 2021-07-18  Nick Clifton  <nickc@redhat.com>
715         * config.bfd: Move pending obsoletion targets to obsolete list.
717 2021-07-16  Giulio Benetti  <giulio.benetti@benettiengineering.com>
719         * elf32-or1k.c (or1k_elf_relocate_section): Use a separate entry
720         in switch case R_OR1K_INSN_REL_26 where we need to check for
721         !SYMBOL_CALLS_LOCAL() instead of !SYMBOL_REFERENCES_LOCAL().
723 2021-07-14  Clément Chigot  <clement.chigot@atos.net>
725         * libxcoff.h (struct xcoff_dwsect_name): Add DWARF name.
726         * coff-rs6000.c (xcoff_dwsect_names): Update.
727         * coffcode.h (sec_to_styp_flags): Likewise.
728         (coff_new_section_hook): Likewise.
730 2021-07-10  Alan Modra  <amodra@gmail.com>
732         * dwarf2.c (read_address): Remove accidental commit.
733         (read_ranges): Compare offset rather than pointers.
735 2021-07-08  Nick Clifton  <nickc@redhat.com>
737         * po/pt.po: Updated Portuguese translation.
739 2021-07-07  Nick Clifton  <nickc@redhat.com>
741         * elfcode.h (elf_swap_symbol_out): Revert accidental change that
742         removed an abort if the shndx pointer is NULL.
744 2021-07-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
746         * sysdep.h [!ENABLE_NLS]: Prevent inclusion of <libintl.h> on
747         Solaris.
749 2021-07-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
751         * configure.ac: Check for strnlen declaration.
752         * configure, config.in: Regenerate.
754 2021-07-07  Nick Clifton  <nickc@redhat.com>
756         PR 28051
757         * coff-rs6000.c (xcoff_reloc_type_tls): Reformat error messages in
758         order to fix problems when translating.
759         * cofflink.c (_bfd_coff_write_global_sym): Likewise.
760         * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
761         Likewise.
762         * po/bfd.pot: Regenerate.
764 2021-07-06  Michael Matz  <matz@suse.de>
766         PR ld/28021
767         * elfnn-riscv.c (riscv_relax_delete_bytes): Check for any
768         versioning.
770 2021-07-06  Alan Modra  <amodra@gmail.com>
772         PR 28055
773         * elf64-bpf.c (bpf_elf_generic_reloc): Add missing ATTRIBUTE_UNUSED.
775 2021-07-05  Alan Modra  <amodra@gmail.com>
777         PR 28055
778         * elf64-bpf.c (bpf_elf_generic_reloc): Use correct bfd for bfd_put
779         and bfd_put_32 calls.  Correct section limit checks.
781 2021-07-03  Nick Clifton  <nickc@redhat.com>
783         * version.m4: Update version number.
784         * configure: Regenerate.
785         * po/opcodes.pot: Regenerate.
787 2021-07-03  Nick Clifton  <nickc@redhat.com>
789         * 2.37 release branch created.
791 2021-07-02  Nick Clifton  <nickc@redhat.com>
793         PR 28046
794         * dwarf2.c (read_ranges): Check that range_ptr does not exceed
795         range_end.
797 2021-06-30  YunQiang Su  <yunqiang.su@cipunited.com>
799         PR mips/28009
800         * bfd/elfxx-mips.c (_bfd_mips_elf_section_from_shdr,
801         _bfd_mips_elf_fake_sections): Mark LTO debug info as
802         SHT_MIPS_DWARF.
804 2021-06-29  Nick Clifton  <nickc@redhat.com>
806         * config.bfd (obsolete configurations): Add netbsdpe.
808 2021-06-22  Nelson Chu  <nelson.chu@sifive.com>
810         * elfnn-riscv.c (riscv_pcrel_hi_reloc): Added field to store
811         the original relocation type, in case the type is converted to
812         R_RISCV_HI20.
813         (riscv_pcrel_lo_reloc): Removed unused name field.
814         (riscv_pcrel_relocs): Added comments.
815         (riscv_zero_pcrel_hi_reloc): Removed unused input_bfd.
816         (riscv_record_pcrel_hi_reloc): Updated.
817         (riscv_record_pcrel_lo_reloc): Likewise.
818         (riscv_resolve_pcrel_lo_relocs): Likewise.  Check the original
819         type of auipc, to make sure the %pcrel_lo without any addends.
820         Otherwise, report dangerous relocation error.
821         (riscv_elf_relocate_section): Updated above functions are changed.
822         For R_RISCV_GOT_HI20, report dangerous relocation error when addend
823         isn't zero.
825 2021-06-19  H.J. Lu  <hongjiu.lu@intel.com>
827         PR ld/27998
828         * elfxx-x86.c (elf_x86_allocate_dynrelocs): Count PLT for GOTOFF
829         relocation against IFUNC symbols.
830         (_bfd_x86_elf_adjust_dynamic_symbol): Likewise.
832 2021-06-19  H.J. Lu  <hongjiu.lu@intel.com>
834         * elflink.c (bfd_elf_final_link): Correct DT_TEXTREL warning in
835         PDE.
837 2021-06-18  H.J. Lu  <hongjiu.lu@intel.com>
839         * elf-properties.c (_bfd_elf_parse_gnu_properties): Handle
840         GNU_PROPERTY_UINT32_AND_LO, GNU_PROPERTY_UINT32_AND_HI,
841         GNU_PROPERTY_UINT32_OR_LO and GNU_PROPERTY_UINT32_OR_HI.
842         (elf_merge_gnu_properties): Likewise.
844 2021-06-11  Alan Modra  <amodra@gmail.com>
846         PR 27952
847         * elf-bfd.h (struct elf_obj_tdata): Add is_pie.
848         * elflink.c (elf_link_add_object_symbols): Set is_pie.
850 2021-06-09  Nick Clifton  <nickc@redhat.com>
852         PR 27666
853         * config.bfd: Do not add the sparc_elf32_vec or sparc_elf64_vec
854         vectors to Sparc Solaris2 targets.
856 2021-06-08  Michael Matz  <matz@suse.de>
858         * elf.c (bfd_section_from_shdr): Set has_secondary_relocs flag.
859         (_bfd_elf_slurp_secondary_reloc_section): Use it for early-out.
861 2021-06-07  Jan Beulich  <jbeulich@suse.com>
863         * dwarf2.c (read_ranges, read_rnglists): Add u suffix to constant.
865 2021-06-02  Alan Modra  <amodra@gmail.com>
867         * elf-attrs.c (_bfd_elf_parse_attributes): Break out of loop if
868         subsection length is too small to cover tag and length field.
870 2021-05-31  Nelson Chu  <nelson.chu@sifive.com>
871             Lifang Xia  <lifang_xia@c-sky.com>
873         PR 27566
874         * elfnn-riscv.c (struct riscv_elf_link_hash_table): New integer pointer
875         to monitor the data segment phase.
876         (bfd_elfNN_riscv_set_data_segment_info): New function called by
877         after_allocation, to set the data_segment_phase from expld.dataseg.
878         (_bfd_riscv_relax_section): Don't relax when data_segment_phase is
879         exp_seg_relro_adjust (0x4).
880         * elfxx-riscv.h (bfd_elf32_riscv_set_data_segment_info): New extern.
881         (bfd_elf64_riscv_set_data_segment_info): Likewise
883 2021-05-28  H.J. Lu  <hongjiu.lu@intel.com>
885         PR ld/27905
886         * elf32-i386.c: Don't include "libiberty.h".
887         (elf_howto_table): Revert commits a7664973b24 and 50c95a739c9.
888         (elf_i386_rtype_to_howto): Revert commit 50c95a739c9.
889         (elf_i386_info_to_howto_rel): Likewise.
890         (elf_i386_tls_transition): Likewise.
891         (elf_i386_relocate_section): Likewise.
892         * elf64-x86-64.c (x86_64_elf_howto_table): Revert commits
893         a7664973b24 and 50c95a739c9.
894         (elf_x86_64_rtype_to_howto): Revert commit 50c95a739c9.
895         * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Likewise.
896         * elfxx-x86.h (elf_x86_obj_tdata): Likewise.
897         (elf_x86_has_code16): Likewise.
899 2021-05-26  H.J. Lu  <hongjiu.lu@intel.com>
901         PR ld/27905
902         * elf32-i386.c: Include "libiberty.h".
903         (elf_howto_table): Add 16-bit R_386_PC16 entry.
904         (elf_i386_rtype_to_howto): Add a BFD argument.  Use 16-bit
905         R_386_PC16 if input has 16-bit mode instructions.
906         (elf_i386_info_to_howto_rel): Update elf_i386_rtype_to_howto
907         call.
908         (elf_i386_tls_transition): Likewise.
909         (elf_i386_relocate_section): Likewise.
910         * elf64-x86-64.c (x86_64_elf_howto_table): Add 16-bit
911         R_X86_64_PC16 entry.
912         (elf_x86_64_rtype_to_howto): Use 16-bit R_X86_64_PC16 if input
913         has 16-bit mode instructions.
914         * elfxx-x86.c (_bfd_x86_elf_parse_gnu_properties): Set
915         elf_x86_has_code16 if relocatable input is marked with
916         GNU_PROPERTY_X86_FEATURE_2_CODE16.
917         * elfxx-x86.h (elf_x86_obj_tdata): Add has_code16.
918         (elf_x86_has_code16): New.
920 2021-05-26  Nelson Chu  <nelson.chu@sifive.com>
922         * elfxx-riscv.h (check_unknown_prefixed_ext): New bool.
923         * elfxx-riscv.c (riscv_parse_prefixed_ext): Do not check the
924         prefixed extension name if check_unknown_prefixed_ext is false.
925         * elfnn-riscv.c (riscv_merge_arch_attr_info): Set
926         check_unknown_prefixed_ext to false for linker.
928 2021-05-25  Nick Clifton  <nickc@redhat.com>
930         * elf32-arn.c (struct elf_arm_obj_tdata): Add num_entries field.
931         (elf32_arm_num_entries): New macro.
932         (elf32_arm_allocate_local_sym_info): Initialise the new field.
933         Allocate arrays individually so that buffer overruns can be
934         detected by memory checkers.
935         (elf32_arm_create_local_iplt): Check num_entries.
936         (elf32_arm_get_plt_info): Likewise.
937         (elf32_arm_final_link_relocate): Likewise.
938         (elf32_arm_check_relocs): Likewise.
939         (elf32_arm_size_dynamic_sections): Likewise.
940         (elf32_arm_output_arch_local_syms): Likewise.
942 2021-05-25  Nick Clifton  <nickc@redhat.com>
944         * elf32-arm.c: Fix formatting.
946 2021-05-25  Alan Modra  <amodra@gmail.com>
948         * elf-attrs.c (elf_attr_strdup): New function.
949         (_bfd_elf_attr_strdup): Use it here.
950         (elf_add_obj_attr_string): New function, extracted from..
951         (bfd_elf_add_obj_attr_string): ..here.
952         (elf_add_obj_attr_int_string): New function, extracted from..
953         (bfd_elf_add_obj_attr_int_string): ..here.
954         (_bfd_elf_parse_attributes): Don't allocate an extra byte for a
955         string terminator.  Instead ensure parsing doesn't go past
956         end of sub-section.  Use size_t variables for lengths.
958 2021-05-22  Alan Modra  <amodra@gmail.com>
960         * libbfd.c (_bfd_safe_read_leb128): Remove length_return parameter.
961         Replace data pointer with pointer to pointer.  Increment pointer
962         over bytes read.
963         * libbfd-in.h (_bfd_safe_read_leb128): Update prototype.
964         * elf-attrs.c (_bfd_elf_parse_attributes): Adjust to suit.  Be
965         careful not to increment data pointer past end.  Remove now
966         redundant pr17512 check.
967         * wasm-module.c (READ_LEB128): Adjust to suit changes to
968         _bfd_safe_read_leb128.
969         * dwarf2.c (read_n_bytes): New inline function, old one renamed to..
970         (read_blk): ..this.  Allocate and return block.  Increment bfd_byte**
971         arg.
972         (read_3_bytes): New function.
973         (read_1_byte, read_1_signed_byte, read_2_bytes, read_4_bytes),
974         (read_8_bytes, read_string, read_indirect_string),
975         (read_indirect_line_string, read_alt_indirect_string): Take a
976         byte_byte** arg which is incremented over bytes read.  Remove any
977         bytes_read return.  Rewrite limit checks to compare lengths
978         rather than pointers.
979         (read_abbrevs, read_attribute_value, read_formatted_entries),
980         (decode_line_info, find_abstract_instance, read_ranges),
981         (read_rnglists, scan_unit_for_symbols, parse_comp_unit),
982         (stash_comp_unit): Adjust to suit.  Rewrite limit checks to
983         compare lengths rather than pointers.
984         * libbfd.h: Regenerate.
986 2021-05-21  Luis Machado  <luis.machado@linaro.org>
988         * elf.c (elfcore_make_memtag_note_section): New function.
989         (elfcore_grok_note): Handle NT_MEMTAG note types.
991 2021-05-20  Andrew Burgess  <andrew.burgess@embecosm.com>
993         * section.c (bfd_get_section_by_name): Return NULL if name is
994         NULL.
995         (bfd_get_section_by_name_if): Likewise.
996         * dwarf2.c (read_section): Remove unneeded NULL check.
997         (find_debug_info): Likewise.
999 2021-05-19  Nick Clifton  <nickc@redhat.com>
1001         * plugin.c (bfd_plugin_open_input): Inform the user if the limit
1002         on the number of open files is reached.  If possible, try to
1003         increase this limit before failing.
1005 2021-05-14  Nelson Chu  <nelson.chu@sifive.com>
1007         * elfnn-riscv.c (riscv_resolve_pcrel_lo_relocs): Check the values
1008         of %pcrel_hi, before and after adding the addend.  Make sure the
1009         value won't be changed, otherwise, report dangerous error.
1011 2021-05-13  Nelson Chu  <nelson.chu@sifive.com>
1013         * elfxx-riscv.c (check_implicit_always): The check_func, always add
1014         the implicit subset without checking.
1015         (check_implicit_for_i): The check_func for i, only add zicsr and
1016         zifencei when the version of i less than 2.1.
1017         (struct riscv_implicit_subset): Record the subsets and their
1018         corresponding implicit subsets.
1019         (riscv_implicit_subsets): Table records all implicit informations.
1020         (riscv_parse_add_implicit_subsets): Updated and add implicit subsets
1021         according to riscv_implicit_subsets.  Remove the redundant codes.
1023 2021-05-13  Alan Modra  <amodra@gmail.com>
1025         PR 27858
1026         * elf32-sh.c (sh_elf_info_to_howto): Correct check for last valid
1027         reloc howto.
1029 2021-05-12  Luis Machado  <luis.machado@linaro.org>
1031         * elf-bfd.h (elfcore_write_aarch_mte): New prototype.
1032         * elf.c (elfcore_grok_aarch_mte, elfcore_write_aarch_mte): New
1033         functions.
1034         (elfcore_grok_note): Handle notes of type NT_ARM_TAGGED_ADDR_CTRL.
1035         (elfcore_write_register_note): Handle MTE notes.
1037 2021-05-11  Alan Modra  <amodra@gmail.com>
1039         PR 27844
1040         * pdp11.c (aout_get_external_symbols): Clear first four bytes of
1041         strings array, not just the first byte.
1042         * aoutx.h (aout_get_external_symbols): Likewise.
1044 2021-05-10  H.J. Lu  <hongjiu.lu@intel.com>
1046         PR binutils/27839
1047         * simple.c (bfd_simple_get_relocated_section_contents): Remove
1048         strayed fprintf.
1050 2021-05-10  Nick Clifton  <nickc@redhat.com>
1052         PR 27839
1053         * simple.c (simple_dummy_add_to_set): New function.
1054         (simple_dummy_constructor): New function.
1055         (simple_dummy_multiple_common): New function.
1056         (bfd_simple_get_relocated_section_contents): Zero out the
1057         callbacks structure, and then set the add_to_set, constructor and
1058         multiple_common fields.
1060 2021-05-10  Dimitar Dimitrov  <dimitar@dinux.eu>
1062         * elf32-pru.c (elf_backend_can_gc_sections): Define as 1.
1064 2021-05-08  Mike Frysinger  <vapier@gentoo.org>
1066         * doc/Makefile.am (html-local, bfd/index.html): New targets.
1067         * doc/Makefile.in: Regenerate.
1069 2021-05-08  Mike Frysinger  <vapier@gentoo.org>
1071         * doc/Makefile.am (AM_MAKEINFOFLAGS): Define.
1072         * doc/Makefile.in: Regenerate.
1074 2021-05-07  Clément Chigot  <clement.chigot@atos.net>
1076         * coff-rs6000.c (xcoff_dwsect_names): Add new DWARF
1077         sections.
1078         * coffgen.c (coff_pointerize_aux): Handle C_DWARF.
1079         (coff_print_symbol): Likewise.
1080         * libxcoff.h (XCOFF_DWSECT_NBR_NAMES): Update.
1082 2021-05-07  Jan Beulich  <jbeulich@suse.com>
1084         * elf64-x86-64.c (x86_64_elf_howto_table): Set src_mask fields
1085         to zero.
1087 2021-05-07  Alan Modra  <amodra@gmail.com>
1089         * bfd-in2.h: Regenerate.
1090         * libbfd.h: Regenerate.
1092 2021-05-06  Stafford Horne  <shorne@gmail.com>
1094         PR 27746
1095         * elf32-or1k.c (PLT_ENTRY_SIZE_LARGE, PLT_MAX_INSN_COUNT,
1096         OR1K_ADD, OR1K_ORI): New macros to help with plt creation.
1097         (elf_or1k_link_hash_table): New field plt_count.
1098         (elf_or1k_link_hash_entry): New field plt_index.
1099         (elf_or1k_plt_entry_size): New function.
1100         (or1k_write_plt_entry): Update to support variable size PLTs.
1101         (or1k_elf_finish_dynamic_sections): Use new or1k_write_plt_entry
1102         API.
1103         (or1k_elf_finish_dynamic_symbol): Update to write large PLTs
1104         when needed.
1105         (allocate_dynrelocs): Use elf_or1k_plt_entry_size to account for
1106         PLT size.
1108 2021-05-06  Stafford Horne  <shorne@gmail.com>
1110         PR 21464
1111         * elf32-or1k.c (or1k_elf_relocate_section): Relax R_OR1K_GOT16
1112         overflow check if we have R_OR1K_GOT_AHI16 followed by
1113         R_OR1K_GOT16.
1115 2021-05-06  Stafford Horne  <shorne@gmail.com>
1117         PR 21464
1118         * bfd-in2.h: Add BFD_RELOC_OR1K_GOT_AHI16 relocation.
1119         * elf32-or1k.c (or1k_elf_howto_table, or1k_reloc_map): Likewise.
1120         (or1k_final_link_relocate, or1k_elf_relocate_section,
1121         or1k_elf_check_relocs): Likewise.
1122         * libbfd.h (bfd_reloc_code_real_names): Likewise.
1123         * reloc.c: Likewise.
1125 2021-05-06  Stafford Horne  <shorne@gmail.com>
1127         PR 27624
1128         * elf32-or1k.c (or1k_elf_adjust_dynamic_symbol): Change
1129         condition used to cleanup plt entries to cleanup forced local
1130         entries.
1132 2021-05-05  H.J. Lu  <hongjiu.lu@intel.com>
1134         PR ld/27825
1135         * elflink.c (elf_link_output_symstrtab): Always append ".COUNT"
1136         to local symbols.
1138 2021-05-05  Alan Modra  <amodra@gmail.com>
1140         * vms-lib.c (vms_traverse_index): Account for vms_kbn size when
1141         sanity checking keylen.
1143 2021-05-04  Nick Clifton  <nickc@redhat.com>
1145         * libbfd.c (bfd_malloc): Provide some documenation.  Treat a size
1146         of 0 as 1.
1147         (bfd_realloc): Likewise.
1148         (bfd_zmalloc): Likewise.
1149         (bfd_realloc_or_free): Provide some documentation.  Treat a size
1150         of 0 as a request to free.
1151         * libbfd-in.h (bfd_realloc): Remove prototype.
1152         (bfd_realloc_or_free): Remove prototype.
1153         (bfd_zmalloc): Remove prototype.
1154         * libbfd.h: Regenerate.
1156 2021-05-03  Jan Beulich  <jbeulich@suse.com>
1158         * elf32-i386.c (elf_howto_table): Switch all 32-bit relocs to
1159         complain_overflow_dont.
1160         * elf64-x86-64.c (x86_64_elf_howto_table): Switch all 64-bit
1161         relocs to complain_overflow_dont.
1163 2021-05-03  Alan Modra  <amodra@gmail.com>
1165         * elf32-ppc.c (allocate_dynrelocs): Keep dyn_relocs for undefweak
1166         symbols when -z dynamic-undefined-weak or when there are no
1167         dynamic relocs in read-only sections and -z nodynamic-undefined-weak
1168         is not given.
1169         * elf64-ppc.c (allocate_dynrelocs): Likewise.
1171 2021-05-03  Alan Modra  <amodra@gmail.com>
1173         * elf32-ppc.c (allocate_dynrelocs): Call ensure_undef_dynamic for
1174         weak undefined symols that only appear on PLT relocs.
1175         * elf64-ppc.c (allocate_dynrelocs): Likewise.
1177 2021-05-03  Alan Modra  <amodra@gmail.com>
1179         PR 27755
1180         * elf32-ppc.c (ppc_elf_inline_plt): Do increment rel in loop.
1182 2021-05-03  Alan Modra  <amodra@gmail.com>
1184         * elf32-csky.c (is_mapping_symbol_name): New function.
1185         (csky_elf_is_target_special_symbol): Likewise.
1186         (csky_elf_maybe_function_sym): Likewise.
1187         (bfd_elf32_bfd_is_target_special_symbol): Define.
1188         (elf_backend_maybe_function_sym): Define.
1190 2021-04-30  Nick Clifton  <nickc@redhat.com>
1192         PR 27801
1193         * mach-o.c (bfd_mach_o_core_fetch_environment): Use bfd_get_32 to
1194         read 32-bit value.
1196 2021-04-30  Nick Clifton  <nickc@redhat.com>
1198         PR 27799
1199         * elf32-xtensa.c (elf_xtensa_grok_prstatus): Check for core notes
1200         that are too small.
1202 2021-04-30  Nick Clifton  <nickc@redhat.com>
1204         PR 27797
1205         * libbfd.c (bfd_realloc_or_free): Do not free a pointer than has
1206         been realloc'ed to size 0.
1208 2021-04-30  Nick Clifton  <nickc@redhat.com>
1210         PR 27795
1211         * coff-rs6000.c (_bfd_xcoff_read_ar_hdr): Check for invalid name
1212         lengths.
1214 2021-04-29  Nick Clifton  <nickc@redhat.com>
1216         PR 27793
1217         * som.c (som_slurp_symbol_table): Assign symbols without any scope
1218         to the undefined section.
1219         (som_decode_symclass): Check for a missing symbol section.
1220         * syms.c (bfd_decode_symclass): Likewise.
1222 2021-04-29  Nick Clifton  <nickc@redhat.com>
1224         PR 27792
1225         * som.c (som_slurp_string_table): Place a terminating NUL byte at
1226         the end of the table.
1227         (som_slurp_symbol_table): Check for an over-large offset into the
1228         string string table.
1230 2021-04-28  Nick Clifton  <nickc@redhat.com>
1232         * elf.c (_bfd_elf_maybe_function_sym): Do not accept annobin
1233         symbols as potential function symbols.
1234         * elfnn-aarch64.c (elfNN_aarch64_maybe_function_sym): Likewise.
1235         * elf64-ppc.c (ppc64_elf_maybe_function_sym): Likewise.
1236         * elf32-arm.c (elf32_arm_maybe_function_sym): Likewise.
1238 2021-04-26  Mike Frysinger  <vapier@gentoo.org>
1240         * elf-bfd.h: Include stdlib.h.
1242 2021-04-26  Jan Beulich  <jbeulich@suse.com>
1244         * elf32-i386.c (elf_howto_table): Switch R_386_PC16 to
1245         complain_overflow_signed.
1246         * elf64-x86-64.c (x86_64_elf_howto_table): Switch R_X86_64_PC16
1247         to complain_overflow_signed.
1249 2021-04-23  Eric Botcazou  <ebotcazou@adacore.com>
1251         * elf.c (special_sections_p): Add .persistent.bss.
1253 2021-04-23  Jan Beulich  <jbeulich@suse.com>
1255         * elf32-i386.c (elf_howto_table): R_386_TLS_DESC_CALL has zero
1256         size field.
1257         * elf64-x86-64.c (x86_64_elf_howto_table): R_X86_64_TLSDESC_CALL
1258         has zero size field.
1260 2021-04-22  Clément Chigot  <clement.chigot@atos.net>
1262         * hash.c (struct bfd_strtab_hash): Remove xcoff field.
1263         Add length_field_size field.
1264         (_bfd_stringtab_init): Change prototype.
1265         Adapt to new length_field_size.
1266         (_bfd_xcoff_stringtab_init): Likewise.
1267         (_bfd_stringtab_add): Likewise.
1268         (_bfd_stringtab_emit): Likewise.
1269         * libbfd-in.h (_bfd_xcoff_stringtab_init):
1270         Change prototype.
1271         * libbfd.h: Regenerate.
1272         * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create):
1273         Call _bfd_xcoff_stringtab_init with isxcoff64 value.
1275 2021-04-22  Clément Chigot  <clement.chigot@atos.net>
1277         * coff-rs6000.c (_bfd_xcoff_swap_aux_in): Add errors for
1278         unsupported storage class or auxialiry entries.
1279         Improve and adapt to new aux structures.
1280         Add C_DWARF support.
1281         (_bfd_xcoff_swap_aux_out): Likewise.
1282         * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Likewise.
1283         (_bfd_xcoff64_swap_aux_out): Likewise.
1285 2021-04-21  Eli Zaretskii  <eliz@gnu.org>
1287         PR 27760
1288         * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Add display
1289         of IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP,
1290         IMAGE_FILE_NET_RUN_FROM_SWAP and IMAGE_FILE_UP_SYSTEM_ONLY flags.
1291         Decode the contents of the DllCharacteristics field.
1293 2021-04-21  Nick Clifton  <nickc@redhat.com>
1295         PR 27759
1296         * srec.c (srec_read_section): Replace assertions with error
1297         returns.
1299 2021-04-20  Clément Chigot  <clement.chigot@atos.net>
1301         PR binutils/21700
1302         * reloc.c (BFD_RELOC_PPC_NEG): New relocation.
1303         * bfd-in2.h: Regenerate.
1304         * libbfd.h: Regenerate.
1305         * coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Add
1306         BFD_RELOC_PPC_NEG handler.
1307         (xcoff_reloc_type_neg): Correctly substract addend.
1308         * coff64-rs6000.c (xcoff64_howto_table): Add R_NEG_32
1309         howto.
1310         (xcoff64_rtype2howto): Add handler for R_NEG_32.
1311         (xcoff64_reloc_type_lookup): Add BFD_RELOC_PPC_NEG handler.
1312         * xcofflink.c (xcoff_need_ldrel_p): Check output section
1313         for R_POS-like relocations. New argument added.
1314         (xcoff_mark): Adapt to new xcoff_need_ldrel_p argument.
1315         (xcoff_link_input_bfd): Likewise.
1317 2021-04-16  Alan Modra  <amodra@gmail.com>
1319         PR 27567
1320         * coffcode.h (styp_to_sec_flags): Use an unsigned long styp_flags.
1321         (coff_write_object_contents): Pass bfd to COFF_ENCODE_ALIGNMENT,
1322         ignore alignment checks when return is false.  Formatting.
1324 2021-04-15  Nelson Chu  <nelson.chu@sifive.com>
1326         PR27584
1327         * elfnn-riscv.c (riscv_elf_is_target_special_symbol): Added to
1328         omit local and empty symbols since they usually generated to
1329         mark the auipc instructions.
1331 2021-04-15  Lifang Xia<lifang_xia@c-sky.com>
1333         * elf32-csky.c (csky_elf_howto_table)
1334         <R_CKCORE_PCREL_IMM16BY2>: Set special_function to
1335         bfd_elf_generic_reloc.
1336         <R_CKCORE_PCREL_IMM16BY4>: Likewise.
1337         <R_CKCORE_PCREL_IMM10BY4>: Likewise.
1338         <R_CKCORE_PCREL_IMM18BY2>: Likewise.
1339         <R_CKCORE_PCREL_FLRW_IMM8BY4>: Likewise.
1341 2021-04-14  H.J. Lu  <hongjiu.lu@intel.com>
1343         PR binutils/27708
1344         * elf.c (assign_file_positions_for_non_load_sections): Set
1345         p_memsz to p_filesz for the loadable PT_NOTE segment.
1347 2021-04-14  Frederic Cambus  <fred@statdns.com>
1349         * elf.c (elfcore_grok_netbsd_note): Remove unneeded #ifdef
1350         checks for NT_NETBSDCORE_AUXV and NT_NETBSDCORE_LWPSTATUS.
1352 2021-04-14  Alan Modra  <amodra@gmail.com>
1354         PR 27631
1355         * elf32-metag.c (elf_metag_relocate_section): Don't use &hh->elf
1356         when hh might be NULL, test for NULL first.
1358 2021-04-14  Alan Modra  <amodra@gmail.com>
1360         PR 27630
1361         * elf32-arm.c (elf32_arm_size_stubs): Don't use &hash->root when
1362         hash might be NULL, cast instead.
1364 2021-04-13  Clément Chigot  <clement.chigot@atos.net>
1366         * xcofflink.c (xcoff_link_check_ar_symbols): Update esym earlier.
1368 2021-04-13  Nelson Chu  <nelson.chu@sifive.com>
1370         * elfnn-riscv.c (riscv_version_mismatch): Do not report the warning
1371         when the version of input or output is RISCV_UNKNOWN_VERSION, since
1372         the extension is added implicitly.
1373         * elfxx-riscv.c: Updated the obsolete comments.
1374         (RISCV_UNKNOWN_VERSION): Moved to elfxx-riscv.h.
1375         * elfxx-riscv.h (RISCV_UNKNOWN_VERSION): Added.
1377 2021-04-12  Alan Modra  <amodra@gmail.com>
1379         * elf-bfd.h (ENABLE_CHECKING): Define.
1380         (elf_link_hash_lookup): Abort if wrong type of hash table.
1381         * configure.ac (--enable-checking): Add support.
1382         * config.in: Regenerate.
1383         * configure: Regenerate.
1385 2021-04-12  Alan Modra  <amodra@gmail.com>
1387         * elf-bfd.h (is_elf_hash_table): Convert macro to inline function.
1388         (elf_link_hash_lookup, elf_link_hash_traverse): Likewise.
1389         (elf_hash_table, elf_hash_table_id): Likewise.
1390         * elf32-arm.c (elf32_arm_setup_section_lists): Delete redundant
1391         is_elf_hash_table check.
1392         * elf32-csky.c (elf32_csky_setup_section_lists): Likewise.
1393         * elf32-hppa.c (clobber_millicode_symbols): Correct param types.
1394         * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
1395         * elfnn-ia64.c (elfNN_ia64_global_dyn_info_free: Likewise.
1396         (elfNN_ia64_global_dyn_sym_thunk: Likewise.
1397         * elf64-ia64-vms.c (elf64_ia64_global_dyn_info_free): Likewise.
1398         (elf64_ia64_global_dyn_sym_thunk): Likewise.
1399         (elf64_vms_link_add_object_symbols): Pass base type of hash table
1400         to is_elf_hash_table.
1401         * elflink.c (_bfd_elf_dynamic_symbol_p): Likewise.
1402         (_bfd_elf_symbol_refs_local_p, _bfd_elf_add_dynamic_entry): Likewise.
1403         (_bfd_elf_strip_zero_sized_dynamic_sections): Likewise.
1404         (_bfd_elf_link_check_relocs, elf_link_add_object_symbols): Likewise.
1405         (bfd_elf_final_link): Likewise.
1406         * elfnn-aarch64.c (elfNN_aarch64_setup_section_lists): Likewise.
1407         * elf64-ppc.c (ppc64_elf_set_toc): Likewise.  Use bfd_link_hash_lookup.
1409 2021-04-12  Alan Modra  <amodra@gmail.com>
1411         * elf-bfd.h (struct elf_backend_data): Return bfd_link_hash_entry*
1412         from elf_backend_archive_symbol_lookup.
1413         (_bfd_elf_archive_symbol_lookup): Return bfd_link_hash_entry*.
1414         * elf64-ppc.c (ppc64_elf_archive_symbol_lookup): Likewise.  Check
1415         we have a ppc_hash_table before accessing ppc_link_hash_entry
1416         fields.
1417         * elflink.c (_bfd_elf_archive_symbol_lookup): Return
1418         bfd_link_hash_entry*.
1419         (elf_link_add_archive_symbols): Adjust to suit.
1421 2021-04-12  Nelson Chu  <nelson.chu@sifive.com>
1423         * elfxx-riscv.c (riscv_parse_std_ext): Fixed the wrong versions of
1424         i-ext when expanding g-ext.
1426 2021-04-12  Nelson Chu  <nelson.chu@sifive.com>
1428         * elfxx-riscv.c (riscv_ext_dont_care_version): Removed.
1429         (riscv_parse_add_subset): Always add the implicit extensions, even if
1430         their versions are RISCV_UNKNOWN_VERSION.
1431         (riscv_parse_std_ext): Delay to add i-ext as the implicit extension
1432         in the riscv_parse_add_implicit_subsets.  Besides, add g-ext as the
1433         implicit extension after it has been expanded.
1434         (riscv_parse_add_implicit_subsets): Updated.
1436 2021-04-12  Nelson Chu  <nelson.chu@sifive.com>
1438         * elfxx-riscv.c (riscv_std_z_ext_strtab): Moved forward.
1439         (riscv_std_s_ext_strtab): Likewise.
1440         (riscv_std_h_ext_strtab): Likewise.
1441         (riscv_std_zxm_ext_strtab): Added for the zxm prefix.
1442         (enum riscv_prefix_ext_class): Moved forward and renamed from
1443         riscv_isa_ext_class.  Reorder them according to the parsing order,
1444         since the enum values are used to check the orders in the
1445         riscv_compare_subsets.
1446         (struct riscv_parse_prefix_config): Moved forward and renamed from
1447         riscv_parse_config_t.  Also removed the ext_valid_p field, the
1448         related functions are replaced by riscv_valid_prefixed_ext.
1449         (parse_config): Moved forward and updated.  The more letters of the
1450         prefix string, the more forward it must be defined.  Otherwise, we
1451         will get the wrong mapping when using strncmp in riscv_get_prefix_class.
1452         (riscv_get_prefix_class): Moved forward.  Support to parse the
1453         multi-letter prefix, like zxm.
1454         (riscv_known_prefixed_ext): New function, check if the prefixed
1455         extension is supported according to the right riscv_std_*_ext_strtab.
1456         (riscv_valid_prefixed_ext): New function, used to replace the
1457         riscv_ext_*_valid_p functions.
1458         (riscv_init_ext_order): Do not set the values for prefix keywords
1459         since they may have multiple letters for now.
1460         (riscv_compare_subsets): Set the order values of prefix keywords
1461         to negative numbers according to the riscv_prefix_ext_class.
1462         (riscv_parse_std_ext): Call riscv_get_prefix_class to see if we
1463         have parsed the prefixed extensions.
1464         (riscv_parse_prefixed_ext): Updated and removed the parameter config.
1465         Report error when the prefix is unknown.
1466         (riscv_parse_subset): Do not parse the prefixed extensions according
1467         to the orders in the parse_config.  Remove the confused message and
1468         let riscv_parse_prefixed_ext to report the details.
1469         * elfxx-riscv.h (enum riscv_isa_ext_class): Moved to elfxx-riscv.c.
1470         (riscv_get_prefix_class): Removed to static.
1472 2021-04-08  Mike Frysinger  <vapier@gentoo.org>
1474         * configure.ac (ACX_BUGURL): Use https://.
1475         * configure.com (COPY_TEXT): Likewise.
1476         * configure: Regenerate.
1478 2021-04-05  Alan Modra  <amodra@gmail.com>
1480         * configure.ac: Don't check for long long or long double type.
1481         Don't check for alloca.h, limits.h, stddef.h, stdlib.h, string.h,
1482         strings.h, time.h, wchar.h, wctype.h or sys/time.h.  Don't check
1483         for strtoull, free, malloc, realloc, getenv, strstr, snprintf,
1484         vsnprintf, strlen or setitimer.  Sort AC_CHECK_DECLS.
1485         (AC_ISC_POSIX): Don't invoke.
1486         (AC_HEADER_TIME, AC_HEADER_DIRENT, ACX_HEADER_STRING): Likewise.
1487         * sysdep.h: Remove many HAVE_*_H checks and fallback declarations.
1488         Do test HAVE_SYS_TYPES_H.  Don't include sys/time.h.  Reorder
1489         header order as per automake AC_INCLUDES_DEFAULT.
1490         * bfd-in.h: Include inttypes.h unconditionally.
1491         * bfd.c (_bfd_doprnt, _bfd_doprnt_scan): Assume long long and
1492         long double are available.
1493         (bfd_scan_vma): Assume long long and strtoull are available.
1494         * elflink.c: Include limits.h unconditionally.
1495         * elfnn-riscv.c: Likewise.
1496         * wasm-module.c: Likewise.
1497         * hpux-core.c: Include dirent.h unconditionally.
1498         * trad-core.c: Likewise.
1499         * hosts/x86-64linux.h: Include stdlib.h unconditionally.
1500         * peXXigen.c: Remove HAVE_WCHAR_H and HAVE_WCTYPE_H checks.
1501         * elf32-m68hc1x.c: Don't include alloca-conf.h.
1502         * elf64-hppa.c: Likewise.
1503         * som.c: Likewise.
1504         * wasm-module.c: Likewise.
1505         * xsym.c: Likewise.
1506         * bfd-in2.h: Regenerate.
1507         * config.in: Regenerate.
1508         * configure: Regenerate.
1510 2021-04-01  Tamar Christina  <tamar.christina@arm.com>
1512         PR ld/26659
1513         * cofflink.c (_bfd_coff_generic_relocate_section): Ignore overflow.
1515 2021-04-01  Martin Liska  <mliska@suse.cz>
1517         * ecoff.c (strneq): Remove strneq and use startswith.
1518         (_bfd_ecoff_slurp_armap): Likewise.
1520 2021-04-01  Martin Liska  <mliska@suse.cz>
1522         * elf-bfd.h (bfd_section_is_ctf): Use startswith function.
1523         * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
1524         (elf_get_reloc_section): Likewise.
1525         * elf32-arc.c (elf_arc_size_dynamic_sections): Likewise.
1526         * elf32-m32r.c (m32r_elf_section_flags): Likewise.
1527         * elf32-microblaze.c (microblaze_elf_size_dynamic_sections): Likewise.
1528         * elf32-nds32.c (nds32_elf_size_dynamic_sections): Likewise.
1529         (nds32_elf_relocate_section): Likewise.
1530         (nds32_elf_action_discarded): Likewise.
1531         (nds32_elf_check_relocs): Likewise.
1532         (nds32_elf_section_flags): Likewise.
1533         * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
1534         * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
1535         * elf32-rx.c (rx_table_find): Likewise.
1536         (rx_table_map): Likewise.
1537         * elf32-spu.c (spu_elf_backend_symbol_processing): Likewise.
1538         (spu_elf_find_overlays): Likewise.
1539         (needs_ovl_stub): Likewise.
1540         (allocate_spuear_stubs): Likewise.
1541         (build_spuear_stubs): Likewise.
1542         (mark_overlay_section): Likewise.
1543         (spu_elf_auto_overlay): Likewise.
1544         (spu_elf_output_symbol_hook): Likewise.
1545         * elf32-tilepro.c (tilepro_elf_size_dynamic_sections): Likewise.
1546         * elf32-xtensa.c (xtensa_property_section_name): Likewise.
1547         * elf64-ppc.c (ppc64_elf_section_flags): Likewise.
1548         (ppc64_elf_relocate_section): Likewise.
1549         * elflink.c (resolve_section): Likewise.
1550         (UNARY_OP): Likewise.
1551         (BINARY_OP_HEAD): Likewise.
1552         (elf_link_input_bfd): Likewise.
1553         * elfnn-riscv.c (riscv_elf_size_dynamic_sections): Likewise.
1554         * elfxx-riscv.c (riscv_parse_subset): Likewise.
1555         * elfxx-tilegx.c (tilegx_elf_size_dynamic_sections): Likewise.
1556         * opncls.c (get_build_id): Likewise.
1558 2021-03-31  Alan Modra  <amodra@gmail.com>
1560         PR 27671
1561         * bfd-in.h: Don't poison FALSE or TRUE.
1562         * bfd-in2.h: Regenerate.
1564 2021-03-31  Alan Modra  <amodra@gmail.com>
1566         * sysdep.h: POISON_BFD_BOOLEAN: Define.
1567         * aix5ppc-core.c, * aout-cris.c, * aout-ns32k.c, * aout-target.h,
1568         * aoutx.h, * arc-got.h, * archive.c, * archive64.c, * archures.c,
1569         * bfd-in.h, * bfd.c, * bfdwin.c, * binary.c, * cache.c,
1570         * coff-alpha.c, * coff-arm.c, * coff-arm.h, * coff-bfd.c,
1571         * coff-bfd.h, * coff-go32.c, * coff-i386.c, * coff-ia64.c,
1572         * coff-mcore.c, * coff-mips.c, * coff-rs6000.c, * coff-sh.c,
1573         * coff-stgo32.c, * coff-tic30.c, * coff-tic4x.c, * coff-tic54x.c,
1574         * coff-x86_64.c, * coff-z80.c, * coff-z8k.c, * coff64-rs6000.c,
1575         * coffcode.h, * coffgen.c, * cofflink.c, * compress.c,
1576         * corefile.c, * cpu-aarch64.c, * cpu-aarch64.h, * cpu-alpha.c,
1577         * cpu-arc.c, * cpu-arm.c, * cpu-arm.h, * cpu-avr.c, * cpu-bfin.c,
1578         * cpu-bpf.c, * cpu-cr16.c, * cpu-cris.c, * cpu-crx.c,
1579         * cpu-csky.c, * cpu-d10v.c, * cpu-d30v.c, * cpu-dlx.c,
1580         * cpu-epiphany.c, * cpu-fr30.c, * cpu-frv.c, * cpu-ft32.c,
1581         * cpu-h8300.c, * cpu-hppa.c, * cpu-i386.c, * cpu-ia64.c,
1582         * cpu-iamcu.c, * cpu-ip2k.c, * cpu-iq2000.c, * cpu-k1om.c,
1583         * cpu-l1om.c, * cpu-lm32.c, * cpu-m10200.c, * cpu-m10300.c,
1584         * cpu-m32c.c, * cpu-m32r.c, * cpu-m68hc11.c, * cpu-m68hc12.c,
1585         * cpu-m68k.c, * cpu-m9s12x.c, * cpu-m9s12xg.c, * cpu-mcore.c,
1586         * cpu-mep.c, * cpu-metag.c, * cpu-microblaze.c, * cpu-mips.c,
1587         * cpu-mmix.c, * cpu-moxie.c, * cpu-msp430.c, * cpu-mt.c,
1588         * cpu-nds32.c, * cpu-nfp.c, * cpu-nios2.c, * cpu-ns32k.c,
1589         * cpu-or1k.c, * cpu-pdp11.c, * cpu-pj.c, * cpu-powerpc.c,
1590         * cpu-pru.c, * cpu-riscv.c, * cpu-rl78.c, * cpu-rs6000.c,
1591         * cpu-rx.c, * cpu-s12z.c, * cpu-s390.c, * cpu-score.c,
1592         * cpu-sh.c, * cpu-sparc.c, * cpu-spu.c, * cpu-tic30.c,
1593         * cpu-tic4x.c, * cpu-tic54x.c, * cpu-tic6x.c, * cpu-tilegx.c,
1594         * cpu-tilepro.c, * cpu-v850.c, * cpu-v850_rh850.c, * cpu-vax.c,
1595         * cpu-visium.c, * cpu-wasm32.c, * cpu-xc16x.c, * cpu-xgate.c,
1596         * cpu-xstormy16.c, * cpu-xtensa.c, * cpu-z80.c, * cpu-z8k.c,
1597         * dwarf1.c, * dwarf2.c, * ecoff-bfd.h, * ecoff.c, * ecofflink.c,
1598         * elf-attrs.c, * elf-bfd.h, * elf-eh-frame.c, * elf-hppa.h,
1599         * elf-ifunc.c, * elf-m10200.c, * elf-m10300.c, * elf-nacl.c,
1600         * elf-nacl.h, * elf-properties.c, * elf-s390-common.c,
1601         * elf-s390.h, * elf-strtab.c, * elf-vxworks.c, * elf-vxworks.h,
1602         * elf.c, * elf32-am33lin.c, * elf32-arc.c, * elf32-arm.c,
1603         * elf32-arm.h, * elf32-avr.c, * elf32-avr.h, * elf32-bfin.c,
1604         * elf32-bfin.h, * elf32-cr16.c, * elf32-cr16.h, * elf32-cris.c,
1605         * elf32-crx.c, * elf32-csky.c, * elf32-csky.h, * elf32-d10v.c,
1606         * elf32-d30v.c, * elf32-dlx.c, * elf32-epiphany.c,
1607         * elf32-fr30.c, * elf32-frv.c, * elf32-ft32.c, * elf32-gen.c,
1608         * elf32-h8300.c, * elf32-hppa.c, * elf32-hppa.h, * elf32-i386.c,
1609         * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c,
1610         * elf32-m32r.c, * elf32-m68hc11.c, * elf32-m68hc12.c,
1611         * elf32-m68hc1x.c, * elf32-m68hc1x.h, * elf32-m68k.c,
1612         * elf32-m68k.h, * elf32-mcore.c, * elf32-mep.c, * elf32-metag.c,
1613         * elf32-metag.h, * elf32-microblaze.c, * elf32-mips.c,
1614         * elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c,
1615         * elf32-nios2.c, * elf32-nios2.h, * elf32-or1k.c, * elf32-pj.c,
1616         * elf32-ppc.c, * elf32-ppc.h, * elf32-pru.c, * elf32-rl78.c,
1617         * elf32-rx.c, * elf32-s12z.c, * elf32-s390.c, * elf32-score.c,
1618         * elf32-score.h, * elf32-score7.c, * elf32-sh-relocs.h,
1619         * elf32-sh.c, * elf32-sparc.c, * elf32-spu.c, * elf32-spu.h,
1620         * elf32-tic6x.c, * elf32-tic6x.h, * elf32-tilegx.c,
1621         * elf32-tilepro.c, * elf32-v850.c, * elf32-v850.h,
1622         * elf32-vax.c, * elf32-visium.c, * elf32-wasm32.c,
1623         * elf32-xc16x.c, * elf32-xgate.c, * elf32-xstormy16.c,
1624         * elf32-xtensa.c, * elf32-z80.c, * elf64-alpha.c, * elf64-bpf.c,
1625         * elf64-gen.c, * elf64-hppa.c, * elf64-ia64-vms.c,
1626         * elf64-mips.c, * elf64-mmix.c, * elf64-nfp.c, * elf64-ppc.c,
1627         * elf64-ppc.h, * elf64-s390.c, * elf64-sparc.c,
1628         * elf64-tilegx.c, * elf64-x86-64.c, * elfcode.h,
1629         * elfcore.h, * elflink.c, * elfn32-mips.c, * elfnn-aarch64.c,
1630         * elfnn-ia64.c, * elfnn-riscv.c, * elfxx-aarch64.c,
1631         * elfxx-aarch64.h, * elfxx-ia64.c, * elfxx-ia64.h,
1632         * elfxx-mips.c, * elfxx-mips.h, * elfxx-riscv.c, * elfxx-riscv.h,
1633         * elfxx-sparc.c, * elfxx-sparc.h, * elfxx-target.h,
1634         * elfxx-tilegx.c, * elfxx-tilegx.h, * elfxx-x86.c, * elfxx-x86.h,
1635         * format.c, * genlink.h, * hash.c, * i386aout.c, * i386lynx.c,
1636         * i386msdos.c, * ihex.c, * libaout.h, * libbfd-in.h,
1637         * libbfd.c, * libcoff-in.h, * libecoff.h, * libpei.h,
1638         * libxcoff.h, * linker.c, * mach-o-aarch64.c, * mach-o-arm.c,
1639         * mach-o-i386.c, * mach-o-x86-64.c, * mach-o.c, * mach-o.h,
1640         * merge.c, * mmo.c, * netbsd.h, * opncls.c, * pc532-mach.c,
1641         * pdp11.c, * pe-arm.c, * pe-i386.c, * pe-mcore.c, * pe-sh.c,
1642         * pe-x86_64.c, * peXXigen.c, * pef.c, * pei-arm.c, * pei-i386.c,
1643         * pei-ia64.c, * pei-mcore.c, * pei-sh.c, * pei-x86_64.c,
1644         * peicode.h, * plugin.c, * plugin.h, * ppcboot.c, * reloc.c,
1645         * reloc16.c, * rs6000-core.c, * section.c, * simple.c, * som.c,
1646         * som.h, * srec.c, * stabs.c, * syms.c, * targets.c, * tekhex.c,
1647         * verilog.c, * vms-alpha.c, * vms-lib.c, * vms-misc.c, * vms.h,
1648         * wasm-module.c, * xcofflink.c, * xcofflink.h, * xsym.c,
1649         * xsym.h: Replace bfd_boolean with bool, FALSE with false, and
1650         TRUE with true throughout.
1651         * bfd-in2.h: Regenerate.
1652         * libbfd.h: Regenerate.
1653         * libcoff.h: Regenerate.
1655 2021-03-31  Alan Modra  <amodra@gmail.com>
1657         * bfd-in.h: Include stdbool.h.
1658         (bfd_boolean): Define as bool
1659         * bfd-in2.h: Regenerate.
1661 2021-03-31  Alan Modra  <amodra@gmail.com>
1663         * .gitignore: Delete bfd_stdint.h entry.
1664         * Makefile.am (bfdinclude_HEADERS): Delete bfd_stdint.h.
1665         (BUILD_HFILES, LOCAL_H_DEPS): Likewise.
1666         * bfd-in.h: Include stdint.h in place of bfd_stdint.h.
1667         * configure.ac: Don't invoke GCC_HEADER_STDINT.
1668         * configure.com: Don't create bfd_stdint.h.
1669         * Makefile.in: Regenerate.
1670         * aclocal.m4: Regenerate.
1671         * bfd-in2.h: Regenerate.
1672         * config.in: Regenerate.
1673         * configure: Regenerate.
1674         * doc/Makefile.in: Regenerate.
1675         * po/BLD-POTFILES.in: Regenerate.
1677 2021-03-31  Alan Modra  <amodra@gmail.com>
1679         * bfd-in.h: Include string.h.
1680         (LITMEMCPY, LITSTRCPY): Delete.
1681         * bfd-in2.h: Regenerate.
1683 2021-03-30  Alan Modra  <amodra@gmail.com>
1685         * elflink.c (elf_link_add_object_symbols): Don't set h->indx
1686         unless is_elf_hash_table.
1688 2021-03-29  Alan Modra  <amodra@gmail.com>
1690         * aoutx.h (aout_link_write_symbols): Don't cast boolean expression
1691         to bfd_boolean.
1692         * elf32-or1k.c (or1k_set_got_and_rela_sizes): Dont compare booleans
1693         against FALSE.
1694         * elf32-arc.c (name_for_global_symbol): Don't compare boolean to TRUE.
1695         (is_reloc_PC_relative): Don't use "boolean_condition ? TRUE : FALSE".
1696         (is_reloc_SDA_relative, is_reloc_for_GOT): Likewise.
1697         (is_reloc_for_PLT, is_reloc_for_TLS): Likewise.
1698         * elf32-arm.c (stm32l4xx_need_create_replacing_stub): Likewise.
1699         * elf32-nds32.c (insert_nds32_elf_blank): Likewise.
1700         * elf32-rx.c (rx_set_section_contents): Likewise.
1701         * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise.
1702         * elfxx-mips.c (_bfd_mips_elf_ignore_undef_symbol): Likewise.
1703         * mach-o.c (bfd_mach_o_read_command): Likewise.
1704         * targets.c (bfd_get_target_info): Likewise.
1706 2021-03-29  Alan Modra  <amodra@gmail.com>
1708         * coff-z80.c (z80_is_local_label_name): Return bfd_boolean.
1709         * elf32-z80.c (z80_is_local_label_name): Likewise.
1710         * elf32-spu.c (spu_elf_modify_headers): Likewise.
1711         * elf32-nds32.h (struct elf_nds32_link_hash_table <hyper_relax>):
1712         Change type to int.
1713         * vms-lib.c (_bfd_vms_lib_write_archive_contents): Correct test
1714         for error return from vms_write_data_block.
1716 2021-03-29  Alan Modra  <amodra@gmail.com>
1718         * elf32-i386.c (elf_i386_finish_local_dynamic_symbol): Return int.
1719         * elf64-ia64-vms.c (elf64_ia64_local_dyn_info_free): Likewise.
1720         (elf64_ia64_local_dyn_sym_thunk): Likewise.
1721         * elf64-x86-64.c (elf_x86_64_finish_local_dynamic_symbol): Likewise.
1722         * elfnn-aarch64.c (elfNN_aarch64_allocate_local_ifunc_dynrelocs),
1723         (elfNN_aarch64_finish_local_dynamic_symbol): Likewise.
1724         * elfnn-ia64.c (elfNN_ia64_local_dyn_info_free): Likewise.
1725         (elfNN_ia64_local_dyn_sym_thunk): Likewise.
1726         * elfnn-riscv.c (allocate_local_ifunc_dynrelocs): Likewise.
1727         (riscv_pcrel_reloc_eq): Likewise.
1728         (riscv_elf_finish_local_dynamic_symbol): Likewise.
1729         * elfxx-sparc.c (allocate_local_dynrelocs): Likewise.
1730         (finish_local_dynamic_symbol): Likewise.
1731         * elfxx-x86.c (elf_x86_allocate_local_dynreloc): Likewise.
1732         * elfxx-mips.c (mips_elf_resolve_got_page_ref): Likewise.
1733         (mips_elf_count_got_symbols): Change return type to bfd_boolean.
1735 2021-03-29  Alan Modra  <amodra@gmail.com>
1737         * elflink.c (elf_link_output_symstrtab): Make flinfo parameter
1738         a void pointer.
1739         (bfd_elf_final_link): Delete out_sym_func typedef and don't cast
1740         elf_link_output_symstrtab when calling output_arch_syms and
1741         output_arch_local_syms.
1742         * elf-bfd.h (struct elf_backend_data <elf_backend_output_arch_syms,
1743         elf_backend_output_arch_local_syms>): Change return type of func
1744         arg to match elf_link_output_symstrtab.
1745         * elf-vxworks.h (elf_vxworks_link_output_symbol_hook): Correct
1746         return type.
1747         * elf32-nds32.c (nds32_elf_output_symbol_hook): Correct return type.
1748         (nds32_elf_output_arch_syms): Correct func return type.
1750 2021-03-29  Alan Modra  <amodra@gmail.com>
1752         * elf-m10200.c (mn10200_elf_relocate_section): Return int.
1753         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
1754         * elf32-arc.c (elf_arc_relocate_section): Likewise.
1755         * elf32-arm.c (elf32_arm_relocate_section): Likewise.
1756         * elf32-avr.c (elf32_avr_relocate_section): Likewise.
1757         * elf32-bfin.c (bfin_relocate_section): Likewise.
1758         (bfinfdpic_relocate_section): Likewise.
1759         * elf32-cr16.c (elf32_cr16_relocate_section): Likewise.
1760         * elf32-cris.c (cris_elf_relocate_section): Likewise.
1761         * elf32-crx.c (elf32_crx_relocate_section): Likewise.
1762         * elf32-csky.c (csky_elf_relocate_section): Likewise.
1763         * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
1764         * elf32-epiphany.c (epiphany_elf_relocate_section): Likewise.
1765         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
1766         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1767         * elf32-ft32.c (ft32_elf_relocate_section): Likewise.
1768         * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
1769         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1770         * elf32-i386.c (elf_i386_relocate_section): Likewise.
1771         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1772         * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1773         * elf32-lm32.c (lm32_elf_relocate_section): Likewise.
1774         * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
1775         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
1776         * elf32-m68hc1x.c (elf32_m68hc11_relocate_section): Likewise.
1777         * elf32-m68hc1x.h (elf32_m68hc11_relocate_section): Likewise.
1778         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1779         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
1780         * elf32-mep.c (mep_elf_relocate_section): Likewise.
1781         * elf32-metag.c (elf_metag_relocate_section): Likewise.
1782         * elf32-microblaze.c (microblaze_elf_relocate_section): Likewise.
1783         * elf32-moxie.c (moxie_elf_relocate_section): Likewise.
1784         * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
1785         * elf32-mt.c (mt_elf_relocate_section): Likewise.
1786         * elf32-nds32.c (nds32_elf_relocate_section): Likewise.
1787         * elf32-nios2.c (nios2_elf32_relocate_section): Likewise.
1788         * elf32-or1k.c (or1k_elf_relocate_section): Likewise.
1789         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1790         * elf32-pru.c (pru_elf32_relocate_section): Likewise.
1791         * elf32-rl78.c (rl78_elf_relocate_section): Likewise.
1792         * elf32-rx.c (rx_elf_relocate_section): Likewise.
1793         * elf32-s390.c (elf_s390_relocate_section): Likewise.
1794         * elf32-score.c (s3_bfd_score_elf_relocate_section): Likewise.
1795         (_bfd_score_elf_relocate_section): Likewise.
1796         * elf32-score.h (s7_bfd_score_elf_relocate_section): Likewise.
1797         * elf32-score7.c (s7_bfd_score_elf_relocate_section): Likewise.
1798         * elf32-sh.c (sh_elf_relocate_section): Likewise.
1799         * elf32-tic6x.c (elf32_tic6x_relocate_section): Likewise.
1800         * elf32-tilepro.c (tilepro_elf_relocate_section): Likewise.
1801         * elf32-v850.c (v850_elf_relocate_section): Likewise.
1802         * elf32-vax.c (elf_vax_relocate_section): Likewise.
1803         * elf32-visium.c (visium_elf_relocate_section): Likewise.
1804         * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
1805         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
1806         * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
1807         * elf32-z80.c (z80_elf_relocate_section): Likewise.
1808         * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
1809         (elf64_alpha_relocate_section): Likewise.
1810         * elf64-bpf.c (bpf_elf_relocate_section): Likewise.
1811         * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
1812         * elf64-ia64-vms.c (elf64_ia64_relocate_section): Likewise.
1813         * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
1814         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1815         * elf64-s390.c (elf_s390_relocate_section): Likewise.
1816         * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise.
1817         * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Likewise.
1818         * elfnn-ia64.c (elfNN_ia64_relocate_section): Likewise.
1819         * elfnn-riscv.c (riscv_elf_relocate_section): Likewise.
1820         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
1821         * elfxx-mips.h (_bfd_mips_elf_relocate_section): Likewise.
1822         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
1823         * elfxx-sparc.h (_bfd_sparc_elf_relocate_section): Likewise.
1824         * elfxx-tilegx.c (tilegx_elf_relocate_section): Likewise.
1825         * elfxx-tilegx.h (tilegx_elf_relocate_section): Likewise.
1827 2021-03-26  Keith Seitz  <keiths@redhat.com>
1829         * elfcore.h (_bfd_elf_core_find_build_id): Seek file
1830         offset of program headers after calling elf_read_notes.
1832 2021-03-23  Jan Beulich  <jbeulich@suse.com>
1834         * dwarf2.c (read_indexed_string): Rename index to idx.
1836 2021-03-22  Martin Liska  <mliska@suse.cz>
1838         * bfd-in.h (startswith): Add startswith function.
1839         (CONST_STRNEQ): Remove.
1840         * bfd-in2.h (startswith): Regenerate with make headers.
1841         * archive.c (bfd_slurp_armap): Replace usage of CONST_STRNEQ with startswith.
1842         (_bfd_slurp_extended_name_table): Likewise.
1843         * archive64.c (_bfd_archive_64_bit_slurp_armap): Likewise.
1844         * bfd.c (bfd_get_sign_extend_vma): Likewise.
1845         (bfd_convert_section_size): Likewise.
1846         (bfd_convert_section_contents): Likewise.
1847         * coff-stgo32.c (go32exe_create_stub): Likewise.
1848         (go32exe_check_format): Likewise.
1849         * coffcode.h (styp_to_sec_flags): Likewise.
1850         (GNU_DEBUGALTLINK): Likewise.
1851         * coffgen.c (_bfd_coff_section_already_linked): Likewise.
1852         (coff_gc_sweep): Likewise.
1853         (bfd_coff_gc_sections): Likewise.
1854         * cofflink.c (coff_link_add_symbols): Likewise.
1855         (process_embedded_commands): Likewise.
1856         * compress.c (bfd_is_section_compressed_with_header): Likewise.
1857         (bfd_init_section_decompress_status): Likewise.
1858         * dwarf2.c (find_debug_info): Likewise.
1859         (place_sections): Likewise.
1860         * ecoff.c (_bfd_ecoff_slurp_armap): Likewise.
1861         * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
1862         * elf.c (_bfd_elf_make_section_from_shdr): Likewise.
1863         (assign_section_numbers): Likewise.
1864         (elfcore_grok_win32pstatus): Likewise.
1865         * elf32-arm.c (cmse_scan): Likewise.
1866         (elf32_arm_gc_mark_extra_sections): Likewise.
1867         (elf32_arm_size_dynamic_sections): Likewise.
1868         (is_arm_elf_unwind_section_name): Likewise.
1869         * elf32-bfin.c (bfin_size_dynamic_sections): Likewise.
1870         * elf32-cr16.c (_bfd_cr16_elf_size_dynamic_sections): Likewise.
1871         * elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
1872         * elf32-csky.c (csky_elf_size_dynamic_sections): Likewise.
1873         * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
1874         * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
1875         * elf32-lm32.c (lm32_elf_size_dynamic_sections): Likewise.
1876         * elf32-m32r.c (m32r_elf_size_dynamic_sections): Likewise.
1877         * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
1878         * elf32-metag.c (elf_metag_size_dynamic_sections): Likewise.
1879         * elf32-msp430.c (msp430_elf_relax_delete_bytes): Likewise.
1880         * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Likewise.
1881         * elf32-or1k.c (or1k_elf_size_dynamic_sections): Likewise.
1882         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
1883         * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
1884         * elf32-score.c (s3_bfd_score_elf_size_dynamic_sections): Likewise.
1885         * elf32-score7.c (s7_bfd_score_elf_size_dynamic_sections): Likewise.
1886         * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
1887         * elf32-tic6x.c (is_tic6x_elf_unwind_section_name): Likewise.
1888         (elf32_tic6x_size_dynamic_sections): Likewise.
1889         * elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
1890         * elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
1891         (xtensa_is_insntable_section): Likewise.
1892         (xtensa_is_littable_section): Likewise.
1893         (xtensa_is_proptable_section): Likewise.
1894         (xtensa_property_section_name): Likewise.
1895         (xtensa_callback_required_dependence): Likewise.
1896         * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
1897         * elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
1898         * elf64-ia64-vms.c (is_unwind_section_name): Likewise.
1899         (get_reloc_section): Likewise.
1900         (elf64_ia64_size_dynamic_sections): Likewise.
1901         (elf64_ia64_object_p): Likewise.
1902         * elf64-mmix.c (mmix_elf_add_symbol_hook): Likewise.
1903         * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise.
1904         * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
1905         * elflink.c (elf_link_add_object_symbols): Likewise.
1906         (_bfd_elf_gc_mark_extra_sections): Likewise.
1907         (bfd_elf_parse_eh_frame_entries): Likewise.
1908         (_bfd_elf_section_already_linked): Likewise.
1909         * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Likewise.
1910         * elfnn-ia64.c (is_unwind_section_name): Likewise.
1911         (elfNN_ia64_size_dynamic_sections): Likewise.
1912         (elfNN_ia64_object_p): Likewise.
1913         * elfxx-mips.c (FN_STUB_P): Likewise.
1914         (CALL_STUB_P): Likewise.
1915         (CALL_FP_STUB_P): Likewise.
1916         (_bfd_mips_elf_section_from_shdr): Likewise.
1917         (_bfd_mips_elf_fake_sections): Likewise.
1918         (_bfd_mips_elf_size_dynamic_sections): Likewise.
1919         (_bfd_mips_final_write_processing): Likewise.
1920         (_bfd_mips_elf_final_link): Likewise.
1921         * elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
1922         * elfxx-x86.c (elf_i386_is_reloc_section): Likewise.
1923         (elf_x86_64_is_reloc_section): Likewise.
1924         * hpux-core.c (thread_section_p): Likewise.
1925         * libcoff.h (bfd_pei_p): Likewise.
1926         * linker.c (REAL): Likewise.
1927         (unwrap_hash_lookup): Likewise.
1928         (_bfd_generic_link_add_one_symbol): Likewise.
1929         * mmo.c (mmo_internal_write_section): Likewise.
1930         * osf-core.c (osf_core_core_file_p): Likewise.
1931         * pef.c (bfd_pef_print_symbol): Likewise.
1932         * pei-x86_64.c (pex64_print_all_pdata_sections): Likewise.
1933         * som.c (som_slurp_symbol_table): Likewise.
1934         (som_slurp_armap): Likewise.
1935         * wasm-module.c (wasm_compute_custom_section_file_position): Likewise.
1937 2021-03-22  Jan Beulich  <jbeulich@suse.com>
1939         * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Add missing
1940         language translation wrapping to _bfd_error_handler()
1941         invocations.
1943 2021-03-21  Alan Modra  <amodra@gmail.com>
1945         * bfd-in.h (startswith): New inline.
1946         (CONST_STRNEQ): Use startswith.
1947         * bfd-in2.h: Regenerate.
1949 2021-03-20  Alan Modra  <amodra@gmail.com>
1951         PR 27590
1952         * elf.c (_bfd_elf_make_section_from_shdr): Remove SHF_EXCLUDE
1953         test for .gnu.debuglto*.
1955 2021-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1957         PR ld/27590
1958         * elf.c (_bfd_elf_make_section_from_shdr): Treat
1959         .gnu.debuglto_.debug_ section as debugging section unless it is
1960         marked with SHF_EXCLUDE.
1961         * elflink.c (elf_create_symbuf): Revert commit 994b2513281.
1962         (bfd_elf_match_symbols_in_sections): Ignore section symbols when
1963         matching non-debugging sections or linkonce section with comdat
1964         section.
1966 2021-03-18  H.J. Lu  <hongjiu.lu@intel.com>
1968         PR ld/27587
1969         * dwarf2.c (read_attribute_value): Check version >= 3 for
1970         DW_FORM_ref_addr.
1972 2021-03-16  Nick Clifton  <nickc@redhat.com>
1974         * peXXigen.c (_bfd_XXi_swap_aux_out): Avoid potential buffer
1975         overrun by using sizeof of the destination x_fname field as the
1976         limit for a memcpy.
1978 2021-03-16  Kuan-Lin Chen  <kuanlinchentw@gmail.com>
1980         * elfxx-riscv.c (riscv_std_z_ext_strtab): Add zba, zbb and zbc.
1982 2021-03-12  Clément Chigot  <clement.chigot@atos.net>
1984         * reloc.c (BFD_RELOC_PPC_TLS_LE, BFD_RELOC_PPC_TLS_IE,
1985         BFD_RELOC_PPC_TLS_M, BFD_RELOC_PPC_TLS_ML, BFD_RELOC_PPC64_TLS_GD,
1986         BFD_RELOC_PPC64_TLS_LD, BFD_RELOC_PPC64_TLS_LE,
1987         BFD_RELOC_PPC64_TLS_IE, BFD_RELOC_PPC64_TLS_M,
1988         BFD_RELOC_PPC64_TLS_ML): New relocations.
1989         * bfd-in2.h: Regenerate.
1990         * libbfd.h: Regenerate.
1991         * coff-rs6000.c (xcoff_calculate_relocation): Call
1992         xcoff_reloc_type_tls for TLS relocations.
1993         (xcoff_howto_table): Implement TLS relocations.
1994         (_bfd_xcoff_reloc_type_lookup): Add cases TLS relocations.
1995         (xcoff_reloc_type_tls): New function.
1996         * coff64-rs6000.c (xcoff_calculate_relocation): Likewise.
1997         (xcoff_howto_table): Likewise.
1998         (_bfd_xcoff_reloc_type_lookup): Likewise.
1999         * coffcode.h (sec_to_styp_flags): Handle TLS sections.
2000         (styp_to_sec_flags): Likewise.
2001         (coff_compute_section_file_positions): Avoid file offset
2002         optimisation for .data when the previous section is .tdata.
2003         (coff_write_object_contents): Handle TLS sections.
2004         * coffswap.h (coff_swap_aouthdr_out): Add support for
2005         new fields in aouthdr.
2006         * libxcoff.h (xcoff_reloc_type_tls): Add prototype.
2007         * xcofflink.c (xcoff_link_add_symbols): Handle XMC_UL.
2008         (xcoff_need_ldrel_p): Add cases for TLS relocations.
2009         (xcoff_create_ldrel): Add l_symndx for TLS sections.
2011 2021-03-12  Clément Chigot  <clement.chigot@atos.net>
2013         * reloc.c (BFD_RELOC_PPC_TOC16_HI, BFD_RELOC_PPC_TOC16_LO):
2014         New relocations.
2015         * bfd-in2.h: Regenerate.
2016         * libbfd.h: Regenerate.
2017         * coff-rs6000.c (xcoff_calculate_relocation): Call
2018         xcoff_reloc_type_toc for R_TOCU and R_TOCL.
2019         (xcoff_howto_table): Remove src_mask for TOC relocations.
2020         Add R_TOCU and R_TOCL howtos.
2021         (_bfd_xcoff_reloc_type_lookup): Add cases for
2022         BFD_RELOC_PPC_TOC16_HI and BFD_RELOC_PPC_TOC16_LO.
2023         (xcoff_reloc_type_toc): Compute the whole offset.
2024         Implement R_TOCU and R_TOCL.
2025         * coff64-rs6000.c (xcoff64_calculate_relocation):
2026         Likewise.
2027         (xcoff64_howto_table): Likewise.
2028         (xcoff64_reloc_type_lookup): Likewise.
2030 2021-03-12  Clément Chigot  <clement.chigot@atos.net>
2032         * coff-rs6000.c (xcoff_calculate_relocation): Correct and
2033         add new relocations.
2034         (xcoff_howto_table): Likewise.
2035         (xcoff_rtype2howto): Increase r_type maximum value.
2036         (xcoff_ppc_relocate_section): Reuse predefined HOWTOs instead
2037         of create a new one from scratch.  Enable only some relocations
2038         to have a changing r_size.
2039         * coff64-rs6000.c (xcoff64_calculate_relocation): Likewise.
2040         (xcoff64_howto_table): Likewise.
2041         (xcoff64_rtype2howto): Likewise.
2042         (xcoff64_ppc_relocate_section): Likewise.
2043         * libxcoff.h (XCOFF_MAX_CALCULATE_RELOCATION): Fix value.
2045 2021-03-12  Clément Chigot  <clement.chigot@atos.net>
2047         * coff64-rs6000.c (xcoff64_ppc_relocate_section): Move.
2049 2021-03-12  Clément Chigot  <clement.chigot@atos.net>
2051         * coff64-rs6000.c (xcoff64_write_object_contents): Remove.
2052         * coffcode.h (coff_write_object_contents): Add bfd_mach_ppc_620
2053         support for o_cputype field.  Avoid creating an empty a.out header
2054         for XCOFF64.
2056 2021-03-12  Clément Chigot  <clement.chigot@atos.net>
2058         * coff64-rs6000.c (xcoff64_create_csect_from_smclas): Add
2059         missing smclass.
2061 2021-03-11  Nelson Chu  <nelson.chu@sifive.com>
2063         * elfnn-riscv.c (riscv_elf_link_hash_table): New boolean
2064         restart_relax, used to check if we need to run the whole
2065         relaxations from relax pass 0 to 2 again.
2066         (riscv_elf_link_hash_table_create): Init restart_relax to FALSE.
2067         (_bfd_riscv_relax_align): Remove obsolete sec_flg0 set.
2068         (_bfd_riscv_relax_delete): Set again to TRUE if we do delete the code.
2069         (bfd_elfNN_riscv_restart_relax_sections): New function.  Called by
2070         after_allocation to check if we need to run the whole relaxations again.
2071         (_bfd_riscv_relax_section): We will only enter into the relax pass 3
2072         when the restart_relax is FALSE; At last set restart_relax to TRUE if
2073         again is TRUE, too.
2074         * elfxx-riscv.h (bfd_elf32_riscv_restart_relax_sections): Declaration.
2075         (bfd_elf64_riscv_restart_relax_sections): Likewise.
2077 2021-03-10  Jan Beulich  <jbeulich@suse.com>
2079         * cofflink.c (_bfd_coff_write_global_sym): Range-check symbol
2080         offset.
2082 2021-03-10  Alan Modra  <amodra@gmail.com>
2083             Jan Beulich  <jbeulich@suse.com>
2085         * elf.c (bfd_elf_generic_reloc): Make references between debug
2086         sections use section relative values.
2088 2021-03-09  Jan Beulich  <jbeulich@suse.com>
2090         * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Diagnose out of range RVA.
2092 2021-03-05  H.J. Lu  <hongjiu.lu@intel.com>
2094         PR ld/27425
2095         PR ld/27432
2096         * bfd.c (_bfd_get_link_info): New function.
2097         * elf-bfd.h (output_elf_obj_tdata): Add link_info.
2098         (elf_link_info): New.
2099         * libbfd-in.h (_bfd_get_link_info): New prototype.
2100         * coff-x86_64.c (coff_amd64_reloc): Also subtract __ImageBase for
2101         R_AMD64_IMAGEBASE when generating x86-64 ELF executable.
2102         * pe-x86_64.c: Include "coff/internal.h" and "libcoff.h".
2103         (pex64_link_add_symbols): New function.
2104         (coff_bfd_link_add_symbols): New macro.
2105         * libbfd.h: Regenerated.
2107 2021-03-05  Craig Blackmore  <craig.blackmore@embecosm.com>
2108             Andrew Burgess  <andrew.burgess@embecosm.com>
2110         * elf-bfd.h (elfcore_write_riscv_csr): Declare.
2111         * elf.c (elfcore_grok_riscv_csr): New function.
2112         (elfcore_grok_note): Handle NT_RISCV_CSR.
2113         (elfcore_write_riscv_csr): New function.
2114         (elfcore_write_register_note): Handle '.reg-riscv-csr'.
2116 2021-03-05  Craig Blackmore  <craig.blackmore@embecosm.com>
2117             Andrew Burgess  <andrew.burgess@embecosm.com>
2119         * elfnn-riscv.c (PRPSINFO_PR_FNAME_LENGTH): Define.
2120         (PRPSINFO_PR_PSARGS_LENGTH): Define.
2121         (riscv_write_core_note): New function.
2122         (riscv_elf_grok_psinfo): Make use of two new length defines.
2123         (elf_backend_write_core_note): Define.
2125 2021-03-05  Craig Blackmore  <craig.blackmore@embecosm.com>
2126             Andrew Burgess  <andrew.burgess@embecosm.com>
2128         * elf-bfd.h (elfcore_write_gdb_tdesc): Declare new function.
2129         * elf.c (elfcore_grok_gdb_tdesc): New function.
2130         (elfcore_grok_note): Handle NT_GDB_TDESC.
2131         (elfcore_write_gdb_tdesc): New function.
2132         (elfcore_write_register_note): Handle NT_GDB_TDESC.
2134 2021-03-05  Nick Clifton  <nickc@redhat.com>
2136         PR 27521
2137         * dwarf2.c (is_str_attr): Add DW_FORM_strx* forms.
2138         (read_indexed_string): Placeholder function.
2139         (read_attribute_value): Handle DW_FORM_strx* and DW_FORM_addrx*
2140         forms.
2142 2021-03-05  Alan Modra  <amodra@gmail.com>
2144         * reloc.c (bfd_perform_relocation): Revert 2021-01-12 and
2145         2020-09-16 changes.
2146         * coff-x86_64.c (coff_amd64_reloc): Do more or less the same
2147         adjustments here instead.  Separate pc-relative adjustments
2148         from symbol related adjustments.  Tidy comments and formatting.
2150 2021-03-04  Jan Beulich  <jbeulich@suse.com>
2152         * coffcode.h (sec_to_styp_flags): Don't set IMAGE_SCN_LNK_* in
2153         final PE images.
2155 2021-03-04  Alan Modra  <amodra@gmail.com>
2157         * rs6000-core.c (rs6000coff_core_p): Correct prototype.
2159 2021-03-03  Alan Modra  <amodra@gmail.com>
2161         PR 27500
2162         * elflink.c (_bfd_elf_gc_mark_rsec): Do special start/stop
2163         processing not when start/stop symbol section is unmarked but
2164         on first time a start/stop symbol is processed.
2166 2021-03-03  Alan Modra  <amodra@gmail.com>
2168         * reloc.c: Include x86_64.h rather than internal.h.
2170 2021-03-02  Nick Clifton  <nickc@redhat.com>
2172         PR 27484
2173         * dwarf2.c (scan_unit_for_symbols): Scan twice, once to accumulate
2174         function and variable tags and a second time to resolve their
2175         attributes.
2177 2021-03-02  Nick Alcock  <nick.alcock@oracle.com>
2179         * elf-strtab.c (_bfd_elf_strtab_str): Skip strings with zero refcount.
2181 2021-03-02  Alan Modra  <amodra@gmail.com>
2183         PR 27451
2184         * elf64-ppc.c (ppc64_elf_gc_mark_dynamic_ref): Ignore synthesized
2185         linker defined start/stop symbols when start_stop_gc.
2187 2021-03-02  Alan Modra  <amodra@gmail.com>
2189         * elf64-ppc.c (ppc64_elf_relocate_section): Don't optimise got
2190         indirect to pc-relative or toc-relative for undefined symbols.
2192 2021-03-01  Alan Modra  <amodra@gmail.com>
2193             Fangrui Song <maskray@google.com>
2195         * elflink.c (_bfd_elf_gc_mark_rsec): Ignore synthesized linker
2196         defined start/stop symbols when start_stop_gc.
2197         (bfd_elf_gc_mark_dynamic_ref_symbol): Likewise.
2198         (bfd_elf_define_start_stop): Don't modify ldscript_def syms.
2199         * linker.c (bfd_generic_define_start_stop): Likewise.
2201 2021-02-25  Alan Modra  <amodra@gmail.com>
2203         PR 27441
2204         * elf-bfd.h (struct elf_link_hash_entry): Add ref_ir_nonweak.
2205         * elflink.c (elf_link_add_object_symbols): Set ref_ir_nonweak and
2206         use when deciding an as-needed library should be loaded instead
2207         of using the binding of the library definition.
2209 2021-02-24  Alan Modra  <amodra@gmail.com>
2211         PR 27459
2212         * coff-stgo32.c (go32exe_check_format): Sanity check size of
2213         header to avoid a buffer overflow.
2215 2021-02-22  Alan Modra  <amodra@gmail.com>
2217         * coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Remove BFD_RELOC_16.
2218         * coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.
2220 2021-02-19  Nelson Chu  <nelson.chu@sifive.com>
2222         PR 27158
2223         * elfnn-riscv.c (perform_relocation): Updated encoding macros.
2224         (_bfd_riscv_relax_call): Likewise.
2225         (_bfd_riscv_relax_lui): Likewise.
2226         * elfxx-riscv.c (howto_table): Likewise.
2228 2021-02-18  Nelson Chu  <nelson.chu@sifive.com>
2230         * Makefile.am: Added cpu-riscv.h.
2231         * Makefile.in: Regenerated.
2232         * po/SRC-POTFILES.in: Regenerated.
2233         * cpu-riscv.h: Added to support spec versions controlling.
2234         Also added extern arrays and functions for cpu-riscv.c.
2235         (enum riscv_spec_class): Define all spec classes here uniformly.
2236         (struct riscv_spec): Added for all specs.
2237         (RISCV_GET_SPEC_CLASS): Added to reduce repeated code.
2238         (RISCV_GET_SPEC_NAME): Likewise.
2239         (RISCV_GET_ISA_SPEC_CLASS): Added to get ISA spec class.
2240         (RISCV_GET_PRIV_SPEC_CLASS): Added to get privileged spec class.
2241         (RISCV_GET_PRIV_SPEC_NAME): Added to get privileged spec name.
2242         * cpu-riscv.c (struct priv_spec_t): Replaced with struct riscv_spec.
2243         (riscv_get_priv_spec_class): Replaced with RISCV_GET_PRIV_SPEC_CLASS.
2244         (riscv_get_priv_spec_name): Replaced with RISCV_GET_PRIV_SPEC_NAME.
2245         (riscv_priv_specs): Moved below.
2246         (riscv_get_priv_spec_class_from_numbers): Likewise, updated.
2247         (riscv_isa_specs): Moved from include/opcode/riscv.h.
2248         * elfnn-riscv.c: Included cpu-riscv.h.
2249         (riscv_merge_attributes): Initialize in_priv_spec and out_priv_spec.
2250         * elfxx-riscv.c: Included cpu-riscv.h and opcode/riscv.h.
2251         (RISCV_UNKNOWN_VERSION): Moved from include/opcode/riscv.h.
2252         * elfxx-riscv.h: Removed extern functions to cpu-riscv.h.
2254 2021-02-17  Alan Modra  <amodra@gmail.com>
2256         * wasm-module.c: Guard include of limits.h.
2257         (CHAR_BIT): Provide backup define.
2258         (wasm_read_leb128): Use CHAR_BIT to size "result" in bits.
2259         Correct signed overflow checking.
2261 2021-02-17  Nelson Chu  <nelson.chu@sifive.com>
2263         PR 27200
2264         * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Delay
2265         copying the elf flags from input BFD to output BFD, until we have
2266         checked if the input BFD has no code section or not.  Also fix the
2267         problem that we only check the first section rather than the entire
2268         sections for input BFD.
2270 2021-02-16  Alan Modra  <amodra@gmail.com>
2272         * libbfd.c (_bfd_read_unsigned_leb128): Avoid excessive shift.
2273         (_bfd_safe_read_leb128, _bfd_read_signed_leb128): Likewise.
2275 2021-02-15  Jan Beulich  <jbeulich@suse.com>
2277         * doc/Makefile.am: Replace "cp -p" by "$(LN_S)".
2278         * doc/Makefile.in: Re-generate.
2280 2021-02-15  Alan Modra  <amodra@gmail.com>
2282         * elf32-nds32.c (nds32_get_section_contents): Replace
2283         bfd_malloc_and_get_section with bfd_get_full_section_contents.
2284         (nds32_elf_relax_delete_blanks): Init contents.
2285         (nds32_elf_relax_section, nds32_relax_fp_as_gp): Likewise.
2287 2021-02-15  Alan Modra  <amodra@gmail.com>
2289         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Use
2290         bfd_get_full_section_contents.
2292 2021-02-14  Alan Modra  <amodra@gmail.com>
2294         * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Apply
2295         all fixes to bfd_generic_get_relocated_section_contents since this
2296         function was split out.
2298 2021-02-11  Alan Modra  <amodra@gmail.com>
2300         * config.bfd: Remove ia64 from obsolete list.
2302 2021-02-11  Alan Modra  <amodra@gmail.com>
2304         PR ld/22269
2305         * elfnn-ia64.c: Revert 2017-10-14 git commit db41f6eb5234.
2307 2021-02-11  Alan Modra  <amodra@gmail.com>
2309         PR 27294
2310         * elf32-avr.c (avr_elf32_load_records_from_section): Use
2311         bfd_malloc_and_get_section.  Use bfd_byte* vars and remove then
2312         unnecessary casts.
2314 2021-02-11  Alan Modra  <amodra@gmail.com>
2316         PR 27291
2317         * section.c (bfd_get_section_contents): Avoid possible overflow
2318         when range checking offset and count.
2319         (bfd_set_section_contents): Likewise.
2321 2021-02-03  Nick Alcock  <nick.alcock@oracle.com>
2323         * configure.ac (SHARED_LIBADD): Remove explicit -lintl population in
2324         favour of LIBINTL.
2325         * configure: Regenerated.
2327 2021-02-09  Alan Modra  <amodra@gmail.com>
2329         * config.bfd (arm*-*-symbianelf*): Move from obsolete to removed.
2330         * configure.ac: Delete symbian entries.
2331         * elf-bfd.h (enum elf_target_os): Delete is_symbian.
2332         * elf32-arm.c: Remove symbian support.  Formatting.
2333         * targets.c: Delete symbian entries.
2334         * configure: Regenerate.
2336 2021-02-04  H.J. Lu  <hongjiu.lu@intel.com>
2338         PR ld/19609
2339         * elf64-x86-64.c (elf_x86_64_relocate_section): Provide more
2340         info when failed to convert GOTPCREL relocation.
2342 2021-02-04  Nelson Chu  <nelson.chu@sifive.com>
2344         * elfxx-riscv.c (riscv_parse_prefixed_ext): Removed zb*.
2346 2021-02-04  Alan Modra  <amodra@gmail.com>
2348         PR 27311
2349         * elflink.c (elf_link_add_object_symbols): Don't pull in as-needed
2350         libraries for IR references on pass over libraries after LTO
2351         recompilation.
2353 2021-02-03  Alan Modra  <amodra@gmail.com>
2355         PR 27311
2356         * elflink.c (_bfd_elf_add_default_symbol): Revert last two changes.
2357         (elf_link_add_object_symbols): Here too.  Don't pull in as-needed
2358         libraries when H is an indirect symbol after calling
2359         _bfd_elf_add_default_symbol.
2361 2021-02-03  Alan Modra  <amodra@gmail.com>
2363         PR 27311
2364         * elflink.c (_bfd_elf_add_default_symbol): Clear override when
2365         undecorated symbol will have a different version.
2367 2021-02-02  Alan Modra  <amodra@gmail.com>
2369         PR 27311
2370         * elflink.c (_bfd_elf_add_default_symbol): Add override parameter.
2371         Use when handling default versioned symbol.  Rename existing
2372         override variable to nondef_override and use for non-default
2373         versioned symbol.
2374         (elf_link_add_object_symbols): Adjust call to suit.  Don't
2375         pull in as-needed libraries when override is set.
2377 2021-02-01  Emery Hemingway  <ehmry@posteo.net>
2379         * config.bfd: Add *-*-genode* as a target for AArch64 and x86.
2381 2021-02-01  Egor Vishnyakov  <lenvampir@yandex.ru>
2383         PR 27254
2384         * elf32-rl78.c (rl78_elf_relocate_section): Fix calculation of
2385         offset for the R_RL78_RH_SADDR relocation.
2387 2021-01-29  Alan Modra  <amodra@gmail.com>
2389         PR 27271
2390         * elflink.c (bfd_elf_link_record_dynamic_symbol): Don't segfault
2391         on symbols defined in absolute or other special sections.
2393 2021-01-28  Alan Modra  <amodra@gmail.com>
2395         PR 27259
2396         * elflink.c (_bfd_elf_gc_mark_extra_sections): Use linker_mark to
2397         prevent endless looping of linked-to sections.
2399 2020-12-17  Mihails Strasuns  <mihails.strasuns@intel.com>
2401         * bfd-elf.h (elfcore_write_file_note): New function.
2402         * elf.c (elfcore_write_file_note): New function.
2404 2021-01-26  Alan Modra  <amodra@gmail.com>
2406         * elf32-ft32.c (ft32_reloc_type_lookup): Don't miss ft32_reloc_map[0].
2408 2021-01-24  H.J. Lu  <hongjiu.lu@intel.com>
2410         PR binutils/27231
2411         * dwarf2.c (read_rnglists): Ignore empty range when parsing line
2412         number tables.
2414 2021-01-23  H.J. Lu  <hongjiu.lu@intel.com>
2416         PR binutils/27231
2417         * dwarf2.c (read_rnglists): Advance rngs_ptr after
2418         _bfd_safe_read_leb128 when parsing DW_RLE_offset_pair.
2420 2021-01-20  Alan Modra  <amodra@gmail.com>
2422         * elf32-ppc.c: Delete outdated comment.
2423         (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): Define.
2424         * elf64-ppc.c (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): Define.
2426 2021-01-20  Alan Modra  <amodra@gmail.com>
2428         * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't assume
2429         section symbols are present.
2431 2021-01-19  Alan Modra  <amodra@gmail.com>
2433         * elf64-ppc.c (elf_hash_entry): New inline function.  Use
2434         throughout to replace casts.
2435         (branch_reloc_hash_match): Remove const from params.
2436         (use_local_plt): New function.
2437         (allocate_dynrelocs, ppc_build_one_stub, ppc_size_one_stub),
2438         (build_global_entry_stubs_and_plt, ppc64_elf_relocate_section):
2439         Use use_local_plt.
2440         * elf32-ppc.c (use_local_plt): New function.
2441         (allocate_dynrelocs, ppc_elf_relocate_section),
2442         (write_global_sym_plt): Use use_local_plt.
2444 2021-01-17  H.J. Lu  <hongjiu.lu@intel.com>
2446         PR ld/27193
2447         * elflink.c (elf_create_symbuf): Also ignore section symbols.
2449 2021-01-16  H.J. Lu  <hongjiu.lu@intel.com>
2451         PR ld/23169
2452         * elfxx-x86.c (_bfd_x86_elf_link_fixup_ifunc_symbol): Don't
2453         check pointer_equality_needed.
2455 2021-01-15  H.J. Lu  <hongjiu.lu@intel.com>
2457         * elf-linker-x86.h (elf_linker_x86_params): Add
2458         report_relative_reloc.
2459         * elf32-i386.c (elf_i386_relocate_section): Call
2460         _bfd_x86_elf_link_report_relative_reloc to report relative
2461         relocations for -z report-relative-reloc.
2462         (elf_i386_finish_dynamic_symbol): Likewse.
2463         * elf64-x86-64.c (elf_x86_64_relocate_section): Likewse.
2464         (elf_x86_64_finish_dynamic_symbol): Likewse.
2465         * elfxx-x86.c (_bfd_x86_elf_link_report_relative_reloc): New
2466         function.
2467         * elfxx-x86.h (_bfd_x86_elf_link_report_relative_reloc): New
2468         prototype.
2470 2021-01-16  Alan Modra  <amodra@gmail.com>
2472         * compress.c (decompress_contents): Tidy inflateEnd result test.
2474 2021-01-16  Alan Modra  <amodra@gmail.com>
2476         PR 26002
2477         * elflink.c (elf_link_output_extsym): Use version 1 in
2478         .gnu.version for undefined unversioned symbols.
2480 2021-01-15  Nelson Chu  <nelson.chu@sifive.com>
2482         * elfnn-riscv.c (riscv_relax_delete_bytes): Fixed the indent that
2483         caused the by previous commit accidentally.
2485 2021-01-15  Nelson Chu  <nelson.chu@sifive.com>
2487         * elfnn-riscv.c: Indent, labels and GNU coding standards tidy,
2488         also aligned the code.
2490 2021-01-15  Nelson Chu  <nelson.chu@sifive.com>
2492         * elfnn-riscv.c (riscv_merge_attributes): Fix typos of messages.
2494 2021-01-15  Nelson Chu  <nelson.chu@sifive.com>
2496         * elfnn-riscv.c: Comments tidy and improvement.
2497         * elfxx-riscv.c: Likewise.
2498         * elfxx-riscv.h: Likewise.
2500 2021-01-14  H.J. Lu  <hongjiu.lu@intel.com>
2502         PR ld/26688
2503         * elf32-bfin.c (bfinfdpic_relocate_section): Skip non SEC_ALLOC
2504         section for R_BFIN_FUNCDESC.
2506 2021-01-14  Nick Clifton  <nickc@redhat.com>
2508         * elf.c (elfcore_grok_win32pstatus): Check for a note type of 0.
2510 2021-01-13  Alan Modra  <amodra@gmail.com>
2512         * Makefile.in: Regenerate.
2513         * doc/Makefile.in: Regenerate.
2515 2021-01-13  Alan Modra  <amodra@gmail.com>
2517         PR 27160
2518         * section.c (struct bfd_section): Remove pattern field.
2519         (BFD_FAKE_SECTION): Adjust to suit.
2520         * bfd-in2.h: Regenerate.
2521         * elflink.c (compare_link_order, elf_fixup_link_order): Delete.
2522         (bfd_elf_final_link): Don't call elf_fixup_link_order.
2524 2021-01-12  H.J. Lu  <hongjiu.lu@intel.com>
2526         PR binutils/26792
2527         * configure.ac: Use GNU_MAKE_JOBSERVER.
2528         * aclocal.m4: Regenerated.
2529         * configure: Likewise.
2531 2021-01-12  H.J. Lu  <hongjiu.lu@intel.com>
2533         PR ld/27171
2534         * reloc.c (bfd_perform_relocation): Adjust R_AMD64_DIR64 and
2535         R_AMD64_DIR32 relocations for PE/x86-64 inputs.
2537 2021-01-11  H.J. Lu  <hongjiu.lu@intel.com>
2539         PR ld/27173
2540         * configure: Regenerated.
2542 2021-01-11  Nick Clifton  <nickc@redhat.com>
2544         * po/fr.po: Updated French translation.
2545         * po/pt.po: Updated Portuguese translation.
2546         * po/sr.po: Updated Serbian translation.
2547         * po/uk.po: Updated Ukranian translation.
2549 2021-01-09  H.J. Lu  <hongjiu.lu@intel.com>
2551         * configure: Regenerated.
2553 2021-01-09  H.J. Lu  <hongjiu.lu@intel.com>
2555         PR ld/27166
2556         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Handle
2557         -z lam-u48 and -z lam-u57.
2559 2021-01-09  Nick Clifton  <nickc@redhat.com>
2561         * version.m4: Change to 2.36.50.
2562         * configure: Regenerate.
2563         * po/bfd.pot: Regenerate.
2565 2021-01-09  Nick Clifton  <nickc@redhat.com>
2567         * 2.36 release branch crated.
2569 2021-01-08  H.J. Lu  <hongjiu.lu@intel.com>
2571         * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Also set
2572         LAM_U57 when setting LAM_U48.
2574 2021-01-08  H.J. Lu  <hongjiu.lu@intel.com>
2576         PR ld/26256
2577         PR ld/27160
2578         * elflink.c (elf_fixup_link_order): Verify that fixing up
2579         SHF_LINK_ORDER doesn't increase the output section size.
2581 2021-01-09  Alan Modra  <amodra@gmail.com>
2583         * configure: Regenerate.
2585 2021-01-07  Samuel Thibault  <samuel.thibault@gnu.org>
2587         * configure: Regenerate.
2589 2021-01-07  H.J. Lu  <hongjiu.lu@intel.com>
2591         PR 27109
2592         * aix386-core.c (core_aix386_vec): Initialize
2593         keep_unused_section_symbol to TARGET_KEEP_UNUSED_SECTION_SYMBOLS.
2594         * aout-target.h (MY (vec)): Likewise.
2595         * binary.c (binary_vec): Likewise.
2596         * cisco-core.c (core_cisco_be_vec): Likewise.
2597         (core_cisco_le_vec): Likewise.
2598         * coff-alpha.c (alpha_ecoff_le_vec): Likewise.
2599         * coff-i386.c (TARGET_SYM): Likewise.
2600         (TARGET_SYM_BIG): Likewise.
2601         * coff-ia64.c (TARGET_SYM): Likewise.
2602         * coff-mips.c (mips_ecoff_le_vec): Likewise.
2603         (mips_ecoff_be_vec): Likewise.
2604         (mips_ecoff_bele_vec): Likewise.
2605         * coff-rs6000.c (rs6000_xcoff_vec): Likewise.
2606         (powerpc_xcoff_vec): Likewise.
2607         * coff-sh.c (sh_coff_small_vec): Likewise.
2608         (sh_coff_small_le_vec): Likewise.
2609         * coff-tic30.c (tic30_coff_vec): Likewise.
2610         * coff-tic54x.c (tic54x_coff0_vec): Likewise.
2611         (tic54x_coff0_beh_vec): Likewise.
2612         (tic54x_coff1_vec): Likewise.
2613         (tic54x_coff1_beh_vec): Likewise.
2614         (tic54x_coff2_vec): Likewise.
2615         (tic54x_coff2_beh_vec): Likewise.
2616         * coff-x86_64.c (TARGET_SYM): Likewise.
2617         (TARGET_SYM_BIG): Likewise.
2618         * coff64-rs6000.c (rs6000_xcoff64_vec): Likewise.
2619         (rs6000_xcoff64_aix_vec): Likewise.
2620         * coffcode.h (CREATE_BIG_COFF_TARGET_VEC): Likewise.
2621         (CREATE_BIGHDR_COFF_TARGET_VEC): Likewise.
2622         (CREATE_LITTLE_COFF_TARGET_VEC): Likewise.
2623         * elfxx-target.h (TARGET_BIG_SYM): Likewise.
2624         (TARGET_LITTLE_SYM): Likewise.
2625         * hppabsd-core.c (core_hppabsd_vec): Likewise.
2626         * hpux-core.c (core_hpux_vec): Likewise.
2627         * i386msdos.c (i386_msdos_vec): Likewise.
2628         * ihex.c (ihex_vec): Likewise.
2629         * irix-core.c (core_irix_vec): Likewise.
2630         * mach-o-target.c (TARGET_NAME): Likewise.
2631         * mmo.c (mmix_mmo_vec): Likewise.
2632         * netbsd-core.c (core_netbsd_vec): Likewise.
2633         * osf-core.c (core_osf_vec): Likewise.
2634         * pdp11.c (MY (vec)): Likewise.
2635         * pef.c (pef_vec): Likewise.
2636         (pef_xlib_vec): Likewise.
2637         * plugin.c (plugin_vec): Likewise.
2638         * ppcboot.c (powerpc_boot_vec): Likewise.
2639         * ptrace-core.c (core_ptrace_vec): Likewise.
2640         * sco5-core.c (core_sco5_vec): Likewise.
2641         * som.c (hppa_som_vec): Likewise.
2642         * srec.c (srec_vec): Likewise.
2643         (symbolsrec_vec): Likewise.
2644         * tekhex.c (tekhex_vec): Likewise.
2645         * trad-core.c (core_trad_vec): Likewise.
2646         * verilog.c (verilog_vec): Likewise.
2647         * vms-alpha.c (alpha_vms_vec): Likewise.
2648         * vms-lib.c (alpha_vms_lib_txt_vec): Likewise.
2649         * wasm-module.c (wasm_vec): Likewise.
2650         * xsym.c (sym_vec): Likewise.
2651         * elf.c (ignore_section_sym): Return TRUE if BSF_SECTION_SYM_USED
2652         isn't set.
2653         (elf_map_symbols): Don't include ignored section symbols.
2654         * elfcode.h (elf_slurp_symbol_table): Also set
2655         BSF_SECTION_SYM_USED on STT_SECTION symbols.
2656         * elflink.c (bfd_elf_final_link): Generated section symbols only
2657         when emitting relocations or reqired.
2658         * elfxx-x86.h (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): New.
2659         * syms.c (BSF_SECTION_SYM_USED): New.
2660         * targets.c (TARGET_KEEP_UNUSED_SECTION_SYMBOLS): New.
2661         (bfd_target): Add keep_unused_section_symbols.
2662         (bfd_keep_unused_section_symbols): New.
2663         * bfd-in2.h: Regenerated.
2665 2021-01-07  Nick Clifton  <nickc@redhat.com>
2667         PR 25713
2668         * bfdio.c (_bfd_real_fopen): For Win32 convert relative paths to
2669         absolute paths and check to see if they are longer than MAX_PATH.
2671 2021-01-07  Philipp Tomsich  <prt@gnu.org>
2673         * elfxx-riscv.c (riscv_std_z_ext_strtab): Added zihintpause.
2675 2021-01-07  Claire Xenia Wolf  <claire@symbioticeda.com>
2676             Jim Wilson  <jimw@sifive.com>
2677             Andrew Waterman  <andrew@sifive.com>
2678             Maxim Blinov  <maxim.blinov@embecosm.com>
2679             Kito Cheng  <kito.cheng@sifive.com>
2680             Nelson Chu  <nelson.chu@sifive.com>
2682         * elfxx-riscv.c (riscv_std_z_ext_strtab): Added zba, zbb and zbc.
2684 2021-01-06  H.J. Lu  <hongjiu.lu@intel.com>
2686         * elf32-bfin.c (bfin_check_relocs): Check bfd_link_hash_indirect.
2687         (bfinfdpic_check_relocs): Likewise.
2689 2021-01-06  Alan Modra  <amodra@gmail.com>
2691         * elf32-score.c (s3_bfd_score_info_to_howto): Report an error
2692         on unknown r_type.
2693         * elf32-score7.c (s7_bfd_score_info_to_howto): Likewise.
2695 2021-01-06  Alan Modra  <amodra@gmail.com>
2697         * config.bfd (sparc-*-solaris2*): Add sparc_elf32_vec.
2698         (sparc64-*-solaris2*): Add sparc_elf64_vec and
2699         sparc_elf32_vec.
2701 2021-01-06  Marcus Comstedt  <marcus@mc.pp.se>
2703         * config.bfd: Added targets riscv64be*-*-*, riscv32be*-*-* and
2704         riscvbe*-*-*.  Also added riscv_elf[32|64]_be_vec.
2705         * configure.ac: Handle riscv_elf[32|64]_be_vec.
2706         * configure: Regenerate.
2707         * elfnn-riscv.c: Include <limits.h> and define CHAR_BIT for
2708         riscv_is_insn_reloc.
2709         (riscv_get_insn): RISC-V instructions are always little endian, but
2710         bfd_get may be used for big-endian, so add new riscv_get_insn to handle
2711         the insturctions.
2712         (riscv_put_insn): Likewsie.
2713         (riscv_is_insn_reloc): Check if we are relocaing an instruction.
2714         (perform_relocation): Call riscv_is_insn_reloc to decide if we should
2715         use riscv_[get|put]_insn or bfd_[get|put].
2716         (riscv_zero_pcrel_hi_reloc): Use riscv_[get|put]_insn, bfd_[get|put]l32
2717         or bfd_[get|put]l16 for code.
2718         (riscv_elf_relocate_section): Likewise.
2719         (riscv_elf_finish_dynamic_symbol): Likewise.
2720         (riscv_elf_finish_dynamic_sections): Likewise.
2721         (_bfd_riscv_relax_call): Likewise.
2722         (_bfd_riscv_relax_lui): Likewise.
2723         (_bfd_riscv_relax_align): Likewise.
2724         (_bfd_riscv_relax_pc): Likewise.
2725         (riscv_elf_object_p): Handled for big endian.
2726         (TARGET_BIG_SYM, TARGET_BIG_NAME): Defined.
2727         * targets.c: Add riscv_elf[32|64]_be_vec.
2728         (_bfd_target_vector): Likewise.
2730 2021-01-05  Alan Modra  <amodra@gmail.com>
2732         * elflink.c (bfd_elf_link_record_dynamic_symbol): Handle no_export
2733         for relocatable executable.
2735 2021-01-05  Alan Modra  <amodra@gmail.com>
2737         * vms-alpha.c (_bfd_vms_slurp_egsd): Read flags after size check.
2739 2021-01-05  Nelson Chu  <nelson.chu@sifive.com>
2741         * elfnn-riscv.c (allocate_dynrelocs): When we are generating pde,
2742         make sure gp symbol is output as a dynamic symbol.
2744 2021-01-04  H.J. Lu  <hongjiu.lu@intel.com>
2746         PR ld/26256
2747         * elflink.c (compare_link_order): Place unordered sections before
2748         ordered sections.
2749         (elf_fixup_link_order): Add a link info argument.  Allow mixed
2750         ordered and unordered input sections for non-relocatable link.
2751         Sort the consecutive bfd_indirect_link_order sections with the
2752         same pattern.  Change the offsets of the bfd_indirect_link_order
2753         sections only.
2754         (bfd_elf_final_link): Pass info to elf_fixup_link_order.
2755         * section.c (bfd_section): Add pattern.
2756         (BFD_FAKE_SECTION): Initialize pattern to NULL.
2757         * bfd-in2.h: Regenerated.
2759 2021-01-04  Alexander Fedotov  <alfedotov@gmail.com>
2761         * elf32-arm.c (elf32_arm_print_private_bfd_data): Prefix hex value
2762         of private flags with 0x.
2763         * elfnn-aarch64.c (elfNN_aarch64_print_private_bfd_data): Likewise.
2765 2021-01-04  Alan Modra  <amodra@gmail.com>
2767         PR 26822
2768         * elflink.c (elf_link_input_bfd): Use the file base name in
2769         linker generated STT_FILE symbols.
2771 2021-01-04  Nelson Chu  <nelson.chu@sifive.com>
2773         * elfxx-riscv.c (riscv_compare_subsets): Removed static.
2774         * elfxx-riscv.h: Add declaration.
2775         * elfnn-riscv.c (riscv_merge_multi_letter_ext): Use
2776         riscv_compare_subsets to check the orders.
2777         (riscv_skip_prefix): Removed.
2778         (riscv_prefix_cmp): Removed.
2780 2021-01-04  Alan Modra  <amodra@gmail.com>
2782         PR 26741
2783         * elfxx-riscv.c (riscv_parse_prefixed_ext): Free subset after
2784         calculating subset version length.
2786 2021-01-01  Nicolas Boulenguez  <nicolas@debian.org>
2788         * xcofflink.c: Correct spelling in comments.
2790 2021-01-01  Alan Modra  <amodra@gmail.com>
2792         Update year range in copyright notice of all files.
2794 For older changes see ChangeLog-2020
2796 Copyright (C) 2021-2023 Free Software Foundation, Inc.
2798 Copying and distribution of this file, with or without modification,
2799 are permitted in any medium without royalty provided the copyright
2800 notice and this notice are preserved.
2802 Local Variables:
2803 mode: change-log
2804 left-margin: 8
2805 fill-column: 74
2806 version-control: never
2807 End: