X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=bfd%2FChangeLog;h=1e2a3f1b79332809c2459a926cb25f9e61bbec48;hb=1faa385ff6b11df26efc46152fe15b31adbf8624;hp=bbb251a000fa98d063b6a3360356bcf1cb5588f8;hpb=e12437dc862690eeaa4a487fee35a237703d2b29;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/ChangeLog b/bfd/ChangeLog index bbb251a000..1e2a3f1b79 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,578 @@ +2019-07-02 Nick Clifton + + PR 24717 + * elf.c (is_debuginfo_file): New function. + (assign_file_positions_for_non_load_sections): Do not warn about + allocated sections outside of loadable segments if they are found + in a debuginfo file. + * elf-bfd.h (is_debuginfo_file): Prototype. + +2019-07-02 Nick Clifton + + PR 24753 + * compress.c (bfd_get_full_section_contents): Do not complain + about linker created sections that are larger than the file size. + +2019-07-02 Christophe Lyon + + * bfd/elf32-arm.c (CMSE_STUB_NAME): New define. + (elf32_arm_get_stub_entry): Do not try to emit long-branch stubs + for CMSE stubs. + (arm_dedicated_stub_output_section_name): Use CMSE_STUB_NAME. + +2019-07-02 Srinath Parvathaneni + + * elf32-arm.c (elf32_arm_gc_mark_extra_sections): Mark debug + sections when .text section contain secure entry functions + is marked. + +2019-07-01 Nick Clifton + + PR 23839 + * elf32-arm.c (elf32_arm_update_relocs): Do not include the + section VMA in the offset used to update exidx relocs. + +2019-06-28 Nick Clifton + + PR 24708 + * elf.c (_bfd_elf_slurp_version_tables): Check for an excessively + large version reference section. + * compress.c (bfd_get_full_section_contents): Check for an + uncompressed section whose size is larger than the file size. + +2019-06-28 Alan Modra + + * format.c (bfd_check_format_matches): Don't match plugin target + if another target matches. Expand comment. + * targets.c (_bfd_target_vector): Move plugin_vec after all other + non-corefile targets, outside !SELECT_VECS. + * config.bfd: Don't handle targ=plugin here. + * configure.ac: Don't add plugin to enable_targets or handle in + target loop setting selvecs and other target vars. + * configure: Regenerate. + +2019-06-26 Nick Clifton + + PR 24703 + * mach-o-arm.c (bfd_mach_o_arm_canonicalize_one_reloc): Add error + messages for failures. + * mach-o.c (bfd_mach_o_canonicalize_relocs): Set an bfd error code + if returning an error value. + +2019-06-25 Jan Beulich + + * elf-properties.c (elf_find_and_remove_property): Rename last + parameter. Mention it in comment. + +2019-06-24 Ilia Diachkov + + * elfnn-riscv.c (_bfd_riscv_relax_lui): Delete early exit when + SEC_MERGE or SEC_CODE flags are set. + (_bfd_riscv_relax_section): New local symtype. Set sym_sec and + symtype consistently. Don't include sec_addr (sym_sec) in symval. + Add check for SEC_INFO_TYPE_MERGE and call _bfd_merged_section_offset. + Add sec_addr (sym_sec) after handling merge sections. + +2019-06-24 H.J. Lu + + PR ld/24721 + * elf-properties.c (elf_merge_gnu_property_list): Remove the + property after reporting property removal. + +2019-06-23 Alan Modra + + PR 24704 + * elf64-ppc.c (R_PPC64_GOT16_DS): Don't set has_gotrel. + (ppc64_elf_edit_toc): Don't remove R_PPC64_GOT16_DS got entries. + Reduce range of offsets allowed for other GOT relocs. + +2019-06-23 Alan Modra + + PR 24689 + * elfcode.h (elf_object_p): Warning fix. + +2019-06-21 Alan Modra + + PR 24689 + * elfcode.h (elf_object_p): Check type of e_shstrndx section. + +2019-06-19 Alan Modra + + PR 24697 + * elf32-ppc.c (ppc_elf_relocate_section): Don't read insn for + R_PPC_EMB_RELSDA. Mask low bit of R_PPC_EMB_SDA21 r_offset. + +2019-06-19 Alan Modra + + * elf64-ppc.c (ppc64_elf_inline_plt): Correct st_other test for + functions that require r2 valid to use local entry. + (ppc64_elf_size_stubs, ppc64_elf_relocate_section): Likewise. + +2019-06-17 Szabolcs Nagy + + * elfnn-aarch64.c (elfNN_aarch64_allocate_local_dynrelocs): Remove. + (elfNN_aarch64_size_dynamic_sections): Remove loc_hash_table traversal + with elfNN_aarch64_allocate_local_dynrelocs. + +2019-06-14 Szabolcs Nagy + + * elfnn-aarch64.c: Enable MOVW_PREL relocs for ELF32. + +2019-06-14 Alan Modra + + * Makefile.in: Regenerate. + * configure: Regenerate. + +2019-06-14 Alan Modra + + * elf64-ppc.c: Fix comments involving paddi. + +2019-06-12 Adam Lackorzymski + + PR 24643 + * elf32-arm.c (arm_elf_find_function): Fail if the symol table is + absent, or the bfd is not in the ELF formart. + * elfnn-aarch64.c (aarch64_elf_find_function): Likewise. + +2019-06-10 Christos Zoulas + + PR 24650 + * elf.c (elfcore_make_auxv_note_section): New function. + (elfcore_grok_note): Use it. + (elfcore_grok_freebsd_note): Likewise. + (elfcore_grok_openbsd_note): Likewise. + (elfcore_grok_netbsd_note): Likewise. Plus add support for + NT_NETBSDCORE_AUXV notes. + +2019-06-06 Sudakshina Das + + * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Set + alignment of the new gnu property section. + +2019-06-06 Sudakshina Das + + * bfd-in.h: Change comment. + * bfd-in2.h: Regenerate. + * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update warning. + * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): + Likwise. + +2019-05-28 Faraz Shahbazker + + * elfxx-mips.c (mips_elf_calculate_relocation) : + Remove overflow check. + +2019-05-28 Alan Modra + + PR 24596 + * cofflink.c (coff_link_check_archive_element): Don't assume + element is a coff object file after calling add_archive_element. + +2019-05-28 Alan Modra + + PR 24596 + * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Don't + attempt to set sh_entsize for excluded PLT section. + +2019-05-28 Alan Modra + + PR 24596 + * elf64-alpha.c (elf64_alpha_relocate_section): Don't attempt + to emit R_ALPHA_GOTTPREL in PIEs, for which no space is + allocated in alpha_dynamic_entries_for_reloc. + +2019-05-28 Alan Modra + + PR 24596 + * elf32-lm32.c (lm32_elf_finish_dynamic_sections): Don't segfault + on NULL output_section. + * elflink.c (elf_final_link_free): Don't free -1 symshndxbuf. + +2019-05-28 Alan Modra + + PR 24596 + * elf32-m68k.c (elf_m68k_get_got_entry): Don't create a new + entry when MUST_FIND. Abort when MUST_FIND not found. + (elf_m68k_get_bfd2got_entry): Likewise. + (elf_m68k_relocate_section): Remove now useless assert. + +2019-05-28 Alan Modra + + PR 24596 + * elf64-hppa.c (elf64_hppa_finalize_dynreloc): Get the output bfd + from bfd_link_info, not an output section owner. + (elf64_hppa_finish_dynamic_symbol, elf64_hppa_finalize_opd): Likewise. + (elf_hppa_final_link_relocate): Likewise. + +2019-05-28 Alan Modra + + PR 24596 + * aout-tic30.c (MY_bfd_final_link): Don't segfault on missing + create_object_symbols_section, obj_textsec, obj_datasec or + obj_bsssec. Fix other errors in placement. + * config.bfd: Obsolete tic30-aout. + +2019-05-28 Alan Modra + + PR 24596 + * dwarf2.c (save_section_vma, section_vma_same): Check for NULL + end of section list as well as section_count. + * xcofflink.c (xcoff_link_add_symbols): Fix temporarily changed + section list before returning error. + +2019-05-27 Alan Modra + + * elf.c (bfd_elf_set_group_contents): Exit on zero size section. + +2019-05-27 Alan Modra + + PR 24596 + * linker.c (_bfd_generic_link_output_symbols): Heed BSF_KEEP. + +2019-05-24 Szabolcs Nagy + + * elfnn-aarch64.c (elfNN_aarch64_merge_symbol_attribute): New function. + (struct elf_aarch64_link_hash_table): Add variant_pcs member. + (elfNN_aarch64_allocate_dynrelocs): Update variant_pcs. + (elfNN_aarch64_size_dynamic_sections): Add DT_AARCH64_VARIANT_PCS. + (elf_backend_merge_symbol_attribute): Define. + +2019-05-24 Alan Modra + + * po/SRC-POTFILES.in: Regenerate. + +2019-05-24 Alan Modra + + * elf64-ppc.c: Comment on powerxx _notoc stub variants. + (LI_R11_0, LIS_R11, ORI_R11_R11_0, SLDI_R11_R11_34): Define. + (PADDI_R12_PC, PLD_R12_PC, D34, HA34): Define. + (struct ppc_link_hash_table): Add powerxx_stubs. + (ppc64_elf_check_relocs): Set powerxx_stubs. + (build_powerxx_offset, size_powerxx_offset), + (num_relocs_for_powerxx_offset), + (emit_relocs_for_powerxx_offset): New functions. + (plt_stub_size): Size powerxx stubs. + (ppc_build_one_stub): Emit powerxx stubs. + (ppc_size_one_stub): Size powerxx stubs. Omit .eh_frame for + powerxx stubs. + +2019-05-24 Alan Modra + + * elf64-ppc.c (ppc64_elf_check_relocs): Set has_gotrel for + R_PPC64_GOT_PCREL34. + (xlate_pcrel_opt): New function. + (ppc64_elf_edit_toc): Handle R_PPC64_GOT_PCREL34. + (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative + for R_PPC64_GOT_PCREL34. Implement R_PPC64_PCREL_OPT optimisation. + +2019-05-24 Alan Modra + + * reloc.c (BFD_RELOC_PPC64_D34, BFD_RELOC_PPC64_D34_LO), + (BFD_RELOC_PPC64_D34_HI30, BFD_RELOC_PPC64_D34_HA30), + (BFD_RELOC_PPC64_PCREL34, BFD_RELOC_PPC64_GOT_PCREL34), + (BFD_RELOC_PPC64_PLT_PCREL34), + (BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34), + (BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34), + (BFD_RELOC_PPC64_REL16_HIGHER34, BFD_RELOC_PPC64_REL16_HIGHERA34), + (BFD_RELOC_PPC64_REL16_HIGHEST34, BFD_RELOC_PPC64_REL16_HIGHESTA34), + (BFD_RELOC_PPC64_D28, BFD_RELOC_PPC64_PCREL28): New reloc enums. + * elf64-ppc.c (PNOP): Define. + (ppc64_elf_howto_raw): Add reloc howtos for new relocations. + (ppc64_elf_reloc_type_lookup): Translate new bfd reloc numbers. + (ppc64_elf_ha_reloc): Adjust addend for highera34 and highesta34 + relocs. + (ppc64_elf_prefix_reloc): New function. + (struct ppc_link_hash_table): Add notoc_plt. + (is_branch_reloc): Add R_PPC64_PLTCALL_NOTOC. + (is_plt_seq_reloc): Add R_PPC64_PLT_PCREL34, + R_PPC64_PLT_PCREL34_NOTOC, and R_PPC64_PLTSEQ_NOTOC. + (ppc64_elf_check_relocs): Handle pcrel got and plt relocs. Set + has_pltcall for section on seeing R_PPC64_PLTCALL_NOTOC. Handle + possible need for dynamic relocs on non-pcrel powerxx relocs. + (dec_dynrel_count): Handle non-pcrel powerxx relocs. + (ppc64_elf_inline_plt): Handle R_PPC64_PLTCALL_NOTOC. + (toc_adjusting_stub_needed): Likewise. + (ppc64_elf_tls_optimize): Handle R_PPC64_PLTSEQ_NOTOC. + (ppc64_elf_relocate_section): Handle new powerxx relocs. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2019-05-23 Jose E. Marchesi + + * config.bfd (targ_cpu): Process bpf-*-none only if BFD64. + * configure.ac: Set target_size=64 for bpf_elf64_le_vec and + bpf_elf64_be_vec. + * configure: Regenerate. + +2019-05-23 Jose E. Marchesi + + * configure: Regenerated. + * Makefile.am (ALL_MACHINES): Add cpu-bpf.lo. + (ALL_MACHINES_CFILES): Add cpu-bpf.c. + (BFD64_BACKENDS): Add elf64-bpf.lo. + (BFD64_BACKENDS_CFILES): Add elf64-bpf.c. + * Makefile.in (SOURCE_HFILES): Regenerate. + * config.bfd (targ_cpu): Handle bpf-*-* targets. + * cpu-bpf.c: New file. + * elf64-bpf.c: Likewise. + * targets.c (_bfd_target_vector): Add bpf_elf64_be_vec and + bpf_elf64_le_vec. + * archures.c: Define architecture bfd_arch_bpf and machine + bfd_arch_bpf. + * reloc.c: Define BFD relocations used by the BPF target. + * bfd-in2.h: Regenerated. + * libbfd.h: Likewise. + +2019-05-22 Alan Modra + + * elf32-arm.c (arm_allocate_glue_section_space): Clear section + contents. + +2019-05-22 Alan Modra + + * vms-alpha.c (_bfd_vms_write_etir): Don't attempt further + processing on "size error in section". + +2019-05-22 Alan Modra + + * som.c (som_bfd_free_cached_info): Call + _bfd_generic_close_and_cleanup. + +2019-05-21 Faraz Shahbazker + + * elfxx-mips.c (_bfd_mips_elf_check_relocs): Generate error + for TLS_TPREL_HI16(/LO16) relocations in shared library. + +2019-05-21 Faraz Shahbazker + + * elfxx-mips.c (_bfd_mips_elf_check_relocs): Add NULL pointer + checks. Search the RELA table for n64 relocations. + +2019-05-21 Matthew Fortune + Faraz Shahbazker + + * elfxx-mips.c (LA25_BC): New macro. + (mips_elf_link_hash_table): New field. + (STUB_JALRC): New macro. + (mipsr6_o32_exec_plt0_entry_compact): New array. + (mipsr6_n32_exec_plt0_entry_compact): Likewise. + (mipsr6_n64_exec_plt0_entry_compact): Likewise. + (mipsr6_exec_plt_entry_compact): Likewise. + (mips_elf_create_la25_stub): Use BC instead of J for stubs + when compact_branches is true. + (_bfd_mips_elf_finish_dynamic_symbol): Choose the compact + PLT for MIPSR6 with compact_branches. Do not reorder the + compact branches PLT. Switch the lazy stub for MIPSR6 + with compact_branches to use JALRC. + (mips_finish_exec_plt): Choose the compact PLT0 for MIPSR6 + when compact_branches is true. + (_bfd_mips_elf_compact_branches): New function. + * elfxx-mips.h (_bfd_mips_elf_compact_branches): New prototype. + +2019-05-21 Tamar Christina + + PR ld/24373 + * elfnn-aarch64.c (_bfd_aarch64_erratum_843419_branch_to_stub): + Fix print formatter. + +2019-05-21 Andre Vieira + + PR 24460 + * elf32-arm.c (get_value_helper): Remove. + (elf32_arm_final_link_relocate): Fix branch future relocations. + +2019-05-21 Tamar Christina + + PR ld/24373 + * bfd-in.h (enum erratum_84319_opts): New + (bfd_elf64_aarch64_set_options, bfd_elf32_aarch64_set_options): Change + int to enum erratum_84319_opts. + * bfd-in2.h: Regenerate. + * elfnn-aarch64.c (struct elf_aarch64_link_hash_table): Change + fix_erratum_843419 to use new enum, remove fix_erratum_843419_adr. + (_bfd_aarch64_add_stub_entry_after): Conditionally create erratum stub. + (aarch64_size_one_stub): Conditionally size erratum 843419 stubs. + (_bfd_aarch64_resize_stubs): Amend comment. + (elfNN_aarch64_size_stubs): Don't generate stubs when no workaround + requested. + (bfd_elfNN_aarch64_set_options): Use new fix_erratum_843419 enum. + (_bfd_aarch64_erratum_843419_branch_to_stub): Implement selection of + erratum workaround. + (clear_erratum_843419_entry): Update erratum conditional. + +2019-05-21 Senthil Kumar Selvaraj + + PR ld/24571 + * bfd/elf32-avr.c (elf32_avr_relax_section): Adjust range check + when computing distance_short_enough. + +2019-05-21 Senthil Kumar Selvaraj + + PR ld/24564 + * bfd/elf32-avr.c (avr_relative_distance_considering_wrap_around): + Wrap around even if distance equals avr_pc_wrap_around. + +2019-05-20 Nick Clifton + + * po/fr.po: Updated French translation. + +2019-05-16 Andre Vieira + + * elf32-arm.c (elf32_arm_merge_eabi_attributes): Add case for Tag_MVE_arch. + +2019-05-16 Alan Modra + + * elf32-arm.c (elf32_arm_write_section): Revert last change. + +2019-05-15 Alan Modra + + * elf32-arm.c (elf32_arm_write_section): Don't leave + error case of STM32L4XX_ERRATUM_BRANCH_TO_VENEER with + unitialised section contents. + +2019-05-14 Jamey Hicks + + PR 19921 + * verilog.c: (VerilogDataWidth): New variable. + (verilog_write_record): Emit bytes in VerilogDataWidth bundles. + +2019-05-08 Nick Clifton + + PR 24523 + * elf32-m68k.c (elf32_m68k_merge_private_bfd_data): Return TRUE + rather than FALSE if encountering a non-ELF file. + +2019-05-06 Alan Modra + + * elf32-pj.c (pj_elf_reloc): Don't report undefined weak as an error. + +2019-05-06 Alan Modra + + * reloc.c (BFD_RELOC_PPC64_TPREL16_HIGH, BFD_RELOC_PPC64_TPREL16_HIGHA), + (BFD_RELOC_PPC64_DTPREL16_HIGH, BFD_RELOC_PPC64_DTPREL16_HIGHA): + Sort before BFD_RELOC_PPC64_DTPREL16_HIGHESTA entry. + * libbfd.h: Regenerate. + * bfd-in2.h: Regenerate. + +2019-05-04 Alan Modra + + PR 24511 + * syms.c (coff_section_type): Only allow '.', '$' and numeric + following the standard section names. + (bfd_decode_symclass): Prioritize section flag tests in + decode_section_type before name tests in coff_section_type. + * plugin.c (bfd_plugin_canonicalize_symtab): Init fake_section + and fake_common_section using BFD_FAKE_SECTION. Use "fake" as + their names and choose standard .text section flags for + fake_section. + +2019-05-02 Nick Clifton + + PR 24493 + * coffcode.h (styp_to_sec_flags): Treat .gnu.debuglink and + .gnu.debugaltlink sections as debugging sections. + +2019-04-30 Alan Modra + + * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add has_gotrel. + (struct _ppc64_elf_section_data): Likewise. + (ppc64_elf_check_relocs): Set above fields. + (ppc64_elf_edit_toc): Add a pass over GOT relocs. + (ppc64_elf_relocate_section): Edit GOT indirect to GOT relative + when possible. + +2019-04-26 H.J. Lu + + PR ld/24486 + * elflink.c (elf_link_output_extsym): Don't complain undefined + weak dynamic reference. + +2019-04-25 Sudakshina Das + + * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): Remove. + (PLT_BTI_TLSDESC_ENTRY_SIZE): Remove. + (PLT_PAC_ENTRY_SIZE, PLT_BTI_PAC_ENTRY_SIZE): Remove. + (PLT_BTI_SMALL_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): Update. + (elfNN_aarch64_small_plt0_pac_entry): Remove. + (elfNN_aarch64_small_plt0_bti_pac_entry): Remove. + (elfNN_aarch64_small_plt0_bti_entry): Update. + (elfNN_aarch64_small_plt_bti_entry): Update. + (elfNN_aarch64_small_plt_pac_entry): Update. + (elfNN_aarch64_tlsdesc_small_plt_bti_entry): Update. + (setup_plt_values): Setup new entries. + (elfNN_aarch64_finish_dynamic_sections): Remove size change. + (elfNN_aarch64_plt_sym_val): Likewise. + +2019-04-22 Jim Wilson + + * elfnn-riscv.c (PRSTATUS_SIZE) [ARCH_SIZE==32]: Change from 0 to 204. + +2019-04-19 Alan Modra + + * elf32-s12z.c (elf_backend_can_gc_sections): Don't define + +2019-04-17 H.J. Lu + + * elf64-x86-64.c (elf_x86_64_need_pic): Suggest -fPIE when not + building shared object. + * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Likewise. + +2019-04-17 H.J. Lu + + PR ld/24458 + * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): Also check x86 + linker_def. + +2019-04-15 Thomas Preud'homme + + * reloc.c (BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM): New internal + relocation. + * bfd-in2.h: Regenerate. + * libbfd.h: Likewise. + +2019-04-15 Sudakshina Das + + * reloc.c (BFD_RELOC_ARM_THUMB_LOOP12): New. + * bfd-in2.h: Regenerated. + * libbfd.h: Regenerated. + +2019-04-15 Sudakshina Das + + * reloc.c (BFD_RELOC_THUMB_PCREL_BFCSEL): New relocation. + * bfd-in2.h: Regenerated. + * libbfd.h: Likewise. + +2019-04-15 Sudakshina Das + + * reloc.c (BFD_RELOC_ARM_THUMB_BF13): New. + * bfd-in2.h: Regenerated. + * libbfd.h: Regenerated. + * elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF13. + (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF13 + and R_ARM_THM_BF12 together. + (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF13. + +2019-04-15 Sudakshina Das + + * reloc.c (BFD_RELOC_ARM_THUMB_BF19): New + * libbfd.h: Regenerated. + * bfd-in2.h: Regenerated. + * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF18. + (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF19 + and R_ARM_THM_BF18 together. + (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF19. + +2019-04-15 Sudakshina Das + + * reloc.c (BFD_RELOC_ARM_THUMB_BF17): New enum. + * bfd-in2.h: Regenerated. + * libbfd.h: Regenerated. + * bfd-elf32-arm.c (elf32_arm_howto_table_1): New entry for R_ARM_THM_BF16. + (elf32_arm_reloc_map elf32_arm_reloc_map): Map BFD_RELOC_ARM_THUMB_BF17 + and R_ARM_THM_BF16 together. + (get_value_helper): New reloc helper. + (elf32_arm_final_link_relocate): New switch case for R_ARM_THM_BF16. + 2019-04-15 Sudakshina Das * reloc.c (BFD_RELOC_THUMB_PCREL_BRANCH5): New enum.