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