AArch64: Implement choice between Cortex-A53 erratum workarounds. (PR ld/24373)
[external/binutils.git] / bfd / ChangeLog
1 2019-05-21  Tamar Christina  <tamar.christina@arm.com>
2
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.
19
20 2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
21
22         PR ld/24571
23         * bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check
24         when computing distance_short_enough.
25
26 2019-05-21  Senthil Kumar Selvaraj  <senthilkumar.selvaraj@microchip.com>
27
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.
31
32 2019-05-20  Nick Clifton  <nickc@redhat.com>
33
34         * po/fr.po: Updated French translation.
35
36 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
37
38         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
39
40 2019-05-16  Alan Modra  <amodra@gmail.com>
41
42         * elf32-arm.c (elf32_arm_write_section): Revert last change.
43
44 2019-05-15  Alan Modra  <amodra@gmail.com>
45
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.
49
50 2019-05-14  Jamey Hicks  <jamey.hicks@gmail.com>
51
52         PR 19921
53         * verilog.c: (VerilogDataWidth): New variable.
54         (verilog_write_record): Emit bytes in VerilogDataWidth bundles.
55
56 2019-05-08  Nick Clifton  <nickc@redhat.com>
57
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.
61
62 2019-05-06  Alan Modra  <amodra@gmail.com>
63
64         * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
65
66 2019-05-06  Alan Modra  <amodra@gmail.com>
67
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.
73
74 2019-05-04  Alan Modra  <amodra@gmail.com>
75
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.
85
86 2019-05-02  Nick Clifton  <nickc@redhat.com>
87
88         PR 24493
89         * coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
90         .gnu.debugaltlink sections as debugging sections.
91
92 2019-04-30  Alan Modra  <amodra@gmail.com>
93
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.
100
101 2019-04-26  H.J. Lu  <hongjiu.lu@intel.com>
102
103         PR ld/24486
104         * elflink.c (elf_link_output_extsym): Don't complain undefined
105         weak dynamic reference.
106
107 2019-04-25  Sudakshina Das  <sudi.das@arm.com>
108
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.
122
123 2019-04-22  Jim Wilson  <jimw@sifive.com>
124
125         * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
126
127 2019-04-19  Alan Modra  <amodra@gmail.com>
128
129         * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
130
131 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
132
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.
136
137 2019-04-17  H.J. Lu  <hongjiu.lu@intel.com>
138
139         PR ld/24458
140         * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
141         linker_def.
142
143 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
144
145         * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
146         relocation.
147         * bfd-in2.h: Regenerate.
148         * libbfd.h: Likewise.
149
150 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
151
152         * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
153         * bfd-in2.h: Regenerated.
154         * libbfd.h: Regenerated.
155
156 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
157
158         * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
159         * bfd-in2.h: Regenerated.
160         * libbfd.h: Likewise.
161
162 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
163
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.
171
172 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
173
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.
181
182 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
183
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.
192
193 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
194
195         * reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
196         * bfd-in2.h: Regenerate.
197         * libbfd.h: Regenerate.
198
199 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
200
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.
211
212 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
213
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.
218
219 2019-04-11  H.J. Lu  <hongjiu.lu@intel.com>
220
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.
257
258 2019-04-11  Alan Modra  <amodra@gmail.com>
259
260         PR 24435
261         * elflink.c (elf_link_add_object_symbols): Don't read partial
262         dynamic entries from fuzzed objects.
263
264 2019-04-11  Tamar Christina  <tamar.christina@arm.com>
265
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.
270
271 2019-04-10  Michael Forney  <mforney@mforney.org>
272
273         PR 24427
274         * doc/chew.c (free_words): Correctly free "push_text" strings.
275
276 2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
277
278         * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
279
280 2019-04-08  Alan Modra  <amodra@gmail.com>
281
282         * configure.ac (elfxx_x86): Define and use.
283         * configure: Regenerate.
284
285 2019-04-06  H.J. Lu  <hongjiu.lu@intel.com>
286
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.
299
300 2019-04-03  Alan Modra  <amodra@gmail.com>
301
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.
308
309 2019-04-02  Jim Wilson  <jimw@sifive.com>
310
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.
315
316 2019-03-30  Andrew Waterman  <andrew@sifive.com>
317
318         * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
319         rd == X_RA case.
320
321 2019-03-29  Max Filippov  <jcmvbkbc@gmail.com>
322
323         * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
324         info->export_dynamic to the conditional.
325
326 2019-03-28  Alan Modra  <amodra@gmail.com>
327
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.
336
337 2019-03-21  Jim Wilson  <jimw@sifive.com>
338
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.
342
343 2019-03-21  Sudakshina Das  <sudi.das@arm.com>
344
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.
358
359 2019-03-20  Sudakshina Das  <sudi.das@arm.com>
360
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.
364
365 2019-03-18  Alan Modra  <amodra@gmail.com>
366
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.
371
372 2019-03-16  Alan Modra  <amodra@gmail.com>
373
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.
379
380 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
381
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.
387
388 2019-03-15  Alan Modra  <amodra@gmail.com>
389
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.
393
394 2019-03-15  Alan Modra  <amodra@gmail.com>
395
396         PR 24337
397         * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
398         (_bfd_elf_rel_local_sym): Likewise.
399
400 2019-03-15  Alan Modra  <amodra@gmail.com>
401
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.
405
406 2019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
407
408         PR ld/24338
409         * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
410         input with bad relocation.
411
412 22019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
413
414         * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
415
416 2019-03-14  Nick Clifton  <nickc@redhat.com>
417
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.
424
425 2019-03-14  Nick Clifton  <nickc@redhat.com>
426
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.
430
431 2019-03-14  Nick Clifton  <nickc@redhat.com>
432
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.
438
439 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
440
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.
449
450 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
451             Szabolcs Nagy  <szabolcs.nagy@arm.com>
452
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.
485
486
487 2019-03-13  Sudakshina Das  <sudi.das@arm.com>
488
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.
504
505 2019-03-13  H.J. Lu  <hongjiu.lu@intel.com>
506
507         PR ld/24322
508         * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
509         merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
510
511 2019-03-12  Alan Modra  <amodra@gmail.com>
512
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.
538
539 2019-03-08  Alan Modra  <amodra@gmail.com>
540
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.
547
548 2019-03-06  Nick Clifton  <nickc@redhat.com>
549
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.
554
555 2019-03-01  Andreas Krebbel  <krebbel@linux.ibm.com>
556
557         This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
558         2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
559
560         PR 20113
561         * elf32-s390.c (allocate_dynrelocs): Update comment.
562
563 2019-02-28  Tamar Christina  <tamar.christina@arm.com>
564
565         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
566
567 2019-02-28  Nick Clifton  <nickc@redhat.com>
568
569         PR 24273
570         * elf.c (bfd_elf_string_from_elf_section): Check for a string
571         section that is not NUL terminated.
572
573 2019-02-27  H.J. Lu  <hongjiu.lu@intel.com>
574
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.
578
579 2019-02-24  Alan Modra  <amodra@gmail.com>
580
581         PR 24144
582         * pdp11.c (set_section_contents): Revert 2015-02-24 change.
583
584 2019-02-20  Eric Tsai  <erictsai@cadence.com>
585
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.
589
590 2019-02-20  Alan Hayward  <alan.hayward@arm.com>
591
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.
597
598 2019-02-20  Alan Modra  <amodra@gmail.com>
599
600         PR 24225
601         * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
602         return value.
603
604 2019-02-20  Michael Roitzsch  <reactorcontrol@icloud.com>
605
606         * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
607         Darwin hosts, not just or1k.
608         * configure: Regenerate.
609
610 2019-02-20  Alan Modra  <amodra@gmail.com>
611
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.
619
620 2019-02-19  Alan Modra  <amodra@gmail.com>
621
622         PR 24235
623         * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
624         attempting to prevent read past end of section.
625
626 2019-02-18  Alan Modra  <amodra@gmail.com>
627
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.
631
632 2019-02-09  Vineet Gupta  <vgupta@synopsys.com>
633
634         * elf32-arc (INIT_SYM_STRING): Delete.
635         (FINI_SYM_STRING): Likewise.
636         (init_str): Likewise.
637         (fini_str): Likewise.
638
639 2019-02-08  Alan Modra  <amodra@gmail.com>
640
641         * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
642         for bss-plt" warning to make it an error.
643
644 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
645
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.
650
651 2019-02-07  Eric Botcazou  <ebotcazou@adacore.com>
652
653         * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
654         <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
655
656 2019-02-07  Nick Clifton  <nickc@redhat.com>
657
658         * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
659         into the definitely obsolete list.
660
661 2019-02-05  H.J. Lu  <hongjiu.lu@intel.com>
662
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.
672
673 2019-01-21  Sergio Durigan Junior  <sergiodj@redhat.com>
674
675         * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
676         of 'labs' (and fix GCC warning).
677
678 2019-01-25  Nick Clifton  <nickc@redhat.com>
679
680         * po/ru.po: Updated Russian translation.
681
682 2019-01-23  Nick Clifton  <nickc@redhat.com>
683
684         * po/fr.po: Updated French translation.
685
686 2019-01-21  Nick Clifton  <nickc@redhat.com>
687
688         * po/pt.po: Updated Portuguese translation.
689         * po/uk.po: Updated Ukranian translation.
690
691 2019-01-21  Yuri Chornoivan  <yurchor@ukr.net>
692
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.
700
701 2019-01-19  Nick Clifton  <nickc@redhat.com>
702
703         * version.m4: Reset to 2.32.51
704         * configure: Regenerate.
705         * po/bfd.pot: Regenerate.
706
707 2018-06-24  Nick Clifton  <nickc@redhat.com>
708
709         2.32 branch created.
710
711 2019-01-16  Kito Cheng  <kito@andestech.com>
712
713         * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
714         for OBJ_ATTR_PROC.
715
716 2019-01-16  Kito Cheng  <kito@andestech.com>
717             Nelson Chu  <nelson@andestech.com>
718
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.
733
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.
746
747 2019-01-14  John Darrington <john@darrington.wattle.id.au>
748
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.
755
756 2019-01-14  Maamoun Tarsha  <maamountk@hotmail.com>
757
758         PR 20113
759         * elf32-s390.c (allocate_dynrelocs): Update comment.
760
761 2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
762
763         * warning.m4: Adjust egrep pattern for non-GNU compilers.
764         * configure: Regenerate.
765
766 2019-01-08  Alan Modra  <amodra@gmail.com>
767
768         PR 23699
769         PR 24065
770         * ihex.c (ihex_write_object_contents): Properly check 32-bit
771         address range.
772
773 2019-01-05  Yoshinori Sato <ysato@users.sourceforge.jp>
774
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.
779
780 2019-01-04  Lifang Xia  <lifang_xia@c-sky.com>
781
782         * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
783         default target, little endian target is more suitable.
784
785 2019-01-04  Alan Modra  <amodra@gmail.com>
786
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.
793
794 2019-01-01  Alan Modra  <amodra@gmail.com>
795
796         Update year range in copyright notice of all files.
797
798 For older changes see ChangeLog-2018
799 \f
800 Copyright (C) 2019 Free Software Foundation, Inc.
801
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.
805
806 Local Variables:
807 mode: change-log
808 left-margin: 8
809 fill-column: 74
810 version-control: never
811 End: