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