Ensure that debug information is retained for ARMv8-M security functions.
[external/binutils.git] / bfd / ChangeLog
1 2019-07-02  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
2
3         * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Mark debug
4         sections when .text section contain secure entry functions
5         is marked.
6
7 2019-07-01  Nick Clifton  <nickc@redhat.com>
8
9         PR 23839
10         * elf32-arm.c (elf32_arm_update_relocs): Do not include the
11         section VMA in the offset used to update exidx relocs.
12
13 2019-06-28  Nick Clifton  <nickc@redhat.com>
14
15         PR 24708
16         * elf.c (_bfd_elf_slurp_version_tables): Check for an excessively
17         large version reference section.
18         * compress.c (bfd_get_full_section_contents): Check for an
19         uncompressed section whose size is larger than the file size.
20
21 2019-06-28  Alan Modra  <amodra@gmail.com>
22
23         * format.c (bfd_check_format_matches): Don't match plugin target
24         if another target matches.  Expand comment.
25         * targets.c (_bfd_target_vector): Move plugin_vec after all other
26         non-corefile targets, outside !SELECT_VECS.
27         * config.bfd: Don't handle targ=plugin here.
28         * configure.ac: Don't add plugin to enable_targets or handle in
29         target loop setting selvecs and other target vars.
30         * configure: Regenerate.
31
32 2019-06-26  Nick Clifton  <nickc@redhat.com>
33
34         PR 24703
35         * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add error
36         messages for failures.
37         * mach-o.c (bfd_mach_o_canonicalize_relocs): Set an bfd error code
38         if returning an error value.
39
40 2019-06-25  Jan Beulich  <jbeulich@suse.com>
41
42         * elf-properties.c (elf_find_and_remove_property): Rename last
43         parameter. Mention it in comment.
44
45 2019-06-24  Ilia Diachkov  <ilia.diachkov@optimitech.com>
46
47         * elfnn-riscv.c (_bfd_riscv_relax_lui): Delete early exit when
48         SEC_MERGE or SEC_CODE flags are set.
49         (_bfd_riscv_relax_section): New local symtype.  Set sym_sec and
50         symtype consistently.  Don't include sec_addr (sym_sec) in symval.
51         Add check for SEC_INFO_TYPE_MERGE and call _bfd_merged_section_offset.
52         Add sec_addr (sym_sec) after handling merge sections.
53
54 2019-06-24  H.J. Lu  <hongjiu.lu@intel.com>
55
56         PR ld/24721
57         * elf-properties.c (elf_merge_gnu_property_list): Remove the
58         property after reporting property removal.
59
60 2019-06-23  Alan Modra  <amodra@gmail.com>
61
62         PR 24704
63         * elf64-ppc.c (R_PPC64_GOT16_DS): Don't set has_gotrel.
64         (ppc64_elf_edit_toc): Don't remove R_PPC64_GOT16_DS got entries.
65         Reduce range of offsets allowed for other GOT relocs.
66
67 2019-06-23  Alan Modra  <amodra@gmail.com>
68
69         PR 24689
70         * elfcode.h (elf_object_p): Warning fix.
71
72 2019-06-21  Alan Modra  <amodra@gmail.com>
73
74         PR 24689
75         * elfcode.h (elf_object_p): Check type of e_shstrndx section.
76
77 2019-06-19  Alan Modra  <amodra@gmail.com>
78
79         PR 24697
80         * elf32-ppc.c (ppc_elf_relocate_section): Don't read insn for
81         R_PPC_EMB_RELSDA.  Mask low bit of R_PPC_EMB_SDA21 r_offset.
82
83 2019-06-19  Alan Modra  <amodra@gmail.com>
84
85         * elf64-ppc.c (ppc64_elf_inline_plt): Correct st_other test for
86         functions that require r2 valid to use local entry.
87         (ppc64_elf_size_stubs, ppc64_elf_relocate_section): Likewise.
88
89 2019-06-17  Szabolcs Nagy  <szabolcs.nagy@arm.com>
90
91         * elfnn-aarch64.c (elfNN_aarch64_allocate_local_dynrelocs): Remove.
92         (elfNN_aarch64_size_dynamic_sections): Remove loc_hash_table traversal
93         with elfNN_aarch64_allocate_local_dynrelocs.
94
95 2019-06-14  Szabolcs Nagy  <szabolcs.nagy@arm.com>
96
97         * elfnn-aarch64.c: Enable MOVW_PREL relocs for ELF32.
98
99 2019-06-14  Alan Modra  <amodra@gmail.com>
100
101         * Makefile.in: Regenerate.
102         * configure: Regenerate.
103
104 2019-06-14  Alan Modra  <amodra@gmail.com>
105
106         * elf64-ppc.c: Fix comments involving paddi.
107
108 2019-06-12  Adam Lackorzymski  <adam@os.inf.tu-dresden.de>
109
110         PR 24643
111         * elf32-arm.c (arm_elf_find_function): Fail if the symol table is
112         absent, or the bfd is not in the ELF formart.
113         * elfnn-aarch64.c (aarch64_elf_find_function): Likewise.
114
115 2019-06-10  Christos Zoulas  <christos@zoulas.com>
116
117         PR 24650
118         * elf.c (elfcore_make_auxv_note_section): New function.
119         (elfcore_grok_note): Use it.
120         (elfcore_grok_freebsd_note): Likewise.
121         (elfcore_grok_openbsd_note): Likewise.
122         (elfcore_grok_netbsd_note): Likewise.  Plus add support for
123         NT_NETBSDCORE_AUXV notes.
124
125 2019-06-06  Sudakshina Das  <sudi.das@arm.com>
126
127         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Set
128         alignment of the new gnu property section.
129
130 2019-06-06  Sudakshina Das  <sudi.das@arm.com>
131
132         * bfd-in.h: Change comment.
133         * bfd-in2.h: Regenerate.
134         * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update warning.
135         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties):
136         Likwise.
137
138 2019-05-28  Faraz Shahbazker  <fshahbazker@wavecomp.com>
139
140         * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_PCHI16>:
141         Remove overflow check.
142
143 2019-05-28  Alan Modra  <amodra@gmail.com>
144
145         PR 24596
146         * cofflink.c (coff_link_check_archive_element): Don't assume
147         element is a coff object file after calling add_archive_element.
148
149 2019-05-28  Alan Modra  <amodra@gmail.com>
150
151         PR 24596
152         * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Don't
153         attempt to set sh_entsize for excluded PLT section.
154
155 2019-05-28  Alan Modra  <amodra@gmail.com>
156
157         PR 24596
158         * elf64-alpha.c (elf64_alpha_relocate_section): Don't attempt
159         to emit R_ALPHA_GOTTPREL in PIEs, for which no space is
160         allocated in alpha_dynamic_entries_for_reloc.
161
162 2019-05-28  Alan Modra  <amodra@gmail.com>
163
164         PR 24596
165         * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Don't segfault
166         on NULL output_section.
167         * elflink.c (elf_final_link_free): Don't free -1 symshndxbuf.
168
169 2019-05-28  Alan Modra  <amodra@gmail.com>
170
171         PR 24596
172         * elf32-m68k.c (elf_m68k_get_got_entry): Don't create a new
173         entry when MUST_FIND.  Abort when MUST_FIND not found.
174         (elf_m68k_get_bfd2got_entry): Likewise.
175         (elf_m68k_relocate_section): Remove now useless assert.
176
177 2019-05-28  Alan Modra  <amodra@gmail.com>
178
179         PR 24596
180         * elf64-hppa.c (elf64_hppa_finalize_dynreloc): Get the output bfd
181         from bfd_link_info, not an output section owner.
182         (elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd): Likewise.
183         (elf_hppa_final_link_relocate): Likewise.
184
185 2019-05-28  Alan Modra  <amodra@gmail.com>
186
187         PR 24596
188         * aout-tic30.c (MY_bfd_final_link): Don't segfault on missing
189         create_object_symbols_section, obj_textsec, obj_datasec or
190         obj_bsssec.  Fix other errors in placement.
191         * config.bfd: Obsolete tic30-aout.
192
193 2019-05-28  Alan Modra  <amodra@gmail.com>
194
195         PR 24596
196         * dwarf2.c (save_section_vma, section_vma_same): Check for NULL
197         end of section list as well as section_count.
198         * xcofflink.c (xcoff_link_add_symbols): Fix temporarily changed
199         section list before returning error.
200
201 2019-05-27  Alan Modra  <amodra@gmail.com>
202
203         * elf.c (bfd_elf_set_group_contents): Exit on zero size section.
204
205 2019-05-27  Alan Modra  <amodra@gmail.com>
206
207         PR 24596
208         * linker.c (_bfd_generic_link_output_symbols): Heed BSF_KEEP.
209
210 2019-05-24  Szabolcs Nagy  <szabolcs.nagy@arm.com>
211
212         * elfnn-aarch64.c (elfNN_aarch64_merge_symbol_attribute): New function.
213         (struct elf_aarch64_link_hash_table): Add variant_pcs member.
214         (elfNN_aarch64_allocate_dynrelocs): Update variant_pcs.
215         (elfNN_aarch64_size_dynamic_sections): Add DT_AARCH64_VARIANT_PCS.
216         (elf_backend_merge_symbol_attribute): Define.
217
218 2019-05-24  Alan Modra  <amodra@gmail.com>
219
220         * po/SRC-POTFILES.in: Regenerate.
221
222 2019-05-24  Alan Modra  <amodra@gmail.com>
223
224         * elf64-ppc.c: Comment on powerxx _notoc stub variants.
225         (LI_R11_0, LIS_R11, ORI_R11_R11_0, SLDI_R11_R11_34): Define.
226         (PADDI_R12_PC, PLD_R12_PC, D34, HA34): Define.
227         (struct ppc_link_hash_table): Add powerxx_stubs.
228         (ppc64_elf_check_relocs): Set powerxx_stubs.
229         (build_powerxx_offset, size_powerxx_offset),
230         (num_relocs_for_powerxx_offset),
231         (emit_relocs_for_powerxx_offset): New functions.
232         (plt_stub_size): Size powerxx stubs.
233         (ppc_build_one_stub): Emit powerxx stubs.
234         (ppc_size_one_stub): Size powerxx stubs.  Omit .eh_frame for
235         powerxx stubs.
236
237 2019-05-24  Alan Modra  <amodra@gmail.com>
238
239         * elf64-ppc.c (ppc64_elf_check_relocs): Set has_gotrel for
240         R_PPC64_GOT_PCREL34.
241         (xlate_pcrel_opt): New function.
242         (ppc64_elf_edit_toc): Handle R_PPC64_GOT_PCREL34.
243         (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
244         for R_PPC64_GOT_PCREL34.  Implement R_PPC64_PCREL_OPT optimisation.
245
246 2019-05-24  Alan Modra  <amodra@gmail.com>
247
248         * reloc.c (BFD_RELOC_PPC64_D34, BFD_RELOC_PPC64_D34_LO),
249         (BFD_RELOC_PPC64_D34_HI30, BFD_RELOC_PPC64_D34_HA30),
250         (BFD_RELOC_PPC64_PCREL34, BFD_RELOC_PPC64_GOT_PCREL34),
251         (BFD_RELOC_PPC64_PLT_PCREL34),
252         (BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34),
253         (BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34),
254         (BFD_RELOC_PPC64_REL16_HIGHER34, BFD_RELOC_PPC64_REL16_HIGHERA34),
255         (BFD_RELOC_PPC64_REL16_HIGHEST34, BFD_RELOC_PPC64_REL16_HIGHESTA34),
256         (BFD_RELOC_PPC64_D28, BFD_RELOC_PPC64_PCREL28): New reloc enums.
257         * elf64-ppc.c (PNOP): Define.
258         (ppc64_elf_howto_raw): Add reloc howtos for new relocations.
259         (ppc64_elf_reloc_type_lookup): Translate new bfd reloc numbers.
260         (ppc64_elf_ha_reloc): Adjust addend for highera34 and highesta34
261         relocs.
262         (ppc64_elf_prefix_reloc): New function.
263         (struct ppc_link_hash_table): Add notoc_plt.
264         (is_branch_reloc): Add R_PPC64_PLTCALL_NOTOC.
265         (is_plt_seq_reloc): Add R_PPC64_PLT_PCREL34,
266         R_PPC64_PLT_PCREL34_NOTOC, and R_PPC64_PLTSEQ_NOTOC.
267         (ppc64_elf_check_relocs): Handle pcrel got and plt relocs.  Set
268         has_pltcall for section on seeing R_PPC64_PLTCALL_NOTOC.  Handle
269         possible need for dynamic relocs on non-pcrel powerxx relocs.
270         (dec_dynrel_count): Handle non-pcrel powerxx relocs.
271         (ppc64_elf_inline_plt): Handle R_PPC64_PLTCALL_NOTOC.
272         (toc_adjusting_stub_needed): Likewise.
273         (ppc64_elf_tls_optimize): Handle R_PPC64_PLTSEQ_NOTOC.
274         (ppc64_elf_relocate_section): Handle new powerxx relocs.
275         * bfd-in2.h: Regenerate.
276         * libbfd.h: Regenerate.
277
278 2019-05-23  Jose E. Marchesi  <jose.marchesi@oracle.com>
279
280         * config.bfd (targ_cpu): Process bpf-*-none only if BFD64.
281         * configure.ac: Set target_size=64 for bpf_elf64_le_vec and
282         bpf_elf64_be_vec.
283         * configure: Regenerate.
284
285 2019-05-23  Jose E. Marchesi  <jose.marchesi@oracle.com>
286
287         * configure: Regenerated.
288         * Makefile.am (ALL_MACHINES): Add cpu-bpf.lo.
289         (ALL_MACHINES_CFILES): Add cpu-bpf.c.
290         (BFD64_BACKENDS): Add elf64-bpf.lo.
291         (BFD64_BACKENDS_CFILES): Add elf64-bpf.c.
292         * Makefile.in (SOURCE_HFILES): Regenerate.
293         * config.bfd (targ_cpu): Handle bpf-*-* targets.
294         * cpu-bpf.c: New file.
295         * elf64-bpf.c: Likewise.
296         * targets.c (_bfd_target_vector): Add bpf_elf64_be_vec and
297         bpf_elf64_le_vec.
298         * archures.c: Define architecture bfd_arch_bpf and machine
299         bfd_arch_bpf.
300         * reloc.c: Define BFD relocations used by the BPF target.
301         * bfd-in2.h: Regenerated.
302         * libbfd.h: Likewise.
303
304 2019-05-22  Alan Modra  <amodra@gmail.com>
305
306         * elf32-arm.c (arm_allocate_glue_section_space): Clear section
307         contents.
308
309 2019-05-22  Alan Modra  <amodra@gmail.com>
310
311         * vms-alpha.c (_bfd_vms_write_etir): Don't attempt further
312         processing on "size error in section".
313
314 2019-05-22  Alan Modra  <amodra@gmail.com>
315
316         * som.c (som_bfd_free_cached_info): Call
317         _bfd_generic_close_and_cleanup.
318
319 2019-05-21  Faraz Shahbazker  <fshahbazker@wavecomp.com>
320
321         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Generate error
322         for TLS_TPREL_HI16(/LO16) relocations in shared library.
323
324 2019-05-21  Faraz Shahbazker  <fshahbazker@wavecomp.com>
325
326         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Add NULL pointer
327         checks.  Search the RELA table for n64 relocations.
328
329 2019-05-21  Matthew Fortune  <matthew.fortune@mips.com>
330             Faraz Shahbazker  <fshahbazker@wavecomp.com>
331
332         * elfxx-mips.c (LA25_BC): New macro.
333         (mips_elf_link_hash_table)<compact_branches>: New field.
334         (STUB_JALRC): New macro.
335         (mipsr6_o32_exec_plt0_entry_compact): New array.
336         (mipsr6_n32_exec_plt0_entry_compact): Likewise.
337         (mipsr6_n64_exec_plt0_entry_compact): Likewise.
338         (mipsr6_exec_plt_entry_compact): Likewise.
339         (mips_elf_create_la25_stub): Use BC instead of J for stubs
340         when compact_branches is true.
341         (_bfd_mips_elf_finish_dynamic_symbol): Choose the compact
342         PLT for MIPSR6 with compact_branches.  Do not reorder the
343         compact branches PLT.  Switch the lazy stub for MIPSR6
344         with compact_branches to use JALRC.
345         (mips_finish_exec_plt): Choose the compact PLT0 for MIPSR6
346         when compact_branches is true.
347         (_bfd_mips_elf_compact_branches): New function.
348         * elfxx-mips.h (_bfd_mips_elf_compact_branches): New prototype.
349
350 2019-05-21  Tamar Christina  <tamar.christina@arm.com>
351
352         PR ld/24373
353         * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
354         Fix print formatter.
355
356 2019-05-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
357
358         PR 24460
359         * elf32-arm.c (get_value_helper): Remove.
360         (elf32_arm_final_link_relocate): Fix branch future relocations.
361
362 2019-05-21  Tamar Christina  <tamar.christina@arm.com>
363
364         PR ld/24373
365         * bfd-in.h (enum erratum_84319_opts): New
366         (bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change
367         int to enum erratum_84319_opts.
368         * bfd-in2.h: Regenerate.
369         * elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change
370         fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr.
371         (_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub.
372         (aarch64_size_one_stub): Conditionally size erratum 843419 stubs.
373         (_bfd_aarch64_resize_stubs): Amend comment.
374         (elfNN_aarch64_size_stubs): Don't generate stubs when no workaround
375         requested.
376         (bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
377         (_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
378         erratum workaround.
379         (clear_erratum_843419_entry): Update erratum conditional.
380
381 2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
382
383         PR ld/24571
384         * bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check
385         when computing distance_short_enough.
386
387 2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
388
389         PR ld/24564
390         * bfd/elf32-avr.c (avr_relative_distance_considering_wrap_around):
391         Wrap around even if distance equals avr_pc_wrap_around.
392
393 2019-05-20  Nick Clifton  <nickc@redhat.com>
394
395         * po/fr.po: Updated French translation.
396
397 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
398
399         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
400
401 2019-05-16  Alan Modra  <amodra@gmail.com>
402
403         * elf32-arm.c (elf32_arm_write_section): Revert last change.
404
405 2019-05-15  Alan Modra  <amodra@gmail.com>
406
407         * elf32-arm.c (elf32_arm_write_section): Don't leave
408         error case of STM32L4XX_ERRATUM_BRANCH_TO_VENEER with
409         unitialised section contents.
410
411 2019-05-14  Jamey Hicks  <jamey.hicks@gmail.com>
412
413         PR 19921
414         * verilog.c: (VerilogDataWidth): New variable.
415         (verilog_write_record): Emit bytes in VerilogDataWidth bundles.
416
417 2019-05-08  Nick Clifton  <nickc@redhat.com>
418
419         PR 24523
420         * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE
421         rather than FALSE if encountering a non-ELF file.
422
423 2019-05-06  Alan Modra  <amodra@gmail.com>
424
425         * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
426
427 2019-05-06  Alan Modra  <amodra@gmail.com>
428
429         * reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
430         (BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
431         Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
432         * libbfd.h: Regenerate.
433         * bfd-in2.h: Regenerate.
434
435 2019-05-04  Alan Modra  <amodra@gmail.com>
436
437         PR 24511
438         * syms.c (coff_section_type): Only allow '.', '$' and numeric
439         following the standard section names.
440         (bfd_decode_symclass): Prioritize section flag tests in
441         decode_section_type before name tests in coff_section_type.
442         * plugin.c (bfd_plugin_canonicalize_symtab): Init fake_section
443         and fake_common_section using BFD_FAKE_SECTION.  Use "fake" as
444         their names and choose standard .text section flags for
445         fake_section.
446
447 2019-05-02  Nick Clifton  <nickc@redhat.com>
448
449         PR 24493
450         * coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
451         .gnu.debugaltlink sections as debugging sections.
452
453 2019-04-30  Alan Modra  <amodra@gmail.com>
454
455         * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
456         (struct _ppc64_elf_section_data): Likewise.
457         (ppc64_elf_check_relocs): Set above fields.
458         (ppc64_elf_edit_toc): Add a pass over GOT relocs.
459         (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
460         when possible.
461
462 2019-04-26  H.J. Lu  <hongjiu.lu@intel.com>
463
464         PR ld/24486
465         * elflink.c (elf_link_output_extsym): Don't complain undefined
466         weak dynamic reference.
467
468 2019-04-25  Sudakshina Das  <sudi.das@arm.com>
469
470         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove.
471         (PLT_BTI_TLSDESC_ENTRY_SIZE): Remove.
472         (PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove.
473         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update.
474         (elfNN_aarch64_small_plt0_pac_entry): Remove.
475         (elfNN_aarch64_small_plt0_bti_pac_entry): Remove.
476         (elfNN_aarch64_small_plt0_bti_entry): Update.
477         (elfNN_aarch64_small_plt_bti_entry): Update.
478         (elfNN_aarch64_small_plt_pac_entry): Update.
479         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update.
480         (setup_plt_values): Setup new entries.
481         (elfNN_aarch64_finish_dynamic_sections): Remove size change.
482         (elfNN_aarch64_plt_sym_val): Likewise.
483
484 2019-04-22  Jim Wilson  <jimw@sifive.com>
485
486         * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
487
488 2019-04-19  Alan Modra  <amodra@gmail.com>
489
490         * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
491
492 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
493
494         * elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not
495         building shared object.
496         * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise.
497
498 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
499
500         PR ld/24458
501         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
502         linker_def.
503
504 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
505
506         * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
507         relocation.
508         * bfd-in2.h: Regenerate.
509         * libbfd.h: Likewise.
510
511 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
512
513         * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
514         * bfd-in2.h: Regenerated.
515         * libbfd.h: Regenerated.
516
517 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
518
519         * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
520         * bfd-in2.h: Regenerated.
521         * libbfd.h: Likewise.
522
523 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
524
525         * reloc.c (BFD_RELOC_ARM_THUMB_BF13): New.
526         * bfd-in2.h: Regenerated.
527         * libbfd.h: Regenerated.
528         * elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13.
529         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13
530         and R_ARM_THM_BF12 together.
531         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13.
532
533 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
534
535         * reloc.c (BFD_RELOC_ARM_THUMB_BF19): New
536         * libbfd.h: Regenerated.
537         * bfd-in2.h: Regenerated.
538         * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18.
539         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19
540         and R_ARM_THM_BF18 together.
541         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19.
542
543 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
544
545         * reloc.c (BFD_RELOC_ARM_THUMB_BF17): New enum.
546         * bfd-in2.h: Regenerated.
547         * libbfd.h: Regenerated.
548         * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF16.
549         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF17
550         and R_ARM_THM_BF16 together.
551         (get_value_helper): New reloc helper.
552         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF16.
553
554 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
555
556         * reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
557         * bfd-in2.h: Regenerate.
558         * libbfd.h: Regenerate.
559
560 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
561
562         * archures.c (bfd_mach_arm_8_1M_MAIN): Define.
563         * bfd-in2.h: Regenerate.
564         * cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline.
565         * elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline
566         and update assert.
567         (using_thumb2): Likewise.
568         (using_thumb2_bl): Update assert.
569         (arch_has_arm_nop): Likewise.
570         (bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline.
571         (tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging.
572
573 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
574
575         * elf-linker-x86.h (elf_x86_cet_report): New.
576         (elf_linker_x86_params): Add cet_report.
577         * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report
578         missing IBT and SHSTK properties if needed.
579
580 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
581
582         PR ld/24436
583         * elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of
584         "h != NULL".  Don't check "h != NULL" before calling.
585         bfd_elf_gc_record_vtentry.
586         * elf32-arm.c (elf32_arm_check_relocs): Likewise.
587         * elf32-bfin.c (bfin_check_relocs): Likewise.
588         * elf32-cris.c (cris_elf_check_relocs): Likewise.
589         * elf32-csky.c (csky_elf_check_relocs): Likewise.
590         * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
591         * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
592         * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
593         * elf32-frv.c (elf32_frv_check_relocs): Likewise.
594         * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
595         * elf32-i386.c (elf_i386_check_relocs): Likewise.
596         * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
597         * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
598         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
599         * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
600         * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
601         * elf32-metag.c (elf_metag_check_relocs): Likewise.
602         * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
603         * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
604         * elf32-s390.c (elf_s390_check_relocs): Likewise.
605         * elf32-sh.c (sh_elf_check_relocs): Likewise.
606         * elf32-v850.c (v850_elf_check_relocs): Likewise.
607         * elf32-vax.c (elf_vax_check_relocs): Likewise.
608         * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
609         * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
610         * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
611         * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
612         * elf64-s390.c (elf_s390_check_relocs): Likewise.
613         * elf64-x86-64.c (elf_s390_check_relocs): Likewise.
614         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
615         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
616         * elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt
617         VTENTRY entry.
618
619 2019-04-11  Alan Modra  <amodra@gmail.com>
620
621         PR 24435
622         * elflink.c (elf_link_add_object_symbols): Don't read partial
623         dynamic entries from fuzzed objects.
624
625 2019-04-11  Tamar Christina  <tamar.christina@arm.com>
626
627         PR ld/24302
628         * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit
629         DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW.
630         (elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW.
631
632 2019-04-10  Michael Forney  <mforney@mforney.org>
633
634         PR 24427
635         * doc/chew.c (free_words): Correctly free "push_text" strings.
636
637 2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
638
639         * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
640
641 2019-04-08  Alan Modra  <amodra@gmail.com>
642
643         * configure.ac (elfxx_x86): Define and use.
644         * configure: Regenerate.
645
646 2019-04-06  H.J. Lu  <hongjiu.lu@intel.com>
647
648         * elf-linker-x86.h: New file.
649         * elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params
650         to get x86-specific linker options.
651         * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
652         (elf_x86_64_check_relocs): Likewise.
653         (elf_x86_64_relocate_section): Likewise.
654         (elf_x86_64_link_setup_gnu_properties): Likewise.
655         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise.
656         (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
657         (_bfd_elf_linker_x86_set_options): New function.
658         * elfxx-x86.h: Include "elf-linker-x86.h".
659         (elf_x86_link_hash_table): Add params.
660
661 2019-04-03  Alan Modra  <amodra@gmail.com>
662
663         * coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c,
664         * elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c,
665         * elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c,
666         * elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c,
667         * elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c,
668         * pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes.
669
670 2019-04-02  Jim Wilson  <jimw@sifive.com>
671
672         PR 24389
673         * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of
674         ELF header flags to after check for ELF object file.  Loop through
675         sections looking for code sections, if none, then skip ABI checks.
676
677 2019-03-30  Andrew Waterman  <andrew@sifive.com>
678
679         * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
680         rd == X_RA case.
681
682 2019-03-29  Max Filippov  <jcmvbkbc@gmail.com>
683
684         * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
685         info->export_dynamic to the conditional.
686
687 2019-03-28  Alan Modra  <amodra@gmail.com>
688
689         PR 24392
690         * configure.ac: Invoke AC_CHECK_SIZEOF(int).
691         * configure: Regenerate.
692         * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
693         workaround with SIZEOF_LONG vs. SIZEOF_INT check.
694         * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
695         * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
696         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
697
698 2019-03-21  Jim Wilson  <jimw@sifive.com>
699
700         PR 24365
701         * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
702         verify sym non-NULL before using.  Add identical check using h.
703
704 2019-03-21  Sudakshina Das  <sudi.das@arm.com>
705
706         * elf-bfd.h (struct elf_backend_data): Add argument to
707         merge_gnu_properties.
708         * elf-properties.c (elf_merge_gnu_properties): Add argument to
709         itself and while calling bed->merge_gnu_properties.
710         (elf_merge_gnu_property_list): Update the calls for
711         elf_merge_gnu_properties.
712         * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
713         of --force-bti warning and add argument.
714         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
715         warning.
716         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
717         * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
718         declaration.
719
720 2019-03-20  Sudakshina Das  <sudi.das@arm.com>
721
722         * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
723         * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
724         (elf_backend_fixup_gnu_properties): Define for AArch64.
725
726 2019-03-18  Alan Modra  <amodra@gmail.com>
727
728         PR 24355
729         * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
730         for local iplt syms with ent->plt.offset == -1.  Remove ineffective
731         attempt at writing glink stubs only once.
732
733 2019-03-16  Alan Modra  <amodra@gmail.com>
734
735         PR 24337
736         * elf.c (_bfd_elf_rela_local_sym): Revert last change.
737         (_bfd_elf_rel_local_sym): Likewise.
738         * elflink.c (elf_link_input_bfd): Use bfd_und_section for
739         section of symbols with unrecognized shndx.
740
741 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
742
743         PR ld/24267
744         * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
745         section.
746         * cofflink.c (coff_link_add_symbols): Check for symbols defined
747         in discarded section.
748
749 2019-03-15  Alan Modra  <amodra@gmail.com>
750
751         PR 24339
752         * elflink.c (elf_link_add_object_symbols): Bail out on a local
753         symbol after globals if elf_bad_symtab is not set.
754
755 2019-03-15  Alan Modra  <amodra@gmail.com>
756
757         PR 24337
758         * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
759         (_bfd_elf_rel_local_sym): Likewise.
760
761 2019-03-15  Alan Modra  <amodra@gmail.com>
762
763         PR 24336
764         * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
765         object files with sh_size not a multiple of sh_entsize.
766
767 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
768
769         PR ld/24338
770         * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
771         input with bad relocation.
772
773 22019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
774
775         * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
776
777 2019-03-14  Nick Clifton  <nickc@redhat.com>
778
779         PR 24334
780         * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
781         (save_section_vma): Initialise field to the number of entries in
782         the sec_vma table.
783         (section_vma_same): Check that the number of entries in the
784         sec_vma table matches the number of sections in the bfd.
785
786 2019-03-14  Nick Clifton  <nickc@redhat.com>
787
788         PR 24333
789         * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
790         section owner pointer when adding the default symbol.
791
792 2019-03-14  Nick Clifton  <nickc@redhat.com>
793
794         PR 24332
795         * elflink.c (elf_link_add_object_symbols): Add new local variable
796         extversym_end.  Initialise it to point to the end of the version
797         symbol table, if present.  Check it when initialising and updating
798         the ever pointer.
799
800 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
801
802         * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
803         (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
804         (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
805         (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
806         and PLT_PAC_PLT.
807         (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
808         (get_plt_type): Add case for DT_AARCH64_PAC_PLT.
809         (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
810
811 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
812             Szabolcs Nagy  <szabolcs.nagy@arm.com>
813
814         * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
815         (aarch64_bti_pac_info): New.
816         (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
817         (bfd_elf32_aarch64_set_options): Likewise.
818         * bfd-in2.h: Regenerate
819         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
820         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
821         (elfNN_aarch64_small_plt0_bti_entry): New.
822         (elfNN_aarch64_small_plt_bti_entry): New.
823         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
824         (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
825         (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
826         tlsdesc_plt_entry_size fields.
827         (elfNN_aarch64_link_hash_table_create): Initialise the new fields.
828         (setup_plt_values): New helper function.
829         (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
830         bti enable type.
831         (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
832         fixed macros.
833         (elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
834         (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
835         to plt stubs instead of fixed ones and update filling them according
836         to the need for bti.
837         (elfNN_aarch64_init_small_plt0_entry): Likewise.
838         (elfNN_aarch64_finish_dynamic_sections): Likewise.
839         (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
840         (elfNN_aarch64_plt_sym_val): Update size accordingly.
841         (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
842         is set.
843         (bfd_elfNN_get_synthetic_symtab): Define.
844         (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
845         and mising BTI NOTE SECTION.
846
847
848 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
849
850         * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
851         linker created inputs from merge.
852         * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
853         GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
854         (elfNN_aarch64_link_setup_gnu_properties): New.
855         (elfNN_aarch64_merge_gnu_properties): New.
856         (elf_backend_setup_gnu_properties): Define for AArch64.
857         (elf_backend_merge_gnu_properties): Likewise.
858         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
859         (_bfd_aarch64_elf_parse_gnu_properties): Define.
860         (_bfd_aarch64_elf_merge_gnu_properties): Define.
861         * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
862         (_bfd_aarch64_elf_parse_gnu_properties): Declare.
863         (_bfd_aarch64_elf_merge_gnu_properties): Declare.
864         (elf_backend_parse_gnu_properties): Define for AArch64.
865
866 2019-03-13  H.J. Lu  <hongjiu.lu@intel.com>
867
868         PR ld/24322
869         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
870         merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
871
872 2019-03-12  Alan Modra  <amodra@gmail.com>
873
874         * coffcode.h (buy_and_read): Delete unnecessary forward decl.  Add
875         nmemb parameter.  Use bfd_alloc2.
876         (coff_slurp_line_table): Use bfd_alloc2.  Update buy_and_read calls.
877         Delete assertion.
878         (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
879         (coff_slurp_reloc_table): Use bfd_alloc2.  Update buy_and_read calls.
880         * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
881         doesn't overflow.
882         * elf.c (bfd_section_from_shdr): Use bfd_zalloc2.  Style fix.
883         (assign_section_numbers): Style fix.
884         (swap_out_syms): Use bfd_malloc2.
885         (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
886         overflow.
887         (_bfd_elf_make_empty_symbol): Style fix.
888         (elfobj_grok_stapsdt_note_1): Formatting.
889         * elfcode.h (elf_object_p): Use bfd_alloc2.
890         (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
891         (elf_slurp_symbol_table): Use bfd_zalloc2.
892         (elf_slurp_reloc_table): Use bfd_alloc2.
893         (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
894         * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
895         size calculation doesn't overflow.
896         (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
897         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
898         * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
899
900 2019-03-08  Alan Modra  <amodra@gmail.com>
901
902         PR 24311
903         * merge.c (merge_strings): Return secinfo.  Don't pad section
904         to alignment here.
905         (_bfd_merge_sections): Pad section to alignment here, if input
906         sections contributing to merged output all pad to alignment.
907         Formatting.
908
909 2019-03-06  Nick Clifton  <nickc@redhat.com>
910
911         * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
912         table pointer.
913         * coffgen.c (coff_find_nearest_line_with_names): Do not call
914         _bfd_dwarf2_find_symbol_bias if there is no symbol table available.
915
916 2019-03-01  Andreas Krebbel  <krebbel@linux.ibm.com>
917
918         This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
919         2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
920
921         PR 20113
922         * elf32-s390.c (allocate_dynrelocs): Update comment.
923
924 2019-02-28  Tamar Christina  <tamar.christina@arm.com>
925
926         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
927
928 2019-02-28  Nick Clifton  <nickc@redhat.com>
929
930         PR 24273
931         * elf.c (bfd_elf_string_from_elf_section): Check for a string
932         section that is not NUL terminated.
933
934 2019-02-27  H.J. Lu  <hongjiu.lu@intel.com>
935
936         PR ld/24276
937         * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
938         by linker when checking copy reloc on protected symbol.
939
940 2019-02-24  Alan Modra  <amodra@gmail.com>
941
942         PR 24144
943         * pdp11.c (set_section_contents): Revert 2015-02-24 change.
944
945 2019-02-20  Eric Tsai  <erictsai@cadence.com>
946
947         * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
948         sections between the call site and call destination and adjust
949         call distance by the largest alignment.
950
951 2019-02-20  Alan Hayward  <alan.hayward@arm.com>
952
953         * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
954         * elf.c (elfcore_grok_aarch_pauth): New function.
955         (elfcore_grok_note): Check for NT_ARM_PAC_MASK.
956         (elfcore_write_aarch_pauth): New function.
957         (elfcore_write_register_note): Check for AArch64 pauth section.
958
959 2019-02-20  Alan Modra  <amodra@gmail.com>
960
961         PR 24225
962         * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
963         return value.
964
965 2019-02-20  Michael Roitzsch  <reactorcontrol@icloud.com>
966
967         * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
968         Darwin hosts, not just or1k.
969         * configure: Regenerate.
970
971 2019-02-20  Alan Modra  <amodra@gmail.com>
972
973         PR 24236
974         * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
975         sentinel NUL to string buffer nearer to loop where it is used.
976         Don't go past sentinel when scanning strings, and don't write
977         NUL again.
978         * archive.c (do_slurp_coff_armap): Simplify string handling to
979         archive64.c style.
980
981 2019-02-19  Alan Modra  <amodra@gmail.com>
982
983         PR 24235
984         * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
985         attempting to prevent read past end of section.
986
987 2019-02-18  Alan Modra  <amodra@gmail.com>
988
989         PR 24225
990         * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
991         PRIx64 to generate warning messages.  Print local sym names too.
992
993 2019-02-09  Vineet Gupta  <vgupta@synopsys.com>
994
995         * elf32-arc (INIT_SYM_STRING): Delete.
996         (FINI_SYM_STRING): Likewise.
997         (init_str): Likewise.
998         (fini_str): Likewise.
999
1000 2019-02-08  Alan Modra  <amodra@gmail.com>
1001
1002         * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
1003         for bss-plt" warning to make it an error.
1004
1005 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
1006
1007         PR ld/18841
1008         * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
1009         reloc_class_ifunc for ifunc symbols.
1010         * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
1011
1012 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
1013
1014         * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
1015         <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
1016
1017 2019-02-07  Nick Clifton  <nickc@redhat.com>
1018
1019         * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
1020         into the definitely obsolete list.
1021
1022 2019-02-05  H.J. Lu  <hongjiu.lu@intel.com>
1023
1024         PR ld/24151
1025         * elf64-x86-64.c (elf_x86_64_need_pic): Check
1026         SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
1027         (elf_x86_64_relocate_section): Move PIC check for PC-relative
1028         relocations to ...
1029         (elf_x86_64_check_relocs): Here.
1030         (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
1031         to check if a symbol is defined in a non-shared object.
1032         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
1033
1034 2019-01-21  Sergio Durigan Junior  <sergiodj@redhat.com>
1035
1036         * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
1037         of 'labs' (and fix GCC warning).
1038
1039 2019-01-25  Nick Clifton  <nickc@redhat.com>
1040
1041         * po/ru.po: Updated Russian translation.
1042
1043 2019-01-23  Nick Clifton  <nickc@redhat.com>
1044
1045         * po/fr.po: Updated French translation.
1046
1047 2019-01-21  Nick Clifton  <nickc@redhat.com>
1048
1049         * po/pt.po: Updated Portuguese translation.
1050         * po/uk.po: Updated Ukranian translation.
1051
1052 2019-01-21  Yuri Chornoivan  <yurchor@ukr.net>
1053
1054         PR 24108
1055         * elf32-nds32.c (nds32_relocate_section): Add space between words
1056         in error message.
1057         * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
1058         error message.
1059         (riscv_i_or_e_p): Likewise.
1060         (riscv_merge_arch_attr_info): Likewise.
1061
1062 2019-01-19  Nick Clifton  <nickc@redhat.com>
1063
1064         * version.m4: Reset to 2.32.51
1065         * configure: Regenerate.
1066         * po/bfd.pot: Regenerate.
1067
1068 2018-06-24  Nick Clifton  <nickc@redhat.com>
1069
1070         2.32 branch created.
1071
1072 2019-01-16  Kito Cheng  <kito@andestech.com>
1073
1074         * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
1075         for OBJ_ATTR_PROC.
1076
1077 2019-01-16  Kito Cheng  <kito@andestech.com>
1078             Nelson Chu  <nelson@andestech.com>
1079
1080         * elfnn-riscv.c (in_subsets): New.
1081         (out_subsets): Likewise.
1082         (merged_subsets): Likewise.
1083         (riscv_std_ext_p): Likewise.
1084         (riscv_non_std_ext_p): Likewise.
1085         (riscv_std_sv_ext_p): Likewise.
1086         (riscv_non_std_sv_ext_p): Likewise.
1087         (riscv_version_mismatch): Likewise.
1088         (riscv_i_or_e_p): Likewise.
1089         (riscv_merge_std_ext): Likewise.
1090         (riscv_merge_non_std_and_sv_ext): Likewise.
1091         (riscv_merge_arch_attr_info): Likewise.
1092         (riscv_merge_attributes): Likewise.
1093         (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
1094
1095         * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
1096         (elf_backend_obj_attrs_vendor): Define.
1097         (elf_backend_obj_attrs_section_type): Likewise.
1098         (elf_backend_obj_attrs_section): Likewise.
1099         (elf_backend_obj_attrs_arg_type): Define as
1100         riscv_elf_obj_attrs_arg_type.
1101         * elfxx-riscv.c (riscv_estimate_digit): New.
1102         (riscv_estimate_arch_strlen1): Likewise.
1103         (riscv_estimate_arch_strlen): Likewise.
1104         (riscv_arch_str1): Likewise.
1105         (riscv_arch_str): Likewise.
1106         * elfxx-riscv.h (riscv_arch_str): Declare.
1107
1108 2019-01-14  John Darrington <john@darrington.wattle.id.au>
1109
1110         * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
1111         * libbfd.h: regen.
1112         * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
1113         source field.  (md_apply_fix): Apply final fix
1114         to BFD_RELOC_S12Z_OPR.
1115         * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
1116
1117 2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
1118
1119         PR 20113
1120         * elf32-s390.c (allocate_dynrelocs): Update comment.
1121
1122 2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
1123
1124         * warning.m4: Adjust egrep pattern for non-GNU compilers.
1125         * configure: Regenerate.
1126
1127 2019-01-08  Alan Modra  <amodra@gmail.com>
1128
1129         PR 23699
1130         PR 24065
1131         * ihex.c (ihex_write_object_contents): Properly check 32-bit
1132         address range.
1133
1134 2019-01-05  Yoshinori Sato <ysato@users.sourceforge.jp>
1135
1136         * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
1137         * bfd/bfd-in2.h: Regenerate.
1138         * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
1139         * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
1140
1141 2019-01-04  Lifang Xia  <lifang_xia@c-sky.com>
1142
1143         * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
1144         default target, little endian target is more suitable.
1145
1146 2019-01-04  Alan Modra  <amodra@gmail.com>
1147
1148         PR 24061
1149         PR 21786
1150         * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
1151         adjust all callers.
1152         (EQ_VALUE_IN_FIELD): Likewise.
1153         * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
1154
1155 2019-01-01  Alan Modra  <amodra@gmail.com>
1156
1157         Update year range in copyright notice of all files.
1158
1159 For older changes see ChangeLog-2018
1160 \f
1161 Copyright (C) 2019 Free Software Foundation, Inc.
1162
1163 Copying and distribution of this file, with or without modification,
1164 are permitted in any medium without royalty provided the copyright
1165 notice and this notice are preserved.
1166
1167 Local Variables:
1168 mode: change-log
1169 left-margin: 8
1170 fill-column: 74
1171 version-control: never
1172 End: