AArch64: Implement choice between Cortex-A53 erratum workarounds. (PR ld/24373)
[binutils-gdb.git] / bfd / ChangeLog
blob2e7158f5844caddcb0af09e1b6cd2670b9ede88e
1 2019-05-21  Tamar Christina  <tamar.christina@arm.com>
3         PR ld/24373
4         * bfd-in.h (enum erratum_84319_opts): New
5         (bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change
6         int to enum erratum_84319_opts.
7         * bfd-in2.h: Regenerate.
8         * elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change
9         fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr.
10         (_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub.
11         (aarch64_size_one_stub): Conditionally size erratum 843419 stubs.
12         (_bfd_aarch64_resize_stubs): Amend comment.
13         (elfNN_aarch64_size_stubs): Don't generate stubs when no workaround
14         requested.
15         (bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
16         (_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
17         erratum workaround.
18         (clear_erratum_843419_entry): Update erratum conditional.
20 2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
22         PR ld/24571
23         * bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check
24         when computing distance_short_enough.
26 2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
28         PR ld/24564
29         * bfd/elf32-avr.c (avr_relative_distance_considering_wrap_around):
30         Wrap around even if distance equals avr_pc_wrap_around.
32 2019-05-20  Nick Clifton  <nickc@redhat.com>
34         * po/fr.po: Updated French translation.
36 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
38         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
40 2019-05-16  Alan Modra  <amodra@gmail.com>
42         * elf32-arm.c (elf32_arm_write_section): Revert last change.
44 2019-05-15  Alan Modra  <amodra@gmail.com>
46         * elf32-arm.c (elf32_arm_write_section): Don't leave
47         error case of STM32L4XX_ERRATUM_BRANCH_TO_VENEER with
48         unitialised section contents.
50 2019-05-14  Jamey Hicks  <jamey.hicks@gmail.com>
52         PR 19921
53         * verilog.c: (VerilogDataWidth): New variable.
54         (verilog_write_record): Emit bytes in VerilogDataWidth bundles.
56 2019-05-08  Nick Clifton  <nickc@redhat.com>
58         PR 24523
59         * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE
60         rather than FALSE if encountering a non-ELF file.
62 2019-05-06  Alan Modra  <amodra@gmail.com>
64         * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
66 2019-05-06  Alan Modra  <amodra@gmail.com>
68         * reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA),
69         (BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA):
70         Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry.
71         * libbfd.h: Regenerate.
72         * bfd-in2.h: Regenerate.
74 2019-05-04  Alan Modra  <amodra@gmail.com>
76         PR 24511
77         * syms.c (coff_section_type): Only allow '.', '$' and numeric
78         following the standard section names.
79         (bfd_decode_symclass): Prioritize section flag tests in
80         decode_section_type before name tests in coff_section_type.
81         * plugin.c (bfd_plugin_canonicalize_symtab): Init fake_section
82         and fake_common_section using BFD_FAKE_SECTION.  Use "fake" as
83         their names and choose standard .text section flags for
84         fake_section.
86 2019-05-02  Nick Clifton  <nickc@redhat.com>
88         PR 24493
89         * coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
90         .gnu.debugaltlink sections as debugging sections.
92 2019-04-30  Alan Modra  <amodra@gmail.com>
94         * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel.
95         (struct _ppc64_elf_section_data): Likewise.
96         (ppc64_elf_check_relocs): Set above fields.
97         (ppc64_elf_edit_toc): Add a pass over GOT relocs.
98         (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative
99         when possible.
101 2019-04-26  H.J. Lu  <hongjiu.lu@intel.com>
103         PR ld/24486
104         * elflink.c (elf_link_output_extsym): Don't complain undefined
105         weak dynamic reference.
107 2019-04-25  Sudakshina Das  <sudi.das@arm.com>
109         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove.
110         (PLT_BTI_TLSDESC_ENTRY_SIZE): Remove.
111         (PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove.
112         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update.
113         (elfNN_aarch64_small_plt0_pac_entry): Remove.
114         (elfNN_aarch64_small_plt0_bti_pac_entry): Remove.
115         (elfNN_aarch64_small_plt0_bti_entry): Update.
116         (elfNN_aarch64_small_plt_bti_entry): Update.
117         (elfNN_aarch64_small_plt_pac_entry): Update.
118         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update.
119         (setup_plt_values): Setup new entries.
120         (elfNN_aarch64_finish_dynamic_sections): Remove size change.
121         (elfNN_aarch64_plt_sym_val): Likewise.
123 2019-04-22  Jim Wilson  <jimw@sifive.com>
125         * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
127 2019-04-19  Alan Modra  <amodra@gmail.com>
129         * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
131 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
133         * elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not
134         building shared object.
135         * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise.
137 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
139         PR ld/24458
140         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
141         linker_def.
143 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
145         * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
146         relocation.
147         * bfd-in2.h: Regenerate.
148         * libbfd.h: Likewise.
150 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
152         * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
153         * bfd-in2.h: Regenerated.
154         * libbfd.h: Regenerated.
156 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
158         * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
159         * bfd-in2.h: Regenerated.
160         * libbfd.h: Likewise.
162 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
164         * reloc.c (BFD_RELOC_ARM_THUMB_BF13): New.
165         * bfd-in2.h: Regenerated.
166         * libbfd.h: Regenerated.
167         * elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13.
168         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13
169         and R_ARM_THM_BF12 together.
170         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13.
172 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
174         * reloc.c (BFD_RELOC_ARM_THUMB_BF19): New
175         * libbfd.h: Regenerated.
176         * bfd-in2.h: Regenerated.
177         * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18.
178         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19
179         and R_ARM_THM_BF18 together.
180         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19.
182 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
184         * reloc.c (BFD_RELOC_ARM_THUMB_BF17): New enum.
185         * bfd-in2.h: Regenerated.
186         * libbfd.h: Regenerated.
187         * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF16.
188         (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF17
189         and R_ARM_THM_BF16 together.
190         (get_value_helper): New reloc helper.
191         (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF16.
193 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
195         * reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
196         * bfd-in2.h: Regenerate.
197         * libbfd.h: Regenerate.
199 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
201         * archures.c (bfd_mach_arm_8_1M_MAIN): Define.
202         * bfd-in2.h: Regenerate.
203         * cpu-arm.c (arch_info_struct): Add entry for Armv8.1-M Mainline.
204         * elf32-arm.c (using_thumb_only): Return true for Armv8.1-M Mainline
205         and update assert.
206         (using_thumb2): Likewise.
207         (using_thumb2_bl): Update assert.
208         (arch_has_arm_nop): Likewise.
209         (bfd_arm_get_mach_from_attributes): Add case for Armv8.1-M Mainline.
210         (tag_cpu_arch_combine): Add logic for Armv8.1-M Mainline merging.
212 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
214         * elf-linker-x86.h (elf_x86_cet_report): New.
215         (elf_linker_x86_params): Add cet_report.
216         * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Report
217         missing IBT and SHSTK properties if needed.
219 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
221         PR ld/24436
222         * elf-m10300.c (mn10300_elf_check_relocs): Remove BFD_ASSERT of
223         "h != NULL".  Don't check "h != NULL" before calling.
224         bfd_elf_gc_record_vtentry.
225         * elf32-arm.c (elf32_arm_check_relocs): Likewise.
226         * elf32-bfin.c (bfin_check_relocs): Likewise.
227         * elf32-cris.c (cris_elf_check_relocs): Likewise.
228         * elf32-csky.c (csky_elf_check_relocs): Likewise.
229         * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
230         * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
231         * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
232         * elf32-frv.c (elf32_frv_check_relocs): Likewise.
233         * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
234         * elf32-i386.c (elf_i386_check_relocs): Likewise.
235         * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
236         * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
237         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
238         * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
239         * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
240         * elf32-metag.c (elf_metag_check_relocs): Likewise.
241         * elf32-or1k.c (or1k_elf_check_relocs): Likewise.
242         * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
243         * elf32-s390.c (elf_s390_check_relocs): Likewise.
244         * elf32-sh.c (sh_elf_check_relocs): Likewise.
245         * elf32-v850.c (v850_elf_check_relocs): Likewise.
246         * elf32-vax.c (elf_vax_check_relocs): Likewise.
247         * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
248         * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
249         * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
250         * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
251         * elf64-s390.c (elf_s390_check_relocs): Likewise.
252         * elf64-x86-64.c (elf_s390_check_relocs): Likewise.
253         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
254         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
255         * elflink.c (bfd_elf_gc_record_vtinherit): Check for corrupt
256         VTENTRY entry.
258 2019-04-11  Alan Modra  <amodra@gmail.com>
260         PR 24435
261         * elflink.c (elf_link_add_object_symbols): Don't read partial
262         dynamic entries from fuzzed objects.
264 2019-04-11  Tamar Christina  <tamar.christina@arm.com>
266         PR ld/24302
267         * elfnn-aarch64.c (elfNN_aarch64_size_dynamic_sections): Don't emit
268         DT_TLSDESC_GOT and DT_TLSDESC_PLT when DF_BIND_NOW.
269         (elfNN_aarch64_finish_dynamic_sections): Don't write PLT if DF_BIND_NOW.
271 2019-04-10  Michael Forney  <mforney@mforney.org>
273         PR 24427
274         * doc/chew.c (free_words): Correctly free "push_text" strings.
276 2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
278         * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
280 2019-04-08  Alan Modra  <amodra@gmail.com>
282         * configure.ac (elfxx_x86): Define and use.
283         * configure: Regenerate.
285 2019-04-06  H.J. Lu  <hongjiu.lu@intel.com>
287         * elf-linker-x86.h: New file.
288         * elf32-i386.c (elf_i386_convert_load_reloc): Use htab->params
289         to get x86-specific linker options.
290         * elf64-x86-64.c (elf_x86_64_convert_load_reloc): Likewise.
291         (elf_x86_64_check_relocs): Likewise.
292         (elf_x86_64_relocate_section): Likewise.
293         (elf_x86_64_link_setup_gnu_properties): Likewise.
294         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Likewise.
295         (_bfd_x86_elf_link_setup_gnu_properties): Likewise.
296         (_bfd_elf_linker_x86_set_options): New function.
297         * elfxx-x86.h: Include "elf-linker-x86.h".
298         (elf_x86_link_hash_table): Add params.
300 2019-04-03  Alan Modra  <amodra@gmail.com>
302         * coff-i386.c, * coff-x86_64.c, * coffgen.c, * dwarf2.c,
303         * elf-m10200.c, * elf.c, * elf32-arm.c, * elf32-bfin.c,
304         * elf32-csky.c, * elf32-m32r.c, * elf32-microblaze.c, * elf32-pru.c,
305         * elf32-rx.c, * elf32-xgate.c, * elf64-sparc.c, * elfnn-ia64.c,
306         * elfxx-riscv.c, * elfxx-sparc.c, * linker.c, * mach-o.c,
307         * pe-x86_64.c, * pei-x86_64.c, * plugin.c: Whitespace fixes.
309 2019-04-02  Jim Wilson  <jimw@sifive.com>
311         PR 24389
312         * elfnn-riscv.c (_bfd_riscv_elf_merge_private_bfd_data): Move read of
313         ELF header flags to after check for ELF object file.  Loop through
314         sections looking for code sections, if none, then skip ABI checks.
316 2019-03-30  Andrew Waterman  <andrew@sifive.com>
318         * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
319         rd == X_RA case.
321 2019-03-29  Max Filippov  <jcmvbkbc@gmail.com>
323         * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
324         info->export_dynamic to the conditional.
326 2019-03-28  Alan Modra  <amodra@gmail.com>
328         PR 24392
329         * configure.ac: Invoke AC_CHECK_SIZEOF(int).
330         * configure: Regenerate.
331         * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic
332         workaround with SIZEOF_LONG vs. SIZEOF_INT check.
333         * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise.
334         * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise.
335         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
337 2019-03-21  Jim Wilson  <jimw@sifive.com>
339         PR 24365
340         * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
341         verify sym non-NULL before using.  Add identical check using h.
343 2019-03-21  Sudakshina Das  <sudi.das@arm.com>
345         * elf-bfd.h (struct elf_backend_data): Add argument to
346         merge_gnu_properties.
347         * elf-properties.c (elf_merge_gnu_properties): Add argument to
348         itself and while calling bed->merge_gnu_properties.
349         (elf_merge_gnu_property_list): Update the calls for
350         elf_merge_gnu_properties.
351         * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling
352         of --force-bti warning and add argument.
353         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add
354         warning.
355         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
356         * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
357         declaration.
359 2019-03-20  Sudakshina Das  <sudi.das@arm.com>
361         * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define.
362         * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare.
363         (elf_backend_fixup_gnu_properties): Define for AArch64.
365 2019-03-18  Alan Modra  <amodra@gmail.com>
367         PR 24355
368         * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
369         for local iplt syms with ent->plt.offset == -1.  Remove ineffective
370         attempt at writing glink stubs only once.
372 2019-03-16  Alan Modra  <amodra@gmail.com>
374         PR 24337
375         * elf.c (_bfd_elf_rela_local_sym): Revert last change.
376         (_bfd_elf_rel_local_sym): Likewise.
377         * elflink.c (elf_link_input_bfd): Use bfd_und_section for
378         section of symbols with unrecognized shndx.
380 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
382         PR ld/24267
383         * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
384         section.
385         * cofflink.c (coff_link_add_symbols): Check for symbols defined
386         in discarded section.
388 2019-03-15  Alan Modra  <amodra@gmail.com>
390         PR 24339
391         * elflink.c (elf_link_add_object_symbols): Bail out on a local
392         symbol after globals if elf_bad_symtab is not set.
394 2019-03-15  Alan Modra  <amodra@gmail.com>
396         PR 24337
397         * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
398         (_bfd_elf_rel_local_sym): Likewise.
400 2019-03-15  Alan Modra  <amodra@gmail.com>
402         PR 24336
403         * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
404         object files with sh_size not a multiple of sh_entsize.
406 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
408         PR ld/24338
409         * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
410         input with bad relocation.
412 22019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
414         * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
416 2019-03-14  Nick Clifton  <nickc@redhat.com>
418         PR 24334
419         * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
420         (save_section_vma): Initialise field to the number of entries in
421         the sec_vma table.
422         (section_vma_same): Check that the number of entries in the
423         sec_vma table matches the number of sections in the bfd.
425 2019-03-14  Nick Clifton  <nickc@redhat.com>
427         PR 24333
428         * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
429         section owner pointer when adding the default symbol.
431 2019-03-14  Nick Clifton  <nickc@redhat.com>
433         PR 24332
434         * elflink.c (elf_link_add_object_symbols): Add new local variable
435         extversym_end.  Initialise it to point to the end of the version
436         symbol table, if present.  Check it when initialising and updating
437         the ever pointer.
439 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
441         * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New.
442         (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New.
443         (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs.
444         (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC
445         and PLT_PAC_PLT.
446         (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC.
447         (get_plt_type): Add case for DT_AARCH64_PAC_PLT.
448         (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC.
450 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
451             Szabolcs Nagy  <szabolcs.nagy@arm.com>
453         * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New.
454         (aarch64_bti_pac_info): New.
455         (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument.
456         (bfd_elf32_aarch64_set_options): Likewise.
457         * bfd-in2.h: Regenerate
458         * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New.
459         (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New.
460         (elfNN_aarch64_small_plt0_bti_entry): New.
461         (elfNN_aarch64_small_plt_bti_entry): New.
462         (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New.
463         (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields.
464         (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and
465         tlsdesc_plt_entry_size fields.
466         (elfNN_aarch64_link_hash_table_create): Initialise the new fields.
467         (setup_plt_values): New helper function.
468         (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and
469         bti enable type.
470         (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
471         fixed macros.
472         (elfNN_aarch64_size_dynamic_sections): Likewise and add checks.
473         (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers
474         to plt stubs instead of fixed ones and update filling them according
475         to the need for bti.
476         (elfNN_aarch64_init_small_plt0_entry): Likewise.
477         (elfNN_aarch64_finish_dynamic_sections): Likewise.
478         (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New.
479         (elfNN_aarch64_plt_sym_val): Update size accordingly.
480         (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE
481         is set.
482         (bfd_elfNN_get_synthetic_symtab): Define.
483         (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti
484         and mising BTI NOTE SECTION.
487 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
489         * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude
490         linker created inputs from merge.
491         * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for
492         GNU_PROPERTY_AARCH64_FEATURE_1_AND properties.
493         (elfNN_aarch64_link_setup_gnu_properties): New.
494         (elfNN_aarch64_merge_gnu_properties): New.
495         (elf_backend_setup_gnu_properties): Define for AArch64.
496         (elf_backend_merge_gnu_properties): Likewise.
497         * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define.
498         (_bfd_aarch64_elf_parse_gnu_properties): Define.
499         (_bfd_aarch64_elf_merge_gnu_properties): Define.
500         * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare.
501         (_bfd_aarch64_elf_parse_gnu_properties): Declare.
502         (_bfd_aarch64_elf_merge_gnu_properties): Declare.
503         (elf_backend_parse_gnu_properties): Define for AArch64.
505 2019-03-13  H.J. Lu  <hongjiu.lu@intel.com>
507         PR ld/24322
508         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
509         merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
511 2019-03-12  Alan Modra  <amodra@gmail.com>
513         * coffcode.h (buy_and_read): Delete unnecessary forward decl.  Add
514         nmemb parameter.  Use bfd_alloc2.
515         (coff_slurp_line_table): Use bfd_alloc2.  Update buy_and_read calls.
516         Delete assertion.
517         (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2.
518         (coff_slurp_reloc_table): Use bfd_alloc2.  Update buy_and_read calls.
519         * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation
520         doesn't overflow.
521         * elf.c (bfd_section_from_shdr): Use bfd_zalloc2.  Style fix.
522         (assign_section_numbers): Style fix.
523         (swap_out_syms): Use bfd_malloc2.
524         (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't
525         overflow.
526         (_bfd_elf_make_empty_symbol): Style fix.
527         (elfobj_grok_stapsdt_note_1): Formatting.
528         * elfcode.h (elf_object_p): Use bfd_alloc2.
529         (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise.
530         (elf_slurp_symbol_table): Use bfd_zalloc2.
531         (elf_slurp_reloc_table): Use bfd_alloc2.
532         (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2.
533         * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure
534         size calculation doesn't overflow.
535         (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise.
536         * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise.
537         * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version.
539 2019-03-08  Alan Modra  <amodra@gmail.com>
541         PR 24311
542         * merge.c (merge_strings): Return secinfo.  Don't pad section
543         to alignment here.
544         (_bfd_merge_sections): Pad section to alignment here, if input
545         sections contributing to merged output all pad to alignment.
546         Formatting.
548 2019-03-06  Nick Clifton  <nickc@redhat.com>
550         * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
551         table pointer.
552         * coffgen.c (coff_find_nearest_line_with_names): Do not call
553         _bfd_dwarf2_find_symbol_bias if there is no symbol table available.
555 2019-03-01  Andreas Krebbel  <krebbel@linux.ibm.com>
557         This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
558         2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
560         PR 20113
561         * elf32-s390.c (allocate_dynrelocs): Update comment.
563 2019-02-28  Tamar Christina  <tamar.christina@arm.com>
565         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
567 2019-02-28  Nick Clifton  <nickc@redhat.com>
569         PR 24273
570         * elf.c (bfd_elf_string_from_elf_section): Check for a string
571         section that is not NUL terminated.
573 2019-02-27  H.J. Lu  <hongjiu.lu@intel.com>
575         PR ld/24276
576         * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
577         by linker when checking copy reloc on protected symbol.
579 2019-02-24  Alan Modra  <amodra@gmail.com>
581         PR 24144
582         * pdp11.c (set_section_contents): Revert 2015-02-24 change.
584 2019-02-20  Eric Tsai  <erictsai@cadence.com>
586         * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output
587         sections between the call site and call destination and adjust
588         call distance by the largest alignment.
590 2019-02-20  Alan Hayward  <alan.hayward@arm.com>
592         * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration.
593         * elf.c (elfcore_grok_aarch_pauth): New function.
594         (elfcore_grok_note): Check for NT_ARM_PAC_MASK.
595         (elfcore_write_aarch_pauth): New function.
596         (elfcore_write_register_note): Check for AArch64 pauth section.
598 2019-02-20  Alan Modra  <amodra@gmail.com>
600         PR 24225
601         * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
602         return value.
604 2019-02-20  Michael Roitzsch  <reactorcontrol@icloud.com>
606         * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
607         Darwin hosts, not just or1k.
608         * configure: Regenerate.
610 2019-02-20  Alan Modra  <amodra@gmail.com>
612         PR 24236
613         * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding
614         sentinel NUL to string buffer nearer to loop where it is used.
615         Don't go past sentinel when scanning strings, and don't write
616         NUL again.
617         * archive.c (do_slurp_coff_armap): Simplify string handling to
618         archive64.c style.
620 2019-02-19  Alan Modra  <amodra@gmail.com>
622         PR 24235
623         * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
624         attempting to prevent read past end of section.
626 2019-02-18  Alan Modra  <amodra@gmail.com>
628         PR 24225
629         * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
630         PRIx64 to generate warning messages.  Print local sym names too.
632 2019-02-09  Vineet Gupta  <vgupta@synopsys.com>
634         * elf32-arc (INIT_SYM_STRING): Delete.
635         (FINI_SYM_STRING): Likewise.
636         (init_str): Likewise.
637         (fini_str): Likewise.
639 2019-02-08  Alan Modra  <amodra@gmail.com>
641         * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
642         for bss-plt" warning to make it an error.
644 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
646         PR ld/18841
647         * elf32-sparc.c (elf32_sparc_reloc_type_class): Return
648         reloc_class_ifunc for ifunc symbols.
649         * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise.
651 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
653         * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
654         <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
656 2019-02-07  Nick Clifton  <nickc@redhat.com>
658         * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
659         into the definitely obsolete list.
661 2019-02-05  H.J. Lu  <hongjiu.lu@intel.com>
663         PR ld/24151
664         * elf64-x86-64.c (elf_x86_64_need_pic): Check
665         SYMBOL_DEFINED_NON_SHARED_P instead of def_regular.
666         (elf_x86_64_relocate_section): Move PIC check for PC-relative
667         relocations to ...
668         (elf_x86_64_check_relocs): Here.
669         (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P
670         to check if a symbol is defined in a non-shared object.
671         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New.
673 2019-01-21  Sergio Durigan Junior  <sergiodj@redhat.com>
675         * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
676         of 'labs' (and fix GCC warning).
678 2019-01-25  Nick Clifton  <nickc@redhat.com>
680         * po/ru.po: Updated Russian translation.
682 2019-01-23  Nick Clifton  <nickc@redhat.com>
684         * po/fr.po: Updated French translation.
686 2019-01-21  Nick Clifton  <nickc@redhat.com>
688         * po/pt.po: Updated Portuguese translation.
689         * po/uk.po: Updated Ukranian translation.
691 2019-01-21  Yuri Chornoivan  <yurchor@ukr.net>
693         PR 24108
694         * elf32-nds32.c (nds32_relocate_section): Add space between words
695         in error message.
696         * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
697         error message.
698         (riscv_i_or_e_p): Likewise.
699         (riscv_merge_arch_attr_info): Likewise.
701 2019-01-19  Nick Clifton  <nickc@redhat.com>
703         * version.m4: Reset to 2.32.51
704         * configure: Regenerate.
705         * po/bfd.pot: Regenerate.
707 2018-06-24  Nick Clifton  <nickc@redhat.com>
709         2.32 branch created.
711 2019-01-16  Kito Cheng  <kito@andestech.com>
713         * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
714         for OBJ_ATTR_PROC.
716 2019-01-16  Kito Cheng  <kito@andestech.com>
717             Nelson Chu  <nelson@andestech.com>
719         * elfnn-riscv.c (in_subsets): New.
720         (out_subsets): Likewise.
721         (merged_subsets): Likewise.
722         (riscv_std_ext_p): Likewise.
723         (riscv_non_std_ext_p): Likewise.
724         (riscv_std_sv_ext_p): Likewise.
725         (riscv_non_std_sv_ext_p): Likewise.
726         (riscv_version_mismatch): Likewise.
727         (riscv_i_or_e_p): Likewise.
728         (riscv_merge_std_ext): Likewise.
729         (riscv_merge_non_std_and_sv_ext): Likewise.
730         (riscv_merge_arch_attr_info): Likewise.
731         (riscv_merge_attributes): Likewise.
732         (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute.
734         * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New.
735         (elf_backend_obj_attrs_vendor): Define.
736         (elf_backend_obj_attrs_section_type): Likewise.
737         (elf_backend_obj_attrs_section): Likewise.
738         (elf_backend_obj_attrs_arg_type): Define as
739         riscv_elf_obj_attrs_arg_type.
740         * elfxx-riscv.c (riscv_estimate_digit): New.
741         (riscv_estimate_arch_strlen1): Likewise.
742         (riscv_estimate_arch_strlen): Likewise.
743         (riscv_arch_str1): Likewise.
744         (riscv_arch_str): Likewise.
745         * elfxx-riscv.h (riscv_arch_str): Declare.
747 2019-01-14  John Darrington <john@darrington.wattle.id.au>
749         * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
750         * libbfd.h: regen.
751         * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero
752         source field.  (md_apply_fix): Apply final fix
753         to BFD_RELOC_S12Z_OPR.
754         * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc.
756 2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
758         PR 20113
759         * elf32-s390.c (allocate_dynrelocs): Update comment.
761 2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
763         * warning.m4: Adjust egrep pattern for non-GNU compilers.
764         * configure: Regenerate.
766 2019-01-08  Alan Modra  <amodra@gmail.com>
768         PR 23699
769         PR 24065
770         * ihex.c (ihex_write_object_contents): Properly check 32-bit
771         address range.
773 2019-01-05  Yoshinori Sato <ysato@users.sourceforge.jp>
775         * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3.
776         * bfd/bfd-in2.h: Regenerate.
777         * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry.
778         * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support.
780 2019-01-04  Lifang Xia  <lifang_xia@c-sky.com>
782         * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
783         default target, little endian target is more suitable.
785 2019-01-04  Alan Modra  <amodra@gmail.com>
787         PR 24061
788         PR 21786
789         * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
790         adjust all callers.
791         (EQ_VALUE_IN_FIELD): Likewise.
792         * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
794 2019-01-01  Alan Modra  <amodra@gmail.com>
796         Update year range in copyright notice of all files.
798 For older changes see ChangeLog-2018
800 Copyright (C) 2019 Free Software Foundation, Inc.
802 Copying and distribution of this file, with or without modification,
803 are permitted in any medium without royalty provided the copyright
804 notice and this notice are preserved.
806 Local Variables:
807 mode: change-log
808 left-margin: 8
809 fill-column: 74
810 version-control: never
811 End: