1 2019-05-22 Alan Modra <amodra@gmail.com>
3 * vms-alpha.c (_bfd_vms_write_etir): Don't attempt further
4 processing on "size error in section".
6 2019-05-22 Alan Modra <amodra@gmail.com>
8 * som.c (som_bfd_free_cached_info): Call
9 _bfd_generic_close_and_cleanup.
11 2019-05-21 Faraz Shahbazker <fshahbazker@wavecomp.com>
13 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Generate error
14 for TLS_TPREL_HI16(/LO16) relocations in shared library.
16 2019-05-21 Faraz Shahbazker <fshahbazker@wavecomp.com>
18 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Add NULL pointer
19 checks. Search the RELA table for n64 relocations.
21 2019-05-21 Matthew Fortune <matthew.fortune@mips.com>
22 Faraz Shahbazker <fshahbazker@wavecomp.com>
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.
42 2019-05-21 Tamar Christina <tamar.christina@arm.com>
45 * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub):
48 2019-05-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
51 * elf32-arm.c (get_value_helper): Remove.
52 (elf32_arm_final_link_relocate): Fix branch future relocations.
54 2019-05-21 Tamar Christina <tamar.christina@arm.com>
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
68 (bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum.
69 (_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of
71 (clear_erratum_843419_entry): Update erratum conditional.
73 2019-05-21 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
76 * bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check
77 when computing distance_short_enough.
79 2019-05-21 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
82 * bfd/elf32-avr.c (avr_relative_distance_considering_wrap_around):
83 Wrap around even if distance equals avr_pc_wrap_around.
85 2019-05-20 Nick Clifton <nickc@redhat.com>
87 * po/fr.po: Updated French translation.
89 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
91 * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch.
93 2019-05-16 Alan Modra <amodra@gmail.com>
95 * elf32-arm.c (elf32_arm_write_section): Revert last change.
97 2019-05-15 Alan Modra <amodra@gmail.com>
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.
103 2019-05-14 Jamey Hicks <jamey.hicks@gmail.com>
106 * verilog.c: (VerilogDataWidth): New variable.
107 (verilog_write_record): Emit bytes in VerilogDataWidth bundles.
109 2019-05-08 Nick Clifton <nickc@redhat.com>
112 * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE
113 rather than FALSE if encountering a non-ELF file.
115 2019-05-06 Alan Modra <amodra@gmail.com>
117 * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error.
119 2019-05-06 Alan Modra <amodra@gmail.com>
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.
127 2019-05-04 Alan Modra <amodra@gmail.com>
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
139 2019-05-02 Nick Clifton <nickc@redhat.com>
142 * coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and
143 .gnu.debugaltlink sections as debugging sections.
145 2019-04-30 Alan Modra <amodra@gmail.com>
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
154 2019-04-26 H.J. Lu <hongjiu.lu@intel.com>
157 * elflink.c (elf_link_output_extsym): Don't complain undefined
158 weak dynamic reference.
160 2019-04-25 Sudakshina Das <sudi.das@arm.com>
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.
176 2019-04-22 Jim Wilson <jimw@sifive.com>
178 * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204.
180 2019-04-19 Alan Modra <amodra@gmail.com>
182 * elf32-s12z.c (elf_backend_can_gc_sections): Don't define
184 2019-04-17 H.J. Lu <hongjiu.lu@intel.com>
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.
190 2019-04-17 H.J. Lu <hongjiu.lu@intel.com>
193 * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86
196 2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
198 * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal
200 * bfd-in2.h: Regenerate.
201 * libbfd.h: Likewise.
203 2019-04-15 Sudakshina Das <sudi.das@arm.com>
205 * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New.
206 * bfd-in2.h: Regenerated.
207 * libbfd.h: Regenerated.
209 2019-04-15 Sudakshina Das <sudi.das@arm.com>
211 * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation.
212 * bfd-in2.h: Regenerated.
213 * libbfd.h: Likewise.
215 2019-04-15 Sudakshina Das <sudi.das@arm.com>
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.
225 2019-04-15 Sudakshina Das <sudi.das@arm.com>
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.
235 2019-04-15 Sudakshina Das <sudi.das@arm.com>
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.
246 2019-04-15 Sudakshina Das <sudi.das@arm.com>
248 * reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.
249 * bfd-in2.h: Regenerate.
250 * libbfd.h: Regenerate.
252 2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
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
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.
265 2019-04-11 H.J. Lu <hongjiu.lu@intel.com>
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.
272 2019-04-11 H.J. Lu <hongjiu.lu@intel.com>
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
311 2019-04-11 Alan Modra <amodra@gmail.com>
314 * elflink.c (elf_link_add_object_symbols): Don't read partial
315 dynamic entries from fuzzed objects.
317 2019-04-11 Tamar Christina <tamar.christina@arm.com>
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.
324 2019-04-10 Michael Forney <mforney@mforney.org>
327 * doc/chew.c (free_words): Correctly free "push_text" strings.
329 2019-04-08 H.J. Lu <hongjiu.lu@intel.com>
331 * config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.
333 2019-04-08 Alan Modra <amodra@gmail.com>
335 * configure.ac (elfxx_x86): Define and use.
336 * configure: Regenerate.
338 2019-04-06 H.J. Lu <hongjiu.lu@intel.com>
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.
353 2019-04-03 Alan Modra <amodra@gmail.com>
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.
362 2019-04-02 Jim Wilson <jimw@sifive.com>
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.
369 2019-03-30 Andrew Waterman <andrew@sifive.com>
371 * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for
374 2019-03-29 Max Filippov <jcmvbkbc@gmail.com>
376 * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add
377 info->export_dynamic to the conditional.
379 2019-03-28 Alan Modra <amodra@gmail.com>
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.
390 2019-03-21 Jim Wilson <jimw@sifive.com>
393 * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check,
394 verify sym non-NULL before using. Add identical check using h.
396 2019-03-21 Sudakshina Das <sudi.das@arm.com>
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
408 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument.
409 * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in
412 2019-03-20 Sudakshina Das <sudi.das@arm.com>
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.
418 2019-03-18 Alan Modra <amodra@gmail.com>
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.
425 2019-03-16 Alan Modra <amodra@gmail.com>
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.
433 2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
436 * coffgen.c (_bfd_coff_section_already_linked): Skip discarded
438 * cofflink.c (coff_link_add_symbols): Check for symbols defined
439 in discarded section.
441 2019-03-15 Alan Modra <amodra@gmail.com>
444 * elflink.c (elf_link_add_object_symbols): Bail out on a local
445 symbol after globals if elf_bad_symtab is not set.
447 2019-03-15 Alan Modra <amodra@gmail.com>
450 * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec.
451 (_bfd_elf_rel_local_sym): Likewise.
453 2019-03-15 Alan Modra <amodra@gmail.com>
456 * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed
457 object files with sh_size not a multiple of sh_entsize.
459 2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
462 * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt
463 input with bad relocation.
465 22019-03-15 H.J. Lu <hongjiu.lu@intel.com>
467 * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent.
469 2019-03-14 Nick Clifton <nickc@redhat.com>
472 * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field.
473 (save_section_vma): Initialise field to the number of entries in
475 (section_vma_same): Check that the number of entries in the
476 sec_vma table matches the number of sections in the bfd.
478 2019-03-14 Nick Clifton <nickc@redhat.com>
481 * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL
482 section owner pointer when adding the default symbol.
484 2019-03-14 Nick Clifton <nickc@redhat.com>
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
492 2019-03-13 Sudakshina Das <sudi.das@arm.com>
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
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.
503 2019-03-13 Sudakshina Das <sudi.das@arm.com>
504 Szabolcs Nagy <szabolcs.nagy@arm.com>
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
523 (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of
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
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
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.
540 2019-03-13 Sudakshina Das <sudi.das@arm.com>
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.
558 2019-03-13 H.J. Lu <hongjiu.lu@intel.com>
561 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly
562 merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK].
564 2019-03-12 Alan Modra <amodra@gmail.com>
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.
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
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
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.
592 2019-03-08 Alan Modra <amodra@gmail.com>
595 * merge.c (merge_strings): Return secinfo. Don't pad section
597 (_bfd_merge_sections): Pad section to alignment here, if input
598 sections contributing to merged output all pad to alignment.
601 2019-03-06 Nick Clifton <nickc@redhat.com>
603 * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol
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.
608 2019-03-01 Andreas Krebbel <krebbel@linux.ibm.com>
610 This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335.
611 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
614 * elf32-s390.c (allocate_dynrelocs): Update comment.
616 2019-02-28 Tamar Christina <tamar.christina@arm.com>
618 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse.
620 2019-02-28 Nick Clifton <nickc@redhat.com>
623 * elf.c (bfd_elf_string_from_elf_section): Check for a string
624 section that is not NUL terminated.
626 2019-02-27 H.J. Lu <hongjiu.lu@intel.com>
629 * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined
630 by linker when checking copy reloc on protected symbol.
632 2019-02-24 Alan Modra <amodra@gmail.com>
635 * pdp11.c (set_section_contents): Revert 2015-02-24 change.
637 2019-02-20 Eric Tsai <erictsai@cadence.com>
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.
643 2019-02-20 Alan Hayward <alan.hayward@arm.com>
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.
651 2019-02-20 Alan Modra <amodra@gmail.com>
654 * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf
657 2019-02-20 Michael Roitzsch <reactorcontrol@icloud.com>
659 * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all
660 Darwin hosts, not just or1k.
661 * configure: Regenerate.
663 2019-02-20 Alan Modra <amodra@gmail.com>
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
670 * archive.c (do_slurp_coff_armap): Simplify string handling to
673 2019-02-19 Alan Modra <amodra@gmail.com>
676 * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks
677 attempting to prevent read past end of section.
679 2019-02-18 Alan Modra <amodra@gmail.com>
682 * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and
683 PRIx64 to generate warning messages. Print local sym names too.
685 2019-02-09 Vineet Gupta <vgupta@synopsys.com>
687 * elf32-arc (INIT_SYM_STRING): Delete.
688 (FINI_SYM_STRING): Likewise.
689 (init_str): Likewise.
690 (fini_str): Likewise.
692 2019-02-08 Alan Modra <amodra@gmail.com>
694 * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported
695 for bss-plt" warning to make it an error.
697 2019-02-07 Eric Botcazou <ebotcazou@adacore.com>
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.
704 2019-02-07 Eric Botcazou <ebotcazou@adacore.com>
706 * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak.
707 <R_VISIUM_PC16>: Use explicit range test to detect an overflow.
709 2019-02-07 Nick Clifton <nickc@redhat.com>
711 * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets
712 into the definitely obsolete list.
714 2019-02-05 H.J. Lu <hongjiu.lu@intel.com>
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
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.
726 2019-01-21 Sergio Durigan Junior <sergiodj@redhat.com>
728 * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
729 of 'labs' (and fix GCC warning).
731 2019-01-25 Nick Clifton <nickc@redhat.com>
733 * po/ru.po: Updated Russian translation.
735 2019-01-23 Nick Clifton <nickc@redhat.com>
737 * po/fr.po: Updated French translation.
739 2019-01-21 Nick Clifton <nickc@redhat.com>
741 * po/pt.po: Updated Portuguese translation.
742 * po/uk.po: Updated Ukranian translation.
744 2019-01-21 Yuri Chornoivan <yurchor@ukr.net>
747 * elf32-nds32.c (nds32_relocate_section): Add space between words
749 * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in
751 (riscv_i_or_e_p): Likewise.
752 (riscv_merge_arch_attr_info): Likewise.
754 2019-01-19 Nick Clifton <nickc@redhat.com>
756 * version.m4: Reset to 2.32.51
757 * configure: Regenerate.
758 * po/bfd.pot: Regenerate.
760 2018-06-24 Nick Clifton <nickc@redhat.com>
764 2019-01-16 Kito Cheng <kito@andestech.com>
766 * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even
769 2019-01-16 Kito Cheng <kito@andestech.com>
770 Nelson Chu <nelson@andestech.com>
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.
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.
800 2019-01-14 John Darrington <john@darrington.wattle.id.au>
802 * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc.
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.
809 2019-01-14 Maamoun Tarsha <maamountk@hotmail.com>
812 * elf32-s390.c (allocate_dynrelocs): Update comment.
814 2019-01-09 Andrew Paprocki <andrew@ishiboo.com>
816 * warning.m4: Adjust egrep pattern for non-GNU compilers.
817 * configure: Regenerate.
819 2019-01-08 Alan Modra <amodra@gmail.com>
823 * ihex.c (ihex_write_object_contents): Properly check 32-bit
826 2019-01-05 Yoshinori Sato <ysato@users.sourceforge.jp>
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.
833 2019-01-04 Lifang Xia <lifang_xia@c-sky.com>
835 * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky
836 default target, little endian target is more suitable.
838 2019-01-04 Alan Modra <amodra@gmail.com>
842 * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and
844 (EQ_VALUE_IN_FIELD): Likewise.
845 * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise.
847 2019-01-01 Alan Modra <amodra@gmail.com>
849 Update year range in copyright notice of all files.
851 For older changes see ChangeLog-2018
853 Copyright (C) 2019 Free Software Foundation, Inc.
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.
863 version-control: never