PowerPC64 segfault in ppc64_elf_edit_toc
[external/binutils.git] / bfd / ChangeLog
1 2019-08-24  Alan Modra  <amodra@gmail.com>
2
3         * elf64-ppc.c (ppc64_elf_edit_toc): Exclude undefined weak
4         symbols from GOT optimisation.
5
6 2019-08-23  Stafford Horne  <shorne@gmail.com>
7
8         * elf32-or1k.c (or1k_elf_finish_dynamic_symbol): Use correct value for
9         PLT GOT entries.
10
11 2019-08-23  Nick Clifton  <nickc@redhat.com>
12
13         PR 24456
14         * elf.c (bfd_section_from_shdr): Issue an informative warning
15         message and continue processing other sections after encountering
16         a reloc section for a section which already has other relocs
17         associated with it.
18
19 2019-08-23  Alan Modra  <amodra@gmail.com>
20
21         PR 24933
22         * elfxx-x86.c (_bfd_x86_elf_get_synthetic_symtab): Don't exit
23         on error without freeing plts[] contents.
24
25 2019-08-22  Dennis Zhang  <dennis.zhang@arm.com>
26
27         * cpu-arm.c: New entries for Cortex-M35P, Cortex-A77, Cortex-A76AE.
28
29 2019-08-22  Nick Clifton  <nickc@redhat.com>
30
31         PR 24922
32         * pei-x86_64.c (pex64_xdata_print_uwd_codes): Add checks before
33         reading data from extra records.
34
35 2019-08-22  Tamar Christina  <tamar.christina@arm.com>
36
37         PR ld/24601
38         * elfnn-aarch64.c (aarch64_relocate): Handle weak TLS and undefined TLS.
39         Also Pass input_bfd to _bfd_aarch64_elf_resolve_relocation.
40         * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Use it.
41         * elfxx-aarch64.h (_bfd_aarch64_elf_resolve_relocation): Emit warning
42         for weak TLS.
43
44 2019-08-22  Alan Modra  <amodra@gmail.com>
45
46         * elf32-arm.c (cmse_scan): Don't use ARM_GET_SYM_CMSE_SPCL,
47         instead recognize CMSE_PREFIX in symbol name.
48         (elf32_arm_gc_mark_extra_sections): Likewise.
49         (elf32_arm_filter_cmse_symbols): Don't test ARM_GET_SYM_CMSE_SPCL.
50         (elf32_arm_swap_symbol_in): Don't invoke ARM_SET_SYM_CMSE_SPCL.
51
52 2019-08-20  Dennis Zhang  <dennis.zhang@arm.com>
53
54         * cpu-aarch64.c: New entries for Cortex-A34, Cortex-A65,
55          Cortex-A77, cortex-A65AE, and Cortex-A76AE.
56
57 2019-08-20  Tamar Christina  <tamar.christina@arm.com>
58
59         * elf32-arm.c (elf32_thumb2_plt_entry, elf32_arm_plt_thumb_stub,
60         elf32_arm_stub_long_branch_v4t_thumb_thumb,
61         elf32_arm_stub_long_branch_v4t_thumb_arm,
62         elf32_arm_stub_short_branch_v4t_thumb_arm,
63         elf32_arm_stub_long_branch_v4t_thumb_arm_pic,
64         elf32_arm_stub_long_branch_v4t_thumb_thumb_pic,
65         elf32_arm_stub_long_branch_v4t_thumb_tls_pic): Change nop to branch to
66         previous instruction.
67
68 2019-08-19  Tom Tromey  <tromey@adacore.com>
69
70         * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Create hash table
71         holding symbols.
72
73 2019-08-19  Alan Modra  <amodra@gmail.com>
74
75         * elf64-ppc.c (struct ppc64_elf_obj_tdata): Rename has_gotrel
76         to has_optrel.
77         (struct _ppc64_elf_section_data): Likewise.
78         (ppc64_elf_check_relocs): Set has_optrel for more relocs.
79         (ppc64_elf_edit_toc): Do ha/lo insn checks in GOT loop rather
80         than TOC loop.  Check PLT16 insns too.
81
82 2019-08-16  H.J. Lu  <hongjiu.lu@intel.com>
83
84         PR ld/24905
85         * elf64-x86-64.c (elf_x86_64_check_relocs): Move PIC check for
86         PC-relative relocations back to ...
87         (elf_x86_64_relocate_section): Here.
88
89 2019-08-16  Martin Liska  <mliska@suse.cz>
90
91         PR ld/24912
92         * elflink.c: Report error only for not relocatable.
93         * linker.c (_bfd_generic_link_add_one_symbol): Do not handle
94         here lto_slim_object as it's handled in caller.
95
96 2019-08-16  Alan Modra  <amodra@gmail.com>
97
98         * elf32-ppc.c (ppc_elf_relocate_section): Optimize unaligned relocs.
99
100 2019-08-15  Jim Wilson  <jimw@sifive.com>
101
102         * elfnn-riscv.c (perform_relocation) <R_RISCV_RVC_LUI>: If
103         RISCV_CONST_HIGH_PART (value) is zero, then convert c.lui instruction
104         to c.li instruction, and use ENCODE_RVC_IMM to set value.
105
106 2019-08-15  Tom Tromey  <tromey@adacore.com>
107
108         * dwarf2.c (scan_unit_for_symbols): Check for end of CU, not end
109         of section.
110
111 2019-08-14  Alan Modra  <amodra@gmail.com>
112
113         PR 24623
114         * dwarf2.c (stash_comp_unit): New function, extracted from..
115         (_bfd_dwarf2_find_nearest_line): ..here.
116         (find_abstract_instance): Parse comp units and decode line info
117         as needed.
118
119 2019-08-14  Alan Modra  <amodra@gmail.com>
120
121         * dwarf2.c (comp_unit_maybe_decode_line_info): Declare.
122         (comp_unit_find_nearest_line): Use it here..
123         (_bfd_dwarf2_find_symbol_bias): ..and here.
124
125 2019-08-14  Alan Modra  <amodra@gmail.com>
126
127         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Remove addr_size parameter.
128         * libbfd-in.h  (_bfd_dwarf2_find_nearest_line): Update prototype.
129         * coffgen.c (coff_find_nearest_line_with_names): Adjust
130         _bfd_dwarf2_find_nearest_line calls.
131         * elf.c (_bfd_elf_find_nearest_line, _bfd_elf_find_line): Likewise.
132         * elf32-arm.c (elf32_arm_find_nearest_line): Likewise.
133         * elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise.
134         * elfnn-aarch64.c (elfNN_aarch64_find_nearest_line): Likewise.
135         * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
136         * mach-o.c (bfd_mach_o_find_nearest_line): Likewise.
137         * libbfd.h: Regenerate.
138
139 2019-08-09  Mihailo Stojanovic  <mihailo.stojanovic@rt-rk.com>
140
141         * elf-bfd.h (struct elf_backend_data): New members.
142         * elflink.c (_bfd_elf_link_create_dynamic_sections): Create
143         .gnu.hash section if necessary.
144         (struct collect_gnu_hash_codes): New member.
145         (elf_gnu_hash_process_symidx): New function name.
146         (elf_renumber_gnu_hash_syms): Ignore local and undefined
147         symbols. Record xlat location for every symbol which should have
148         a .MIPS.xhash entry.
149         (bfd_elf_size_dynamic_sections): Add DT_GNU_HASH dynamic tag to
150         dynamic section if necessary.
151         (GNU_HASH_SECTION_NAME): New define.
152         (bfd_elf_size_dynsym_hash_dynstr): Get .MIPS.xhash section.
153         Update the section size info.
154         * elfxx-mips.c (struct mips_elf_hash_sort_data): New members.
155         (struct mips_elf_link_hash_entry): New member.
156         (mips_elf_link_hash_newfunc): Initialize .MIPS.xhash translation
157         table location.
158         (mips_elf_sort_hash_table): Initialize the pointer to the
159         .MIPS.xhash section.
160         (mips_elf_sort_hash_table_f): Populate the .MIPS.xhash
161         translation table entry with the symbol dynindx.
162         (_bfd_mips_elf_section_from_shdr): Add SHT_MIPS_XHASH.
163         (_bfd_mips_elf_fake_sections): Initialize .MIPS.xhash section
164         info.
165         (_bfd_mips_elf_create_dynamic_sections): Create .MIPS.xhash
166         section.
167         (_bfd_mips_elf_size_dynamic_sections): Add DT_MIPS_XHASH tag to
168         dynamic section.
169         (_bfd_mips_elf_finish_synamic_sections): Add DT_MIPS_XHASH.
170         (_bfd_mips_elf_final_write_processing): Set .MIPS.xhash section
171         sh_link info.
172         (_bfd_mips_elf_get_target_dtag): Get DT_MIPS_XHASH tag.
173         (MIPS_LIBC_ABI_XHASH): New ABI version enum value.
174         (_bfd_mips_post_process_headers): Mark the ABI version as
175         MIPS_LIBC_ABI_XHASH if there exists a .MIPS.xhash section,
176         but not a .hash section.
177         (_bfd_mips_elf_record_xhash_symbol): New function. Record a
178         position in the translation table, associated with the hash
179         entry.
180         * elfxx-mips.h (literal_reloc_p): Define
181         elf_backend_record_xhash_symbol backend hook.
182         * elfxx-target.h: Initialize elf_backend_record_xhash_symbol
183         backend hook.
184
185 2019-08-07  Jose E. Marchesi  <jose.marchesi@oracle.com>
186
187         * elf64-bpf.c (bpf_elf_relocate_section): New function.
188         (bpf_elf_insn_disp_reloc): Delete function.
189         (elf_backend_relocate_section): Define.
190
191 2019-08-07  Alan Modra  <amodra@gmail.com>
192
193         PR 24644
194         * archive64.c (_bfd_archive_64_bit_slurp_armap): Properly check
195         for overflow in expressions involving nsymz.
196
197 2019-08-01  Ilia Diachkov  <ilia.diachkov@optimitech.com>
198
199         * elfnn-riscv.c (_bfd_riscv_relax_lui): Set lui relax safety area to
200         two pages in relro presence.
201
202 2019-08-01  Max Filippov  <jcmvbkbc@gmail.com>
203
204         * elf32-xtensa.c (insn_num_slots, get_rsr_lend_opcode)
205         (get_wsr_lbeg_opcode): New functions.
206         (check_loop_aligned): Detect relaxed loops and adjust loop_len
207         and insn_len for the first actual instruction of the loop.
208
209 2019-07-30  Alan Modra  <amodra@gmail.com>
210
211         PR 24768
212         * bfd.c (struct bfd): Add lto_slim_object flag.
213         * bfd-in2.h: Regenerate.
214
215 2019-07-29  Martin Liska  <mliska@suse.cz>
216
217         PR 24768
218         * archive.c (_bfd_compute_and_write_armap): Come up with
219         report_plugin_err variable.
220         * bfd-in2.h (struct bfd): Add lto_slim_object flag.
221         * elf.c (struct lto_section): New.
222         (_bfd_elf_make_section_from_shdr): Parse content of
223         .gnu_lto_.lto section.
224         * elflink.c: Report error for a missing LTO plugin.
225         * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
226
227 2019-07-28  Alan Modra  <amodra@gmail.com>
228
229         PR 24857
230         PR 24339
231         * elflink.c (elf_link_add_object_symbols): Report an informative
232         error on finding local symbols with index equal or greater than
233         symbol table sh_info.  Correct comment.  Allow such symbols in
234         dynamic objects.  Abort on NULL section for symbol.
235
236 2019-07-26  Alan Modra  <amodra@gmail.com>
237
238         * elf-bfd.h (struct output_elf_obj_tdata): Delete "linker" field.
239         (elf_linker): Don't define.
240         * elflink.c (bfd_elf_final_link): Don't set elf_linker.
241
242 2019-07-25  YunQiang Su  <syq@debian.org>
243
244         PR 24832
245         * elfxx-mips.c (mips_set_isa_flags): Default to MIPS 3 for 64-bit
246         mips inputs.
247
248 2019-07-24  Claudiu Zissulescu  <claziss@synopsys.com>
249
250         * elf32-arc.c (bfd_get_32_me): Add a small description, fix
251         formating.
252         (reloc_type_to_name): Fix formating.
253         (arc_elf_object_p): Likewise.
254         (debug_arc_reloc): Likewise.
255         (arc_do_relocation): Likewise.
256
257 2019-07-24  Claudiu Zissulescu  <claziss@synopsys.com>
258
259         * elf32-arc.c (bfd_get_32_me): New function.
260         (bfd_put_32_me): Likewise.
261         (arc_elf_relax_section): Likewise.
262         (bfd_elf32_bfd_relax_section): Define.
263
264 2019-07-24  Alan Modra  <amodra@gmail.com>
265
266         * elf-bfd.h (struct elf_backend_data): Return bfd_boolean from
267         elf_backend_final_write_processing, don't pass linker arg.
268         (_bfd_elf_final_write_processing): Update prototype.
269         * elf.c (_bfd_elf_write_object_contents): Adjust call.
270         (_bfd_elf_final_write_processing): Return error on incompatible
271         OSABI and has_gnu_osabi.  Remove linker arg.
272         * elf-nacl.h (nacl_final_write_processing): Update prototype.
273         * elf-vxworks.h (elf_vxworks_final_write_processing): Likewise.
274         * elfxx-mips.h (_bfd_mips_final_write_processing): Likewise.
275         (_bfd_mips_elf_final_write_processing): Likewise.
276         * elf-hppa.h (elf_hppa_final_write_processing): Return status
277         and remove linker arg.
278         * elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
279         * elf-nacl.c (nacl_final_write_processing): Likewise.
280         * elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
281         * elf32-arc.c (arc_elf_final_write_processing): Likewise.
282         * elf32-arm.c (arm_final_write_processing): Likewise.
283         (elf32_arm_final_write_processing): Likewise.
284         (elf32_arm_nacl_final_write_processing): Likewise.
285         (elf32_arm_vxworks_final_write_processing): Likewise.
286         * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
287         * elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
288         * elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
289         * elf32-cris.c (cris_elf_final_write_processing): Likewise.
290         * elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
291         * elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
292         * elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
293         * elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
294         * elf32-mips.c (mips_vxworks_final_write_processing): Likewise.
295         * elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
296         * elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
297         * elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
298         * elf32-pj.c (pj_elf_final_write_processing): Likewise.
299         * elf32-ppc.c (ppc_final_write_processing): Likewise.
300         (ppc_elf_final_write_processing): Likewise.
301         (ppc_elf_vxworks_final_write_processing): Likewise.
302         * elf32-sparc.c (sparc_final_write_processing): Likewise.
303         (elf32_sparc_final_write_processing): Likewise.
304         (elf32_sparc_vxworks_final_write_processing): Likewise.
305         * elf32-v850.c (v850_elf_final_write_processing): Likewise.
306         * elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
307         * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
308         * elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
309         * elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
310         * elfxx-mips.c (_bfd_mips_final_write_processing): Likewise.
311         (_bfd_mips_elf_final_write_processing): Likewise.
312
313 2019-07-24  Alan Modra  <amodra@gmail.com>
314
315         * elf-vxworks.c (elf_vxworks_final_write_processing): Don't return
316         early.
317         * elf32-arc.c (arc_elf_final_write_processing): Likewise.
318         * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
319
320 2019-07-24  Alan Modra  <amodra@gmail.com>
321
322         * elf32-visium.c (visium_elf_post_process_headers): Don't set
323         EI_OSABI header byte here.
324         (ELF_OSABI): Define.
325
326 2019-07-23  Alan Modra  <amodra@gmail.com>
327
328         * elf-bfd.h (enum elf_gnu_osabi): Add elf_gnu_osabi_mbind.
329         * elf.c (_bfd_elf_make_section_from_shdr): Set elf_gnu_osabi_mbind.
330         (get_program_header_size): Formatting.  Only test SH_GNU_MBIND
331         when elf_gnu_osabi_mbind is set.
332         (_bfd_elf_map_sections_to_segments): Likewise.
333         (_bfd_elf_init_private_section_data): Likewise.
334         (_bfd_elf_final_write_processing): Update comment.
335         * elf64-hppa.c (elf64_hppa_special_sections): Move .tbss entry.
336         (elf_backend_special_sections): Define without .tbss for linux.
337
338 2019-07-23  Alan Modra  <amodra@gmail.com>
339
340         * elf-bfd.h (enum elf_gnu_osabi): Rename from elf_gnu_symbols.
341         Remove none, any, all enums.
342         (struct elf_obj_tdata): Rename has_gnu_symbols field to has_gnu_osabi.
343         (_bfd_elf_final_write_processing): Declare.
344         * elf.c (_bfd_elf_write_object_contents): Unconditionally call
345         elf_backend_final_write_processing.
346         (_bfd_elf_post_process_headers): Move body of function to..
347         (_bfd_elf_final_write_processing): ..here, but set EI_OSABI byte
348         only when not already set.  Adjust for rename.
349         * elfxx-target.h (elf_backend_final_write_processing): Default to
350         _bfd_elf_final_write_processing.
351         * elf-hppa.h (elf_hppa_final_write_processing): Call
352         _bfd_elf_final_write_processing.
353         * elf-m10300.c (_bfd_mn10300_elf_final_write_processing): Likewise.
354         * elf-nacl.c (nacl_final_write_processing): Likewise.
355         * elf-vxworks.c (elf_vxworks_final_write_processing): Likewise.
356         * elf32-arc.c (arc_elf_final_write_processing): Likewise.
357         * elf32-avr.c (bfd_elf_avr_final_write_processing): Likewise.
358         * elf32-bfin.c (elf32_bfin_final_write_processing): Likewise.
359         * elf32-cr16.c (_bfd_cr16_elf_final_write_processing): Likewise.
360         * elf32-cris.c (cris_elf_final_write_processing): Likewise.
361         * elf32-h8300.c (elf32_h8_final_write_processing): Likewise.
362         * elf32-lm32.c (lm32_elf_final_write_processing): Likewise.
363         * elf32-m32r.c (m32r_elf_final_write_processing): Likewise.
364         * elf32-m68k.c (elf_m68k_final_write_processing): Likewise.
365         * elf32-msp430.c (bfd_elf_msp430_final_write_processing): Likewise.
366         * elf32-nds32.c (nds32_elf_final_write_processing): Likewise.
367         * elf32-or1k.c (or1k_elf_final_write_processing): Likewise.
368         * elf32-pj.c (pj_elf_final_write_processing): Likewise.
369         * elf32-v850.c (v850_elf_final_write_processing): Likewise.
370         * elf32-xc16x.c (elf32_xc16x_final_write_processing): Likewise.
371         * elf32-xtensa.c (elf_xtensa_final_write_processing): Likewise.
372         * elf64-ia64-vms.c (elf64_vms_final_write_processing): Likewise.
373         * elfnn-ia64.c (elfNN_ia64_final_write_processing): Likewise.
374         * elf32-arm.c (arm_final_write_processing): Split out from..
375         (elf32_arm_final_write_processing): ..here.  Call
376         _bfd_elf_final_write_processing.
377         (elf32_arm_nacl_final_write_processing): Adjust.
378         * elfxx-mips.c (_bfd_mips_final_write_processing): Split out from..
379         (_bfd_mips_elf_final_write_processing): ..here.  Call
380         _bfd_elf_final_write_processing.
381         * elfxx-mips.h (_bfd_mips_final_write_processing): Declare.
382         * elf32-mips.c (mips_vxworks_final_write_processing): Adjust.
383         * elf32-ppc.c (ppc_final_write_processing): Split out from..
384         (ppc_elf_final_write_processing): ..here.  Call
385         _bfd_elf_final_write_processing.
386         (ppc_elf_vxworks_final_write_processing): Adjust.
387         * elf32-sparc.c (sparc_final_write_processing): Split out from..
388         (elf32_sparc_final_write_processing): ..here.  Call
389         _bfd_elf_final_write_processing.
390         (elf32_sparc_vxworks_final_write_processing): Adjust.
391         * elf32-d10v.c (elf_backend_final_write_processing): Don't define.
392         * elf32-d30v.c (elf_backend_final_write_processing): Don't define.
393         * elf32-m68hc11.c (elf_backend_final_write_processing): Don't define.
394         * elf32-m68hc12.c (elf_backend_final_write_processing): Don't define.
395         * elf32-s12z.c (elf_backend_final_write_processing): Don't define.
396         * elf32-i386.c (elf_i386_check_relocs): Don't set has_gnu_symbols.
397         * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise.
398         * elflink.c (elf_link_add_object_symbols): Likewise.
399         (elf_link_output_symstrtab): Set has_gnu_osabi for symbols here
400         instead.
401
402 2019-07-23  Omar Majid  <omajid@redhat.com>
403
404         * coffcode.h (coff_set_arch_mach_hook): Handle I386_APPLE_MAGIC,
405         I386_FREEBSD_MAGIC, I386_LINUX_MAGIC, I386_NETBSD_MAGIC,
406         AMD64_APPLE_MAGIC, AMD64_FREEBSD_MAGIC, AMD64_LINUX_MAGIC,
407         AMD64_NETBSD_MAGIC.
408         * peXXigen.c: Add comment about source of .NET magic numbers.
409
410 2019-07-19  Alan Modra  <amodra@gmail.com>
411
412         * reloc.c (BFD_RELOC_PPC64_TPREL34, BFD_RELOC_PPC64_DTPREL34),
413         (BFD_RELOC_PPC64_GOT_TLSGD34, BFD_RELOC_PPC64_GOT_TLSLD34),
414         (BFD_RELOC_PPC64_GOT_TPREL34, BFD_RELOC_PPC64_GOT_DTPREL34),
415         (BFD_RELOC_PPC64_TLS_PCREL): New pcrel tls relocs.
416         * elf64-ppc.c (ppc64_elf_howto_raw): Add howtos for pcrel tls relocs.
417         (ppc64_elf_reloc_type_lookup): Translate pcrel tls relocs.
418         (must_be_dyn_reloc, dec_dynrel_count): Add R_PPC64_TPREL64.
419         (ppc64_elf_check_relocs): Support pcrel tls relocs.
420         (ppc64_elf_tls_optimize, ppc64_elf_relocate_section): Likewise.
421         * bfd-in2.h: Regenerate.
422         * libbfd.h: Regenerate.
423
424 2019-07-18  Alan Modra  <amodra@gmail.com>
425
426         * elf64-ppc.c (ppc64_elf_relocate_section): Don't bother selecting
427         a TLS section symbol for edited relocs.  Tighten TLS symbol/reloc
428         match test.
429
430 2019-07-18  Alan Modra  <amodra@gmail.com>
431
432         * elf64-ppc.c (TLS_EXPLICIT): Define as 256.
433         (ppc64_elf_check_relocs): Don't store TLS_EXPLICIT even if char
434         is more than 8 bits.
435         (ppc64_elf_tls_optimize): Likewise.  Make tls_set, tls_clear, and
436         tls_type vars unsigned int.
437         (ppc64_elf_relocate_section): Use r_type rather than TLS_EXPLICIT
438         to select r_type edit.
439
440 2019-07-18  Alan Modra  <amodra@gmail.com>
441
442         * elf32-ppc.c (TLS_GDIE): Rename from TLS_TPRELGD throughout file.
443         Correct comment.
444         * elf64-ppc.c (TLS_GDIE): Likewise.
445
446 2019-07-18  Alan Modra  <amodra@gmail.com>
447
448         * elf64-ppc.c (ppc64_elf_tls_optimize): Correct test for allowed
449         range of tp-relative offsets.
450
451 2019-07-15  Alan Modra  <amodra@gmail.com>
452
453         * elflink.c (_bfd_elf_fix_symbol_flags): If the def for an
454         alias is no longer bfd_link_hash_defined, clear the alias.
455
456 2019-07-13  Alan Modra  <amodra@gmail.com>
457
458         * elflink.c (_bfd_elf_omit_section_dynsym_default): Don't keep
459         tls_sec.
460         (_bfd_elf_init_1_index_section): Prefer not using TLS sections.
461         (_bfd_elf_init_2_index_sections): Likewise.
462         * elf64-ppc.c (ppc64_elf_relocate_section): When emitting dynamic
463         relocations for local TLS symbols, use STN_UNDEF as the relocation
464         symbol.
465         * elf32-ppc.c (ppc_elf_relocate_section): Likewise, and don't
466         leave TLS symbol value in the addend.
467
468 2019-07-08  Alan Modra  <amodra@gmail.com>
469
470         PR 24785
471         * elf32-ppc.c (_bfd_elf_ppc_set_arch): Sanity check .PPC.EMB.apuinfo
472         size before reading first word.
473
474 2019-07-02  Nick Clifton  <nickc@redhat.com>
475
476         PR 24717
477         * elf.c (is_debuginfo_file): New function.
478         (assign_file_positions_for_non_load_sections): Do not warn about
479         allocated sections outside of loadable segments if they are found
480         in a debuginfo file.
481         * elf-bfd.h (is_debuginfo_file): Prototype.
482
483 2019-07-02  Nick Clifton  <nickc@redhat.com>
484
485         PR 24753
486         * compress.c (bfd_get_full_section_contents): Do not complain
487         about linker created sections that are larger than the file size.
488
489 2019-07-02  Christophe Lyon  <christophe.lyon@linaro.org>
490
491         * bfd/elf32-arm.c (CMSE_STUB_NAME): New define.
492         (elf32_arm_get_stub_entry): Do not try to emit long-branch stubs
493         for CMSE stubs.
494         (arm_dedicated_stub_output_section_name): Use CMSE_STUB_NAME.
495
496 2019-07-02  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
497
498         * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Mark debug
499         sections when .text section contain secure entry functions
500         is marked.
501
502 2019-07-01  Nick Clifton  <nickc@redhat.com>
503
504         PR 23839
505         * elf32-arm.c (elf32_arm_update_relocs): Do not include the
506         section VMA in the offset used to update exidx relocs.
507
508 2019-06-28  Nick Clifton  <nickc@redhat.com>
509
510         PR 24708
511         * elf.c (_bfd_elf_slurp_version_tables): Check for an excessively
512         large version reference section.
513         * compress.c (bfd_get_full_section_contents): Check for an
514         uncompressed section whose size is larger than the file size.
515
516 2019-06-28  Alan Modra  <amodra@gmail.com>
517
518         * format.c (bfd_check_format_matches): Don't match plugin target
519         if another target matches.  Expand comment.
520         * targets.c (_bfd_target_vector): Move plugin_vec after all other
521         non-corefile targets, outside !SELECT_VECS.
522         * config.bfd: Don't handle targ=plugin here.
523         * configure.ac: Don't add plugin to enable_targets or handle in
524         target loop setting selvecs and other target vars.
525         * configure: Regenerate.
526
527 2019-06-26  Nick Clifton  <nickc@redhat.com>
528
529         PR 24703
530         * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add error
531         messages for failures.
532         * mach-o.c (bfd_mach_o_canonicalize_relocs): Set an bfd error code
533         if returning an error value.
534
535 2019-06-25  Jan Beulich  <jbeulich@suse.com>
536
537         * elf-properties.c (elf_find_and_remove_property): Rename last
538         parameter. Mention it in comment.
539
540 2019-06-24  Ilia Diachkov  <ilia.diachkov@optimitech.com>
541
542         * elfnn-riscv.c (_bfd_riscv_relax_lui): Delete early exit when
543         SEC_MERGE or SEC_CODE flags are set.
544         (_bfd_riscv_relax_section): New local symtype.  Set sym_sec and
545         symtype consistently.  Don't include sec_addr (sym_sec) in symval.
546         Add check for SEC_INFO_TYPE_MERGE and call _bfd_merged_section_offset.
547         Add sec_addr (sym_sec) after handling merge sections.
548
549 2019-06-24  H.J. Lu  <hongjiu.lu@intel.com>
550
551         PR ld/24721
552         * elf-properties.c (elf_merge_gnu_property_list): Remove the
553         property after reporting property removal.
554
555 2019-06-23  Alan Modra  <amodra@gmail.com>
556
557         PR 24704
558         * elf64-ppc.c (R_PPC64_GOT16_DS): Don't set has_gotrel.
559         (ppc64_elf_edit_toc): Don't remove R_PPC64_GOT16_DS got entries.
560         Reduce range of offsets allowed for other GOT relocs.
561
562 2019-06-23  Alan Modra  <amodra@gmail.com>
563
564         PR 24689
565         * elfcode.h (elf_object_p): Warning fix.
566
567 2019-06-21  Alan Modra  <amodra@gmail.com>
568
569         PR 24689
570         * elfcode.h (elf_object_p): Check type of e_shstrndx section.
571
572 2019-06-19  Alan Modra  <amodra@gmail.com>
573
574         PR 24697
575         * elf32-ppc.c (ppc_elf_relocate_section): Don't read insn for
576         R_PPC_EMB_RELSDA.  Mask low bit of R_PPC_EMB_SDA21 r_offset.
577
578 2019-06-19  Alan Modra  <amodra@gmail.com>
579
580         * elf64-ppc.c (ppc64_elf_inline_plt): Correct st_other test for
581         functions that require r2 valid to use local entry.
582         (ppc64_elf_size_stubs, ppc64_elf_relocate_section): Likewise.
583
584 2019-06-17  Szabolcs Nagy  <szabolcs.nagy@arm.com>
585
586         * elfnn-aarch64.c (elfNN_aarch64_allocate_local_dynrelocs): Remove.
587         (elfNN_aarch64_size_dynamic_sections): Remove loc_hash_table traversal
588         with elfNN_aarch64_allocate_local_dynrelocs.
589
590 2019-06-14  Szabolcs Nagy  <szabolcs.nagy@arm.com>
591
592         * elfnn-aarch64.c: Enable MOVW_PREL relocs for ELF32.
593
594 2019-06-14  Alan Modra  <amodra@gmail.com>
595
596         * Makefile.in: Regenerate.
597         * configure: Regenerate.
598
599 2019-06-14  Alan Modra  <amodra@gmail.com>
600
601         * elf64-ppc.c: Fix comments involving paddi.
602
603 2019-06-12  Adam Lackorzymski  <adam@os.inf.tu-dresden.de>
604
605         PR 24643
606         * elf32-arm.c (arm_elf_find_function): Fail if the symol table is
607         absent, or the bfd is not in the ELF formart.
608         * elfnn-aarch64.c (aarch64_elf_find_function): Likewise.
609
610 2019-06-10  Christos Zoulas  <christos@zoulas.com>
611
612         PR 24650
613         * elf.c (elfcore_make_auxv_note_section): New function.
614         (elfcore_grok_note): Use it.
615         (elfcore_grok_freebsd_note): Likewise.
616         (elfcore_grok_openbsd_note): Likewise.
617         (elfcore_grok_netbsd_note): Likewise.  Plus add support for
618         NT_NETBSDCORE_AUXV notes.
619
620 2019-06-06  Sudakshina Das  <sudi.das@arm.com>
621
622         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Set
623         alignment of the new gnu property section.
624
625 2019-06-06  Sudakshina Das  <sudi.das@arm.com>
626
627         * bfd-in.h: Change comment.
628         * bfd-in2.h: Regenerate.
629         * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update warning.
630         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties):
631         Likwise.
632
633 2019-05-28  Faraz Shahbazker  <fshahbazker@wavecomp.com>
634
635         * elfxx-mips.c (mips_elf_calculate_relocation) <R_MIPS_PCHI16>:
636         Remove overflow check.
637
638 2019-05-28  Alan Modra  <amodra@gmail.com>
639
640         PR 24596
641         * cofflink.c (coff_link_check_archive_element): Don't assume
642         element is a coff object file after calling add_archive_element.
643
644 2019-05-28  Alan Modra  <amodra@gmail.com>
645
646         PR 24596
647         * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Don't
648         attempt to set sh_entsize for excluded PLT section.
649
650 2019-05-28  Alan Modra  <amodra@gmail.com>
651
652         PR 24596
653         * elf64-alpha.c (elf64_alpha_relocate_section): Don't attempt
654         to emit R_ALPHA_GOTTPREL in PIEs, for which no space is
655         allocated in alpha_dynamic_entries_for_reloc.
656
657 2019-05-28  Alan Modra  <amodra@gmail.com>
658
659         PR 24596
660         * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Don't segfault
661         on NULL output_section.
662         * elflink.c (elf_final_link_free): Don't free -1 symshndxbuf.
663
664 2019-05-28  Alan Modra  <amodra@gmail.com>
665
666         PR 24596
667         * elf32-m68k.c (elf_m68k_get_got_entry): Don't create a new
668         entry when MUST_FIND.  Abort when MUST_FIND not found.
669         (elf_m68k_get_bfd2got_entry): Likewise.
670         (elf_m68k_relocate_section): Remove now useless assert.
671
672 2019-05-28  Alan Modra  <amodra@gmail.com>
673
674         PR 24596
675         * elf64-hppa.c (elf64_hppa_finalize_dynreloc): Get the output bfd
676         from bfd_link_info, not an output section owner.
677         (elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd): Likewise.
678         (elf_hppa_final_link_relocate): Likewise.
679
680 2019-05-28  Alan Modra  <amodra@gmail.com>
681
682         PR 24596
683         * aout-tic30.c (MY_bfd_final_link): Don't segfault on missing
684         create_object_symbols_section, obj_textsec, obj_datasec or
685         obj_bsssec.  Fix other errors in placement.
686         * config.bfd: Obsolete tic30-aout.
687
688 2019-05-28  Alan Modra  <amodra@gmail.com>
689
690         PR 24596
691         * dwarf2.c (save_section_vma, section_vma_same): Check for NULL
692         end of section list as well as section_count.
693         * xcofflink.c (xcoff_link_add_symbols): Fix temporarily changed
694         section list before returning error.
695
696 2019-05-27  Alan Modra  <amodra@gmail.com>
697
698         * elf.c (bfd_elf_set_group_contents): Exit on zero size section.
699
700 2019-05-27  Alan Modra  <amodra@gmail.com>
701
702         PR 24596
703         * linker.c (_bfd_generic_link_output_symbols): Heed BSF_KEEP.
704
705 2019-05-24  Szabolcs Nagy  <szabolcs.nagy@arm.com>
706
707         * elfnn-aarch64.c (elfNN_aarch64_merge_symbol_attribute): New function.
708         (struct elf_aarch64_link_hash_table): Add variant_pcs member.
709         (elfNN_aarch64_allocate_dynrelocs): Update variant_pcs.
710         (elfNN_aarch64_size_dynamic_sections): Add DT_AARCH64_VARIANT_PCS.
711         (elf_backend_merge_symbol_attribute): Define.
712
713 2019-05-24  Alan Modra  <amodra@gmail.com>
714
715         * po/SRC-POTFILES.in: Regenerate.
716
717 2019-05-24  Alan Modra  <amodra@gmail.com>
718
719         * elf64-ppc.c: Comment on powerxx _notoc stub variants.
720         (LI_R11_0, LIS_R11, ORI_R11_R11_0, SLDI_R11_R11_34): Define.
721         (PADDI_R12_PC, PLD_R12_PC, D34, HA34): Define.
722         (struct ppc_link_hash_table): Add powerxx_stubs.
723         (ppc64_elf_check_relocs): Set powerxx_stubs.
724         (build_powerxx_offset, size_powerxx_offset),
725         (num_relocs_for_powerxx_offset),
726         (emit_relocs_for_powerxx_offset): New functions.
727         (plt_stub_size): Size powerxx stubs.
728         (ppc_build_one_stub): Emit powerxx stubs.
729         (ppc_size_one_stub): Size powerxx stubs.  Omit .eh_frame for
730         powerxx stubs.
731
732 2019-05-24  Alan Modra  <amodra@gmail.com>
733
734         * elf64-ppc.c (ppc64_elf_check_relocs): Set has_gotrel for
735         R_PPC64_GOT_PCREL34.
736         (xlate_pcrel_opt): New function.
737         (ppc64_elf_edit_toc): Handle R_PPC64_GOT_PCREL34.
738         (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
739         for R_PPC64_GOT_PCREL34.  Implement R_PPC64_PCREL_OPT optimisation.
740
741 2019-05-24  Alan Modra  <amodra@gmail.com>
742
743         * reloc.c (BFD_RELOC_PPC64_D34, BFD_RELOC_PPC64_D34_LO),
744         (BFD_RELOC_PPC64_D34_HI30, BFD_RELOC_PPC64_D34_HA30),
745         (BFD_RELOC_PPC64_PCREL34, BFD_RELOC_PPC64_GOT_PCREL34),
746         (BFD_RELOC_PPC64_PLT_PCREL34),
747         (BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34),
748         (BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34),
749         (BFD_RELOC_PPC64_REL16_HIGHER34, BFD_RELOC_PPC64_REL16_HIGHERA34),
750         (BFD_RELOC_PPC64_REL16_HIGHEST34, BFD_RELOC_PPC64_REL16_HIGHESTA34),
751         (BFD_RELOC_PPC64_D28, BFD_RELOC_PPC64_PCREL28): New reloc enums.
752         * elf64-ppc.c (PNOP): Define.
753         (ppc64_elf_howto_raw): Add reloc howtos for new relocations.
754         (ppc64_elf_reloc_type_lookup): Translate new bfd reloc numbers.
755         (ppc64_elf_ha_reloc): Adjust addend for highera34 and highesta34
756         relocs.
757         (ppc64_elf_prefix_reloc): New function.
758         (struct ppc_link_hash_table): Add notoc_plt.
759         (is_branch_reloc): Add R_PPC64_PLTCALL_NOTOC.
760         (is_plt_seq_reloc): Add R_PPC64_PLT_PCREL34,
761         R_PPC64_PLT_PCREL34_NOTOC, and R_PPC64_PLTSEQ_NOTOC.
762         (ppc64_elf_check_relocs): Handle pcrel got and plt relocs.  Set
763         has_pltcall for section on seeing R_PPC64_PLTCALL_NOTOC.  Handle
764         possible need for dynamic relocs on non-pcrel powerxx relocs.
765         (dec_dynrel_count): Handle non-pcrel powerxx relocs.
766         (ppc64_elf_inline_plt): Handle R_PPC64_PLTCALL_NOTOC.
767         (toc_adjusting_stub_needed): Likewise.
768         (ppc64_elf_tls_optimize): Handle R_PPC64_PLTSEQ_NOTOC.
769         (ppc64_elf_relocate_section): Handle new powerxx relocs.
770         * bfd-in2.h: Regenerate.
771         * libbfd.h: Regenerate.
772
773 2019-05-23  Jose E. Marchesi  <jose.marchesi@oracle.com>
774
775         * config.bfd (targ_cpu): Process bpf-*-none only if BFD64.
776         * configure.ac: Set target_size=64 for bpf_elf64_le_vec and
777         bpf_elf64_be_vec.
778         * configure: Regenerate.
779
780 2019-05-23  Jose E. Marchesi  <jose.marchesi@oracle.com>
781
782         * configure: Regenerated.
783         * Makefile.am (ALL_MACHINES): Add cpu-bpf.lo.
784         (ALL_MACHINES_CFILES): Add cpu-bpf.c.
785         (BFD64_BACKENDS): Add elf64-bpf.lo.
786         (BFD64_BACKENDS_CFILES): Add elf64-bpf.c.
787         * Makefile.in (SOURCE_HFILES): Regenerate.
788         * config.bfd (targ_cpu): Handle bpf-*-* targets.
789         * cpu-bpf.c: New file.
790         * elf64-bpf.c: Likewise.
791         * targets.c (_bfd_target_vector): Add bpf_elf64_be_vec and
792         bpf_elf64_le_vec.
793         * archures.c: Define architecture bfd_arch_bpf and machine
794         bfd_arch_bpf.
795         * reloc.c: Define BFD relocations used by the BPF target.
796         * bfd-in2.h: Regenerated.
797         * libbfd.h: Likewise.
798
799 2019-05-22  Alan Modra  <amodra@gmail.com>
800
801         * elf32-arm.c (arm_allocate_glue_section_space): Clear section
802         contents.
803
804 2019-05-22  Alan Modra  <amodra@gmail.com>
805
806         * vms-alpha.c (_bfd_vms_write_etir): Don't attempt further
807         processing on "size error in section".
808
809 2019-05-22  Alan Modra  <amodra@gmail.com>
810
811         * som.c (som_bfd_free_cached_info): Call
812         _bfd_generic_close_and_cleanup.
813
814 2019-05-21  Faraz Shahbazker  <fshahbazker@wavecomp.com>
815
816         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Generate error
817         for TLS_TPREL_HI16(/LO16) relocations in shared library.
818
819 2019-05-21  Faraz Shahbazker  <fshahbazker@wavecomp.com>
820
821         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Add NULL pointer
822         checks.  Search the RELA table for n64 relocations.
823
824 2019-05-21  Matthew Fortune  <matthew.fortune@mips.com>
825             Faraz Shahbazker  <fshahbazker@wavecomp.com>
826
827         * elfxx-mips.c (LA25_BC): New macro.
828         (mips_elf_link_hash_table)<compact_branches>: New field.
829         (STUB_JALRC): New macro.
830         (mipsr6_o32_exec_plt0_entry_compact): New array.
831         (mipsr6_n32_exec_plt0_entry_compact): Likewise.
832         (mipsr6_n64_exec_plt0_entry_compact): Likewise.
833         (mipsr6_exec_plt_entry_compact): Likewise.
834         (mips_elf_create_la25_stub): Use BC instead of J for stubs
835         when compact_branches is true.
836         (_bfd_mips_elf_finish_dynamic_symbol): Choose the compact
837         PLT for MIPSR6 with compact_branches.  Do not reorder the
838         compact branches PLT.  Switch the lazy stub for MIPSR6
839         with compact_branches to use JALRC.
840         (mips_finish_exec_plt): Choose the compact PLT0 for MIPSR6
841         when compact_branches is true.
842         (_bfd_mips_elf_compact_branches): New function.
843         * elfxx-mips.h (_bfd_mips_elf_compact_branches): New prototype.
844
845 2019-05-21  Tamar Christina  <tamar.christina@arm.com>
846
847         PR ld/24373
848         * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
849         Fix print formatter.
850
851 2019-05-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
852
853         PR 24460
854         * elf32-arm.c (get_value_helper): Remove.
855         (elf32_arm_final_link_relocate): Fix branch future relocations.
856
857 2019-05-21  Tamar Christina  <tamar.christina@arm.com>
858
859         PR ld/24373
860         * bfd-in.h (enum erratum_84319_opts): New
861         (bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change
862         int to enum erratum_84319_opts.
863         * bfd-in2.h: Regenerate.
864         * elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change
865         fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr.
866         (_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub.
867         (aarch64_size_one_stub): Conditionally size erratum 843419 stubs.
868         (_bfd_aarch64_resize_stubs): Amend comment.
869         (elfNN_aarch64_size_stubs): Don't generate stubs when no workaround
870         requested.
871         (bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
872         (_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
873         erratum workaround.
874         (clear_erratum_843419_entry): Update erratum conditional.
875
876 2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
877
878         PR ld/24571
879         * bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check
880         when computing distance_short_enough.
881
882 2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
883
884         PR ld/24564
885         * bfd/elf32-avr.c (avr_relative_distance_considering_wrap_around):
886         Wrap around even if distance equals avr_pc_wrap_around.
887
888 2019-05-20  Nick Clifton  <nickc@redhat.com>
889
890         * po/fr.po: Updated French translation.
891
892 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
893
894         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
895
896 2019-05-16  Alan Modra  <amodra@gmail.com>
897
898         * elf32-arm.c (elf32_arm_write_section): Revert last change.
899
900 2019-05-15  Alan Modra  <amodra@gmail.com>
901
902         * elf32-arm.c (elf32_arm_write_section): Don't leave
903         error case of STM32L4XX_ERRATUM_BRANCH_TO_VENEER with
904         unitialised section contents.
905
906 2019-05-14  Jamey Hicks  <jamey.hicks@gmail.com>
907
908         PR 19921
909         * verilog.c: (VerilogDataWidth): New variable.
910         (verilog_write_record): Emit bytes in VerilogDataWidth bundles.
911
912 2019-05-08  Nick Clifton  <nickc@redhat.com>
913
914         PR 24523
915         * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE
916         rather than FALSE if encountering a non-ELF file.
917
918 2019-05-06  Alan Modra  <amodra@gmail.com>
919
920         * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
921
922 2019-05-06  Alan Modra  <amodra@gmail.com>
923
924         * reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
925         (BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
926         Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
927         * libbfd.h: Regenerate.
928         * bfd-in2.h: Regenerate.
929
930 2019-05-04  Alan Modra  <amodra@gmail.com>
931
932         PR 24511
933         * syms.c (coff_section_type): Only allow '.', '$' and numeric
934         following the standard section names.
935         (bfd_decode_symclass): Prioritize section flag tests in
936         decode_section_type before name tests in coff_section_type.
937         * plugin.c (bfd_plugin_canonicalize_symtab): Init fake_section
938         and fake_common_section using BFD_FAKE_SECTION.  Use "fake" as
939         their names and choose standard .text section flags for
940         fake_section.
941
942 2019-05-02  Nick Clifton  <nickc@redhat.com>
943
944         PR 24493
945         * coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
946         .gnu.debugaltlink sections as debugging sections.
947
948 2019-04-30  Alan Modra  <amodra@gmail.com>
949
950         * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
951         (struct _ppc64_elf_section_data): Likewise.
952         (ppc64_elf_check_relocs): Set above fields.
953         (ppc64_elf_edit_toc): Add a pass over GOT relocs.
954         (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
955         when possible.
956
957 2019-04-26  H.J. Lu  <hongjiu.lu@intel.com>
958
959         PR ld/24486
960         * elflink.c (elf_link_output_extsym): Don't complain undefined
961         weak dynamic reference.
962
963 2019-04-25  Sudakshina Das  <sudi.das@arm.com>
964
965         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove.
966         (PLT_BTI_TLSDESC_ENTRY_SIZE): Remove.
967         (PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove.
968         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update.
969         (elfNN_aarch64_small_plt0_pac_entry): Remove.
970         (elfNN_aarch64_small_plt0_bti_pac_entry): Remove.
971         (elfNN_aarch64_small_plt0_bti_entry): Update.
972         (elfNN_aarch64_small_plt_bti_entry): Update.
973         (elfNN_aarch64_small_plt_pac_entry): Update.
974         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update.
975         (setup_plt_values): Setup new entries.
976         (elfNN_aarch64_finish_dynamic_sections): Remove size change.
977         (elfNN_aarch64_plt_sym_val): Likewise.
978
979 2019-04-22  Jim Wilson  <jimw@sifive.com>
980
981         * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
982
983 2019-04-19  Alan Modra  <amodra@gmail.com>
984
985         * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
986
987 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
988
989         * elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not
990         building shared object.
991         * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise.
992
993 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
994
995         PR ld/24458
996         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
997         linker_def.
998
999 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1000
1001         * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
1002         relocation.
1003         * bfd-in2.h: Regenerate.
1004         * libbfd.h: Likewise.
1005
1006 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1007
1008         * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
1009         * bfd-in2.h: Regenerated.
1010         * libbfd.h: Regenerated.
1011
1012 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1013
1014         * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
1015         * bfd-in2.h: Regenerated.
1016         * libbfd.h: Likewise.
1017
1018 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1019
1020         * reloc.c (BFD_RELOC_ARM_THUMB_BF13): New.
1021         * bfd-in2.h: Regenerated.
1022         * libbfd.h: Regenerated.
1023         * elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13.
1024         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13
1025         and R_ARM_THM_BF12 together.
1026         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13.
1027
1028 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1029
1030         * reloc.c (BFD_RELOC_ARM_THUMB_BF19): New
1031         * libbfd.h: Regenerated.
1032         * bfd-in2.h: Regenerated.
1033         * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18.
1034         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19
1035         and R_ARM_THM_BF18 together.
1036         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19.
1037
1038 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1039
1040         * reloc.c (BFD_RELOC_ARM_THUMB_BF17): New enum.
1041         * bfd-in2.h: Regenerated.
1042         * libbfd.h: Regenerated.
1043         * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF16.
1044         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF17
1045         and R_ARM_THM_BF16 together.
1046         (get_value_helper): New reloc helper.
1047         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF16.
1048
1049 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
1050
1051         * reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
1052         * bfd-in2.h: Regenerate.
1053         * libbfd.h: Regenerate.
1054
1055 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1056
1057         * archures.c (bfd_mach_arm_8_1M_MAIN): Define.
1058         * bfd-in2.h: Regenerate.
1059         * cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline.
1060         * elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline
1061         and update assert.
1062         (using_thumb2): Likewise.
1063         (using_thumb2_bl): Update assert.
1064         (arch_has_arm_nop): Likewise.
1065         (bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline.
1066         (tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging.
1067
1068 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
1069
1070         * elf-linker-x86.h (elf_x86_cet_report): New.
1071         (elf_linker_x86_params): Add cet_report.
1072         * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report
1073         missing IBT and SHSTK properties if needed.
1074
1075 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
1076
1077         PR ld/24436
1078         * elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of
1079         "h != NULL".  Don't check "h != NULL" before calling.
1080         bfd_elf_gc_record_vtentry.
1081         * elf32-arm.c (elf32_arm_check_relocs): Likewise.
1082         * elf32-bfin.c (bfin_check_relocs): Likewise.
1083         * elf32-cris.c (cris_elf_check_relocs): Likewise.
1084         * elf32-csky.c (csky_elf_check_relocs): Likewise.
1085         * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
1086         * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
1087         * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
1088         * elf32-frv.c (elf32_frv_check_relocs): Likewise.
1089         * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
1090         * elf32-i386.c (elf_i386_check_relocs): Likewise.
1091         * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
1092         * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
1093         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
1094         * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
1095         * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
1096         * elf32-metag.c (elf_metag_check_relocs): Likewise.
1097         * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
1098         * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
1099         * elf32-s390.c (elf_s390_check_relocs): Likewise.
1100         * elf32-sh.c (sh_elf_check_relocs): Likewise.
1101         * elf32-v850.c (v850_elf_check_relocs): Likewise.
1102         * elf32-vax.c (elf_vax_check_relocs): Likewise.
1103         * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
1104         * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
1105         * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
1106         * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
1107         * elf64-s390.c (elf_s390_check_relocs): Likewise.
1108         * elf64-x86-64.c (elf_s390_check_relocs): Likewise.
1109         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
1110         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
1111         * elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt
1112         VTENTRY entry.
1113
1114 2019-04-11  Alan Modra  <amodra@gmail.com>
1115
1116         PR 24435
1117         * elflink.c (elf_link_add_object_symbols): Don't read partial
1118         dynamic entries from fuzzed objects.
1119
1120 2019-04-11  Tamar Christina  <tamar.christina@arm.com>
1121
1122         PR ld/24302
1123         * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit
1124         DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW.
1125         (elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW.
1126
1127 2019-04-10  Michael Forney  <mforney@mforney.org>
1128
1129         PR 24427
1130         * doc/chew.c (free_words): Correctly free "push_text" strings.
1131
1132 2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
1133
1134         * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
1135
1136 2019-04-08  Alan Modra  <amodra@gmail.com>
1137
1138         * configure.ac (elfxx_x86): Define and use.
1139         * configure: Regenerate.
1140
1141 2019-04-06  H.J. Lu  <hongjiu.lu@intel.com>
1142
1143         * elf-linker-x86.h: New file.
1144         * elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params
1145         to get x86-specific linker options.
1146         * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
1147         (elf_x86_64_check_relocs): Likewise.
1148         (elf_x86_64_relocate_section): Likewise.
1149         (elf_x86_64_link_setup_gnu_properties): Likewise.
1150         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise.
1151         (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
1152         (_bfd_elf_linker_x86_set_options): New function.
1153         * elfxx-x86.h: Include "elf-linker-x86.h".
1154         (elf_x86_link_hash_table): Add params.
1155
1156 2019-04-03  Alan Modra  <amodra@gmail.com>
1157
1158         * coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c,
1159         * elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c,
1160         * elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c,
1161         * elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c,
1162         * elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c,
1163         * pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes.
1164
1165 2019-04-02  Jim Wilson  <jimw@sifive.com>
1166
1167         PR 24389
1168         * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of
1169         ELF header flags to after check for ELF object file.  Loop through
1170         sections looking for code sections, if none, then skip ABI checks.
1171
1172 2019-03-30  Andrew Waterman  <andrew@sifive.com>
1173
1174         * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
1175         rd == X_RA case.
1176
1177 2019-03-29  Max Filippov  <jcmvbkbc@gmail.com>
1178
1179         * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
1180         info->export_dynamic to the conditional.
1181
1182 2019-03-28  Alan Modra  <amodra@gmail.com>
1183
1184         PR 24392
1185         * configure.ac: Invoke AC_CHECK_SIZEOF(int).
1186         * configure: Regenerate.
1187         * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
1188         workaround with SIZEOF_LONG vs. SIZEOF_INT check.
1189         * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
1190         * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
1191         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
1192
1193 2019-03-21  Jim Wilson  <jimw@sifive.com>
1194
1195         PR 24365
1196         * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
1197         verify sym non-NULL before using.  Add identical check using h.
1198
1199 2019-03-21  Sudakshina Das  <sudi.das@arm.com>
1200
1201         * elf-bfd.h (struct elf_backend_data): Add argument to
1202         merge_gnu_properties.
1203         * elf-properties.c (elf_merge_gnu_properties): Add argument to
1204         itself and while calling bed->merge_gnu_properties.
1205         (elf_merge_gnu_property_list): Update the calls for
1206         elf_merge_gnu_properties.
1207         * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
1208         of --force-bti warning and add argument.
1209         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
1210         warning.
1211         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
1212         * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
1213         declaration.
1214
1215 2019-03-20  Sudakshina Das  <sudi.das@arm.com>
1216
1217         * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
1218         * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
1219         (elf_backend_fixup_gnu_properties): Define for AArch64.
1220
1221 2019-03-18  Alan Modra  <amodra@gmail.com>
1222
1223         PR 24355
1224         * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
1225         for local iplt syms with ent->plt.offset == -1.  Remove ineffective
1226         attempt at writing glink stubs only once.
1227
1228 2019-03-16  Alan Modra  <amodra@gmail.com>
1229
1230         PR 24337
1231         * elf.c (_bfd_elf_rela_local_sym): Revert last change.
1232         (_bfd_elf_rel_local_sym): Likewise.
1233         * elflink.c (elf_link_input_bfd): Use bfd_und_section for
1234         section of symbols with unrecognized shndx.
1235
1236 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
1237
1238         PR ld/24267
1239         * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
1240         section.
1241         * cofflink.c (coff_link_add_symbols): Check for symbols defined
1242         in discarded section.
1243
1244 2019-03-15  Alan Modra  <amodra@gmail.com>
1245
1246         PR 24339
1247         * elflink.c (elf_link_add_object_symbols): Bail out on a local
1248         symbol after globals if elf_bad_symtab is not set.
1249
1250 2019-03-15  Alan Modra  <amodra@gmail.com>
1251
1252         PR 24337
1253         * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
1254         (_bfd_elf_rel_local_sym): Likewise.
1255
1256 2019-03-15  Alan Modra  <amodra@gmail.com>
1257
1258         PR 24336
1259         * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
1260         object files with sh_size not a multiple of sh_entsize.
1261
1262 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
1263
1264         PR ld/24338
1265         * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
1266         input with bad relocation.
1267
1268 22019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
1269
1270         * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
1271
1272 2019-03-14  Nick Clifton  <nickc@redhat.com>
1273
1274         PR 24334
1275         * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
1276         (save_section_vma): Initialise field to the number of entries in
1277         the sec_vma table.
1278         (section_vma_same): Check that the number of entries in the
1279         sec_vma table matches the number of sections in the bfd.
1280
1281 2019-03-14  Nick Clifton  <nickc@redhat.com>
1282
1283         PR 24333
1284         * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
1285         section owner pointer when adding the default symbol.
1286
1287 2019-03-14  Nick Clifton  <nickc@redhat.com>
1288
1289         PR 24332
1290         * elflink.c (elf_link_add_object_symbols): Add new local variable
1291         extversym_end.  Initialise it to point to the end of the version
1292         symbol table, if present.  Check it when initialising and updating
1293         the ever pointer.
1294
1295 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
1296
1297         * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
1298         (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
1299         (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
1300         (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
1301         and PLT_PAC_PLT.
1302         (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
1303         (get_plt_type): Add case for DT_AARCH64_PAC_PLT.
1304         (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
1305
1306 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
1307             Szabolcs Nagy  <szabolcs.nagy@arm.com>
1308
1309         * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
1310         (aarch64_bti_pac_info): New.
1311         (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
1312         (bfd_elf32_aarch64_set_options): Likewise.
1313         * bfd-in2.h: Regenerate
1314         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
1315         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
1316         (elfNN_aarch64_small_plt0_bti_entry): New.
1317         (elfNN_aarch64_small_plt_bti_entry): New.
1318         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
1319         (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
1320         (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
1321         tlsdesc_plt_entry_size fields.
1322         (elfNN_aarch64_link_hash_table_create): Initialise the new fields.
1323         (setup_plt_values): New helper function.
1324         (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
1325         bti enable type.
1326         (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
1327         fixed macros.
1328         (elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
1329         (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
1330         to plt stubs instead of fixed ones and update filling them according
1331         to the need for bti.
1332         (elfNN_aarch64_init_small_plt0_entry): Likewise.
1333         (elfNN_aarch64_finish_dynamic_sections): Likewise.
1334         (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
1335         (elfNN_aarch64_plt_sym_val): Update size accordingly.
1336         (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
1337         is set.
1338         (bfd_elfNN_get_synthetic_symtab): Define.
1339         (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
1340         and mising BTI NOTE SECTION.
1341
1342
1343 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
1344
1345         * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
1346         linker created inputs from merge.
1347         * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
1348         GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
1349         (elfNN_aarch64_link_setup_gnu_properties): New.
1350         (elfNN_aarch64_merge_gnu_properties): New.
1351         (elf_backend_setup_gnu_properties): Define for AArch64.
1352         (elf_backend_merge_gnu_properties): Likewise.
1353         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
1354         (_bfd_aarch64_elf_parse_gnu_properties): Define.
1355         (_bfd_aarch64_elf_merge_gnu_properties): Define.
1356         * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
1357         (_bfd_aarch64_elf_parse_gnu_properties): Declare.
1358         (_bfd_aarch64_elf_merge_gnu_properties): Declare.
1359         (elf_backend_parse_gnu_properties): Define for AArch64.
1360
1361 2019-03-13  H.J. Lu  <hongjiu.lu@intel.com>
1362
1363         PR ld/24322
1364         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
1365         merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
1366
1367 2019-03-12  Alan Modra  <amodra@gmail.com>
1368
1369         * coffcode.h (buy_and_read): Delete unnecessary forward decl.  Add
1370         nmemb parameter.  Use bfd_alloc2.
1371         (coff_slurp_line_table): Use bfd_alloc2.  Update buy_and_read calls.
1372         Delete assertion.
1373         (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
1374         (coff_slurp_reloc_table): Use bfd_alloc2.  Update buy_and_read calls.
1375         * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
1376         doesn't overflow.
1377         * elf.c (bfd_section_from_shdr): Use bfd_zalloc2.  Style fix.
1378         (assign_section_numbers): Style fix.
1379         (swap_out_syms): Use bfd_malloc2.
1380         (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
1381         overflow.
1382         (_bfd_elf_make_empty_symbol): Style fix.
1383         (elfobj_grok_stapsdt_note_1): Formatting.
1384         * elfcode.h (elf_object_p): Use bfd_alloc2.
1385         (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
1386         (elf_slurp_symbol_table): Use bfd_zalloc2.
1387         (elf_slurp_reloc_table): Use bfd_alloc2.
1388         (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
1389         * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
1390         size calculation doesn't overflow.
1391         (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
1392         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
1393         * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
1394
1395 2019-03-08  Alan Modra  <amodra@gmail.com>
1396
1397         PR 24311
1398         * merge.c (merge_strings): Return secinfo.  Don't pad section
1399         to alignment here.
1400         (_bfd_merge_sections): Pad section to alignment here, if input
1401         sections contributing to merged output all pad to alignment.
1402         Formatting.
1403
1404 2019-03-06  Nick Clifton  <nickc@redhat.com>
1405
1406         * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
1407         table pointer.
1408         * coffgen.c (coff_find_nearest_line_with_names): Do not call
1409         _bfd_dwarf2_find_symbol_bias if there is no symbol table available.
1410
1411 2019-03-01  Andreas Krebbel  <krebbel@linux.ibm.com>
1412
1413         This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
1414         2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
1415
1416         PR 20113
1417         * elf32-s390.c (allocate_dynrelocs): Update comment.
1418
1419 2019-02-28  Tamar Christina  <tamar.christina@arm.com>
1420
1421         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
1422
1423 2019-02-28  Nick Clifton  <nickc@redhat.com>
1424
1425         PR 24273
1426         * elf.c (bfd_elf_string_from_elf_section): Check for a string
1427         section that is not NUL terminated.
1428
1429 2019-02-27  H.J. Lu  <hongjiu.lu@intel.com>
1430
1431         PR ld/24276
1432         * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
1433         by linker when checking copy reloc on protected symbol.
1434
1435 2019-02-24  Alan Modra  <amodra@gmail.com>
1436
1437         PR 24144
1438         * pdp11.c (set_section_contents): Revert 2015-02-24 change.
1439
1440 2019-02-20  Eric Tsai  <erictsai@cadence.com>
1441
1442         * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
1443         sections between the call site and call destination and adjust
1444         call distance by the largest alignment.
1445
1446 2019-02-20  Alan Hayward  <alan.hayward@arm.com>
1447
1448         * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
1449         * elf.c (elfcore_grok_aarch_pauth): New function.
1450         (elfcore_grok_note): Check for NT_ARM_PAC_MASK.
1451         (elfcore_write_aarch_pauth): New function.
1452         (elfcore_write_register_note): Check for AArch64 pauth section.
1453
1454 2019-02-20  Alan Modra  <amodra@gmail.com>
1455
1456         PR 24225
1457         * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
1458         return value.
1459
1460 2019-02-20  Michael Roitzsch  <reactorcontrol@icloud.com>
1461
1462         * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
1463         Darwin hosts, not just or1k.
1464         * configure: Regenerate.
1465
1466 2019-02-20  Alan Modra  <amodra@gmail.com>
1467
1468         PR 24236
1469         * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
1470         sentinel NUL to string buffer nearer to loop where it is used.
1471         Don't go past sentinel when scanning strings, and don't write
1472         NUL again.
1473         * archive.c (do_slurp_coff_armap): Simplify string handling to
1474         archive64.c style.
1475
1476 2019-02-19  Alan Modra  <amodra@gmail.com>
1477
1478         PR 24235
1479         * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
1480         attempting to prevent read past end of section.
1481
1482 2019-02-18  Alan Modra  <amodra@gmail.com>
1483
1484         PR 24225
1485         * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
1486         PRIx64 to generate warning messages.  Print local sym names too.
1487
1488 2019-02-09  Vineet Gupta  <vgupta@synopsys.com>
1489
1490         * elf32-arc (INIT_SYM_STRING): Delete.
1491         (FINI_SYM_STRING): Likewise.
1492         (init_str): Likewise.
1493         (fini_str): Likewise.
1494
1495 2019-02-08  Alan Modra  <amodra@gmail.com>
1496
1497         * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
1498         for bss-plt" warning to make it an error.
1499
1500 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
1501
1502         PR ld/18841
1503         * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
1504         reloc_class_ifunc for ifunc symbols.
1505         * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
1506
1507 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
1508
1509         * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
1510         <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
1511
1512 2019-02-07  Nick Clifton  <nickc@redhat.com>
1513
1514         * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
1515         into the definitely obsolete list.
1516
1517 2019-02-05  H.J. Lu  <hongjiu.lu@intel.com>
1518
1519         PR ld/24151
1520         * elf64-x86-64.c (elf_x86_64_need_pic): Check
1521         SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
1522         (elf_x86_64_relocate_section): Move PIC check for PC-relative
1523         relocations to ...
1524         (elf_x86_64_check_relocs): Here.
1525         (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
1526         to check if a symbol is defined in a non-shared object.
1527         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
1528
1529 2019-01-21  Sergio Durigan Junior  <sergiodj@redhat.com>
1530
1531         * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
1532         of 'labs' (and fix GCC warning).
1533
1534 2019-01-25  Nick Clifton  <nickc@redhat.com>
1535
1536         * po/ru.po: Updated Russian translation.
1537
1538 2019-01-23  Nick Clifton  <nickc@redhat.com>
1539
1540         * po/fr.po: Updated French translation.
1541
1542 2019-01-21  Nick Clifton  <nickc@redhat.com>
1543
1544         * po/pt.po: Updated Portuguese translation.
1545         * po/uk.po: Updated Ukranian translation.
1546
1547 2019-01-21  Yuri Chornoivan  <yurchor@ukr.net>
1548
1549         PR 24108
1550         * elf32-nds32.c (nds32_relocate_section): Add space between words
1551         in error message.
1552         * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
1553         error message.
1554         (riscv_i_or_e_p): Likewise.
1555         (riscv_merge_arch_attr_info): Likewise.
1556
1557 2019-01-19  Nick Clifton  <nickc@redhat.com>
1558
1559         * version.m4: Reset to 2.32.51
1560         * configure: Regenerate.
1561         * po/bfd.pot: Regenerate.
1562
1563 2018-06-24  Nick Clifton  <nickc@redhat.com>
1564
1565         2.32 branch created.
1566
1567 2019-01-16  Kito Cheng  <kito@andestech.com>
1568
1569         * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
1570         for OBJ_ATTR_PROC.
1571
1572 2019-01-16  Kito Cheng  <kito@andestech.com>
1573             Nelson Chu  <nelson@andestech.com>
1574
1575         * elfnn-riscv.c (in_subsets): New.
1576         (out_subsets): Likewise.
1577         (merged_subsets): Likewise.
1578         (riscv_std_ext_p): Likewise.
1579         (riscv_non_std_ext_p): Likewise.
1580         (riscv_std_sv_ext_p): Likewise.
1581         (riscv_non_std_sv_ext_p): Likewise.
1582         (riscv_version_mismatch): Likewise.
1583         (riscv_i_or_e_p): Likewise.
1584         (riscv_merge_std_ext): Likewise.
1585         (riscv_merge_non_std_and_sv_ext): Likewise.
1586         (riscv_merge_arch_attr_info): Likewise.
1587         (riscv_merge_attributes): Likewise.
1588         (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
1589
1590         * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
1591         (elf_backend_obj_attrs_vendor): Define.
1592         (elf_backend_obj_attrs_section_type): Likewise.
1593         (elf_backend_obj_attrs_section): Likewise.
1594         (elf_backend_obj_attrs_arg_type): Define as
1595         riscv_elf_obj_attrs_arg_type.
1596         * elfxx-riscv.c (riscv_estimate_digit): New.
1597         (riscv_estimate_arch_strlen1): Likewise.
1598         (riscv_estimate_arch_strlen): Likewise.
1599         (riscv_arch_str1): Likewise.
1600         (riscv_arch_str): Likewise.
1601         * elfxx-riscv.h (riscv_arch_str): Declare.
1602
1603 2019-01-14  John Darrington <john@darrington.wattle.id.au>
1604
1605         * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
1606         * libbfd.h: regen.
1607         * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
1608         source field.  (md_apply_fix): Apply final fix
1609         to BFD_RELOC_S12Z_OPR.
1610         * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
1611
1612 2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
1613
1614         PR 20113
1615         * elf32-s390.c (allocate_dynrelocs): Update comment.
1616
1617 2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
1618
1619         * warning.m4: Adjust egrep pattern for non-GNU compilers.
1620         * configure: Regenerate.
1621
1622 2019-01-08  Alan Modra  <amodra@gmail.com>
1623
1624         PR 23699
1625         PR 24065
1626         * ihex.c (ihex_write_object_contents): Properly check 32-bit
1627         address range.
1628
1629 2019-01-05  Yoshinori Sato <ysato@users.sourceforge.jp>
1630
1631         * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
1632         * bfd/bfd-in2.h: Regenerate.
1633         * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
1634         * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
1635
1636 2019-01-04  Lifang Xia  <lifang_xia@c-sky.com>
1637
1638         * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
1639         default target, little endian target is more suitable.
1640
1641 2019-01-04  Alan Modra  <amodra@gmail.com>
1642
1643         PR 24061
1644         PR 21786
1645         * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
1646         adjust all callers.
1647         (EQ_VALUE_IN_FIELD): Likewise.
1648         * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
1649
1650 2019-01-01  Alan Modra  <amodra@gmail.com>
1651
1652         Update year range in copyright notice of all files.
1653
1654 For older changes see ChangeLog-2018
1655 \f
1656 Copyright (C) 2019 Free Software Foundation, Inc.
1657
1658 Copying and distribution of this file, with or without modification,
1659 are permitted in any medium without royalty provided the copyright
1660 notice and this notice are preserved.
1661
1662 Local Variables:
1663 mode: change-log
1664 left-margin: 8
1665 fill-column: 74
1666 version-control: never
1667 End: