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