PR25197, assertion fail coffgen.c
[deliverable/binutils-gdb.git] / bfd / ChangeLog
... / ...
CommitLineData
12019-11-19 Alan Modra <amodra@gmail.com>
2
3 PR 25197
4 * coffgen.c (coff_find_nearest_line_with_names): Check that C_FILE
5 u.syment.n_value does point at another C_FILE sym and not into
6 some auxent that happens to look like a C_FILE. Properly check
7 for integer overflow and avoid possible pointer wrap-around.
8 Simplify pr17512 checks.
9
102019-11-19 Alan Modra <amodra@gmail.com>
11
12 PR 25200
13 * reloc.c (bfd_default_reloc_type_lookup): Don't BFD_FAIL.
14 * elf.c (_bfd_elf_validate_reloc): Don't segfault on NULL howto.
15
162019-11-18 Alan Modra <amodra@gmail.com>
17
18 * elf-bfd.h (struct elf_backend_data <elf_backend_init_file_header>):
19 Rename from elf_backend_post_process_headers.
20 (_bfd_elf_post_process_headers): Delete.
21 (_bfd_elf_init_file_header): Declare.
22 * elf.c (_bfd_elf_compute_section_file_positions): Call new function
23 in place of prep_headers and elf_backend_post_process_headers.
24 (_bfd_elf_init_file_header): Renamed from prep_headers with
25 updated args and made global. Delete dead code.
26 (_bfd_elf_post_process_headers): Delete.
27 * elf32-arm.c (elf32_arm_init_file_header): Rename from
28 elf32_arm_post_process_headers and call _bfd_elf_init_file_header.
29 Return status.
30 (elf_backend_init_file_header): Define.
31 (elf_backend_post_process_headers): Don't define.
32 * elf32-i386.c (elf_i386_fbsd_init_file_header): Similarly.
33 * elf32-m68hc1x.c (elf32_m68hc11_init_file_header): Similarly.
34 * elf32-metag.c (elf_metag_init_file_header): Similarly.
35 * elf32-spu.c (spu_elf_init_file_header
36 * elf32-visium.c (visium_elf_init_file_header
37 * elf64-alpha.c (elf64_alpha_fbsd_init_file_header
38 * elf64-hppa.c (elf64_hppa_init_file_header
39 * elf64-ia64-vms.c (elf64_vms_init_file_header
40 * elfnn-aarch64.c (elfNN_aarch64_init_file_header
41 * elfnn-ia64.c (elfNN_hpux_init_file_header
42 * elfxx-mips.c (_bfd_mips_init_file_header
43 * elfxx-mips.h (_bfd_mips_post_process_headers): Delete.
44 (_bfd_mips_init_file_header): Declare.
45 (elf_backend_post_process_headers): Delete.
46 (elf_backend_init_file_header): Define.
47 * elfxx-target.h (elf_backend_post_process_headers): Delete.
48 (elf_backend_init_file_header): Define and use.
49 * elf32-m68hc12.c (elf_backend_init_file_header): Define.
50 (elf_backend_post_process_headers): Don't define.
51 * elf32-m68hc1x.h (elf32_m68hc11_post_process_headers): Delete.
52 (elf32_m68hc11_init_file_header): Declare.
53 * elf32-ppc.c (elf_backend_post_process_headers): Remove
54 unnecessary undef.
55
562019-11-18 Alan Modra <amodra@gmail.com>
57
58 * elf-bfd.h (struct elf_backend_data <elf_backend_modify_headers>):
59 Rename from elf_backend_modify_program_headers.
60 (_bfd_elf_modify_headers): Declare.
61 * elf.c (assign_file_positions_except_relocs): Set
62 elf_program_header_size. Always call elf_backend_modify_headers.
63 Extract code modifying file header..
64 (_bfd_elf_modify_headers): ..to here. New function.
65 * elf32-arm.c (elf_backend_modify_headers): Renamed from
66 elf_backend_modify_program_headers.
67 * elf32-i386.c: Similarly.
68 * elf64-x86-64.c: Similarly.
69 * elfxx-target.h: Similarly. Default elf_backend_modify_headers
70 to _bfd_elf_modify_headers.
71 * elf-nacl.h (nacl_modify_headers): Rename from
72 nacl_modify_program_headers.
73 * elf-nacl.c (nacl_modify_headers): Rename from
74 nacl_modify_program_headers and call _bfd_elf_modify_headers.
75 * elf32-rx.c (elf32_rx_modify_headers): Similarly.
76 * elf32-spu.c (spu_elf_modify_headers): Similarly.
77 * elfnn-ia64.c (elfNN_ia64_modify_headers): Similarly.
78 * elf32-sh.c (elf_backend_modify_program_headers): Don't undef.
79
802019-11-18 Alan Modra <amodra@gmail.com>
81
82 PR 25196
83 * bfd.c (bfd_error_type): Add bfd_error_sorry.
84 (bfd_errmsgs): Likewise.
85 * elf.c (rewrite_elf_program_header): Don't abort on confused
86 lma/alignment. Replace bfd_error_bad_value with bfd_error_sorry.
87 (_bfd_elf_validate_reloc): Use bfd_error_sorry.
88 (_bfd_elf_final_write_processing): Likewise.
89 * bfd-in2.h: Regenerate.
90
912019-11-12 Jim Wilson <jimw@sifive.com>
92
93 PR 25181
94 * elfnn-riscv.c (_bfd_riscv_relax_call): Always add max_alignment to
95 foff. If sym_sec->output_section and sec->output_section are the same
96 and not *ABS* then set max_alignment to that section's alignment.
97
982019-11-07 Alan Modra <amodra@gmail.com>
99
100 * cpu-cr16c.c: Delete.
101 * elf32-cr16c.c: Delete.
102 * Makefile.am,
103 * archures.c,
104 * config.bfd,
105 * configure.ac,
106 * reloc.c,
107 * targets.c: Remove cr16c support.
108 * Makefile.in,
109 * bfd-in2.h,
110 * configure,
111 * libbfd.h,
112 * po/SRC-POTFILES.in: Regenerate.
113
1142019-11-05 Tim Rühsen <tim.ruehsen@gmx.de>
115
116 * doc/chew.c (add_to_definition): Use correct type when
117 calculating size of array reallocation.
118 (nextword): Always initialise the word return parameter.
119 (compile): Check return value of nextword().
120
1212019-10-30 Keith Seitz <keiths@redhat.com>
122
123 * elf-bfd.h (elf_backend_data) <elf_backend_core_find_build_id>:
124 New field.
125 (_bfd_elf32_core_find_build_id, _bfd_elf64_core_find_build_id):
126 New functions.
127 (elf_read_notes): Add declaration.
128 * elf.c (elf_read_notes): Move elf-bfd.h.
129 (_bfd_elf_core_find_build_id): New function.
130 (bfd_section_from_phdr): Scan core file PT_LOAD segments for
131 build-id if none is known.
132 (elf_parse_notes): For core files, scan for notes.
133 * elfcore.h (elf_core_file_matches_executable_p): If both
134 BFDs have identical build-ids, then they match.
135 (_bfd_elf_core_find_build_id): New function.
136 * elfxx-target.h (elf_backend_core_find_build_id): Define.
137 (elfNN_bed): Add elf_backend_core_find_build_id.
138
1392019-10-29 Andrew Eikum <aeikum@codeweavers.com>
140
141 * libcoff-in.h (struct pe_tdata): Add dos_message field.
142 * libcoff.h: Regenerate.
143 * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Copy the
144 dos_message field rather than initialising it.
145 (_bfd_XX_bfd_copy_private_bfd_data_common): Copy the dos_message
146 field.
147 * peicode.h (pe_mkobject): Initialise the dos_message field.
148 (pe_mkobject_hook): Copy the dos_message field.
149 (pe_bfd_object_p): Copy the dos_message field.
150
1512019-10-25 Alan Modra <amodra@gmail.com>
152
153 PR 4499
154 * elf-nacl.c (nacl_modify_segment_map): Set no_sort_lma for all
155 PT_LOAD segments.
156 * elf32-spu.c (spu_elf_modify_segment_map): Likewise on overlay
157 PT_LOAD segments.
158 * elf.c (elf_sort_segments): New function.
159 (assign_file_positions_except_relocs): Use shortcuts to elfheader
160 and elf_tdata. Seek to e_phoff not sizeof_ehdr to write program
161 headers. Move PT_PHDR check..
162 (assign_file_positions_for_non_load_sections): ..and code setting
163 PT_PHDR p_vaddr and p_paddr, and code setting __ehdr_start value..
164 (assign_file_positions_for_load_sections): ..to here. Sort
165 PT_LOAD headers. Delete header_pad code. Use actual number of
166 headers rather than allocated in calculating size for program
167 headers. Don't assume program headers follow ELF file header.
168 Simplify pt_load_count code. Only set "off" for PT_LOAD or
169 PT_NOTE in cores.
170 (rewrite_elf_program_header): Set p_vaddr_offset for segments
171 that include file and program headers.
172 (copy_elf_program_header): Likewise, replacing header_size code.
173
1742019-10-21 Alan Modra <amodra@gmail.com>
175
176 PR 452
177 * archive.c (normalize): Return file unchanged when
178 BFD_ARCHIVE_FULL_PATH.
179 (_bfd_construct_extended_name_table): Pass abfd, the output
180 bfd, to normalize.
181 (_bfd_archive_bsd44_construct_extended_name_table): Likewise.
182 * bfd.c (struct bfd): Make flags a full flagword.
183 (BFD_ARCHIVE_FULL_PATH): Define.
184 * bfd-in2.h: Regenerate.
185
1862019-10-20 John David Anglin <danglin@gcc.gnu.org>
187
188 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Provide 8-byte
189 minimum alignment for .plt section.
190
1912019-10-19 John David Anglin <danglin@gcc.gnu.org>
192
193 * elf32-hppa.c: Revise import stub sequences.
194 (LONG_BRANCH_STUB_SIZE): Define.
195 (LONG_BRANCH_SHARED_STUB_SIZE): Define.
196 (IMPORT_STUB_SIZE): Define.
197 (IMPORT_SHARED_STUB_SIZE): Define.
198 (EXPORT_STUB_SIZE): Define.
199 (plt_stub): Revise to not use register %r22.
200 (LDO_R1_R22): Define.
201 (LDW_R22_R21): Define.
202 (LDW_R22_R19): Define.
203 (hppa_build_one_stub): Update stub generation and use new defines.
204 (hppa_size_one_stub): Likewise.
205
2062019-10-17 Nelson Chu <nelson.chu@sifive.com>
207
208 * elfnn-riscv.c (riscv_elf_relocate_section): Report the error message
209 that user should recompile their code with `fPIC` when linking non-pic
210 code into shared library.
211
212 * elfnn-riscv.c (riscv_elf_relocate_section): Use asprintf to extend
213 the error message if needed, and then store the result into the
214 `msg_buf`. Finally, remember to free the unused `msg_buf`. All error
215 message for the dangerous relocation should be set before we call the
216 callback function. If we miss the error message since linker runs out
217 of memory, we should set the default error message for the error.
218
2192019-10-16 Alan Modra <amodra@gmail.com>
220
221 PR 13616
222 * cpu-powerpc.c (bfd_arch_ppc_nop_fill): New function, use it
223 for all ppc arch info.
224 * linker.c (default_data_link_order): Pass info->big_endian to
225 arch_info->fill function.
226
2272019-10-15 Alan Modra <amodra@gmail.com>
228
229 * elf32-m68hc1x.c (reloc_warning): Add printf attribute.
230 (elf32_m68hc11_relocate_section): Don't use a variable for format
231 strings. Delete some unnecessary xgettext:c-format comments.
232
2332019-10-15 Alan Modra <amodra@gmail.com>
234
235 PR 24955
236 * elf32-arm.c (set_cmse_veneer_addr_from_implib): Use bfd_malloc
237 rather than xmalloc.
238 * elf32-m68hc1x.c (reloc_warning): New function.
239 (elf32_m68hc11_relocate_section): Use it here. Cast bfd_vma values
240 corresponding to %lx in format strings.
241 * elf32-nds32.c (nds32_insertion_sort): Use a stack temporary.
242
2432019-10-15 Alan Modra <amodra@gmail.com>
244
245 PR 25100
246 * elf64-ppc.c (sfpr_define): Delete dead code that triggered a warning.
247
2482019-10-15 Alan Modra <amodra@gmail.com>
249
250 * bfd.c (bfd_check_compression_header): Check for powers of two
251 with x == (x & -x).
252
2532019-10-14 Alan Modra <amodra@gmail.com>
254
255 * syms.c (struct indexentry): Add idx field.
256 (cmpindexentry): Final sort on idx.
257 (_bfd_stab_section_find_nearest_line): Set idx.
258
2592019-10-14 Alan Modra <amodra@gmail.com>
260
261 * dwarf2.c (struct lookup_funcinfo): Add idx field.
262 (compare_lookup_funcinfos): Perform final sort on idx.
263 (build_lookup_funcinfo_table): Set idx.
264 (compare_sequences): Perform final sort on num_lines.
265 (build_line_info_table): Set num_lines and line_info_lookup earlier.
266 (sort_line_sequences): Set num_lines for sort.
267
2682019-10-14 Alan Modra <amodra@gmail.com>
269
270 * elflink.c (elf_sort_symbol): Sort on type and name as well.
271 (elf_link_add_object_symbols): Style fix.
272
2732019-10-14 Alan Modra <amodra@gmail.com>
274
275 * elf.c (_bfd_elf_map_sections_to_segments): Init target_index
276 for sections about to be sorted.
277 (assign_file_positions_for_load_sections): Likewise.
278 (elf_sort_sections): Don't bother optimising both TOEND case.
279 * elflink.c (bfd_elf_final_link): Reset target_index.
280
2812019-10-14 Alan Modra <amodra@gmail.com>
282
283 * elflink.c (elf_get_linked_section_vma): Delete.
284 (compare_link_order): Use elf_linked_to_section and sort by lma,
285 size, and id.
286 (elf_fixup_link_order): Use size_t variables where appropriate.
287 Make use of elf_linked_to_section. Formatting. Properly align
288 sections.
289
2902019-10-14 Alan Modra <amodra@gmail.com>
291
292 * elf-strtab.c (strrevcmp): Comment.
293 * merge.c (strrevcmp): Likewise.
294 * elf64-ppc.c (compare_symbols): Correct final pointer comparison.
295 Comment on why comparing pointers ensures a stable sort.
296 * elflink.c (struct elf_symbol): Add void* to union.
297 (elf_sort_elf_symbol): Ensure a stable sort with pointer comparison.
298 (elf_sym_name_compare): Likewise.
299 (bfd_elf_match_symbols_in_sections): Style fix.
300 (elf_link_sort_cmp1): Comment.
301
3022019-10-14 Alan Modra <amodra@gmail.com>
303
304 PR 24955
305 * elflink.c (elf_output_implib): Don't use xmalloc. Don't ignore
306 return value of bfd_alloc2.
307 * peXXigen.c (_bfd_XXi_write_codeview_record): Don't use xmalloc.
308 * pef.c (bfd_pef_print_symbol): Likewise. Don't ignore return
309 value of bfd_get_section_contents.
310 * som.c (som_write_space_strings): Don't use xmalloc.
311 (som_write_symbol_strings): Likewise.
312
3132019-10-11 Max Filippov <jcmvbkbc@gmail.com>
314
315 * dwarf2.c (stash_maybe_enable_info_hash_tables): Only set
316 stash->info_hash_status = STASH_INFO_HASH_ON when
317 stash_maybe_update_info_hash_tables succeeds.
318
3192019-10-09 Alan Modra <amodra@gmail.com>
320
321 PR 25070
322 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Catch overflow of
323 total_size calculation.
324
3252019-10-08 Alan Modra <amodra@gmail.com>
326
327 PR 25078
328 * dwarf2.c (find_abstract_instance): Delete orig_info_ptr, add
329 recur_count. Error on recur_count reaching 100 rather than
330 info_ptr matching orig_info_ptr. Adjust calls.
331
3322019-10-07 Jozef Lawrynowicz <jozef.l@mittosystems.com>
333
334 * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Rename to..
335 (elf32_msp430_merge_msp430_attributes): Add support for merging
336 the GNU object attribute for data region.
337
3382019-10-07 Alan Modra <amodra@gmail.com>
339
340 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Do allocate
341 space for local got non-tls relocs when PIE.
342
3432019-10-07 Alan Modra <amodra@gmail.com>
344
345 * elflink.c (elf_fixup_link_order): Don't attempt to find
346 an elf_section for linker created bfd sections.
347
3482019-10-07 Alan Modra <amodra@gmail.com>
349
350 * elf32-ppc.c (ppc_elf_tls_optimize): Don't process R_PPC_TLSLD
351 with non-local symbol. Don't double count __tls_get_addr calls
352 with marker relocs.
353 * elf64-ppc.c (ppc64_elf_tls_optimize): Likewise.
354
3552019-10-07 Alan Modra <amodra@gmail.com>
356
357 * elf32-ppc.c (nomark_tls_get_addr): Rename from has_tls_get_addr_call
358 throughout.
359 * elf64-ppc.c (nomark_tls_get_addr): Likewise.
360
3612019-10-04 Alan Modra <amodra@gmail.com>
362
363 * elf64-ppc.c (ppc64_elf_check_relocs): Move initialisation of vars.
364 (ppc64_elf_tls_optimize): Correct is_local condition.
365 (allocate_got): Don't reserve dynamic relocations for any of the
366 tls got relocs in PIEs when the symbol is local.
367 (allocate_dynrelocs): Correct validity test for local sym using
368 tlsld_got slot.
369 (ppc64_elf_size_dynamic_sections): Don't reserve dynamic relocations
370 for any of the tls got relocs in PIEs.
371 (ppc64_elf_layout_multitoc): Likewise.
372 (ppc64_elf_relocate_section): Correct validity test for local sym
373 using tlsld_got slot. Don't emit dynamic relocations for any of
374 the tls got relocs in PIEs when the symbol is local.
375 * elf32-ppc.c (ppc_elf_tls_optimize): Correct is_local condition.
376 (got_relocs_needed): Delete.
377 (allocate_dynrelocs): Correct validity test for local sym using
378 tlsld_got slot. Don't reserve dynamic relocations for any of the
379 tls got relocs in PIEs when the symbol is local.
380 (ppc_elf_size_dynamic_sections): Don't reserve dynamic relocations
381 for any of the tls got relocs in PIEs.
382 (ppc_elf_relocate_section): Correct validity test for local sym
383 using tlsld_got slot. Don't emit dynamic relocations for any of
384 the tls got relocs in PIEs when the symbol is local.
385
3862019-10-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
387
388 PR ld/22263
389 PR ld/25056
390 * elf32-arm.c (elf32_arm_tls_transition): Use bfd_link_dll instead of
391 bfd_link_pic for TLS checks.
392 (elf32_arm_final_link_relocate): Likewise.
393 (allocate_dynrelocs_for_symbol): Likewise.
394
3952019-10-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
396
397 PR ld/25062
398 * elf32-arm.c (elf32_arm_final_link_relocate): Sign extend data.
399
4002019-09-30 Nick Alcock <nick.alcock@oracle.com>
401
402 * elf-bfd.h (bfd_section_is_ctf): New inline function.
403 * elf.c (special_sections_c): Add ".ctf".
404 (assign_file_positions_for_non_load_sections): Note that
405 compressed debugging sections etc are not assigned here. Treat
406 CTF sections like SEC_ELF_COMPRESS sections when is_linker_output:
407 sh_offset -1.
408 (assign_file_positions_except_relocs): Likewise.
409 (find_section_in_list): Note that debugging and CTF sections, as
410 well as reloc sections, are assigned later.
411 (_bfd_elf_assign_file_positions_for_non_load): CTF sections get
412 their size and contents updated.
413 (_bfd_elf_set_section_contents): Skip CTF sections: unlike
414 compressed sections, they have no uncompressed content to copy at
415 this stage.
416 * elflink.c (elf_link_swap_symbols_out): Call the examine_strtab
417 callback right before the strtab is written out.
418 (bfd_elf_final_link): Don't cache the section contents of CTF
419 sections: they are not populated yet. Call the emit_ctf callback
420 right at the end, after all the symbols and strings are flushed
421 out.
422
4232019-07-13 Nick Alcock <nick.alcock@oracle.com>
424
425 * elf-strtab.c (_bfd_elf_strtab_len): New.
426 (_bfd_elf_strtab_str): Likewise.
427 * bfd-elf.h: Declare them.
428
4292019-07-13 Nick Alcock <nick.alcock@oracle.com>
430
431 * elf-bfd.h (bfd_elf_get_str_section): Add.
432 * elf.c (bfd_elf_get_str_section): No longer static.
433
4342019-09-26 Alan Modra <amodra@gmail.com>
435
436 PR 24262
437 * Makefile.am (AM_CPPFLAGS): Add -DLIBDIR.
438 * plugin.c (load_plugin): Search both ${libdir}/bfd-plugins and
439 ${bindir}/../lib/bfd-plugins if different.
440 * Makefile.in: Regenerate.
441
4422019-09-23 Alan Modra <amodra@gmail.com>
443
444 * elf64-ppc.c (ppc64_elf_check_relocs): Use bfd_link_executable
445 in choosing between different actions for shared library and
446 non-shared library cases. Delete ELIMINATE_COPY_RELOCS test.
447 (dec_dynrel_count): Likewise. Account for ifunc special case.
448 (ppc64_elf_adjust_dynamic_symbol): Copy relocs are for executables,
449 not non-pic.
450 (allocate_dynrelocs): Comment fixes. Delete ELIMINATE_COPY_RELOCS
451 test.
452
4532019-09-23 Alan Modra <amodra@gmail.com>
454
455 * Makefile.am (SOURCE_HFILES): Add many missing .h files.
456 * Makefile.in: Regenerate.
457 * po/SRC-POTFILES.in: Regenerate.
458
4592019-09-23 Alan Modra <amodra@gmail.com>
460
461 * bfd-in.h (bfd_symbol, bfd_section_already_linked),
462 (bfd_elf_version_tree): Delete forward declarations.
463 Move other forward decls and remaining elf function decl later.
464 (bfd_section_already_linked_table_init),
465 (bfd_section_already_linked_table_free),
466 (_bfd_handle_already_linked, _bfd_nearby_section),
467 (_bfd_fix_excluded_sec_syms): Move to bfdlink.h.
468
4692019-09-23 Alan Modra <amodra@gmail.com>
470
471 * bfd-in.h: Move ecoff function declarations..
472 * ecoff-bfd.h: ..to here, new file.
473 * ecoff.c: Include ecoff-bfd.h.
474 * ecofflink.c: Likewise.
475 * elf64-alpha.c: Likewise.
476 * elfxx-mips.c: Likewise.
477 * bfd-in2.h: Regenerate.
478
4792019-09-23 Alan Modra <amodra@gmail.com>
480
481 * bfd-in.h (enum notice_asneeded_action): Move to bfdlink.h.
482 Move most other elf declarations..
483 * elf-bfd.h: ..to here.
484 * bfd-in2.h: Regenerate.
485
4862019-09-23 Alan Modra <amodra@gmail.com>
487
488 * bfd-in.h: Move m68k function declaration..
489 * cpu-m68k.h: ..to here, new file..
490 * elf32-m68k.h: ..and here, new file.
491 * elf32-m68k.c: Include cpu-m68k.h and elf32-m68k.h.
492 * bfd-in2.h: Regenerate.
493
4942019-09-23 Alan Modra <amodra@gmail.com>
495
496 * bfd-in.h: Move bfin function declaration..
497 * elf32-bfin.h: ..to here, new file.
498 * elf32-bfin.c: Include elf32-bfin.h.
499 * bfd-in2.h: Regenerate.
500
5012019-09-23 Alan Modra <amodra@gmail.com>
502
503 * bfd-in.h: Move cr16 function declaration..
504 * elf32-cr16.h: ..to here, new file.
505 * elf32-cr16.c: Include elf32-cr16.h.
506 * bfd-in2.h: Regenerate.
507
5082019-09-23 Alan Modra <amodra@gmail.com>
509
510 * bfd-in.h (bfd_sunos_get_needed_list),
511 (bfd_sunos_record_link_assignment),
512 (bfd_sunos_size_dynamic_sections),
513 (bfd_i386linux_size_dynamic_sections),
514 (bfd_sparclinux_size_dynamic_sections): Delete obsolete decls.
515 * bfd-in2.h: Regenerate.
516
5172019-09-23 Alan Modra <amodra@gmail.com>
518
519 * bfd-in.h: Move xcoff function declarations..
520 * xcofflink.h: ..to here, new file.
521 * xcofflink.c: Include xcofflink.h.
522 * coff-rs6000.c (bfd_xcoff_ar_archive_set_magic): Delete unused func.
523 * bfd-in2.h: Regenerate.
524
5252019-09-23 Alan Modra <amodra@gmail.com>
526
527 * bfd-in.h: Delete coff forward refs and move coff declaration..
528 * coff-bfd.h: ..to here.
529 * bfd-in2.h: Regenerate.
530
5312019-09-23 Alan Modra <amodra@gmail.com>
532
533 * bfd-in.h: Move arm declaraions..
534 * cpu-arm.h: ..to here, new file..
535 * coff-arm.h: ..and here, new file..
536 * elf32-arm.h: ..and here, new file.
537 * cpu-arm.c: Include cpu-arm.h.
538 * coff-arm.c: Include cpu-arm.h and coff-arm.h.
539 * elf32-arm.c: Include cpu-arm.h and elf32-arm.h.
540 * pe-arm.c: Move function rename defines later.
541 * pe-arm-wince.c: Likewise and include sysdep.h and bfd.h early.
542 * bfd-in2.h: Regenerate.
543
5442019-09-23 Alan Modra <amodra@gmail.com>
545
546 * bfd-in.h: Move tic6x function declaration..
547 * elf32-tic6x.h: ..to here.
548 * bfd-in2.h: Regenerate.
549
5502019-09-23 Alan Modra <amodra@gmail.com>
551
552 * bfd-in.h: Move aarch64 declarations and defines..
553 * cpu-aarch64.h: ..to here, new file..
554 * elfxx-aarch64.h: ..and here.
555 * cpu-aarch64.c: Include cpu-aarch64.h.
556 * elfnn-aarch64.c: Likewise.
557 * bfd-in2.h: Regenerate.
558
5592019-09-23 Alan Modra <amodra@gmail.com>
560
561 * bfd-in.h: Delete ticoff function declarations.
562 * coff-tic54x.c (bfd_ticoff_set_section_load_page),
563 (bfd_ticoff_get_section_load_page): Make static.
564 * bfd-in2.h: Regenerate.
565
5662019-09-23 Alan Modra <amodra@gmail.com>
567
568 * bfd-in.h: Move h8300 function declaration to..
569 * cpu-h8300.h: ..here, new file.
570 * cpu-h8300.c: Include cpu-h8300.h.
571 * elf32-h8300.c: Likewise.
572 * bfd-in2.h: Regenerate.
573
5742019-09-23 Alan Modra <amodra@gmail.com>
575
576 * bfd-in.h: Move ia64 function declarations..
577 * elfxx-ia64.h: ..to here.
578 * bfd-in2.h: Regenerate.
579
5802019-09-23 Alan Modra <amodra@gmail.com>
581
582 * bfd-in.h: Move v850 function declarations..
583 * elf32-v850.h: ..to here, new file.
584 * elf32-v850.c: Include elf32-v850.h.
585 * bfd-in2.h: Regenerate.
586
5872019-09-23 Alan Modra <amodra@gmail.com>
588
589 * bfd-in.h: Move mips function declaration to..
590 * elfxx-mips.h: ..here.
591 * bfd-in2.h: Regenerate.
592
5932019-09-23 Alan Modra <amodra@gmail.com>
594
595 * bfd-in.h: Move csky function declarations to..
596 * elf32-csky.h: ..here, new file.
597 * elf32-csky.c: Include elf32-csky.h.
598 * bfd-in2.h: Regenerate.
599
6002019-09-20 Nelson Chu <nelson.chu@sifive.com>
601
602 * elfnn-riscv.c (riscv_pcgp_hi_reloc): Add new field undefined_weak.
603 (riscv_record_pcgp_hi_reloc): New parameter undefined_weak.
604 Set undefined_weak field from it.
605 (relax_func_t): New parameter undefined_weak.
606 (_bfd_riscv_relax_call): New ignored parameter undefined_weak.
607 (_bfd_riscv_relax_tls_le): Likewise.
608 (_bfd_riscv_relax_align): Likewise.
609 (_bfd_riscv_relax_delete): Likewise.
610 (_bfd_riscv_relax_lui): New parameter undefined_weak. If true,
611 allow relaxing. For LO12* relocs, set rs1 to x0 when undefined_weak.
612 (_bfd_riscv_relax_pc): New parameter undefined_weak. For LO12* relocs,
613 set undefined_weak from hi_reloc. If true, allow relaxing. For LO12*
614 relocs, set rs1 to x0 when undefined_weak and change to non-pcrel
615 reloc.
616 (_bfd_riscv_relax_section): New local undefined_weak. Set for
617 undef weak relocs that can be relaxed. Pass to relax_func call.
618
6192019-09-20 Alan Modra <amodra@gmail.com>
620
621 * bfd-in.h (bfd_section_name, bfd_section_size, bfd_section_vma),
622 (bfd_section_lma, bfd_section_alignment, bfd_section_flags),
623 (bfd_section_userdata, bfd_is_com_section, discarded_section),
624 (bfd_get_section_limit_octets, bfd_get_section_limit): Delete macros.
625 * bfd.c (bfd_get_section_limit_octets, bfd_get_section_limit),
626 (bfd_section_list_remove, bfd_section_list_append),
627 (bfd_section_list_prepend, bfd_section_list_insert_after),
628 (bfd_section_list_insert_before, bfd_section_removed_from_list):
629 New inline functions.
630 * section.c (bfd_is_und_section, bfd_is_abs_section),
631 (bfd_is_ind_section, bfd_is_const_section, bfd_section_list_remove),
632 (bfd_section_list_append, bfd_section_list_prepend),
633 (bfd_section_list_insert_after, bfd_section_list_insert_before),
634 (bfd_section_removed_from_list): Delete macros.
635 (bfd_section_name, bfd_section_size, bfd_section_vma),
636 (bfd_section_lma, bfd_section_alignment, bfd_section_flags),
637 (bfd_section_userdata, bfd_is_com_section, bfd_is_und_section),
638 (bfd_is_abs_section, bfd_is_ind_section, bfd_is_const_section),
639 (discarded_section): New inline functions.
640 * bfd-in2.h: Regenerate.
641
6422019-09-20 Alan Modra <amodra@gmail.com>
643
644 * bfd-in.h (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
645 (bfd_asymbol_bfd, bfd_asymbol_flavour, bfd_set_asymbol_name): Delete.
646 * bfd.c (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
647 (bfd_asymbol_bfd, bfd_set_asymbol_name): New inline functions.
648 * targets.c (bfd_asymbol_flavour): Likewise.
649 * bfd-in2.h: Regenerate.
650
6512019-09-20 Alan Modra <amodra@gmail.com>
652
653 * archive.c (bfd_generic_archive_p): Use bfd_set_thin_archive.
654 * bfd-in.h (bfd_get_filename, bfd_get_cacheable, bfd_get_format),
655 (bfd_get_target, bfd_get_flavour, bfd_family_coff, bfd_big_endian),
656 (bfd_little_endian, bfd_header_big_endian, bfd_header_little_endian),
657 (bfd_get_file_flags, bfd_applicable_file_flags),
658 (bfd_applicable_section_flags, bfd_has_map, bfd_is_thin_archive),
659 (bfd_valid_reloc_types, bfd_usrdata, bfd_get_start_address),
660 (bfd_get_symcount, bfd_get_outsymbols, bfd_count_sections),
661 (bfd_get_dynamic_symcount, bfd_get_symbol_leading_char): Delete.
662 * bfd/bfd.c (bfd_get_filename, bfd_get_cacheable, bfd_get_format),
663 (bfd_get_file_flags, bfd_get_start_address, bfd_get_symcount),
664 (bfd_get_dynamic_symcount, bfd_get_outsymbols, bfd_count_sections),
665 (bfd_has_map, bfd_is_thin_archive, bfd_set_thin_archive),
666 (bfd_usrdata, bfd_set_usrdata): New inline functions.
667 * targets.c (bfd_get_target, bfd_get_flavour),
668 (bfd_applicable_file_flags, bfd_family_coff, bfd_big_endian),
669 (bfd_little_endian, bfd_header_big_endian),
670 (bfd_header_little_endian, bfd_applicable_section_flags),
671 (bfd_get_symbol_leading_char): New inline functions.
672 * bfd-in2.h: Regenerate.
673
6742019-09-20 Alan Modra <amodra@gmail.com>
675
676 * elf64-ppc.c (ppc64_glibc_dynamic_reloc): New function.
677 (ppc64_elf_relocate_section): Warn if emitting unsupported dynamic
678 relocations.
679
6802019-09-18 Alan Modra <amodra@gmail.com>
681
682 * bfd-in.h (bfd_get_section_name, bfd_get_section_vma),
683 (bfd_get_section_lma, bfd_get_section_alignment),
684 (bfd_get_section_size, bfd_get_section_flags),
685 (bfd_get_section_userdata): Delete.
686 (bfd_section_name, bfd_section_size, bfd_section_vma),
687 (bfd_section_lma, bfd_section_alignment): Lose bfd parameter.
688 (bfd_section_flags, bfd_section_userdata): New.
689 (bfd_is_com_section): Rename parameter.
690 * section.c (bfd_set_section_userdata, bfd_set_section_vma),
691 (bfd_set_section_alignment, bfd_set_section_flags, bfd_rename_section),
692 (bfd_set_section_size): Delete bfd parameter, rename section parameter.
693 (bfd_set_section_lma): New.
694 * bfd-in2.h: Regenerate.
695 * mach-o.c (bfd_mach_o_init_section_from_mach_o): Delete bfd param,
696 update callers.
697 * aoutx.h, * bfd.c, * coff-alpha.c, * coff-arm.c, * coff-mips.c,
698 * coff64-rs6000.c, * coffcode.h, * coffgen.c, * cofflink.c,
699 * compress.c, * ecoff.c, * elf-eh-frame.c, * elf-hppa.h,
700 * elf-ifunc.c, * elf-m10200.c, * elf-m10300.c, * elf-properties.c,
701 * elf-s390-common.c, * elf-vxworks.c, * elf.c, * elf32-arc.c,
702 * elf32-arm.c, * elf32-avr.c, * elf32-bfin.c, * elf32-cr16.c,
703 * elf32-cr16c.c, * elf32-cris.c, * elf32-crx.c, * elf32-csky.c,
704 * elf32-d10v.c, * elf32-epiphany.c, * elf32-fr30.c, * elf32-frv.c,
705 * elf32-ft32.c, * elf32-h8300.c, * elf32-hppa.c, * elf32-i386.c,
706 * elf32-ip2k.c, * elf32-iq2000.c, * elf32-lm32.c, * elf32-m32c.c,
707 * elf32-m32r.c, * elf32-m68hc1x.c, * elf32-m68k.c, * elf32-mcore.c,
708 * elf32-mep.c, * elf32-metag.c, * elf32-microblaze.c,
709 * elf32-moxie.c, * elf32-msp430.c, * elf32-mt.c, * elf32-nds32.c,
710 * elf32-nios2.c, * elf32-or1k.c, * elf32-ppc.c, * elf32-pru.c,
711 * elf32-rl78.c, * elf32-rx.c, * elf32-s390.c, * elf32-score.c,
712 * elf32-score7.c, * elf32-sh.c, * elf32-spu.c, * elf32-tic6x.c,
713 * elf32-tilepro.c, * elf32-v850.c, * elf32-vax.c, * elf32-visium.c,
714 * elf32-xstormy16.c, * elf32-xtensa.c, * elf64-alpha.c,
715 * elf64-bpf.c, * elf64-hppa.c, * elf64-ia64-vms.c, * elf64-mmix.c,
716 * elf64-ppc.c, * elf64-s390.c, * elf64-sparc.c, * elf64-x86-64.c,
717 * elflink.c, * elfnn-aarch64.c, * elfnn-ia64.c, * elfnn-riscv.c,
718 * elfxx-aarch64.c, * elfxx-mips.c, * elfxx-sparc.c,
719 * elfxx-tilegx.c, * elfxx-x86.c, * i386msdos.c, * linker.c,
720 * mach-o.c, * mmo.c, * opncls.c, * pdp11.c, * pei-x86_64.c,
721 * peicode.h, * reloc.c, * section.c, * syms.c, * vms-alpha.c,
722 * xcofflink.c: Update throughout for bfd section macro and function
723 changes.
724
7252019-09-18 Alan Modra <amodra@gmail.com>
726
727 * bfd-in.h (bfd_asymbol_section): Rename from bfd_get_section.
728 (bfd_get_output_section): Delete.
729 (bfd_asymbol_base): Delete.
730 (bfd_asymbol_section, bfd_asymbol_value, bfd_asymbol_name),
731 (bfd_asymbol_bfd, bfd_asymbol_flavour): Tidy.
732 (bfd_set_asymbol_name): New macro.
733 * bfd-in2.h: Regenerate.
734 * aout-cris.c: Update throughout to use bfd_asymbol_section.
735 * aoutx.h: Likewise.
736 * cofflink.c: Likewise.
737 * dwarf2.c: Likewise.
738 * ecoff.c: Likewise.
739 * elf.c: Likewise.
740 * elf32-arm.c: Likewise.
741 * elf32-mips.c: Likewise.
742 * elf32-score.c: Likewise.
743 * elf32-score7.c: Likewise.
744 * elfn32-mips.c: Likewise.
745 * elfnn-aarch64.c: Likewise.
746 * elfxx-mips.c: Likewise.
747 * linker.c: Likewise.
748 * pdp11.c: Likewise.
749 * elf64-mmix.c (mmix_elf_reloc): Part expand bfd_get_output_section.
750
7512019-09-18 Simon Marchi <simon.marchi@polymtl.ca>
752
753 * Makefile.in: Re-generate.
754 * configure: Re-generate.
755 * doc/Makefile.in: Re-generate.
756
7572019-09-18 Alan Modra <amodra@gmail.com>
758
759 * aoutx.h (slurp_symbol_table): Don't set symcount using bfd_get
760 macros.
761 * pdp11.c (slurp_symbol_table): Likewise.
762 * som.c (som_slurp_symbol_table): Likewise.
763 * coff-ppc.c (ppc_bfd_coff_final_link): Likewise.
764 * coffcode.h (coff_slurp_symbol_table): Likewise.
765 * cofflink.c (_bfd_coff_final_link): Likewise.
766 * ecoff.c (ecoff_slurp_symbolic_header): Likewise.
767 (_bfd_ecoff_slurp_symbolic_info): Likewise.
768 (_bfd_ecoff_slurp_symbol_table): Likewise.
769 (_bfd_ecoff_bfd_final_link): Likewise.
770 * elf.c (_bfd_elf_canonicalize_symtab): Likewise.
771 * elflink.c (elf_link_output_symstrtab): Likewise.
772 (bfd_elf_final_link): Likewise.
773 * peicode.h (pe_ILF_build_a_bfd): Likewise.
774 * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
775 * aoutx.h (some_aout_object_p, slurp_symbol_table): Don't set
776 start_address or symcount using bfd_get macros.
777 * coffgen.c (coff_real_object_p): Likewise.
778 * pdp11.c (some_aout_object_p, slurp_symbol_table): Likewise.
779 * som.c (som_object_setup, som_slurp_symbol_table): Likewise.
780 * elfcore.h (elf_core_file_p): Don't set start_address using
781 bfd_get macro.
782 * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Don't set dynsymcount
783 using bfd_get macro.
784 * bfd.c (bfd_set_file_flags): Don't set flags using bfd_get macro.
785 * linker.c (bfd_generic_link_read_symbols): Don't set outsymbols
786 or symcount using bfd_get macros.
787 (_bfd_generic_final_link, generic_add_output_symbol): Likewise.
788 * syms.c (bfd_set_symtab): Likewise.
789 * vms-alpha.c (alpha_vms_bfd_final_link): Likewise.
790 * archive.c (do_slurp_bsd_armap): Don't set has_armap using
791 bfd_has_map macro.
792 (do_slurp_coff_armap, bfd_slurp_armap): Likewise.
793 * archive64.c (_bfd_archive_64_bit_slurp_armap): Likewise.
794 * coff-rs6000.c (_bfd_xcoff_slurp_armap): Likewise.
795 * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
796 * ecoff.c (_bfd_ecoff_slurp_armap): Likewise.
797 * som.c (som_slurp_armap): Likewise.
798
7992019-09-18 Alan Modra <amodra@gmail.com>
800
801 * archures.c (bfd_get_arch): Make param const.
802 (bfd_get_mach, bfd_arch_bits_per_byte): Likewise.
803 (bfd_arch_bits_per_address, bfd_octets_per_byte): Likewise.
804 * bfd-in2.h: Regenerate.
805
8062019-09-18 Alan Modra <amodra@gmail.com>
807
808 * bfd-in.h (carsym.name): Make const.
809 * reloc.c (struct reloc_howto_struct.name): Likewise.
810 * targets.c (bfd_target.name): Likewise.!
811 * bfd.c (bfd_get_sign_extend_vma): Make variable const.
812 * som.c (som_bfd_fill_in_ar_symbols): Use an intermediary variable
813 when setting carsym.name.
814 * bfd-in2.h: Regenerate.
815
8162019-09-18 Alan Modra <amodra@gmail.com>
817
818 * mach-o.c (bfd_mach_o_fat_member_init): Likewise. Replace
819 xstrdup and xmalloc with bfd_strdup and bfd_malloc. Return an
820 error status. Adjust calls.
821 * vms-lib.c (_bfd_vms_lib_get_module): Test mhd->id earlier.
822 Close bfd on failure. Replace xstrdup/bfd_alloc use with
823 bfd_malloc. Use bfd_set_filename.
824
8252019-09-18 Alan Modra <amodra@gmail.com>
826
827 * elf64-ppc.c (must_be_dyn_reloc): Return 0 for TOC16 relocs.
828 (ppc64_elf_check_relocs): Support dynamic/copy relocs for TOC16.
829 (ppc64_elf_adjust_dynamic_symbol): Don't keep dynamic reloc when
830 needs_copy even if all relocs are in rw sections.
831 (dec_dynrel_count): Handle TOC16 relocs.
832 (ppc64_elf_relocate_section): Support dynamic relocs for TOC16.
833 (ppc64_elf_finish_dynamic_symbol): Adjust to handle needs_copy
834 semantic change.
835
8362019-09-16 Phil Blundell <pb@pbcl.net>
837
838 * version.m4: Set version to 2.33.50.
839 * Makefile.in, configure, doc/Makefile.in: Regenerated.
840
8412019-09-11 Tom Tromey <tom@tromey.com>
842
843 * opncls.c (bfd_set_filename): New function.
844 * bfd-in2.h: Regenerate.
845
8462019-09-11 Alan Modra <amodra@gmail.com>
847
848 * targets.c (struct bfd_target): Add _bfd_group_name.
849 (BFD_JUMP_TABLE): Likewise.
850 * coffgen.c (bfd_coff_group_name): New function.
851 * elf.c (bfd_elf_group_name): New function.
852 * linker.c (_bfd_nolink_bfd_group_name): New function.
853 * section.c (bfd_generic_group_name): New function.
854 * elf-bfd.h (bfd_elf_group_name): Declare.
855 * libbfd-in.h (_bfd_nolink_bfd_group_name): Declare.
856 * libcoff-in.h (bfd_coff_group_name): Declare.
857 * aout-target.h (MY_bfd_group_name): Define.
858 * aout-tic30.c (MY_bfd_group_name): Define.
859 * bfd.c (bfd_group_name): Define.
860 * binary.c (binary_bfd_group_name): Define.
861 * coff-alpha.c (_bfd_ecoff_bfd_group_name): Define.
862 * coff-mips.c (_bfd_ecoff_bfd_group_name): Define.
863 * coff-rs6000.c (_bfd_xcoff_bfd_group_name): Define.
864 * coffcode.h (coff_bfd_group_name): Define.
865 * elfxx-target.h (bfd_elfNN_bfd_group_name): Define.
866 * i386msdos.c (msdos_bfd_group_name): Define.
867 * ihex.c (ihex_bfd_group_name): Define.
868 * mach-o-target.c (bfd_mach_o_bfd_group_name): Define.
869 * mmo.c (mmo_bfd_group_name): Define.
870 * pef.c (bfd_pef_bfd_group_name): Define.
871 * plugin.c (bfd_plugin_bfd_group_name): Define.
872 * ppcboot.c (ppcboot_bfd_group_name): Define.
873 * som.c (som_bfd_group_name): Define.
874 * srec.c (srec_bfd_group_name): Define.
875 * tekhex.c (tekhex_bfd_group_name): Define.
876 * verilog.c (verilog_bfd_group_name): Define.
877 * vms-alpha.c (vms_bfd_group_name, alpha_vms_bfd_group_name): Define.
878 * xsym.c (bfd_sym_bfd_group_name): Define.
879 * coff64-rs6000.c (rs6000_xcoff64_vec): Init new field.
880 (rs6000_xcoff64_aix_vec): Likewise.
881 * bfd-in2.h: Regenerate.
882 * libbfd.h: Regenerate.
883 * libcoff.h: Regenerate.
884
8852019-09-10 Nick Clifton <nickc@redhat.com>
886
887 PR 24907
888 * archures.c (bfd_arch_info_type): Add max_reloc_offset_into_insn
889 field.
890 (bfd_default_arch_struct): Initialise the new field.
891 * bfd-in2.h: Regenerate.
892 * cpu-aarch64.c: Initialise the new field.
893 * cpu-alpha.c: Likewise.
894 * cpu-arc.c: Likewise.
895 * cpu-arm.c: Likewise.
896 * cpu-avr.c: Likewise.
897 * cpu-bfin.c: Likewise.
898 * cpu-bpf.c: Likewise.
899 * cpu-cr16.c: Likewise.
900 * cpu-cr16c.c: Likewise.
901 * cpu-cris.c: Likewise.
902 * cpu-crx.c: Likewise.
903 * cpu-csky.c: Likewise.
904 * cpu-d10v.c: Likewise.
905 * cpu-d30v.c: Likewise.
906 * cpu-dlx.c: Likewise.
907 * cpu-epiphany.c: Likewise.
908 * cpu-fr30.c: Likewise.
909 * cpu-frv.c: Likewise.
910 * cpu-ft32.c: Likewise.
911 * cpu-h8300.c: Likewise.
912 * cpu-hppa.c: Likewise.
913 * cpu-i386.c: Likewise.
914 * cpu-ia64.c: Likewise.
915 * cpu-iamcu.c: Likewise.
916 * cpu-ip2k.c: Likewise.
917 * cpu-iq2000.c: Likewise.
918 * cpu-k1om.c: Likewise.
919 * cpu-l1om.c: Likewise.
920 * cpu-lm32.c: Likewise.
921 * cpu-m10200.c: Likewise.
922 * cpu-m10300.c: Likewise.
923 * cpu-m32c.c: Likewise.
924 * cpu-m32r.c: Likewise.
925 * cpu-m68hc11.c: Likewise.
926 * cpu-m68hc12.c: Likewise.
927 * cpu-m68k.c: Likewise.
928 * cpu-m9s12x.c: Likewise.
929 * cpu-m9s12xg.c: Likewise.
930 * cpu-mcore.c: Likewise.
931 * cpu-mep.c: Likewise.
932 * cpu-metag.c: Likewise.
933 * cpu-microblaze.c: Likewise.
934 * cpu-mips.c: Likewise.
935 * cpu-mmix.c: Likewise.
936 * cpu-moxie.c: Likewise.
937 * cpu-msp430.c: Likewise.
938 * cpu-mt.c: Likewise.
939 * cpu-nds32.c: Likewise.
940 * cpu-nfp.c: Likewise.
941 * cpu-nios2.c: Likewise.
942 * cpu-ns32k.c: Likewise.
943 * cpu-or1k.c: Likewise.
944 * cpu-pdp11.c: Likewise.
945 * cpu-pj.c: Likewise.
946 * cpu-plugin.c: Likewise.
947 * cpu-powerpc.c: Likewise.
948 * cpu-pru.c: Likewise.
949 * cpu-riscv.c: Likewise.
950 * cpu-rl78.c: Likewise.
951 * cpu-rs6000.c: Likewise.
952 * cpu-rx.c: Likewise.
953 * cpu-s12z.c: Likewise.
954 * cpu-s390.c: Likewise.
955 * cpu-score.c: Likewise.
956 * cpu-sh.c: Likewise.
957 * cpu-sparc.c: Likewise.
958 * cpu-spu.c: Likewise.
959 * cpu-tic30.c: Likewise.
960 * cpu-tic4x.c: Likewise.
961 * cpu-tic54x.c: Likewise.
962 * cpu-tic6x.c: Likewise.
963 * cpu-tic80.c: Likewise.
964 * cpu-tilegx.c: Likewise.
965 * cpu-tilepro.c: Likewise.
966 * cpu-v850.c: Likewise.
967 * cpu-v850_rh850.c: Likewise.
968 * cpu-vax.c: Likewise.
969 * cpu-visium.c: Likewise.
970 * cpu-wasm32.c: Likewise.
971 * cpu-xc16x.c: Likewise.
972 * cpu-xgate.c: Likewise.
973 * cpu-xstormy16.c: Likewise.
974 * cpu-xtensa.c: Likewise.
975 * cpu-z80.c: Likewise.
976 * cpu-z8k.c: Likewise.
977
9782019-09-09 Phil Blundell <pb@pbcl.net>
979
980 binutils 2.33 branch created.
981
9822019-09-06 Alan Modra <amodra@gmail.com>
983
984 * aout-target.h (object_p): Formatting.
985 * bfd-in.h (bfd_get_filename): Don't cast to char*.
986 * corefile.c (generic_core_file_matches_executable_p): Constify
987 variables and remove cast.
988 * bfd-in2.h: Regenerate.
989
9902019-09-05 Alan Modra <amodra@gmail.com>
991
992 * elf64-ppc.c (ppc64_elf_check_relocs): Interpret an addend in
993 GOT_PCREL and PLT_PCREL relocs as affecting the value stored
994 in the GOT/PLT entry rather than affecting the offset to that
995 GOI/PLT entry.
996 (ppc64_elf_edit_toc, ppc64_elf_relocate_section): Likewise.
997
9982019-09-05 Alan Modra <amodra@gmail.com>
999
1000 * elf64-ppc.c (xlate_pcrel_opt): Handle prefix loads and stores
1001 in second instruction.
1002 (ppc64_elf_relocate_section): Likewise.
1003
10042019-09-05 Alan Modra <amodra@gmail.com>
1005
1006 PR 24955
1007 * libbfd-in.h (bfd_strdup): New inline function.
1008 * archive.c (_bfd_get_elt_at_filepos): Use bfd_strdup. Close
1009 bfd on error.
1010 * elfcode.h (_bfd_elf_bfd_from_remote_memory): Use bfd_strdup.
1011 * opncls.c (bfd_fopen): Use bfd_strdup. Close fd and stream
1012 on error.
1013 (bfd_openstreamr): Use bfd_strdup.
1014 (bfd_openr_iovec, bfd_openw, bfd_create): Likewise.
1015 * plugin.c (try_load_plugin): Use bfd_malloc.
1016 * libbfd.h: Regenerate.
1017
10182019-09-02 Alan Modra <amodra@gmail.com>
1019
1020 PR 11983
1021 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Free debug_filename
1022 on success. Tidy.
1023 (read_alt_indirect_string): Likewise.
1024 (read_alt_indirect_ref): Likewise.
1025
10262019-08-31 Jim Wilson <jimw@sifive.com>
1027
1028 PR 23825
1029 * elfnn-riscv.c (riscv_elf_create_dynamic_sections): Add SEC_LOAD,
1030 SEC_DATA, and SEC_HAS_CONTENTS to .tdata.dyn section.
1031
10322019-08-30 Jim Wilson <jimw@sifive.com>
1033
1034 * elfnn-riscv.c (riscv_elf_relocate_section): For unresolvable reloc
1035 error, call bfd_set_error, set ret to FALSE, and goto out label.
1036
10372019-08-30 H.J. Lu <hongjiu.lu@intel.com>
1038
1039 PR ld/24951
1040 * archive.c (_bfd_get_elt_at_filepos): Copy BFD_COMPRESS,
1041 BFD_DECOMPRESS and BFD_COMPRESS_GABI flags for thin archive.
1042
10432019-08-29 Alan Modra <amodra@gmail.com>
1044
1045 PR 24697
1046 * elf32-ppc.c (ppc_elf_check_relocs): Call bad_shared_reloc
1047 when !bfd_link_executable for R_PPC_EMB_SDA2I16 and
1048 R_PPC_EMB_SDA2REL. Don't call bad_shared_reloc for any other
1049 reloc.
1050
10512019-08-29 Alan Modra <amodra@gmail.com>
1052
1053 * elf64-ppc.c (xlate_pcrel_opt): Add poff parameter. Allow offset
1054 on second insn, return it in poff.
1055 (ppc64_elf_relocate_section): Add offset to paddi addend for
1056 PCREL_OPT.
1057
10582019-08-28 Jim Wilson <jimw@sifive.com>
1059
1060 * elfnn-riscv.c (_bfd_riscv_relax_lui): Add check to exclude abs
1061 section when setting max_alignment. Update comment.
1062 (_bfd_riscv_relax_pc): Likewise.
1063
10642019-08-29 Alan Modra <amodra@gmail.com>
1065
1066 PR 24891
1067 * bfd.c (struct bfd): Add no_element_cache.
1068 * archive.c (_bfd_get_elt_at_filepos): Don't add element to
1069 archive cache when no_element_cache.
1070 (bfd_generic_archive_p): Set no_element_cache when opening first
1071 element to check format. Close first element too.
1072 (do_slurp_bsd_armap): Don't zero ardata->cache here.
1073 * bfd-in2.h: Regenerate.
1074
10752019-08-24 Alan Modra <amodra@gmail.com>
1076
1077 * elf64-ppc.c (ppc64_elf_edit_toc): Exclude undefined weak
1078 symbols from GOT optimisation.
1079
10802019-08-23 Stafford Horne <shorne@gmail.com>
1081
1082 * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Use correct value for
1083 PLT GOT entries.
1084
10852019-08-23 Nick Clifton <nickc@redhat.com>
1086
1087 PR 24456
1088 * elf.c (bfd_section_from_shdr): Issue an informative warning
1089 message and continue processing other sections after encountering
1090 a reloc section for a section which already has other relocs
1091 associated with it.
1092
10932019-08-23 Alan Modra <amodra@gmail.com>
1094
1095 PR 24933
1096 * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Don't exit
1097 on error without freeing plts[] contents.
1098
10992019-08-22 Dennis Zhang <dennis.zhang@arm.com>
1100
1101 * cpu-arm.c: New entries for Cortex-M35P, Cortex-A77, Cortex-A76AE.
1102
11032019-08-22 Nick Clifton <nickc@redhat.com>
1104
1105 PR 24922
1106 * pei-x86_64.c (pex64_xdata_print_uwd_codes): Add checks before
1107 reading data from extra records.
1108
11092019-08-22 Tamar Christina <tamar.christina@arm.com>
1110
1111 PR ld/24601
1112 * elfnn-aarch64.c (aarch64_relocate): Handle weak TLS and undefined TLS.
1113 Also Pass input_bfd to _bfd_aarch64_elf_resolve_relocation.
1114 * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use it.
1115 * elfxx-aarch64.h (_bfd_aarch64_elf_resolve_relocation): Emit warning
1116 for weak TLS.
1117
11182019-08-22 Alan Modra <amodra@gmail.com>
1119
1120 * elf32-arm.c (cmse_scan): Don't use ARM_GET_SYM_CMSE_SPCL,
1121 instead recognize CMSE_PREFIX in symbol name.
1122 (elf32_arm_gc_mark_extra_sections): Likewise.
1123 (elf32_arm_filter_cmse_symbols): Don't test ARM_GET_SYM_CMSE_SPCL.
1124 (elf32_arm_swap_symbol_in): Don't invoke ARM_SET_SYM_CMSE_SPCL.
1125
11262019-08-20 Dennis Zhang <dennis.zhang@arm.com>
1127
1128 * cpu-aarch64.c: New entries for Cortex-A34, Cortex-A65,
1129 Cortex-A77, cortex-A65AE, and Cortex-A76AE.
1130
11312019-08-20 Tamar Christina <tamar.christina@arm.com>
1132
1133 * elf32-arm.c (elf32_thumb2_plt_entry, elf32_arm_plt_thumb_stub,
1134 elf32_arm_stub_long_branch_v4t_thumb_thumb,
1135 elf32_arm_stub_long_branch_v4t_thumb_arm,
1136 elf32_arm_stub_short_branch_v4t_thumb_arm,
1137 elf32_arm_stub_long_branch_v4t_thumb_arm_pic,
1138 elf32_arm_stub_long_branch_v4t_thumb_thumb_pic,
1139 elf32_arm_stub_long_branch_v4t_thumb_tls_pic): Change nop to branch to
1140 previous instruction.
1141
11422019-08-19 Tom Tromey <tromey@adacore.com>
1143
1144 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Create hash table
1145 holding symbols.
1146
11472019-08-19 Alan Modra <amodra@gmail.com>
1148
1149 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Rename has_gotrel
1150 to has_optrel.
1151 (struct _ppc64_elf_section_data): Likewise.
1152 (ppc64_elf_check_relocs): Set has_optrel for more relocs.
1153 (ppc64_elf_edit_toc): Do ha/lo insn checks in GOT loop rather
1154 than TOC loop. Check PLT16 insns too.
1155
11562019-08-16 H.J. Lu <hongjiu.lu@intel.com>
1157
1158 PR ld/24905
1159 * elf64-x86-64.c (elf_x86_64_check_relocs): Move PIC check for
1160 PC-relative relocations back to ...
1161 (elf_x86_64_relocate_section): Here.
1162
11632019-08-16 Martin Liska <mliska@suse.cz>
1164
1165 PR ld/24912
1166 * elflink.c: Report error only for not relocatable.
1167 * linker.c (_bfd_generic_link_add_one_symbol): Do not handle
1168 here lto_slim_object as it's handled in caller.
1169
11702019-08-16 Alan Modra <amodra@gmail.com>
1171
1172 * elf32-ppc.c (ppc_elf_relocate_section): Optimize unaligned relocs.
1173
11742019-08-15 Jim Wilson <jimw@sifive.com>
1175
1176 * elfnn-riscv.c (perform_relocation) <R_RISCV_RVC_LUI>: If
1177 RISCV_CONST_HIGH_PART (value) is zero, then convert c.lui instruction
1178 to c.li instruction, and use ENCODE_RVC_IMM to set value.
1179
11802019-08-15 Tom Tromey <tromey@adacore.com>
1181
1182 * dwarf2.c (scan_unit_for_symbols): Check for end of CU, not end
1183 of section.
1184
11852019-08-14 Alan Modra <amodra@gmail.com>
1186
1187 PR 24623
1188 * dwarf2.c (stash_comp_unit): New function, extracted from..
1189 (_bfd_dwarf2_find_nearest_line): ..here.
1190 (find_abstract_instance): Parse comp units and decode line info
1191 as needed.
1192
11932019-08-14 Alan Modra <amodra@gmail.com>
1194
1195 * dwarf2.c (comp_unit_maybe_decode_line_info): Declare.
1196 (comp_unit_find_nearest_line): Use it here..
1197 (_bfd_dwarf2_find_symbol_bias): ..and here.
1198
11992019-08-14 Alan Modra <amodra@gmail.com>
1200
1201 * dwarf2.c (_bfd_dwarf2_find_nearest_line): Remove addr_size parameter.
1202 * libbfd-in.h (_bfd_dwarf2_find_nearest_line): Update prototype.
1203 * coffgen.c (coff_find_nearest_line_with_names): Adjust
1204 _bfd_dwarf2_find_nearest_line calls.
1205 * elf.c (_bfd_elf_find_nearest_line, _bfd_elf_find_line): Likewise.
1206 * elf32-arm.c (elf32_arm_find_nearest_line): Likewise.
1207 * elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise.
1208 * elfnn-aarch64.c (elfNN_aarch64_find_nearest_line): Likewise.
1209 * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
1210 * mach-o.c (bfd_mach_o_find_nearest_line): Likewise.
1211 * libbfd.h: Regenerate.
1212
12132019-08-09 Mihailo Stojanovic <mihailo.stojanovic@rt-rk.com>
1214
1215 * elf-bfd.h (struct elf_backend_data): New members.
1216 * elflink.c (_bfd_elf_link_create_dynamic_sections): Create
1217 .gnu.hash section if necessary.
1218 (struct collect_gnu_hash_codes): New member.
1219 (elf_gnu_hash_process_symidx): New function name.
1220 (elf_renumber_gnu_hash_syms): Ignore local and undefined
1221 symbols. Record xlat location for every symbol which should have
1222 a .MIPS.xhash entry.
1223 (bfd_elf_size_dynamic_sections): Add DT_GNU_HASH dynamic tag to
1224 dynamic section if necessary.
1225 (GNU_HASH_SECTION_NAME): New define.
1226 (bfd_elf_size_dynsym_hash_dynstr): Get .MIPS.xhash section.
1227 Update the section size info.
1228 * elfxx-mips.c (struct mips_elf_hash_sort_data): New members.
1229 (struct mips_elf_link_hash_entry): New member.
1230 (mips_elf_link_hash_newfunc): Initialize .MIPS.xhash translation
1231 table location.
1232 (mips_elf_sort_hash_table): Initialize the pointer to the
1233 .MIPS.xhash section.
1234 (mips_elf_sort_hash_table_f): Populate the .MIPS.xhash
1235 translation table entry with the symbol dynindx.
1236 (_bfd_mips_elf_section_from_shdr): Add SHT_MIPS_XHASH.
1237 (_bfd_mips_elf_fake_sections): Initialize .MIPS.xhash section
1238 info.
1239 (_bfd_mips_elf_create_dynamic_sections): Create .MIPS.xhash
1240 section.
1241 (_bfd_mips_elf_size_dynamic_sections): Add DT_MIPS_XHASH tag to
1242 dynamic section.
1243 (_bfd_mips_elf_finish_synamic_sections): Add DT_MIPS_XHASH.
1244 (_bfd_mips_elf_final_write_processing): Set .MIPS.xhash section
1245 sh_link info.
1246 (_bfd_mips_elf_get_target_dtag): Get DT_MIPS_XHASH tag.
1247 (MIPS_LIBC_ABI_XHASH): New ABI version enum value.
1248 (_bfd_mips_post_process_headers): Mark the ABI version as
1249 MIPS_LIBC_ABI_XHASH if there exists a .MIPS.xhash section,
1250 but not a .hash section.
1251 (_bfd_mips_elf_record_xhash_symbol): New function. Record a
1252 position in the translation table, associated with the hash
1253 entry.
1254 * elfxx-mips.h (literal_reloc_p): Define
1255 elf_backend_record_xhash_symbol backend hook.
1256 * elfxx-target.h: Initialize elf_backend_record_xhash_symbol
1257 backend hook.
1258
12592019-08-07 Jose E. Marchesi <jose.marchesi@oracle.com>
1260
1261 * elf64-bpf.c (bpf_elf_relocate_section): New function.
1262 (bpf_elf_insn_disp_reloc): Delete function.
1263 (elf_backend_relocate_section): Define.
1264
12652019-08-07 Alan Modra <amodra@gmail.com>
1266
1267 PR 24644
1268 * archive64.c (_bfd_archive_64_bit_slurp_armap): Properly check
1269 for overflow in expressions involving nsymz.
1270
12712019-08-01 Ilia Diachkov <ilia.diachkov@optimitech.com>
1272
1273 * elfnn-riscv.c (_bfd_riscv_relax_lui): Set lui relax safety area to
1274 two pages in relro presence.
1275
12762019-08-01 Max Filippov <jcmvbkbc@gmail.com>
1277
1278 * elf32-xtensa.c (insn_num_slots, get_rsr_lend_opcode)
1279 (get_wsr_lbeg_opcode): New functions.
1280 (check_loop_aligned): Detect relaxed loops and adjust loop_len
1281 and insn_len for the first actual instruction of the loop.
1282
12832019-07-30 Alan Modra <amodra@gmail.com>
1284
1285 PR 24768
1286 * bfd.c (struct bfd): Add lto_slim_object flag.
1287 * bfd-in2.h: Regenerate.
1288
12892019-07-29 Martin Liska <mliska@suse.cz>
1290
1291 PR 24768
1292 * archive.c (_bfd_compute_and_write_armap): Come up with
1293 report_plugin_err variable.
1294 * bfd-in2.h (struct bfd): Add lto_slim_object flag.
1295 * elf.c (struct lto_section): New.
1296 (_bfd_elf_make_section_from_shdr): Parse content of
1297 .gnu_lto_.lto section.
1298 * elflink.c: Report error for a missing LTO plugin.
1299 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
1300
13012019-07-28 Alan Modra <amodra@gmail.com>
1302
1303 PR 24857
1304 PR 24339
1305 * elflink.c (elf_link_add_object_symbols): Report an informative
1306 error on finding local symbols with index equal or greater than
1307 symbol table sh_info. Correct comment. Allow such symbols in
1308 dynamic objects. Abort on NULL section for symbol.
1309
13102019-07-26 Alan Modra <amodra@gmail.com>
1311
1312 * elf-bfd.h (struct output_elf_obj_tdata): Delete "linker" field.
1313 (elf_linker): Don't define.
1314 * elflink.c (bfd_elf_final_link): Don't set elf_linker.
1315
13162019-07-25 YunQiang Su <syq@debian.org>
1317
1318 PR 24832
1319 * elfxx-mips.c (mips_set_isa_flags): Default to MIPS 3 for 64-bit
1320 mips inputs.
1321
13222019-07-24 Claudiu Zissulescu <claziss@synopsys.com>
1323
1324 * elf32-arc.c (bfd_get_32_me): Add a small description, fix
1325 formating.
1326 (reloc_type_to_name): Fix formating.
1327 (arc_elf_object_p): Likewise.
1328 (debug_arc_reloc): Likewise.
1329 (arc_do_relocation): Likewise.
1330
13312019-07-24 Claudiu Zissulescu <claziss@synopsys.com>
1332
1333 * elf32-arc.c (bfd_get_32_me): New function.
1334 (bfd_put_32_me): Likewise.
1335 (arc_elf_relax_section): Likewise.
1336 (bfd_elf32_bfd_relax_section): Define.
1337
13382019-07-24 Alan Modra <amodra@gmail.com>
1339
1340 * elf-bfd.h (struct elf_backend_data): Return bfd_boolean from
1341 elf_backend_final_write_processing, don't pass linker arg.
1342 (_bfd_elf_final_write_processing): Update prototype.
1343 * elf.c (_bfd_elf_write_object_contents): Adjust call.
1344 (_bfd_elf_final_write_processing): Return error on incompatible
1345 OSABI and has_gnu_osabi. Remove linker arg.
1346 * elf-nacl.h (nacl_final_write_processing): Update prototype.
1347 * elf-vxworks.h (elf_vxworks_final_write_processing): Likewise.
1348 * elfxx-mips.h (_bfd_mips_final_write_processing): Likewise.
1349 (_bfd_mips_elf_final_write_processing): Likewise.
1350 * elf-hppa.h (elf_hppa_final_write_processing): Return status
1351 and remove linker arg.
1352 * elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
1353 * elf-nacl.c (nacl_final_write_processing): Likewise.
1354 * elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
1355 * elf32-arc.c (arc_elf_final_write_processing): Likewise.
1356 * elf32-arm.c (arm_final_write_processing): Likewise.
1357 (elf32_arm_final_write_processing): Likewise.
1358 (elf32_arm_nacl_final_write_processing): Likewise.
1359 (elf32_arm_vxworks_final_write_processing): Likewise.
1360 * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
1361 * elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
1362 * elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
1363 * elf32-cris.c (cris_elf_final_write_processing): Likewise.
1364 * elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
1365 * elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
1366 * elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
1367 * elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
1368 * elf32-mips.c (mips_vxworks_final_write_processing): Likewise.
1369 * elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
1370 * elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
1371 * elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
1372 * elf32-pj.c (pj_elf_final_write_processing): Likewise.
1373 * elf32-ppc.c (ppc_final_write_processing): Likewise.
1374 (ppc_elf_final_write_processing): Likewise.
1375 (ppc_elf_vxworks_final_write_processing): Likewise.
1376 * elf32-sparc.c (sparc_final_write_processing): Likewise.
1377 (elf32_sparc_final_write_processing): Likewise.
1378 (elf32_sparc_vxworks_final_write_processing): Likewise.
1379 * elf32-v850.c (v850_elf_final_write_processing): Likewise.
1380 * elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
1381 * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
1382 * elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
1383 * elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
1384 * elfxx-mips.c (_bfd_mips_final_write_processing): Likewise.
1385 (_bfd_mips_elf_final_write_processing): Likewise.
1386
13872019-07-24 Alan Modra <amodra@gmail.com>
1388
1389 * elf-vxworks.c (elf_vxworks_final_write_processing): Don't return
1390 early.
1391 * elf32-arc.c (arc_elf_final_write_processing): Likewise.
1392 * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
1393
13942019-07-24 Alan Modra <amodra@gmail.com>
1395
1396 * elf32-visium.c (visium_elf_post_process_headers): Don't set
1397 EI_OSABI header byte here.
1398 (ELF_OSABI): Define.
1399
14002019-07-23 Alan Modra <amodra@gmail.com>
1401
1402 * elf-bfd.h (enum elf_gnu_osabi): Add elf_gnu_osabi_mbind.
1403 * elf.c (_bfd_elf_make_section_from_shdr): Set elf_gnu_osabi_mbind.
1404 (get_program_header_size): Formatting. Only test SH_GNU_MBIND
1405 when elf_gnu_osabi_mbind is set.
1406 (_bfd_elf_map_sections_to_segments): Likewise.
1407 (_bfd_elf_init_private_section_data): Likewise.
1408 (_bfd_elf_final_write_processing): Update comment.
1409 * elf64-hppa.c (elf64_hppa_special_sections): Move .tbss entry.
1410 (elf_backend_special_sections): Define without .tbss for linux.
1411
14122019-07-23 Alan Modra <amodra@gmail.com>
1413
1414 * elf-bfd.h (enum elf_gnu_osabi): Rename from elf_gnu_symbols.
1415 Remove none, any, all enums.
1416 (struct elf_obj_tdata): Rename has_gnu_symbols field to has_gnu_osabi.
1417 (_bfd_elf_final_write_processing): Declare.
1418 * elf.c (_bfd_elf_write_object_contents): Unconditionally call
1419 elf_backend_final_write_processing.
1420 (_bfd_elf_post_process_headers): Move body of function to..
1421 (_bfd_elf_final_write_processing): ..here, but set EI_OSABI byte
1422 only when not already set. Adjust for rename.
1423 * elfxx-target.h (elf_backend_final_write_processing): Default to
1424 _bfd_elf_final_write_processing.
1425 * elf-hppa.h (elf_hppa_final_write_processing): Call
1426 _bfd_elf_final_write_processing.
1427 * elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
1428 * elf-nacl.c (nacl_final_write_processing): Likewise.
1429 * elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
1430 * elf32-arc.c (arc_elf_final_write_processing): Likewise.
1431 * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
1432 * elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
1433 * elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
1434 * elf32-cris.c (cris_elf_final_write_processing): Likewise.
1435 * elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
1436 * elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
1437 * elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
1438 * elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
1439 * elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
1440 * elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
1441 * elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
1442 * elf32-pj.c (pj_elf_final_write_processing): Likewise.
1443 * elf32-v850.c (v850_elf_final_write_processing): Likewise.
1444 * elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
1445 * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
1446 * elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
1447 * elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
1448 * elf32-arm.c (arm_final_write_processing): Split out from..
1449 (elf32_arm_final_write_processing): ..here. Call
1450 _bfd_elf_final_write_processing.
1451 (elf32_arm_nacl_final_write_processing): Adjust.
1452 * elfxx-mips.c (_bfd_mips_final_write_processing): Split out from..
1453 (_bfd_mips_elf_final_write_processing): ..here. Call
1454 _bfd_elf_final_write_processing.
1455 * elfxx-mips.h (_bfd_mips_final_write_processing): Declare.
1456 * elf32-mips.c (mips_vxworks_final_write_processing): Adjust.
1457 * elf32-ppc.c (ppc_final_write_processing): Split out from..
1458 (ppc_elf_final_write_processing): ..here. Call
1459 _bfd_elf_final_write_processing.
1460 (ppc_elf_vxworks_final_write_processing): Adjust.
1461 * elf32-sparc.c (sparc_final_write_processing): Split out from..
1462 (elf32_sparc_final_write_processing): ..here. Call
1463 _bfd_elf_final_write_processing.
1464 (elf32_sparc_vxworks_final_write_processing): Adjust.
1465 * elf32-d10v.c (elf_backend_final_write_processing): Don't define.
1466 * elf32-d30v.c (elf_backend_final_write_processing): Don't define.
1467 * elf32-m68hc11.c (elf_backend_final_write_processing): Don't define.
1468 * elf32-m68hc12.c (elf_backend_final_write_processing): Don't define.
1469 * elf32-s12z.c (elf_backend_final_write_processing): Don't define.
1470 * elf32-i386.c (elf_i386_check_relocs): Don't set has_gnu_symbols.
1471 * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
1472 * elflink.c (elf_link_add_object_symbols): Likewise.
1473 (elf_link_output_symstrtab): Set has_gnu_osabi for symbols here
1474 instead.
1475
14762019-07-23 Omar Majid <omajid@redhat.com>
1477
1478 * coffcode.h (coff_set_arch_mach_hook): Handle I386_APPLE_MAGIC,
1479 I386_FREEBSD_MAGIC, I386_LINUX_MAGIC, I386_NETBSD_MAGIC,
1480 AMD64_APPLE_MAGIC, AMD64_FREEBSD_MAGIC, AMD64_LINUX_MAGIC,
1481 AMD64_NETBSD_MAGIC.
1482 * peXXigen.c: Add comment about source of .NET magic numbers.
1483
14842019-07-19 Alan Modra <amodra@gmail.com>
1485
1486 * reloc.c (BFD_RELOC_PPC64_TPREL34, BFD_RELOC_PPC64_DTPREL34),
1487 (BFD_RELOC_PPC64_GOT_TLSGD34, BFD_RELOC_PPC64_GOT_TLSLD34),
1488 (BFD_RELOC_PPC64_GOT_TPREL34, BFD_RELOC_PPC64_GOT_DTPREL34),
1489 (BFD_RELOC_PPC64_TLS_PCREL): New pcrel tls relocs.
1490 * elf64-ppc.c (ppc64_elf_howto_raw): Add howtos for pcrel tls relocs.
1491 (ppc64_elf_reloc_type_lookup): Translate pcrel tls relocs.
1492 (must_be_dyn_reloc, dec_dynrel_count): Add R_PPC64_TPREL64.
1493 (ppc64_elf_check_relocs): Support pcrel tls relocs.
1494 (ppc64_elf_tls_optimize, ppc64_elf_relocate_section): Likewise.
1495 * bfd-in2.h: Regenerate.
1496 * libbfd.h: Regenerate.
1497
14982019-07-18 Alan Modra <amodra@gmail.com>
1499
1500 * elf64-ppc.c (ppc64_elf_relocate_section): Don't bother selecting
1501 a TLS section symbol for edited relocs. Tighten TLS symbol/reloc
1502 match test.
1503
15042019-07-18 Alan Modra <amodra@gmail.com>
1505
1506 * elf64-ppc.c (TLS_EXPLICIT): Define as 256.
1507 (ppc64_elf_check_relocs): Don't store TLS_EXPLICIT even if char
1508 is more than 8 bits.
1509 (ppc64_elf_tls_optimize): Likewise. Make tls_set, tls_clear, and
1510 tls_type vars unsigned int.
1511 (ppc64_elf_relocate_section): Use r_type rather than TLS_EXPLICIT
1512 to select r_type edit.
1513
15142019-07-18 Alan Modra <amodra@gmail.com>
1515
1516 * elf32-ppc.c (TLS_GDIE): Rename from TLS_TPRELGD throughout file.
1517 Correct comment.
1518 * elf64-ppc.c (TLS_GDIE): Likewise.
1519
15202019-07-18 Alan Modra <amodra@gmail.com>
1521
1522 * elf64-ppc.c (ppc64_elf_tls_optimize): Correct test for allowed
1523 range of tp-relative offsets.
1524
15252019-07-15 Alan Modra <amodra@gmail.com>
1526
1527 * elflink.c (_bfd_elf_fix_symbol_flags): If the def for an
1528 alias is no longer bfd_link_hash_defined, clear the alias.
1529
15302019-07-13 Alan Modra <amodra@gmail.com>
1531
1532 * elflink.c (_bfd_elf_omit_section_dynsym_default): Don't keep
1533 tls_sec.
1534 (_bfd_elf_init_1_index_section): Prefer not using TLS sections.
1535 (_bfd_elf_init_2_index_sections): Likewise.
1536 * elf64-ppc.c (ppc64_elf_relocate_section): When emitting dynamic
1537 relocations for local TLS symbols, use STN_UNDEF as the relocation
1538 symbol.
1539 * elf32-ppc.c (ppc_elf_relocate_section): Likewise, and don't
1540 leave TLS symbol value in the addend.
1541
15422019-07-08 Alan Modra <amodra@gmail.com>
1543
1544 PR 24785
1545 * elf32-ppc.c (_bfd_elf_ppc_set_arch): Sanity check .PPC.EMB.apuinfo
1546 size before reading first word.
1547
15482019-07-02 Nick Clifton <nickc@redhat.com>
1549
1550 PR 24717
1551 * elf.c (is_debuginfo_file): New function.
1552 (assign_file_positions_for_non_load_sections): Do not warn about
1553 allocated sections outside of loadable segments if they are found
1554 in a debuginfo file.
1555 * elf-bfd.h (is_debuginfo_file): Prototype.
1556
15572019-07-02 Nick Clifton <nickc@redhat.com>
1558
1559 PR 24753
1560 * compress.c (bfd_get_full_section_contents): Do not complain
1561 about linker created sections that are larger than the file size.
1562
15632019-07-02 Christophe Lyon <christophe.lyon@linaro.org>
1564
1565 * bfd/elf32-arm.c (CMSE_STUB_NAME): New define.
1566 (elf32_arm_get_stub_entry): Do not try to emit long-branch stubs
1567 for CMSE stubs.
1568 (arm_dedicated_stub_output_section_name): Use CMSE_STUB_NAME.
1569
15702019-07-02 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
1571
1572 * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Mark debug
1573 sections when .text section contain secure entry functions
1574 is marked.
1575
15762019-07-01 Nick Clifton <nickc@redhat.com>
1577
1578 PR 23839
1579 * elf32-arm.c (elf32_arm_update_relocs): Do not include the
1580 section VMA in the offset used to update exidx relocs.
1581
15822019-06-28 Nick Clifton <nickc@redhat.com>
1583
1584 PR 24708
1585 * elf.c (_bfd_elf_slurp_version_tables): Check for an excessively
1586 large version reference section.
1587 * compress.c (bfd_get_full_section_contents): Check for an
1588 uncompressed section whose size is larger than the file size.
1589
15902019-06-28 Alan Modra <amodra@gmail.com>
1591
1592 * format.c (bfd_check_format_matches): Don't match plugin target
1593 if another target matches. Expand comment.
1594 * targets.c (_bfd_target_vector): Move plugin_vec after all other
1595 non-corefile targets, outside !SELECT_VECS.
1596 * config.bfd: Don't handle targ=plugin here.
1597 * configure.ac: Don't add plugin to enable_targets or handle in
1598 target loop setting selvecs and other target vars.
1599 * configure: Regenerate.
1600
16012019-06-26 Nick Clifton <nickc@redhat.com>
1602
1603 PR 24703
1604 * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add error
1605 messages for failures.
1606 * mach-o.c (bfd_mach_o_canonicalize_relocs): Set an bfd error code
1607 if returning an error value.
1608
16092019-06-25 Jan Beulich <jbeulich@suse.com>
1610
1611 * elf-properties.c (elf_find_and_remove_property): Rename last
1612 parameter. Mention it in comment.
1613
16142019-06-24 Ilia Diachkov <ilia.diachkov@optimitech.com>
1615
1616 * elfnn-riscv.c (_bfd_riscv_relax_lui): Delete early exit when
1617 SEC_MERGE or SEC_CODE flags are set.
1618 (_bfd_riscv_relax_section): New local symtype. Set sym_sec and
1619 symtype consistently. Don't include sec_addr (sym_sec) in symval.
1620 Add check for SEC_INFO_TYPE_MERGE and call _bfd_merged_section_offset.
1621 Add sec_addr (sym_sec) after handling merge sections.
1622
16232019-06-24 H.J. Lu <hongjiu.lu@intel.com>
1624
1625 PR ld/24721
1626 * elf-properties.c (elf_merge_gnu_property_list): Remove the
1627 property after reporting property removal.
1628
16292019-06-23 Alan Modra <amodra@gmail.com>
1630
1631 PR 24704
1632 * elf64-ppc.c (R_PPC64_GOT16_DS): Don't set has_gotrel.
1633 (ppc64_elf_edit_toc): Don't remove R_PPC64_GOT16_DS got entries.
1634 Reduce range of offsets allowed for other GOT relocs.
1635
16362019-06-23 Alan Modra <amodra@gmail.com>
1637
1638 PR 24689
1639 * elfcode.h (elf_object_p): Warning fix.
1640
16412019-06-21 Alan Modra <amodra@gmail.com>
1642
1643 PR 24689
1644 * elfcode.h (elf_object_p): Check type of e_shstrndx section.
1645
16462019-06-19 Alan Modra <amodra@gmail.com>
1647
1648 PR 24697
1649 * elf32-ppc.c (ppc_elf_relocate_section): Don't read insn for
1650 R_PPC_EMB_RELSDA. Mask low bit of R_PPC_EMB_SDA21 r_offset.
1651
16522019-06-19 Alan Modra <amodra@gmail.com>
1653
1654 * elf64-ppc.c (ppc64_elf_inline_plt): Correct st_other test for
1655 functions that require r2 valid to use local entry.
1656 (ppc64_elf_size_stubs, ppc64_elf_relocate_section): Likewise.
1657
16582019-06-17 Szabolcs Nagy <szabolcs.nagy@arm.com>
1659
1660 * elfnn-aarch64.c (elfNN_aarch64_allocate_local_dynrelocs): Remove.
1661 (elfNN_aarch64_size_dynamic_sections): Remove loc_hash_table traversal
1662 with elfNN_aarch64_allocate_local_dynrelocs.
1663
16642019-06-14 Szabolcs Nagy <szabolcs.nagy@arm.com>
1665
1666 * elfnn-aarch64.c: Enable MOVW_PREL relocs for ELF32.
1667
16682019-06-14 Alan Modra <amodra@gmail.com>
1669
1670 * Makefile.in: Regenerate.
1671 * configure: Regenerate.
1672
16732019-06-14 Alan Modra <amodra@gmail.com>
1674
1675 * elf64-ppc.c: Fix comments involving paddi.
1676
16772019-06-12 Adam Lackorzymski <adam@os.inf.tu-dresden.de>
1678
1679 PR 24643
1680 * elf32-arm.c (arm_elf_find_function): Fail if the symol table is
1681 absent, or the bfd is not in the ELF formart.
1682 * elfnn-aarch64.c (aarch64_elf_find_function): Likewise.
1683
16842019-06-10 Christos Zoulas <christos@zoulas.com>
1685
1686 PR 24650
1687 * elf.c (elfcore_make_auxv_note_section): New function.
1688 (elfcore_grok_note): Use it.
1689 (elfcore_grok_freebsd_note): Likewise.
1690 (elfcore_grok_openbsd_note): Likewise.
1691 (elfcore_grok_netbsd_note): Likewise. Plus add support for
1692 NT_NETBSDCORE_AUXV notes.
1693
16942019-06-06 Sudakshina Das <sudi.das@arm.com>
1695
1696 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Set
1697 alignment of the new gnu property section.
1698
16992019-06-06 Sudakshina Das <sudi.das@arm.com>
1700
1701 * bfd-in.h: Change comment.
1702 * bfd-in2.h: Regenerate.
1703 * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update warning.
1704 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties):
1705 Likwise.
1706
17072019-05-28 Faraz Shahbazker <fshahbazker@wavecomp.com>
1708
1709 * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_PCHI16>:
1710 Remove overflow check.
1711
17122019-05-28 Alan Modra <amodra@gmail.com>
1713
1714 PR 24596
1715 * cofflink.c (coff_link_check_archive_element): Don't assume
1716 element is a coff object file after calling add_archive_element.
1717
17182019-05-28 Alan Modra <amodra@gmail.com>
1719
1720 PR 24596
1721 * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Don't
1722 attempt to set sh_entsize for excluded PLT section.
1723
17242019-05-28 Alan Modra <amodra@gmail.com>
1725
1726 PR 24596
1727 * elf64-alpha.c (elf64_alpha_relocate_section): Don't attempt
1728 to emit R_ALPHA_GOTTPREL in PIEs, for which no space is
1729 allocated in alpha_dynamic_entries_for_reloc.
1730
17312019-05-28 Alan Modra <amodra@gmail.com>
1732
1733 PR 24596
1734 * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Don't segfault
1735 on NULL output_section.
1736 * elflink.c (elf_final_link_free): Don't free -1 symshndxbuf.
1737
17382019-05-28 Alan Modra <amodra@gmail.com>
1739
1740 PR 24596
1741 * elf32-m68k.c (elf_m68k_get_got_entry): Don't create a new
1742 entry when MUST_FIND. Abort when MUST_FIND not found.
1743 (elf_m68k_get_bfd2got_entry): Likewise.
1744 (elf_m68k_relocate_section): Remove now useless assert.
1745
17462019-05-28 Alan Modra <amodra@gmail.com>
1747
1748 PR 24596
1749 * elf64-hppa.c (elf64_hppa_finalize_dynreloc): Get the output bfd
1750 from bfd_link_info, not an output section owner.
1751 (elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd): Likewise.
1752 (elf_hppa_final_link_relocate): Likewise.
1753
17542019-05-28 Alan Modra <amodra@gmail.com>
1755
1756 PR 24596
1757 * aout-tic30.c (MY_bfd_final_link): Don't segfault on missing
1758 create_object_symbols_section, obj_textsec, obj_datasec or
1759 obj_bsssec. Fix other errors in placement.
1760 * config.bfd: Obsolete tic30-aout.
1761
17622019-05-28 Alan Modra <amodra@gmail.com>
1763
1764 PR 24596
1765 * dwarf2.c (save_section_vma, section_vma_same): Check for NULL
1766 end of section list as well as section_count.
1767 * xcofflink.c (xcoff_link_add_symbols): Fix temporarily changed
1768 section list before returning error.
1769
17702019-05-27 Alan Modra <amodra@gmail.com>
1771
1772 * elf.c (bfd_elf_set_group_contents): Exit on zero size section.
1773
17742019-05-27 Alan Modra <amodra@gmail.com>
1775
1776 PR 24596
1777 * linker.c (_bfd_generic_link_output_symbols): Heed BSF_KEEP.
1778
17792019-05-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
1780
1781 * elfnn-aarch64.c (elfNN_aarch64_merge_symbol_attribute): New function.
1782 (struct elf_aarch64_link_hash_table): Add variant_pcs member.
1783 (elfNN_aarch64_allocate_dynrelocs): Update variant_pcs.
1784 (elfNN_aarch64_size_dynamic_sections): Add DT_AARCH64_VARIANT_PCS.
1785 (elf_backend_merge_symbol_attribute): Define.
1786
17872019-05-24 Alan Modra <amodra@gmail.com>
1788
1789 * po/SRC-POTFILES.in: Regenerate.
1790
17912019-05-24 Alan Modra <amodra@gmail.com>
1792
1793 * elf64-ppc.c: Comment on powerxx _notoc stub variants.
1794 (LI_R11_0, LIS_R11, ORI_R11_R11_0, SLDI_R11_R11_34): Define.
1795 (PADDI_R12_PC, PLD_R12_PC, D34, HA34): Define.
1796 (struct ppc_link_hash_table): Add powerxx_stubs.
1797 (ppc64_elf_check_relocs): Set powerxx_stubs.
1798 (build_powerxx_offset, size_powerxx_offset),
1799 (num_relocs_for_powerxx_offset),
1800 (emit_relocs_for_powerxx_offset): New functions.
1801 (plt_stub_size): Size powerxx stubs.
1802 (ppc_build_one_stub): Emit powerxx stubs.
1803 (ppc_size_one_stub): Size powerxx stubs. Omit .eh_frame for
1804 powerxx stubs.
1805
18062019-05-24 Alan Modra <amodra@gmail.com>
1807
1808 * elf64-ppc.c (ppc64_elf_check_relocs): Set has_gotrel for
1809 R_PPC64_GOT_PCREL34.
1810 (xlate_pcrel_opt): New function.
1811 (ppc64_elf_edit_toc): Handle R_PPC64_GOT_PCREL34.
1812 (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
1813 for R_PPC64_GOT_PCREL34. Implement R_PPC64_PCREL_OPT optimisation.
1814
18152019-05-24 Alan Modra <amodra@gmail.com>
1816
1817 * reloc.c (BFD_RELOC_PPC64_D34, BFD_RELOC_PPC64_D34_LO),
1818 (BFD_RELOC_PPC64_D34_HI30, BFD_RELOC_PPC64_D34_HA30),
1819 (BFD_RELOC_PPC64_PCREL34, BFD_RELOC_PPC64_GOT_PCREL34),
1820 (BFD_RELOC_PPC64_PLT_PCREL34),
1821 (BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34),
1822 (BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34),
1823 (BFD_RELOC_PPC64_REL16_HIGHER34, BFD_RELOC_PPC64_REL16_HIGHERA34),
1824 (BFD_RELOC_PPC64_REL16_HIGHEST34, BFD_RELOC_PPC64_REL16_HIGHESTA34),
1825 (BFD_RELOC_PPC64_D28, BFD_RELOC_PPC64_PCREL28): New reloc enums.
1826 * elf64-ppc.c (PNOP): Define.
1827 (ppc64_elf_howto_raw): Add reloc howtos for new relocations.
1828 (ppc64_elf_reloc_type_lookup): Translate new bfd reloc numbers.
1829 (ppc64_elf_ha_reloc): Adjust addend for highera34 and highesta34
1830 relocs.
1831 (ppc64_elf_prefix_reloc): New function.
1832 (struct ppc_link_hash_table): Add notoc_plt.
1833 (is_branch_reloc): Add R_PPC64_PLTCALL_NOTOC.
1834 (is_plt_seq_reloc): Add R_PPC64_PLT_PCREL34,
1835 R_PPC64_PLT_PCREL34_NOTOC, and R_PPC64_PLTSEQ_NOTOC.
1836 (ppc64_elf_check_relocs): Handle pcrel got and plt relocs. Set
1837 has_pltcall for section on seeing R_PPC64_PLTCALL_NOTOC. Handle
1838 possible need for dynamic relocs on non-pcrel powerxx relocs.
1839 (dec_dynrel_count): Handle non-pcrel powerxx relocs.
1840 (ppc64_elf_inline_plt): Handle R_PPC64_PLTCALL_NOTOC.
1841 (toc_adjusting_stub_needed): Likewise.
1842 (ppc64_elf_tls_optimize): Handle R_PPC64_PLTSEQ_NOTOC.
1843 (ppc64_elf_relocate_section): Handle new powerxx relocs.
1844 * bfd-in2.h: Regenerate.
1845 * libbfd.h: Regenerate.
1846
18472019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
1848
1849 * config.bfd (targ_cpu): Process bpf-*-none only if BFD64.
1850 * configure.ac: Set target_size=64 for bpf_elf64_le_vec and
1851 bpf_elf64_be_vec.
1852 * configure: Regenerate.
1853
18542019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
1855
1856 * configure: Regenerated.
1857 * Makefile.am (ALL_MACHINES): Add cpu-bpf.lo.
1858 (ALL_MACHINES_CFILES): Add cpu-bpf.c.
1859 (BFD64_BACKENDS): Add elf64-bpf.lo.
1860 (BFD64_BACKENDS_CFILES): Add elf64-bpf.c.
1861 * Makefile.in (SOURCE_HFILES): Regenerate.
1862 * config.bfd (targ_cpu): Handle bpf-*-* targets.
1863 * cpu-bpf.c: New file.
1864 * elf64-bpf.c: Likewise.
1865 * targets.c (_bfd_target_vector): Add bpf_elf64_be_vec and
1866 bpf_elf64_le_vec.
1867 * archures.c: Define architecture bfd_arch_bpf and machine
1868 bfd_arch_bpf.
1869 * reloc.c: Define BFD relocations used by the BPF target.
1870 * bfd-in2.h: Regenerated.
1871 * libbfd.h: Likewise.
1872
18732019-05-22 Alan Modra <amodra@gmail.com>
1874
1875 * elf32-arm.c (arm_allocate_glue_section_space): Clear section
1876 contents.
1877
18782019-05-22 Alan Modra <amodra@gmail.com>
1879
1880 * vms-alpha.c (_bfd_vms_write_etir): Don't attempt further
1881 processing on "size error in section".
1882
18832019-05-22 Alan Modra <amodra@gmail.com>
1884
1885 * som.c (som_bfd_free_cached_info): Call
1886 _bfd_generic_close_and_cleanup.
1887
18882019-05-21 Faraz Shahbazker <fshahbazker@wavecomp.com>
1889
1890 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Generate error
1891 for TLS_TPREL_HI16(/LO16) relocations in shared library.
1892
18932019-05-21 Faraz Shahbazker <fshahbazker@wavecomp.com>
1894
1895 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Add NULL pointer
1896 checks. Search the RELA table for n64 relocations.
1897
18982019-05-21 Matthew Fortune <matthew.fortune@mips.com>
1899 Faraz Shahbazker <fshahbazker@wavecomp.com>
1900
1901 * elfxx-mips.c (LA25_BC): New macro.
1902 (mips_elf_link_hash_table)<compact_branches>: New field.
1903 (STUB_JALRC): New macro.
1904 (mipsr6_o32_exec_plt0_entry_compact): New array.
1905 (mipsr6_n32_exec_plt0_entry_compact): Likewise.
1906 (mipsr6_n64_exec_plt0_entry_compact): Likewise.
1907 (mipsr6_exec_plt_entry_compact): Likewise.
1908 (mips_elf_create_la25_stub): Use BC instead of J for stubs
1909 when compact_branches is true.
1910 (_bfd_mips_elf_finish_dynamic_symbol): Choose the compact
1911 PLT for MIPSR6 with compact_branches. Do not reorder the
1912 compact branches PLT. Switch the lazy stub for MIPSR6
1913 with compact_branches to use JALRC.
1914 (mips_finish_exec_plt): Choose the compact PLT0 for MIPSR6
1915 when compact_branches is true.
1916 (_bfd_mips_elf_compact_branches): New function.
1917 * elfxx-mips.h (_bfd_mips_elf_compact_branches): New prototype.
1918
19192019-05-21 Tamar Christina <tamar.christina@arm.com>
1920
1921 PR ld/24373
1922 * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
1923 Fix print formatter.
1924
19252019-05-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
1926
1927 PR 24460
1928 * elf32-arm.c (get_value_helper): Remove.
1929 (elf32_arm_final_link_relocate): Fix branch future relocations.
1930
19312019-05-21 Tamar Christina <tamar.christina@arm.com>
1932
1933 PR ld/24373
1934 * bfd-in.h (enum erratum_84319_opts): New
1935 (bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change
1936 int to enum erratum_84319_opts.
1937 * bfd-in2.h: Regenerate.
1938 * elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change
1939 fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr.
1940 (_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub.
1941 (aarch64_size_one_stub): Conditionally size erratum 843419 stubs.
1942 (_bfd_aarch64_resize_stubs): Amend comment.
1943 (elfNN_aarch64_size_stubs): Don't generate stubs when no workaround
1944 requested.
1945 (bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
1946 (_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
1947 erratum workaround.
1948 (clear_erratum_843419_entry): Update erratum conditional.
1949
19502019-05-21 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
1951
1952 PR ld/24571
1953 * bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check
1954 when computing distance_short_enough.
1955
19562019-05-21 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
1957
1958 PR ld/24564
1959 * bfd/elf32-avr.c (avr_relative_distance_considering_wrap_around):
1960 Wrap around even if distance equals avr_pc_wrap_around.
1961
19622019-05-20 Nick Clifton <nickc@redhat.com>
1963
1964 * po/fr.po: Updated French translation.
1965
19662019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1967
1968 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
1969
19702019-05-16 Alan Modra <amodra@gmail.com>
1971
1972 * elf32-arm.c (elf32_arm_write_section): Revert last change.
1973
19742019-05-15 Alan Modra <amodra@gmail.com>
1975
1976 * elf32-arm.c (elf32_arm_write_section): Don't leave
1977 error case of STM32L4XX_ERRATUM_BRANCH_TO_VENEER with
1978 unitialised section contents.
1979
19802019-05-14 Jamey Hicks <jamey.hicks@gmail.com>
1981
1982 PR 19921
1983 * verilog.c: (VerilogDataWidth): New variable.
1984 (verilog_write_record): Emit bytes in VerilogDataWidth bundles.
1985
19862019-05-08 Nick Clifton <nickc@redhat.com>
1987
1988 PR 24523
1989 * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE
1990 rather than FALSE if encountering a non-ELF file.
1991
19922019-05-06 Alan Modra <amodra@gmail.com>
1993
1994 * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
1995
19962019-05-06 Alan Modra <amodra@gmail.com>
1997
1998 * reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
1999 (BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
2000 Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
2001 * libbfd.h: Regenerate.
2002 * bfd-in2.h: Regenerate.
2003
20042019-05-04 Alan Modra <amodra@gmail.com>
2005
2006 PR 24511
2007 * syms.c (coff_section_type): Only allow '.', '$' and numeric
2008 following the standard section names.
2009 (bfd_decode_symclass): Prioritize section flag tests in
2010 decode_section_type before name tests in coff_section_type.
2011 * plugin.c (bfd_plugin_canonicalize_symtab): Init fake_section
2012 and fake_common_section using BFD_FAKE_SECTION. Use "fake" as
2013 their names and choose standard .text section flags for
2014 fake_section.
2015
20162019-05-02 Nick Clifton <nickc@redhat.com>
2017
2018 PR 24493
2019 * coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
2020 .gnu.debugaltlink sections as debugging sections.
2021
20222019-04-30 Alan Modra <amodra@gmail.com>
2023
2024 * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
2025 (struct _ppc64_elf_section_data): Likewise.
2026 (ppc64_elf_check_relocs): Set above fields.
2027 (ppc64_elf_edit_toc): Add a pass over GOT relocs.
2028 (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
2029 when possible.
2030
20312019-04-26 H.J. Lu <hongjiu.lu@intel.com>
2032
2033 PR ld/24486
2034 * elflink.c (elf_link_output_extsym): Don't complain undefined
2035 weak dynamic reference.
2036
20372019-04-25 Sudakshina Das <sudi.das@arm.com>
2038
2039 * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove.
2040 (PLT_BTI_TLSDESC_ENTRY_SIZE): Remove.
2041 (PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove.
2042 (PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update.
2043 (elfNN_aarch64_small_plt0_pac_entry): Remove.
2044 (elfNN_aarch64_small_plt0_bti_pac_entry): Remove.
2045 (elfNN_aarch64_small_plt0_bti_entry): Update.
2046 (elfNN_aarch64_small_plt_bti_entry): Update.
2047 (elfNN_aarch64_small_plt_pac_entry): Update.
2048 (elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update.
2049 (setup_plt_values): Setup new entries.
2050 (elfNN_aarch64_finish_dynamic_sections): Remove size change.
2051 (elfNN_aarch64_plt_sym_val): Likewise.
2052
20532019-04-22 Jim Wilson <jimw@sifive.com>
2054
2055 * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
2056
20572019-04-19 Alan Modra <amodra@gmail.com>
2058
2059 * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
2060
20612019-04-17 H.J. Lu <hongjiu.lu@intel.com>
2062
2063 * elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not
2064 building shared object.
2065 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise.
2066
20672019-04-17 H.J. Lu <hongjiu.lu@intel.com>
2068
2069 PR ld/24458
2070 * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
2071 linker_def.
2072
20732019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
2074
2075 * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
2076 relocation.
2077 * bfd-in2.h: Regenerate.
2078 * libbfd.h: Likewise.
2079
20802019-04-15 Sudakshina Das <sudi.das@arm.com>
2081
2082 * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
2083 * bfd-in2.h: Regenerated.
2084 * libbfd.h: Regenerated.
2085
20862019-04-15 Sudakshina Das <sudi.das@arm.com>
2087
2088 * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
2089 * bfd-in2.h: Regenerated.
2090 * libbfd.h: Likewise.
2091
20922019-04-15 Sudakshina Das <sudi.das@arm.com>
2093
2094 * reloc.c (BFD_RELOC_ARM_THUMB_BF13): New.
2095 * bfd-in2.h: Regenerated.
2096 * libbfd.h: Regenerated.
2097 * elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13.
2098 (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13
2099 and R_ARM_THM_BF12 together.
2100 (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13.
2101
21022019-04-15 Sudakshina Das <sudi.das@arm.com>
2103
2104 * reloc.c (BFD_RELOC_ARM_THUMB_BF19): New
2105 * libbfd.h: Regenerated.
2106 * bfd-in2.h: Regenerated.
2107 * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18.
2108 (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19
2109 and R_ARM_THM_BF18 together.
2110 (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19.
2111
21122019-04-15 Sudakshina Das <sudi.das@arm.com>
2113
2114 * reloc.c (BFD_RELOC_ARM_THUMB_BF17): New enum.
2115 * bfd-in2.h: Regenerated.
2116 * libbfd.h: Regenerated.
2117 * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF16.
2118 (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF17
2119 and R_ARM_THM_BF16 together.
2120 (get_value_helper): New reloc helper.
2121 (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF16.
2122
21232019-04-15 Sudakshina Das <sudi.das@arm.com>
2124
2125 * reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
2126 * bfd-in2.h: Regenerate.
2127 * libbfd.h: Regenerate.
2128
21292019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
2130
2131 * archures.c (bfd_mach_arm_8_1M_MAIN): Define.
2132 * bfd-in2.h: Regenerate.
2133 * cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline.
2134 * elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline
2135 and update assert.
2136 (using_thumb2): Likewise.
2137 (using_thumb2_bl): Update assert.
2138 (arch_has_arm_nop): Likewise.
2139 (bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline.
2140 (tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging.
2141
21422019-04-11 H.J. Lu <hongjiu.lu@intel.com>
2143
2144 * elf-linker-x86.h (elf_x86_cet_report): New.
2145 (elf_linker_x86_params): Add cet_report.
2146 * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report
2147 missing IBT and SHSTK properties if needed.
2148
21492019-04-11 H.J. Lu <hongjiu.lu@intel.com>
2150
2151 PR ld/24436
2152 * elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of
2153 "h != NULL". Don't check "h != NULL" before calling.
2154 bfd_elf_gc_record_vtentry.
2155 * elf32-arm.c (elf32_arm_check_relocs): Likewise.
2156 * elf32-bfin.c (bfin_check_relocs): Likewise.
2157 * elf32-cris.c (cris_elf_check_relocs): Likewise.
2158 * elf32-csky.c (csky_elf_check_relocs): Likewise.
2159 * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
2160 * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
2161 * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
2162 * elf32-frv.c (elf32_frv_check_relocs): Likewise.
2163 * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
2164 * elf32-i386.c (elf_i386_check_relocs): Likewise.
2165 * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
2166 * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
2167 * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
2168 * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
2169 * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
2170 * elf32-metag.c (elf_metag_check_relocs): Likewise.
2171 * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
2172 * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
2173 * elf32-s390.c (elf_s390_check_relocs): Likewise.
2174 * elf32-sh.c (sh_elf_check_relocs): Likewise.
2175 * elf32-v850.c (v850_elf_check_relocs): Likewise.
2176 * elf32-vax.c (elf_vax_check_relocs): Likewise.
2177 * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
2178 * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
2179 * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
2180 * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
2181 * elf64-s390.c (elf_s390_check_relocs): Likewise.
2182 * elf64-x86-64.c (elf_s390_check_relocs): Likewise.
2183 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
2184 * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
2185 * elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt
2186 VTENTRY entry.
2187
21882019-04-11 Alan Modra <amodra@gmail.com>
2189
2190 PR 24435
2191 * elflink.c (elf_link_add_object_symbols): Don't read partial
2192 dynamic entries from fuzzed objects.
2193
21942019-04-11 Tamar Christina <tamar.christina@arm.com>
2195
2196 PR ld/24302
2197 * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit
2198 DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW.
2199 (elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW.
2200
22012019-04-10 Michael Forney <mforney@mforney.org>
2202
2203 PR 24427
2204 * doc/chew.c (free_words): Correctly free "push_text" strings.
2205
22062019-04-08 H.J. Lu <hongjiu.lu@intel.com>
2207
2208 * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
2209
22102019-04-08 Alan Modra <amodra@gmail.com>
2211
2212 * configure.ac (elfxx_x86): Define and use.
2213 * configure: Regenerate.
2214
22152019-04-06 H.J. Lu <hongjiu.lu@intel.com>
2216
2217 * elf-linker-x86.h: New file.
2218 * elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params
2219 to get x86-specific linker options.
2220 * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
2221 (elf_x86_64_check_relocs): Likewise.
2222 (elf_x86_64_relocate_section): Likewise.
2223 (elf_x86_64_link_setup_gnu_properties): Likewise.
2224 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise.
2225 (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
2226 (_bfd_elf_linker_x86_set_options): New function.
2227 * elfxx-x86.h: Include "elf-linker-x86.h".
2228 (elf_x86_link_hash_table): Add params.
2229
22302019-04-03 Alan Modra <amodra@gmail.com>
2231
2232 * coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c,
2233 * elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c,
2234 * elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c,
2235 * elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c,
2236 * elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c,
2237 * pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes.
2238
22392019-04-02 Jim Wilson <jimw@sifive.com>
2240
2241 PR 24389
2242 * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of
2243 ELF header flags to after check for ELF object file. Loop through
2244 sections looking for code sections, if none, then skip ABI checks.
2245
22462019-03-30 Andrew Waterman <andrew@sifive.com>
2247
2248 * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
2249 rd == X_RA case.
2250
22512019-03-29 Max Filippov <jcmvbkbc@gmail.com>
2252
2253 * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
2254 info->export_dynamic to the conditional.
2255
22562019-03-28 Alan Modra <amodra@gmail.com>
2257
2258 PR 24392
2259 * configure.ac: Invoke AC_CHECK_SIZEOF(int).
2260 * configure: Regenerate.
2261 * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
2262 workaround with SIZEOF_LONG vs. SIZEOF_INT check.
2263 * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
2264 * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
2265 * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
2266
22672019-03-21 Jim Wilson <jimw@sifive.com>
2268
2269 PR 24365
2270 * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
2271 verify sym non-NULL before using. Add identical check using h.
2272
22732019-03-21 Sudakshina Das <sudi.das@arm.com>
2274
2275 * elf-bfd.h (struct elf_backend_data): Add argument to
2276 merge_gnu_properties.
2277 * elf-properties.c (elf_merge_gnu_properties): Add argument to
2278 itself and while calling bed->merge_gnu_properties.
2279 (elf_merge_gnu_property_list): Update the calls for
2280 elf_merge_gnu_properties.
2281 * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
2282 of --force-bti warning and add argument.
2283 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
2284 warning.
2285 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
2286 * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
2287 declaration.
2288
22892019-03-20 Sudakshina Das <sudi.das@arm.com>
2290
2291 * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
2292 * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
2293 (elf_backend_fixup_gnu_properties): Define for AArch64.
2294
22952019-03-18 Alan Modra <amodra@gmail.com>
2296
2297 PR 24355
2298 * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
2299 for local iplt syms with ent->plt.offset == -1. Remove ineffective
2300 attempt at writing glink stubs only once.
2301
23022019-03-16 Alan Modra <amodra@gmail.com>
2303
2304 PR 24337
2305 * elf.c (_bfd_elf_rela_local_sym): Revert last change.
2306 (_bfd_elf_rel_local_sym): Likewise.
2307 * elflink.c (elf_link_input_bfd): Use bfd_und_section for
2308 section of symbols with unrecognized shndx.
2309
23102019-03-15 H.J. Lu <hongjiu.lu@intel.com>
2311
2312 PR ld/24267
2313 * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
2314 section.
2315 * cofflink.c (coff_link_add_symbols): Check for symbols defined
2316 in discarded section.
2317
23182019-03-15 Alan Modra <amodra@gmail.com>
2319
2320 PR 24339
2321 * elflink.c (elf_link_add_object_symbols): Bail out on a local
2322 symbol after globals if elf_bad_symtab is not set.
2323
23242019-03-15 Alan Modra <amodra@gmail.com>
2325
2326 PR 24337
2327 * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
2328 (_bfd_elf_rel_local_sym): Likewise.
2329
23302019-03-15 Alan Modra <amodra@gmail.com>
2331
2332 PR 24336
2333 * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
2334 object files with sh_size not a multiple of sh_entsize.
2335
23362019-03-15 H.J. Lu <hongjiu.lu@intel.com>
2337
2338 PR ld/24338
2339 * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
2340 input with bad relocation.
2341
234222019-03-15 H.J. Lu <hongjiu.lu@intel.com>
2343
2344 * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
2345
23462019-03-14 Nick Clifton <nickc@redhat.com>
2347
2348 PR 24334
2349 * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
2350 (save_section_vma): Initialise field to the number of entries in
2351 the sec_vma table.
2352 (section_vma_same): Check that the number of entries in the
2353 sec_vma table matches the number of sections in the bfd.
2354
23552019-03-14 Nick Clifton <nickc@redhat.com>
2356
2357 PR 24333
2358 * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
2359 section owner pointer when adding the default symbol.
2360
23612019-03-14 Nick Clifton <nickc@redhat.com>
2362
2363 PR 24332
2364 * elflink.c (elf_link_add_object_symbols): Add new local variable
2365 extversym_end. Initialise it to point to the end of the version
2366 symbol table, if present. Check it when initialising and updating
2367 the ever pointer.
2368
23692019-03-13 Sudakshina Das <sudi.das@arm.com>
2370
2371 * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
2372 (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
2373 (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
2374 (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
2375 and PLT_PAC_PLT.
2376 (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
2377 (get_plt_type): Add case for DT_AARCH64_PAC_PLT.
2378 (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
2379
23802019-03-13 Sudakshina Das <sudi.das@arm.com>
2381 Szabolcs Nagy <szabolcs.nagy@arm.com>
2382
2383 * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
2384 (aarch64_bti_pac_info): New.
2385 (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
2386 (bfd_elf32_aarch64_set_options): Likewise.
2387 * bfd-in2.h: Regenerate
2388 * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
2389 (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
2390 (elfNN_aarch64_small_plt0_bti_entry): New.
2391 (elfNN_aarch64_small_plt_bti_entry): New.
2392 (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
2393 (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
2394 (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
2395 tlsdesc_plt_entry_size fields.
2396 (elfNN_aarch64_link_hash_table_create): Initialise the new fields.
2397 (setup_plt_values): New helper function.
2398 (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
2399 bti enable type.
2400 (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
2401 fixed macros.
2402 (elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
2403 (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
2404 to plt stubs instead of fixed ones and update filling them according
2405 to the need for bti.
2406 (elfNN_aarch64_init_small_plt0_entry): Likewise.
2407 (elfNN_aarch64_finish_dynamic_sections): Likewise.
2408 (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
2409 (elfNN_aarch64_plt_sym_val): Update size accordingly.
2410 (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
2411 is set.
2412 (bfd_elfNN_get_synthetic_symtab): Define.
2413 (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
2414 and mising BTI NOTE SECTION.
2415
2416
24172019-03-13 Sudakshina Das <sudi.das@arm.com>
2418
2419 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
2420 linker created inputs from merge.
2421 * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
2422 GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
2423 (elfNN_aarch64_link_setup_gnu_properties): New.
2424 (elfNN_aarch64_merge_gnu_properties): New.
2425 (elf_backend_setup_gnu_properties): Define for AArch64.
2426 (elf_backend_merge_gnu_properties): Likewise.
2427 * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
2428 (_bfd_aarch64_elf_parse_gnu_properties): Define.
2429 (_bfd_aarch64_elf_merge_gnu_properties): Define.
2430 * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
2431 (_bfd_aarch64_elf_parse_gnu_properties): Declare.
2432 (_bfd_aarch64_elf_merge_gnu_properties): Declare.
2433 (elf_backend_parse_gnu_properties): Define for AArch64.
2434
24352019-03-13 H.J. Lu <hongjiu.lu@intel.com>
2436
2437 PR ld/24322
2438 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
2439 merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
2440
24412019-03-12 Alan Modra <amodra@gmail.com>
2442
2443 * coffcode.h (buy_and_read): Delete unnecessary forward decl. Add
2444 nmemb parameter. Use bfd_alloc2.
2445 (coff_slurp_line_table): Use bfd_alloc2. Update buy_and_read calls.
2446 Delete assertion.
2447 (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
2448 (coff_slurp_reloc_table): Use bfd_alloc2. Update buy_and_read calls.
2449 * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
2450 doesn't overflow.
2451 * elf.c (bfd_section_from_shdr): Use bfd_zalloc2. Style fix.
2452 (assign_section_numbers): Style fix.
2453 (swap_out_syms): Use bfd_malloc2.
2454 (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
2455 overflow.
2456 (_bfd_elf_make_empty_symbol): Style fix.
2457 (elfobj_grok_stapsdt_note_1): Formatting.
2458 * elfcode.h (elf_object_p): Use bfd_alloc2.
2459 (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
2460 (elf_slurp_symbol_table): Use bfd_zalloc2.
2461 (elf_slurp_reloc_table): Use bfd_alloc2.
2462 (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
2463 * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
2464 size calculation doesn't overflow.
2465 (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
2466 * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
2467 * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
2468
24692019-03-08 Alan Modra <amodra@gmail.com>
2470
2471 PR 24311
2472 * merge.c (merge_strings): Return secinfo. Don't pad section
2473 to alignment here.
2474 (_bfd_merge_sections): Pad section to alignment here, if input
2475 sections contributing to merged output all pad to alignment.
2476 Formatting.
2477
24782019-03-06 Nick Clifton <nickc@redhat.com>
2479
2480 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
2481 table pointer.
2482 * coffgen.c (coff_find_nearest_line_with_names): Do not call
2483 _bfd_dwarf2_find_symbol_bias if there is no symbol table available.
2484
24852019-03-01 Andreas Krebbel <krebbel@linux.ibm.com>
2486
2487 This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
2488 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
2489
2490 PR 20113
2491 * elf32-s390.c (allocate_dynrelocs): Update comment.
2492
24932019-02-28 Tamar Christina <tamar.christina@arm.com>
2494
2495 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
2496
24972019-02-28 Nick Clifton <nickc@redhat.com>
2498
2499 PR 24273
2500 * elf.c (bfd_elf_string_from_elf_section): Check for a string
2501 section that is not NUL terminated.
2502
25032019-02-27 H.J. Lu <hongjiu.lu@intel.com>
2504
2505 PR ld/24276
2506 * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
2507 by linker when checking copy reloc on protected symbol.
2508
25092019-02-24 Alan Modra <amodra@gmail.com>
2510
2511 PR 24144
2512 * pdp11.c (set_section_contents): Revert 2015-02-24 change.
2513
25142019-02-20 Eric Tsai <erictsai@cadence.com>
2515
2516 * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
2517 sections between the call site and call destination and adjust
2518 call distance by the largest alignment.
2519
25202019-02-20 Alan Hayward <alan.hayward@arm.com>
2521
2522 * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
2523 * elf.c (elfcore_grok_aarch_pauth): New function.
2524 (elfcore_grok_note): Check for NT_ARM_PAC_MASK.
2525 (elfcore_write_aarch_pauth): New function.
2526 (elfcore_write_register_note): Check for AArch64 pauth section.
2527
25282019-02-20 Alan Modra <amodra@gmail.com>
2529
2530 PR 24225
2531 * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
2532 return value.
2533
25342019-02-20 Michael Roitzsch <reactorcontrol@icloud.com>
2535
2536 * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
2537 Darwin hosts, not just or1k.
2538 * configure: Regenerate.
2539
25402019-02-20 Alan Modra <amodra@gmail.com>
2541
2542 PR 24236
2543 * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
2544 sentinel NUL to string buffer nearer to loop where it is used.
2545 Don't go past sentinel when scanning strings, and don't write
2546 NUL again.
2547 * archive.c (do_slurp_coff_armap): Simplify string handling to
2548 archive64.c style.
2549
25502019-02-19 Alan Modra <amodra@gmail.com>
2551
2552 PR 24235
2553 * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
2554 attempting to prevent read past end of section.
2555
25562019-02-18 Alan Modra <amodra@gmail.com>
2557
2558 PR 24225
2559 * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
2560 PRIx64 to generate warning messages. Print local sym names too.
2561
25622019-02-09 Vineet Gupta <vgupta@synopsys.com>
2563
2564 * elf32-arc (INIT_SYM_STRING): Delete.
2565 (FINI_SYM_STRING): Likewise.
2566 (init_str): Likewise.
2567 (fini_str): Likewise.
2568
25692019-02-08 Alan Modra <amodra@gmail.com>
2570
2571 * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
2572 for bss-plt" warning to make it an error.
2573
25742019-02-07 Eric Botcazou <ebotcazou@adacore.com>
2575
2576 PR ld/18841
2577 * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
2578 reloc_class_ifunc for ifunc symbols.
2579 * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
2580
25812019-02-07 Eric Botcazou <ebotcazou@adacore.com>
2582
2583 * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
2584 <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
2585
25862019-02-07 Nick Clifton <nickc@redhat.com>
2587
2588 * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
2589 into the definitely obsolete list.
2590
25912019-02-05 H.J. Lu <hongjiu.lu@intel.com>
2592
2593 PR ld/24151
2594 * elf64-x86-64.c (elf_x86_64_need_pic): Check
2595 SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
2596 (elf_x86_64_relocate_section): Move PIC check for PC-relative
2597 relocations to ...
2598 (elf_x86_64_check_relocs): Here.
2599 (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
2600 to check if a symbol is defined in a non-shared object.
2601 * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
2602
26032019-01-21 Sergio Durigan Junior <sergiodj@redhat.com>
2604
2605 * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
2606 of 'labs' (and fix GCC warning).
2607
26082019-01-25 Nick Clifton <nickc@redhat.com>
2609
2610 * po/ru.po: Updated Russian translation.
2611
26122019-01-23 Nick Clifton <nickc@redhat.com>
2613
2614 * po/fr.po: Updated French translation.
2615
26162019-01-21 Nick Clifton <nickc@redhat.com>
2617
2618 * po/pt.po: Updated Portuguese translation.
2619 * po/uk.po: Updated Ukranian translation.
2620
26212019-01-21 Yuri Chornoivan <yurchor@ukr.net>
2622
2623 PR 24108
2624 * elf32-nds32.c (nds32_relocate_section): Add space between words
2625 in error message.
2626 * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
2627 error message.
2628 (riscv_i_or_e_p): Likewise.
2629 (riscv_merge_arch_attr_info): Likewise.
2630
26312019-01-19 Nick Clifton <nickc@redhat.com>
2632
2633 * version.m4: Reset to 2.32.51
2634 * configure: Regenerate.
2635 * po/bfd.pot: Regenerate.
2636
26372018-06-24 Nick Clifton <nickc@redhat.com>
2638
2639 2.32 branch created.
2640
26412019-01-16 Kito Cheng <kito@andestech.com>
2642
2643 * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
2644 for OBJ_ATTR_PROC.
2645
26462019-01-16 Kito Cheng <kito@andestech.com>
2647 Nelson Chu <nelson@andestech.com>
2648
2649 * elfnn-riscv.c (in_subsets): New.
2650 (out_subsets): Likewise.
2651 (merged_subsets): Likewise.
2652 (riscv_std_ext_p): Likewise.
2653 (riscv_non_std_ext_p): Likewise.
2654 (riscv_std_sv_ext_p): Likewise.
2655 (riscv_non_std_sv_ext_p): Likewise.
2656 (riscv_version_mismatch): Likewise.
2657 (riscv_i_or_e_p): Likewise.
2658 (riscv_merge_std_ext): Likewise.
2659 (riscv_merge_non_std_and_sv_ext): Likewise.
2660 (riscv_merge_arch_attr_info): Likewise.
2661 (riscv_merge_attributes): Likewise.
2662 (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
2663
2664 * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
2665 (elf_backend_obj_attrs_vendor): Define.
2666 (elf_backend_obj_attrs_section_type): Likewise.
2667 (elf_backend_obj_attrs_section): Likewise.
2668 (elf_backend_obj_attrs_arg_type): Define as
2669 riscv_elf_obj_attrs_arg_type.
2670 * elfxx-riscv.c (riscv_estimate_digit): New.
2671 (riscv_estimate_arch_strlen1): Likewise.
2672 (riscv_estimate_arch_strlen): Likewise.
2673 (riscv_arch_str1): Likewise.
2674 (riscv_arch_str): Likewise.
2675 * elfxx-riscv.h (riscv_arch_str): Declare.
2676
26772019-01-14 John Darrington <john@darrington.wattle.id.au>
2678
2679 * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
2680 * libbfd.h: regen.
2681 * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
2682 source field. (md_apply_fix): Apply final fix
2683 to BFD_RELOC_S12Z_OPR.
2684 * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
2685
26862019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
2687
2688 PR 20113
2689 * elf32-s390.c (allocate_dynrelocs): Update comment.
2690
26912019-01-09 Andrew Paprocki <andrew@ishiboo.com>
2692
2693 * warning.m4: Adjust egrep pattern for non-GNU compilers.
2694 * configure: Regenerate.
2695
26962019-01-08 Alan Modra <amodra@gmail.com>
2697
2698 PR 23699
2699 PR 24065
2700 * ihex.c (ihex_write_object_contents): Properly check 32-bit
2701 address range.
2702
27032019-01-05 Yoshinori Sato <ysato@users.sourceforge.jp>
2704
2705 * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
2706 * bfd/bfd-in2.h: Regenerate.
2707 * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
2708 * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
2709
27102019-01-04 Lifang Xia <lifang_xia@c-sky.com>
2711
2712 * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
2713 default target, little endian target is more suitable.
2714
27152019-01-04 Alan Modra <amodra@gmail.com>
2716
2717 PR 24061
2718 PR 21786
2719 * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
2720 adjust all callers.
2721 (EQ_VALUE_IN_FIELD): Likewise.
2722 * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
2723
27242019-01-01 Alan Modra <amodra@gmail.com>
2725
2726 Update year range in copyright notice of all files.
2727
2728For older changes see ChangeLog-2018
2729\f
2730Copyright (C) 2019 Free Software Foundation, Inc.
2731
2732Copying and distribution of this file, with or without modification,
2733are permitted in any medium without royalty provided the copyright
2734notice and this notice are preserved.
2735
2736Local Variables:
2737mode: change-log
2738left-margin: 8
2739fill-column: 74
2740version-control: never
2741End:
This page took 0.032753 seconds and 4 git commands to generate.