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