bfd: add support for eBPF
[deliverable/binutils-gdb.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:
This page took 0.062699 seconds and 5 git commands to generate.