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