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