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