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