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