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