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