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